I've uploaded a beta version of 2.0.19 to Steam and the TGC products page. On Steam this beta is opt-in only, right click on the AppGameKit product on Steam, choose properties, then in the betas tab choose "v2.0.19(beta)".
Here are the changes
Build 2.0.19 BETA
------------------------
- Joystick X/Y commands on Windows will now return 0 instead of -1 if the axis doesn't exist
- Fixed instanced objects disppearing on Android if the app was sent to the background
- Fixed depth textures as render targets not working on Windows, they were being replaced by internal depth buffers
- Fixed transparent objects not rendering properly when drawn over the dynamic skybox
- Fixed loading shaders with more than about 4000 characters causing a crash if it uses lights or fog
- Add RunApp(), GetAppRunning(), and TerminateApp() commands to Windows
- Set Android sensor refresh rate to 60fps to try and improve the update frequency on some devices
- Transitioned Windows, iOS, and Mac to use the image loading routine used by the other platforms, namely libPNG and libJPEG
- Windows now only supports the officially supported image formats PNG and JPEG
- Removed the dependency on atls.lib on Windows which improves compatibility with Express versions of Visual Studio
- Updated Android lib to version r11b of the Android NDK
- Updated SetRenderToImage to use 24bit depth buffers instead of 16bit where possible
- Added Raspberry Pi support
- Modified OpenToRead and OpenToWrite to be able to access the GPIO pins on Raspberry Pi
- Added new sample project to demonstrate GPIO pin usage
- Fixed GetUnixFromDate not returning the correct value if the year parameter is a leap year
- Fixed an object getting incorrectly culled if it had more than one mesh
- Added shader guide to detail how to write shaders for use with AGK
- Added commands to get the size of an object or mesh
- Fixed CloneObject not copying animation names to the new object
- Changed SetCameraFOV command to accept an FOV value of 0 to generate an orthographic matrix instead of a projection matrix
- Increase Tier 1 stack size from 1024 to 32768 to allow more recursion
- Fixed SetLocalNotification not overwriting the message of an existing notification
- Fixed CancelLocalNotification causing future notifications to have a blank message
- Using SetSyncRate with a value of 60 no longer activates VSync, only the SetVsync command will activate VSync
- Added LoadImageResized to load an image whilst resizing it
- Added ResizeImage to resize and existing image
- Added SaveSharedVariable, LoadSharedVariable, and DeleteSharedVariable for sharing values between apps on iOS and Android
- Fixed GetDeviceLanguage not returning the correct value on Linux
- Fixed GetDeviceType on Linux not returning anything
- Updated CA bundle for Android SSL certificate verification
- Fixed PrintImage not correctly saving images that were created with SetRenderToImage
- Changed shaders to use high precision values for UV coordinates, some cases like 2048x2048 atlas animations need this
- Fixed DeleteTween causing a crash if an empty tween chain exists, or a tween chain exists that has not yet been played
- Added network socket commands to establish and receive TCP connections directly to other devices
- Modified subimage.txt to accept floating point values
- Added HTML5 export to the IDE
The main new feature is HTML5 export from the IDE, which you can export from Windows, Mac, or Linux. I recommend using Firefox or Chrome on desktop platforms, although Chrome won't work if you are testing the files locally without uploading them to a server. On Android I recommend Chrome as Firefox has problems when the app goes full screen. iOS doesn't support full screen at all, and has much lower performance for HTML5. I've not tested any other browsers or platforms.
HTML5 has partial support for networking, the commands SendHTTPRequestASync and GetHTTPFile should work as expected, but SendHTTPRequest and SendHTTPFile do not. None of the HostNetwork or JoinNetwork commands will work.
I've also added some network socket commands, these should work on all platforms. HTML5 uses WebSockets which work slightly differently see the
WebSocket Protocol for more information and let me know if you find it useful or not.
Let me know on here, or on the Steam forums, about any bugs.