I've uploaded a new version to the TGC download area and to Steam with the following changes. Note this version cannot run bytecode from previous versions, and previous versions cannot run bytecode from this version
Build 2.0.20
------------------------
- Breaking changes: this version cannot run previous bytecode, and old versions cannot run bytecode from this version
- Added new compiler directive #company_name to create a more unique write folder for your apps on Windows and Linux, see the Language section of the help for more details
- Removed 2048x2048 size limit on images, now only limited by device capabilities
- Fixed LoadImage down sizing images above the size limit causing sub images to have their offset values corrupted
- Be aware of GPU memory when using large images, a 4096x4096 image will use 64MB, regardless of its file size
- Fixed the debugger not being able to set a breakpoint on source files contained in folders in some cases
- Fixed FBX loader causing a crash on ARM devices
- Fixed frustum culling not working correctly when using an orthographic camera
- Added ViewFile() command to open a specified file in an external app, usually the system default for that extension
- Added ShareText() and ShareImage() commands to share text and images with external apps, asks the user to choose the app
- Fixed local notifications not showing on Android if the app is closed when in the background
- Fixed GetManagedSpriteCount always returning 0
- Fixed a crash in LoadObjectWithChildren when loading an object with a single bone
- Added OGG music commands that can play multiple music files at the same time, and allows seamless looping
- OGG music commands will work the same on all platforms
- Old music commands are now deprecated in favour of the OGG music commands
- Significantly improved image loading times on all platforms
- Fixed iOS export causing an error when the app is submitted to Apple
- Updated AGK to use libPNG 1.5.27 due to a security vulnerability
- Fixed a crash on Android when loading a 3D object that contains multiple primitive types (point, line, triangle, or polygon) in a single mesh
- Fixed some Android devices not keeping the correct GetPointerX and GetPointerY values after a touch release
- Fixed objects created with CreateObjectFromObjectMesh not being drawn properly
- AGK will no longer add a default precision to shaders on mobile devices if it detects the string "#if", which implies you have added it yourself
- Added joystick support to HTML5
- Fixed SetVSync command on HTML5
- Added sharedUserID field to Android export dialog so shared variables can be used in Tier 1
- Modified Android GetRawRotationVector commands to use the game rotation vector sensor where available, which isn't affected by magnets
- Fixed joystick ranges for non-XInput devices on Windows, causing some devices to report incorrect values
- Modified IDE export options to compile the project before exporting to make sure it is up to date
- Loading an image that is not a power of two in size will no longer pad it to the nearest power of two internally, unless SetGenerateMipmaps is set to 1
- Using SetImageWrapU or SetImageWrapV with mode 1 (repeat) on an image that is not a power of two will now do nothing
- CreateRenderImage can now use non-power of two sizes when the mipmap parameter is set to 0
- Fixed SetErrorMode(2) not displaying error messages properly on Android
- Fixed the stop broadcast button sometimes failing to stop the app on a device
- Fixed SetClearColor not working on HTML5
- Fixed Facebook warnings about Graph 2.0 calls
- Added option to iOS export to allow all orientations
- IDE export settings are now stored inside the project file for each project
- Added GetInAppPurchaseLocalPrice() command to get the item price in the local currency
- Added GetInAppPurchaseDesciption() command to get the item description
- Added the Euro currency symbol to the default font
- Fixed a crash when trying to use joysticks on a Mac
- Updated Mac apps to be 64-bit, if you are using Tier 2 be sure to set your valid architectures build setting to x86_64
- Added SetTweenDuration() to change the duration of a tween after it has been created
- Fixed SetObjectCollisionMode() not creating collision data if used on an instance object when the parent has collision turned off and has no collision data of its own
- Added GetFacebookAccessToken to return the access token that can be used with graph API calls using the HTTP commands
- Updated RunApp() to work on Linux, Mac, and Raspberry Pi
- Fixed virtual buttons becoming distorted if broadcasting an app that uses a virtual resolution after an app that uses percentage coordinates
To highlight a few of the main changes
- New compiler directive #company_name to create a more unique folder for the write path on Windows and Linux, see
here for more details
- New music commands based on an OGG decoder built into AppGameKit, so they will work on all platforms, support multiple tracks playing at the same time, and allow seamless looping
- Significantly improved image loading times on all platforms
- Mac apps are now 64-bit, so if you are using Tier 2 be sure to update your XCode settings to target 64-bit only
- Images are no longer padded to the nearest power of two (unless using mipmaps) which should save a lot of memory
Let me know if you have any problems.