Experimental v80c now up! [MONKEY NEWS]

Monkey Forums/Monkey Programming/Experimental v80c now up! [MONKEY NEWS]

marksibly(Posted 2014) [#1]
Hi,

Just in the process of uploading v80c....


This includes a reasonably important fix for a c++ gc bug, and an attempt at making the glfw joystick functions return hopefully saner results on pc/mac.


Fixed a nasty GC bug.

Fixed misspelling of CFG_GLFW_APP_LABEL in glfw target.

Had another hack at the glfw joystick code. Both pc/mac versions now attempt to detect xbox360 controllers (mac also tries to detect ps3) defaulting to 'logitech dual action' layout if device not recognized. FAR from foolproof, but should/may be an improvement on current setup.

Added RealPath to brl.filesystem.




Playniax(Posted 2014) [#2]
Thank you Mark!


Snader(Posted 2014) [#3]
Thanks Mark!


ElectricBoogaloo(Posted 2014) [#4]
Kewlykewly!!
..Although, knowing how often I bother to update my Devkit. I probably won't notice this change until about mid 2015, and then freak out on the forum, as to why the controller code's suddenly changed!!


Nobuyuki(Posted 2014) [#5]
thanks a bunch!!! I'll be sure to test it soon.


Skn3(Posted 2014) [#6]
Hurrah for RealPath :D 1 less thing to hack in, each build!


ImmutableOctet(SKNG)(Posted 2014) [#7]
Hey Mark, apparently MSVC hates C99, so your 'j' local variable (On line 237 of "win32_joystick.c") needs to be moved up, otherwise it'll complain. Don't ask me why Microsoft thinks C99's the devil, but it's still a compilation error with MSVC.


marksibly(Posted 2014) [#8]
> Hey Mark, apparently MSVC hates C99,

Thanks, will fix.

Any particular reason you're still use msvc? It'd kind of make things easier if I could go gcc only for the desktop target, esp. WRT linking with external libs, include paths etc.


ziggy(Posted 2014) [#9]
Any particular reason you're still use msvc?
In my case, gcc takes about 10 times more to compile. From less that one minute to abou 6 on big projects with lots of reflection. The difference is very notorious.


Samah(Posted 2014) [#10]
Mark: Any thought toward accepting my GLFW3 target pull request?


skape(Posted 2014) [#11]
Cool! Thanks Mark!


Nobuyuki(Posted 2014) [#12]
gcc is indeed slow as a butt to compile large projects with; the last commercial proj I was workin' with using Monkey had the same huge amounts of lag Ziggy was dealing with, so I was using msbuild for debugging too. However I respect how much of a PITA that msbuild can present with some C code. Perhaps a compromise would be able to optionally tell trans to run gcc with -o0 or whatever optimization level the user wants? I think debug builds were already hardcoded to -o1 or something, but it's still too slow for really big projects compared to msbuild.

P.S. Mark, I'm sorry to report but it seems I'm still having the axis issue on analog stick 0 on v80c. If I can get my hands on a "real" x360 controller and not just this MadKatz fightpad, I'll let you know if it also has the same issues. I'm almost certain this is related to the drivers being different between XP and 8.1 x64, since no analog use is reported on 8.1. It's using the standard Microsoft drivers, however, so this problem doesn't seem to be end-user fixable. My update here has more: http://www.monkey-x.com/Community/posts.php?topic=8846#93486


Neuro(Posted 2014) [#13]
Anyone getting Error : Type 'App' not found issues on OSX with this one besides me?

EDIT : nevermind, textedit was adding a weird looking quote thingy at the end of config.macos.txt


golomp(Posted 2014) [#14]
Thank you Mark!


skape(Posted 2014) [#15]
Xbox controller on Mac now seems to map 100% correctly. Thanks. :)


Arjailer(Posted 2014) [#16]
Yeah, I found switching from GCC to Visual Studio 2010 cut my builds from almost 3 minutes to just over 10 seconds.

Plus I use Visual Studio every day in my day job, so I know it well - whereas GCC is a mystery to me :-)


marksibly(Posted 2014) [#17]
> Mark: Any thought toward accepting my GLFW3 target pull request?

I've actually got a glfw3 target pretty much ready to go, however there are still a few bugs/issues in glfw3 that make me a bit nervous about releasing it right now.

I was thinking of waiting for their next public release, but maybe sooner...? Dunno right now.


ImmutableOctet(SKNG)(Posted 2014) [#18]
You could always just have it as an experimental target, like what you did for Android. Also, as several users have pointed out, GCC is slower at times (But damn does it produce optimized code). Mainly for debug-builds, though. When it comes to release builds, it's pretty close for me. To tell you the truth, I prefer GCC, but MinGW has always been a half-assed port (Even if it is pretty good realistically). For Windows, MSVC's an okay choice, it's just horribly managed (Hey look it's, 2010, 2010 again, 2012 (Which barely supports C++11), 2012 again, 2013, and 2013 again, and then 2014/2015 (Which will supposedly support C++14), etc).

Then there's Intel's compiler, which doesn't check specific hardware features very well on non-Intel CPUs, so everyone thinks it's biased. Which in a sense, it is, it's just Intel's laziness. That being said, I've heard it's gotten better about that.

But to begin with, I think having the option to just output standard C and C++ is overall the best option. The compiler should be irrelevant. However, since we can't always have everything we want, I'd say supporting two compilers is the way to go. If you start only supporting one compiler, it's likely you'll run into a compatibility issue, a typo, or another anomaly which breaks another compiler. And you might be thinking "Well, as long as this works, I'll be okay.", but when you get to the STDCPP/C++ Tool target, all hell breaks loose.

My thoughts are that you should stick with GCC, and support a stable Visual Studio version until it gets too old, and starts hindering development. From there, simply move to the next Visual Studio version that everyone's willing to install. (Maybe when C++14 gets added?)

By the way, does this new GLFW3 target of yours support the usual resolution management? (Well, at least the Mojo stuff?)


Koradin(Posted 2014) [#19]
Thanks Mark. I've been trying different libraries / engines for several months and am grateful for Monkey and its ease. I appreciate the time and effort you have spent putting the product together.


MonkeyPlotter(Posted 2015) [#20]
Thanks Mark, giving v80c a whirl now ;)


therevills(Posted 2015) [#21]
@MonkeyPotter - v84e is the latest version, v80 is nearly a year old...

http://www.monkey-x.com/Community/posts.php?topic=9823&page=first