Experimental v86e now up! [MONKEYNEWS]

Monkey Forums/Monkey Programming/Experimental v86e now up! [MONKEYNEWS]

marksibly(Posted 2015) [#1]
Hi,

Experimental v86e is now available!

This includes a few tweaks to joystick/gamepad support, including a cool patch from skn3 for html5 gamepads.

I've also added an experimental CountJoysticks:Int( update:Bool=True ) function for glfw3 only. On other targets, it's a NOP and returns 0 for now.

If called with update=true (the default), it performs a full check for all connected joysticks. This used to be done once per update, but turned out to have significant overhead so I've decided to make it optional. Joysticks are always fully counted at least once, so this will only affect games that want to deal with joysticks being attached/detached mid-game.

This *could* be put on a timer, eg: checked every second or so, but that raises the possibility of a game that is just within the framerate limit 'stuttering'. Or am I just being too paranoid?!?


***** v86e *****

Fixed html5 touch x,y with scaled canvases.


***** v86d *****

Removed PSM target from release package.

Fixed closing glfw3 window ALWAYS closing window - yikes!

Added #GLFW_GCC_MSIZE_WINNT config var to allow 32 builds on windows with mingw64. Defaults to "32". Set to "64" to force 64 bit builds, or "" for compiler default (32 bit for mingw32, 64 bit for mingw64). DO NOT use mingw64-5.1.0. DO NOT use "64" with glfw3+angle target. #GLFW_GCC_MSIZE_LINUX also supported but untested! For Mac, you'll need to modify the target project in xcode although I have no idea if XCode even supports 32 bit builds any more.

Fixed html5 glex20 glBindTexture crash when texture was 0.

Updated glfw, glfw3 and glfw3_angle taret MSVC solutions/projects to VS2015 Community Edition.


***** v86c *****

Added workaround for GLES20.glGetActiveUniform bug in android6.


***** v86b *****

Fixed mojo2 Renderer leak when resizing viewport.

Fixed html5 #MOJO_AUTO_SUSPEND_ENABLED=False.


***** v86a *****

MacOS Ted now uses Qt5.5. This adds around 20M to the app (which is why I tried to avoid it) but I just CANNOT get Qt4.8 running (or even installed) on the increasingly walled off 'El Capitan'.

Added CountJoysticks:Int( update:bool=true ) for glfw3 targets only. You will need to call this to detect if any joysticks have been attached/detached. Returns 0 and does nothing on all other targets.

Merged skn3's html5 gamepad support pull request.




Neuro(Posted 2015) [#2]
Cool! Hopefully this will fix that slowdown issue on GLFW3 on windows desktops...


Neuro(Posted 2015) [#3]
Yep!! It sure as heck fixed it alright!!!!!! This problem has been bugging me for the last 3 years too, lol!




Nobuyuki(Posted 2015) [#4]
just wanted to add onto the pile here: For the first time since I got my new PC, Monkey games give me a consistent 60fps now. HOORAY.


Shagwana(Posted 2015) [#5]
Do we still need OpenAL?, because if we do, there is no run-time installer in the targets folder that I can find.

Used to live in the glfw target folder but now it looks like that folder is no longer a part of the monkey zip.


SLotman(Posted 2015) [#6]
http://openal.org/downloads/


GarBenjamin(Posted 2015) [#7]
@Nobuyuki getting 60 fps would be awesome. That is the one thing I am not happy about in my Monkey X projects. They are running at no more than 30 FPS. Which makes no sense because a decade ago I was making the same things in Blitz and they ran at 60 FPS.

I am very interested in trying this update. .... .... so .... hmm .... where is it?


therevills(Posted 2015) [#8]
so .... hmm .... where is it?


Click on the drop down next to your username at the top of the page and select Product Updates, on the right you will see "EXPERIMENTAL VERSIONS", click the download button.


GarBenjamin(Posted 2015) [#9]
@therevills Aha! Thanks. I never would have known that. lol

I guess the experimental builds must be for Pro only users? Because all I see is Monkey X Free 84f (Windows) on the left and nothing on the right except a big Download button.

Guess it is time I install Monkey X Pro. Just got it last night and have not had time to even look at it yet. Will do it now. Thanks again!


therevills(Posted 2015) [#10]
Yeah its only for Pro users only:



Have you registered your pro account yet?


GarBenjamin(Posted 2015) [#11]
Yep I saw it as soon as I had registered!

I am now all up to date. The experimental version made no difference for game speed on my laptop (MSI GT70 Dominator-2295 2.5 GHz, 16 GB RAM, GeForce GTX 970M).

It's fine though I can live with it. Mainly I am just curious as to what is making the programs slow on newer hardware (with updated drivers). The odd thing is that both Monkey X and GLBasic programs run significantly faster on my 7 year old laptop. It's just odd. My new laptop is around 10 times as powerful as my old one.

Anyway thanks for the guidance!


dawlane(Posted 2015) [#12]
As I have been bored over the last few days; and as it cropped over on the Blitz website. I though I would do a bit of transcc/Ted hacking with 86a to implement Microsoft Windows cross compiling from Linux and Mac OS X. The end result was this.
I've test the builds from Linux to Windows 10, but haven't tested out anything from the Mac yet. Let me know what you think.

Edit: Opps upload the wrong files to Dropbox. Now corrected.


Richard Betson(Posted 2015) [#13]
^I will try to have a look at that tomorrow. :D


marksibly(Posted 2015) [#14]
Hi,

Just uploaded v86b with a few minor tweaks:


***** v86b *****

Fixed mojo2 Renderer leak when resizing viewport.

Fixed html5 #MOJO_AUTO_SUSPEND_ENABLED=False.




Richard Betson(Posted 2015) [#15]
^Working great so far. ;)


marksibly(Posted 2016) [#16]
V86e now up - see top post for versions.txt info.


dawlane(Posted 2016) [#17]
@marksibly:
Hi Mark
Someone posted about the issues Monkey and Xcode 7 with iOS 9. Turns out they couldn't understand why the simulator wasn't working. So I had a look and it needed a major over-haul. Hard coding things will eventually get ugly. My solution can be found on github and here for pre-built binaries. Note that these are my WIP modifications to 86c version of trans and the target templates.

Basic idea of how it works for iOS.
transcc required away to query tools, so added a bit of C/C++ to redirect stdout and stderr to buffer and convert the buffer into wide char then into an empty string passed with the wrapper function. And to change output filenames a last build file was needed.
With that done, use the new function to get a few things:
Get the xcode and current SDK version for use later. Store each version number as array with major,minor and revision parts as separate integers.
The SDK can be overridden from Monkey source as long as there is a target SDK correctly installed into xcode, then everything should work OK.
Call the command line version of instruments to get the list of attached devices. With either default or config values passed in the Monkey source files. Filter out whats needed and get the UDID of the device.
Build a command line with the information and then execute xcodebuild.

Before an app bundle can be installed or the simulator can be started. The devices folders needs to be initialized using the tool xcrun simctl and the UDID. Then check for previous install to remove before installing the app bundle. xcrun simctl has to be called again to shut it down before starting the simulator it's self using instruments again.