This new version of AppGameKit brings many new features and a number of maintenance improvements and fixes. For some time the game development community have been asking for improved file and folder controls. Today we're able to satisfy that need with a host of new commands. We've also added a command so you can control vibration feedback on mobile devices.
There's a host of fixes and maintenance improvements. You can read the full change list here;
Strings
- Added ByteLen command to return the size of a string in bytes
Haptics
- Added VibrateDevice command to enable vibration on Android and iOS
In-App Purchases
- Fixed InAppPurchaseRestore causing a crash on iOS
Android
- Fixed Android images loaded with LoadImageResized sometimes not being loaded
- Fixed Android SetDeviceCameraToImage somtimes cropping the image incorrectly
- Fixed Android PlayVideoToImage somtimes cropping the image incorrectly
File Commands
- Added SimplifyPath, JoinPaths, and IsAbsolutePath commands to manage file paths
- Added CountWindowsDrives and GetWindowsDrive to get the drives available on Windows devices
- ChooseRawFile now has an extra parameter to return the full path instead of copying the file to the write folder
- Added OpenRawFolder, GetRawFolderNumFiles, GetRawFolderNumFolders, GetRawFolderFileName, and GetRawFolderFolderName to get the contents of any folder anywhere on the filesystem on all platforms
- Any command that takes a file path can now use an absolute path with the prefix "raw:" to allow access to files anywhere on the filesystem on all platforms, e.g. "raw:C:\MyFolder\MyFile.txt"
- SetRawWritePath is now deprecated in favour of the above raw folder commands and raw file paths
-
GetFirstFile, GetFirstFolder, GetFileCount, and GetFolderCount now have an extra parameter to return only files from the read folder, or write folder, or both (default)
Exporting
- Updated iOS export icons and launch images for the latest devices
- Fixed iOS export with version number set to 1.0 not setting the version number correctly
Tier2
- Updated iOS Tier 2 template projects for new icons and launch images
- Updated iOS Tier 2 projects to XCode 8 and iOS 10.3
- Updated Mac Tier 2 projects to XCode 8 and MacOS 10.12 (Sierra)
Multiplayer
- Added a parameter to HostNetwork to set the port for IPv6 connections separately from the IPv4 port
- HostNetwork will no longer use IPv6 unless an IPv6 port is specified
Misc
- Fixed SetVirtualResolution not working properly whilst rendering to an image
- Fixed returning a float from a plugin crashing on Linux and Mac machines that don't have AVX instructions
- Fixed SetSoundInstanceBalance doing nothing on Linux and Mac
- Fixed SetWindowAllowResize not working on Linux
- Fixed SetWindowSize on Linux repositioning the window to 0,0
- Switching between windowed and fullscreen mode on Windows now remembers window position
- Fixed middle mouse button not working on Linux
- Removed requirement that Memblock integers and floats be aligned to 4 byte offsets, although unaligned access will be slower than aligned values
- Broadcasting will now only copy the plugins that are imported by the app, rather than all available plugins