New file and folder commands added to AppGameKit!

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