Fixed GetInAppPurchaseLocalPrice() returning the incorrect price for the given index on iOS
Fixed CreateObjectFromObjectMesh causing a crash if the mesh uses bones
Fixed SaveImage not creating any missing folders in the save path
Added StringToBase64 and HexToBase64 commands to convert strings to Base64
Fixed SetHTTPHost username and password not being set correctly on Windows, Mac, and iOS
Fixed GetImage only working on Windows
Fixed Broadcaster sometimes failing to send large projects to a device
Fixed UpdateTweenText, UpdateTweenChar, UpdateTweenObject, and UpdateTweenCamera not doing anything
Improved the resizing performance of LoadImageResized by using the GPU to do the scaling
Removed the caching ability of LoadImageResized as it is no longer beneficial due to the better resizing performance
Fixed ViewFile, ShareText, and ShareImage causing a crash when exporting for Amazon or Ouya
Fixed ViewFile, ShareText, and ShareImage causing a crash when used in Tier 2 on Android
Fixed StopSound(0) not resetting all the instance counts for GetSoundsPlaying and GetSoundInstances
Fixed OGG music not resuming on iOS after the app has been in the background
Added an error message if SaveSharedVariable is used with a variable name that is too long on iOS
Fixed Android shared variables not working across multiple apps
Note that this version will not be able to access shared variables saved with a previous version on both Android and iOS
Removed the requirement to set the SharedUserID on Android for shared variables
Fixed some Android devices not registering touch move events
Fixed DrawBox freezing the app on Windows if the window is minimized
Added SetImmersiveMode command to hide the navigation bar on Android 4.4 and above
Fixed local and push notification icons appearing as a white square when targeting above API 19 on Android
Added notification icon field to APK export dialog to chose your own notification icon
Amazon and Ouya exports now have a minimum Android version of 4.0.3 to match their devices, Google export remains at 2.3.3
Added quotes around the keystore and alias passwords when signing APKs so that special characters don't cause an error
Added SetMusicSystemVolumeOGG to control global volume for OGG music files
Fixed iOS alarms and phone calls preventing the app from playing sounds and OGG music when it resumes
Removed lower limit of 0.1 on SetParticlesFrequency, 0 can now be used to pause particle emission whilst allowing existing particles to continue
Fixed Linux IDE not being able to open the PDF DLCs from the menu
Added an extract from the Tutorial Guide to the help files
Updated Chartboost SDK on Android to 6.4.2
Updated Chartboost SDK on iOS to 6.4.7
Added Amazon IAP support to the IAP commands
Fixed LoadObject and LoadObjectWithChildren failing to load after about 600 objects had been loaded
Fixed PlayMusicOGG failing to loop in some cases
Fixed GetSoundInstancePlaying taking up to a second to register the end of a sound instance on Android
Updated the developer tips section of the help files for the latest changes
Made Android pad any sounds that are shorter than 175ms with silence as they wouldn't play on some devices if they were shorter than this
Fixed EncodeQRCode not producing the correct QR image
Fixed DecodeQRCode not returning the correct text for a QR image
Fixed SetObjectScalePermanent causing the object to be incorrectly culled from view if it used bones and was made bigger
Changed ObjectRayCast to check the bone bounding boxes instead of the mesh on animated objects, it won't be 100% accurate compared to the mesh but it will take animations into account
Fixed GetCapturedImage not returning a valid image on Android
Fixed frame buffer warning on Mac if SetRenderToImage is used without a colour image
Fixed SetVideoVolume causing a crash on Android
Added PlayVideoToImage command to play videos on to an image instead of displaying them on screen on iOS, Android, and Windows
SetRawWritePath now works on Android, allowing you to set the write path to the public sdcard folder
Changed GetDocumentsPath on Android to return the path to the public sdcard folder (which usually isn't an actual sdcard)
Added SetDeviceCameraToImage to display the device camera onto an image, works on iOS, Windows, and Android 4.0.3 and above
Added GetNumDeviceCameras to return the number of cameras available on the device
Added GetDeviceCameraType to check whether a camera is front or back facing
Removed PlayMusic on Linux to support a wider number of releases. Use PlayMusicOGG instead
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 store 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 and app that uses a virtual resolution after an app that uses percentage coordinates
Build 2.0.19
Note that all platforms now behave the same way with UV scrolling, images must be a power of 2 in size to wrap properly
Fixed Windows touch pen tap not triggering GetPointerPressed
GetDeviceName will now return "html5" on HTML5
Fixed edit boxes not working on HTML5
Fixed Android not accepting SSL certificate chains if they were sent out of order
Fixed LoadSound failing if the automatically assigned ID reaches 299, it would fail for one load before returning to ID 1 as expected
Added GetPaused command to Windows to return 1 when the window loses focus
Fixed HTML5 export crashing if the project contains lots of media files
Fixed OpenBrowser() not working on HTML5
Allowed RunApp() to use absolute paths, and to search the path environment variable for the executable on Windows
HTML5 now exports to a folder
Added option to use dynamic memory when exporting HTML5 to use more than 256MB of RAM
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
Build 2.0.18
Fixed a error in the default shader when an object or mesh has an image in both texture stage 0 and 1
Assigning arrays using [1,2,3,4] with fewer values than its current size now shrinks the array
Fixed a crash when using CloneObject on an object containing index data
Fixed ChooseRawFile not returning the path to the file on Linux
Fixed Visual Studio 2015 template project trying to compile in 64-bit mode, which is not supported on Windows
Fixed Windows failing to setup the window if multisampling is not supported
Fixed setup.agc file being ignored on Mac and Linux
Fixed GetHTTPResponseReady on Windows never returning 1 when using GetHTTPFile
Changed the ASC command to return unsigned values instead of signed values, only affects ASCII codes above 127
Fixed Android apps failing to resume if SetRenderToImage is used
Fixed SetObject3DPhysicsAngularVelocity not setting the angular velocity correctly
Android apps now clean up their audio objects when quitting
Fixed SetObjectScalePermanent not updating the collision object
Updated GoogleAdsSDK on iOS to 7.7.0 and improved interstitial loading
Build 2.0.17
Fixed GetStringTokens2 not returning the correct string for index 1
Fixed ObjectRayCast not working on scaled objects
Fixed ChooseRawFile not working on Linux
Fixed SetObjectTransparency mode 2 only working on Windows
Fixed Mac generating an error report if an app is closed whilst playing a sound file
Added the ability to assign array values at any time using [1,2,3,4]
Fixed iOS not returning 1 for GetEditBoxChanged()
Updated the Android Tier 2 guide for Android Studio
Added a warning when the case of a filename does not match the file on disk, so that other platforms can help debug the file not found error this causes on Android
Updated 3D format loader to the latest version which fixes many bugs and adds the FBX file format
Removed the .m3 file format
Fixed InstanceObject and CloneObject not working on animated objects
Fixed GameCenterShowLeaderBoard command causing a crash on Android
Added SetObjectAlphaMask as an alternative form of transparency that doesn't suffer from depth sorting issues
Added SetObjectUVOffset and SetObjectUVScale to modify the UVs of an object's meshes
Fixed memory leak when deleting objects that use index data
Reduced memory usage of 3D objects by deleting unused copies of the vertex data
Added CreateObjectFromHeightMap to create terrain type objects from height maps
Fixed custom shaders used on 3D objects getting replaced with generated shaders
Removed the 2 million vertex limit on meshes, now only limited by memory
Frustum culling is now done per mesh instead of per object
Enabled Windows apps to use up to 4GB of memory instead of just 2GB
Fixed broadcaster sometimes sending files that hadn't changed
Fixed normals being inverted when object scale is negative
Increased maximum number of bones from 40 to 100, but some old devices may fail to draw objects with more than about 50 bones
Fixed SetObjectShaderConstantByName not updating the shader values
Added SetAntialiasMode to set Anti-aliasing on Windows, Mac, and Linux, it is off by default
Added 3D fog commands to gradually fade objects over distance, and to create atmospheric effects
Split the Android Tier 2 library into 3 parts to improve compile time, be sure to update your Android.mk file from the template project
Added GetObjectBoneWorldAngleX and GetObjectBoneWorldQuatW, and others, to get the bone angle in world space
Added RestoreWindow to unminimize a window on Windows, Mac, and Linux only
Fixed debugger not being able to view strings in the variable window if the string contained a colon
Added SkyBox commands to draw a horizon and movable sun behind all other objects
Fixed SetShaderConstantByName and SetShaderConstantArrayByName not working on loaded shaders that use lights
Added SetObjectDepthRange command to force the object to a specific depth value or range of values
Fixed single channel greyscale PNG images not loading on Android
Added a new sample project in AGKProjects/3D/Terrain that demonstrates terrain, fog, and the new sky box
Fixed a crash when calling GetGameCenterExists on Android
Added GetObjectHeightMapHeight to return the height of a terrain object at a specific point
Added Chartboost functionality to Amazon APK export option
Added SetAmazonAdDetails command to use Amazon Ads
Added ShowFullscreenAdvertAdMob, ShowFullscreenAdvertChartboost, and ShowFullscreenAdvertAmazon commands to manually choose which provider to use
Added GetFullscreenAdvertLoadedAdMob, GetFullscreenAdvertLoadedChartboost, and GetFullscreenAdvertLoadedAmazon to check advert availability
CreateFullscreenAdvert is deprecated in favour of the above commands
Added a new sample project in AGKProjects/Adverts/Interstitials to demonstrate the fullscreen advert commands
Removed armv7s architecture from iOS apps to reduce executable file size by 33%, performance on iPhone 5 may be slightly reduced
Added GetUnixTime command to return the current date and time in unix format
Added local notification commands to schedule notifications for iOS and Android
Added a new sample project in AGKProjects/Extras/ to demonstrate local notifications
Fixed arrays with 1 element not being able to have a default value
Build 2.0.16
Fixed ObjectRayCast, and other collision commands, not working with cloned objects
Fixed ObjectRayCast not working on scaled objects
Added SetObjectMeshShader to set a shader on a per mesh basis
Added GetObjectMeshVSSource and GetObjectMeshPSSource to get the source code for auto generated mesh shader
Added SetWindowPosition to change the window position on screen on Windows, Mac, and Linux
Modified the SetObjectMeshLightMap command to use the first set of UV coordinates if a second set does not exist
Fixed exporting Amazon apps that use the Facebook commands having corrupt text during the Facebook loading screen
Fixed ObjectRayCast sometimes not detecting the closest collision point when multiple intersections occur
Fixed GPS commands sometimes reporting no GPS sensor on iOS 9.1
Fixed Mac apps not being able to make HTTP connections on El Capitan
Fixed SetObjectTransparency not recognising mode 2 as additive blending
Adjusted the pixel light shader to support Android devices with low precision floats
Increased maximum number of IAP products to 25 on both iOS and Android
Fixed setting SetObjectLightMode to 0 causing a shader error on animated objects
Added vector ID assert to GetObject3DPhysicsContactVector()
Added SetTweenSpriteXByOffset and SetTweenSpriteYByOffset
Added commands to create a custom tween with up to 4 float and 4 integer values, and read the values as it is running
Added GetSpriteOffsetX and GetSpriteOffsetY to return the current offset point
Added animation commands for 3D objects, they will only work on objects created with LoadObjectWithChildren
Fixed the tween commands not working properly when broadcasting multiple apps to a device
Fixed DeleteAllSprites preventing text and edit boxes from drawing
Fixed DeleteFile not refreshing the file list when using GetFirstFile
Fixed OpenBrowser on Windows sometimes not detecting the correct default browser
Added MinimizeApp command to minimize an app
Fixed CreateMemblockFromImage not working on render images on Android
Fixed render images becoming blank on Android when an app is sent to the background
Added SetObjectZBias to prevent Z fighting
Changed GetEditBoxChanged to no longer reset after being called, it will now return 1 until the next Sync or Swap call
Fixed GetSoundsPlaying not recognising when a sound is stopped with StopSoundInstance
Added a Log command that accepts a float to return the logarithm of a value
Fixed SetSpriteAnimation from moving and repeatedly scaling the sprite when the sprite has been scaled with SetSpriteScale
Fixed a crash when using transparent 3D objects on 64bit devices
Fixed memblocks not getting deleted between broadcasts of an app
Object colors are no longer limited to 0-255, to allow over saturation and negative colors that subtract light
Objects can now be lit by up to 8 vertex lights and 4 pixel lights, if more lights exist in the scene then the closest will be used
Build 2.0.14b
Changed SetSpriteSnap to function the same way it did in 2.0.13
Corrected "uses adverts" check box in export IPA being inverted
Updated IPA export process to match Apple changes
Build 2.0.14
Fixed LoadSpriteShader(filename) without specifying an ID not using the correct vertex shader
Added a check for development profiles in the IPA export, use AdHoc or Store profiles instead
Fixed error about missing file or directory when exporting Amazon or Ouya APK
CreateMemblock command will now zero the memblock during creation
Fixed SetScissor generating a warning in the debug log window
Added GetSpriteScaleX() and GetSpriteScaleY()
Added Spriter support with LoadSkeleton2DFromSpriterFile()
Added ability to loop an animation a specified number of times with a loop count greater than 1
Fixed iOS export with the advert box unticked not removing the advertising identifier (IDFA) from the app
Fixed a bug where drawing more than 12000 sprites that share the same image could end up drawing nothing
Added WriteString2 and ReadString2 that use a faster method of reading strings from a file
Fixed GetResumed not being called on iOS after the app goes to sleep for the first time
Updated iOS AdMob SDK to 7.2.1 which fixes a black screen after showing a full screen ad
Updated Android Google Play Services (which includes the AdMob SDK) to 7.3
Enabled copying of debug variable values using Ctrl-C on a selected row in the Variables window
Enabled copying of debug log text using Ctrl-C on a selected row in the Debug Log window
Fixed crash if an item is deleted that is currently being tweened
Fixed Android not caching a full screen AdMob ad before the first call to CreateFullscreenAdvert
Fixed DrawBox command sometimes producing boxes that aren't perfectly straight
Fixed ResetTimer not resetting to exactly 0 on some platforms
Fixed not being able to stop broadcasting if the app generated a lot of warnings while running
Fixed switching edit boxes on Android sometimes hiding the keyboard for the new edit box
Fixed SetTextScissor not working properly when SetViewOffset or FixTextToScreen are used
Build 2.0.13
Updated help files to fix squashed logo in the top left
Fixed Android apps sent to background returning as a blank screen
Fixed broadcasting sometimes not being able to stop
Typing a new variable expression in the debug tab whilst the app is paused now evaulates it immediately
Fixed occasional crash on Android when ending a broadcasted app
Fixed Facebook commands causing a crash on Android when used in an exported app
Fixed fullscreen window on Windows sometimes shifting sprite positions downwards
Fixed exporting of iOS apps from the IDE not passing validation
Fixed declaring a local variable immediately after declaring a global variable in a function causing the local declaration to be skipped
Fixed having a global variable declaration on the first line in main.agc causing a compiler crash
Fixed resizing arrays with more than 2 dimensions using .length on the base array causing a crash
Changed IDE project file to always save paths with forward slashes to make them portable across platforms
Updated Chartboost SDK on Android to 5.2.0
Added option to APK export to support expansion files, currently these can only contain video files and are loaded with LoadVideo("expansion:MyFile.mp4")
Fixed SaveSound producing corrupt WAV files
Fixed IPA export sometimes producing an error when nothing was wrong
Added xxhdpi and xxxhdpi icons to the Android interpreter, when exporting use a 192x192 icon from now on
Added new Android Tier 2 project interpreter_android_expansion that supports expansion files and builds with API 21
Fixed tweens not changing a value if the start and end values are the same
Added tween interpolation mode of -1 to turn off interpolation for a specified value
Fixed tween chains containing delays jumping to the first frame of the next tween before the delay was finished
Added SetTweenChainTime to jump to a specific time in the tween chain
Added GetTweenChainEndTime to return the total length of the tween chain
Fixed iOS exported apps being able to change orientation during startup before SetOrientationAllowed can take effect
Fixed iOS exported apps always resuming in the initial interface orientation instead of the current interface orientation, if allowed
Changed the Android text input method to use a hidden Android editbox to receive input, this should support third party input methods
Fixed Android keyboard not being able to accept input on Android 5.0 when in landscape mode
Build 2.0.12
Fixed an occasional crash caused by calling GetDeviceID()
Fixed enlarging a multi-dimensional array using .length sometimes causing a crash
Added a media refresh call after PrintImage() on Android to make the file appear to external apps
Fixed repeated broadcasting apps leaking memory on the receiving device
Fixed saving an image to the pictures folder with PrintImage on Android not refreshing the file system
Fixed Android sensors all returning zero until the app is sent to the background and resumed
Fixed a crash when passing a type returned from one function into multiple sub functions
Fixed render images not being restored properly after resuming on Android
Added SetEditBoxCursorPosition command to bring a certain portion of the text into view
Fixed iOS exported apps not having the beta entitlement used for the new TestFlight implementation
Fixed iOS exported apps missing the push notification entitlement
Fixed network messages sent from one client to another not being received
Added option to iOS export to add or remove the Advertising Identifier from the exported app
AGK apps run on Windows will remember their last window position when closed so they don't always start in the center of the screen
Changed app closing on Android to use the finish activity method rather than force quitting the app, which looks like a crash to some devices
Added debugger to IDE
Build 2.0.11
Fixed only being able to export the iOS player when no project is open
Added Linux IDE, compiler, broadcaster, and player
Fixed runtime errors in exported apps closing the app instead of displaying the error
Made Android broadcast app paths case sensitive to match their exported versions
Fixed a runtime error about no instructions found when assigning an array of strings some default values
Fixed arrays of strings larger than their default values not initialising the rest to the empty string
Changed export app name to accept a wider variety of characters
Changed Random2(int,int) to accept and return values in the range -2,147,483,648 and 2,147,483,647
Fixed iOS export sometimes not finding the Team ID in the provisioning profile
Fixed videos not stopping on Android when the device is locked or goes to sleep
Fixed landscape apps on Android sometimes continuing to run when the app is put to sleep
Fixed .OBJ files taking a long time to load
Fixed SeekMusic on Android always using absolute positioning even when mode is set to 1
Allowed function parameters to have a new line after a comma
Fixed GetVideoPlaying on Android still returning 1 when the video is paused
Modified Tier 2 template project on Mac to use a more reliable method when fullscreen define is set to 1
Modified Chartboost on Android to cache interstitials to improve loading time
Fixed using backslashes in #include paths not working on Mac
Fixed bitwise NOT operator "!" actually doing a boolean NOT
Fixed binary and hexadecimal numbers not being able to represent negative numbers
Changed bitwise shift right to use an unsigned shift rather than a signed shift
Updated Facebook SDK to version 3.22.0 on iOS and Android
Added build number field to iOS export dialog
Added option to make an iPhone only or iPad only app to the iOS export dialog
Added 180x180 icon to exported iOS apps
Added splash screen fields to iOS export
Fixed using SetSpriteShape on sprites with images created using SetRenderToImage not being able to calculate a polygon shape
Added build option to turn off Steam integration when testing apps with the IDE
Added music commands to Linux vesion (requires libavcodec54 and libavformat54 packages)
Added 32 bit version of AGK for Linux
Build 2.0.10
Any AGK players that have been compiled manually will need to be updated to work with this version, and AGK players for this version will not work with old bytecode
Fixed a crash on Mac if loading an image greater than 2048x2048 that isn't divisable by an appropriate power of 2
Fixed push notifications not working on iOS 8 and sometimes freezing the app
Fixed parsing of #insert causing an error
Removing an item from an array with .remove() now initialises that array index back to zero if it is reused
Fixed a compiler error when using a variable with inc or dec above the point where it is initialised
Fixed DrawLine, DrawBox, and DrawEllipse sometimes having the wrong color value when rendering to an image
Fixed For-Next loops defined in functions failing if the Step value is negative on one call and positive on another
Set the default file encoding for new files to Windows-1252 to support extended ASCII
Added Steam overlay to Windows interpreter when run from the IDE
Fixed SetGlobal3DDepth not working and sprites always appearing in front of 3D
Build 2.0.9
Fixed DeleteTween crashing if the tween is currently in use
Fixed arrays declared without a type but with a comment after them not appearing in the symbols list
Fixed full screen adverts sometimes getting cropped
Added support for Amazon controller trigger buttons
Changed Android fragment shaders to use highp precision if device claims support, since some devices
incorrectly implement mediump as lowp. This may reduce performance so you are encouraged to override
it with "precision mediump float;" if you want to force it back to mediump in all cases
Fixed Mac LoadImage with the BlackToAlpha parameter set to 1 not working
Fixed misspelling in the Android location permission causing it to fail
Fixed GetSoundMaxRate on Android returning the minimum rate instead
Fixed SetRawMousePosition not working properly on Mac
Fixed #insert not being recognised by the compiler
Fixed a bug causing IsSupportedDepthTexture to not be recognised as a valid command
Fixed FacebookPostOnMyWall crashing if called when not logged in
Added Blackberry support
Fixed cut/copy/paste in Mac IDE dialog boxes not working properly
Fixed cut/copy/paste in Mac and Windows IDE dialog boxes if the default key bindings are changed
Fixed Mac menu bar not updating its shortcuts if the default key bindings are changed
Fixed Android apps freezing when rotating the device after using SetScreenResolution
Added build option to connect directly to a device IP for when broadcasting can't detect the device
Fixed interpreter sometimes disconnecting from the IDE after broadcasting an app
Fixed scissor commands not working when using SetRenderToImage
Added SetSpriteAdditionalImage command to set multiple texture stages per sprite for use with shaders
Build 2.0 Alpha 8
Opening configuration files no longer adds them to the current project
Fixed a crash when deleting an image assigned to a cloned sprite
Fixed local function variables not being assigned their default value
Fixed float variables not accepting a default integer value
Added Alt key code for Windows
Allowed array default values to span muiltiple lines
Fixed SetBorderColor not working properly on Mac
Added #option_explicit and #insert to the help files
Fixed using Exit, Continue, or ExitFunction inside a Case statement causing stack corruption
Removed the ability to use Goto and labels inside select statements due to stack corruption
Fixed a crash when returning an array from a function that was declared inside that function
Fixed global variables defined in functions with AS in a comma separated list creating both a global and local variable
Added Spine commands to get animated bone positions in world coordinates
Added Spine commands to get skeleton root position
Added CreateFullscreenAdvert command to display AdMob interstitial ads
Added SetChartboostDetails to allow the advert commands to display Chartboost ads (currently fullscreen only)
Changed default shader version on Windows to GLSL 110 to support OpenGL 2.0 cards such as old Intel integrated graphics
Added support for using "#version " at the beginning of Windows shaders to allow higher versions
Added GetRawGPSAltitude to all platforms
Fixed Spine sprites sometimes disappearing when near the edge of the screen
Changed iOS magnet sensor commands to use the calibrated magnetic field
Creating a new project with a path that doesn't end in a slash no longer causes an error when compiling
Fixed broadcasting sometimes not sending updated files if the device time was ahead of the host time
Fixed DeleteTween causing a crash on Android
Added XInput support for XBox 360 controllers on Windows
Added GetRawJoystickConnected to detect if a joystick was removed or reconnected
Rearranged joystick button numbers on Mac so they match Windows and Android
Changed SetScreenResolution to only accept width and height
Added SetWindowSize to change window size and fullscreen modes instead
IDE now remembers the order of tabs within a project
When opening a project the IDE now opens files at last known cursor position
Added install dialog to IDE Tools menu to allow manual installation of projects and tier 2 files
Added SetCameraAspect to change the aspect ratio when rendering 3D
Build 2.0 Alpha 7.1
Fixed repeatedly pressing the back button crashing Android
Fixed GetResumed() not working in tier 1
Fixed "AGK Projects" folder getting installed in the "All Users" documents instead of the current user
Added GetDocumentsPath() command to get the current user's documents folder
Fixed iOS lib not working with iOS 8 SDK
Upgraded iOS libs and projects to iOS 8
Updated AGK icon
Made APK export icon optional
Made IPA export icon optional
Fixed Close All Projects menu option not working
Fixed Mac video position being incorrect if repositioned every frame
Fixed a crash on Windows when switching music tracks
Build 2.0 Alpha 7
Removed dialog asking to create the new folder when creating a new project
Updated the main.agc template to include window size commands
Creating a new project no longer creates a setup.agc by default, it can still be used if desired
Moved default installation path for "AGK Projects" folder to inside "My Documents" on Windows
Moved AGK write folder for apps from "My Documents/AGK" to "AppData/Local/AGKApps" on Windows
Creating a new project will no longer overwrite main.agc if it already exists in the project folder
Fixed compiler path being incorrect on Windows
Fixed Mac IDE not liking spaces in its path
Fixed a bug preventing arrays of types being passed into functions
Attempted to target MacOS 10.7, unable to test
Added arm64 architecture to iOS lib
Deactivated Twitter commands due to build problems with arm64
Fixed message window not remembering its height in some cases
Changed Windows interpreter so it will attempt to load an "icon.ico" file before defaulting to the AGK logo
Fixed "open in new window" menu option not working
Added IDE option to remember open projects when closing
Fixed Mac compiler not replacing old .app file with the new version
Added displaying of function parameters on typing a comma in addition to an open bracket
Fixed broadcasted app not being able to play video if a previous app didn't delete its video
Fixed Mac video position not matching the coordinates given
Added SetSkeleton2DFlip to flip a skeleton in the horizontal or vertical axis
Can now open a project or document's folder by right clicking on it in the side bar
Build 2.0 Alpha 6
Fixed joysticks on Mac
Fixed escaped strings (using single quotes) not correctly escaping new line characters
Fixed FileEOF on Android APK apps not being consistent with other platforms (did not affect broadcasted apps)
Fixed Facebook photo downloads going to different folders on iOS and Android, they will now both be placed in the current folder
Fixed SetSpriteShapeCircle() with setPhysicsDebugOn() not showing the correct position of the shape
Fixed HTTP file uploads on iOS when using HTTP authentication
Fixed adding new files to a project not updating the side bar properly
Fixed assigning a variable the lowest possible integer value -2147483648
Fixed syntax highlighting of hexidecimal numbers
Fixed Dwmapi.dll sometimes causing a crash
Added some themes for the main IDE look
Added an IDE option to highlight other instances of the currently selected word (on by default)
Fixed message window in Mac IDE getting progressively lower when auto hide is turned on
Fixed paste not working in the Mac editor window
Fixed Mac key bindings so they default to the Cmd key
Added app broadcasting on the Mac
Fixed Find In Files freezing the IDE on Mac
Added Gyro/Magnetic/Rotation/AmbientLight sensor commands for Android
Added Gyro/Magnetic/Rotation sensor commands for iOS
Added GPS commands to Windows, Mac, Android, and iOS
Removed redundant ultrabook sensor commands like inclinometer, these can be calculated from the accelerometer
Separated documentation for input commands into a raw section and a universal section
Added GetFileCount and GetFolderCount commands
Added GetDeviceID command
Added CopyMemblock command
Fixed Mac IDE sometimes saying compilation failed without showing the compiler errors
Added runtime error for integer division by zero
Updated help files for iOS and Android push notifications
Added SetPushNotificaitonKeys so the AGKHelper.java file doesn't have to be edited
Added export APK option to the IDE
Fixed network bug where a disconnected socket would prevent the broadcaster reconnecting
Added export to IPA option for Mac users
Added menu item to generate an Android keystore
Added menu option to generate the iOS AGK Player on Mac
Build 2.0 Alpha 5
Fixed Compile/Run/Debug buttons becoming enabled before a project was opened
Added tool tips to the Compile/Run/Debug buttons to mention a project must be open to enable them
Fixed compiler error "Invalid path for CopyFile" sometimes appearing due to a memory error
Modified the default syntax highlighting color scheme and added support for alternate color schemes
Merged the project menu into the File menu
Fixed the symbols list not rendering multidimensional arrays properly
Changed toolbar New and Open buttons to refer to projects instead of files
Fixed adding a new file to a project when the save dialog is cancelled
Fixed native dialogs not redrawing properly if the Windows Aero theme is turned off or not applicable
Fixed interpreter not responding during long loading routines
Fixed saving new project file not defaulting to the project path
Fixed the project open/import dialogs ignoring the native dialog setting
Creating a new project now creates the default files main.agc and setup.agc in the project folder
Fixed declarations like "global dim myarray" not appearing in the symbols list correctly
Fixed indentation settings to stop converting tabs to spaces on saving
Simplified indentation settings to be global only, which are changed in the preferences dialog
Auto indentation now recognises AGK keywords like DO and IF as valid targets for indenting the next line
Pressing F1 will now look for a command at the current cursor position and display the relevant help page
Trying to load a project file with Open File will prompt to open it as a project instead
Fixed single quote strings not being recognised
Fixed SetErrorMode(2) on mobile devices not showing the error
Improved SetErrorMode(2) in tier 1 by adding the line number and include file to any errors
The symbol sidebar now recognises variables inside types, and constants
Autocomplete will now suggest variables inside types after a period
Code folding now recognises select statements and cases
Added the commands FoldStart and FoldEnd to manually fold sections of code
Added the ability to auto hide the message window when not focused
Added a separate broadcast button instead of having run and broadcast as one button
Added session files to the project file so it remembers what files were open
Build 2.0 Alpha 4
Fixed crash when deleting a physics sprite while looping over another sprite's contacts with GetNextContact
Fixed crash when deleting the most recently created sprite or text object
Reduced memory leak when playing OGG files, but can't remove it completely, I recommend M4A or MP2 for royalty free music
Completely new compiler that should solve a lot of tier 1 issues
Types can now contain arrays
Types and arrays can now be passed by reference into functions
Types and arrays can now be passed by value into and out of functions
Arrays can now be sorted and searched
Completely new IDE that should help write tier 1 apps
IDE now supports auto complete
IDE now supports code folding for AGK specific structures
IDE now has symbol parsing to show you what functions/types/variables exist in a file
Compiler errors now appear in the IDE instead of in message boxes and can now show multiple errors at once
Fixed a memory leak when loading and deleting Spine skeletons
Upgraded Android to NDK version r9d
Build 2.0 Alpha 3
Fixed crash when deleting an image assigned to a currently active frame buffer
Fixed crash when a shader fails to compile with a lot of errors
Fixed a bug where text greater than depth 0 would not display
Added all features from Alpha 2 to Android
Added all features from Alpha 2 to iOS and Mac except for sound balance
Added all features from Alpha 2 to Blackberry except new music commands, video meta data commands, and SetScreenResolution
Added new command InAppPurchaseSetKeys to set public keys unique to each app
Added new random number commands Random2() that have a longer period before repetition and greater range
Fixed LoadSkeleton2DFromSpineFile scale parameter not working
Fixed sprites not appearing on screen if any sprites were drawn with SetRenderToImage active
Build 2.0 Alpha 2
Fixed tier 2 libs for VS2010
Fixed AddTweenChainCamera
Fixed Spine skeletons sometimes not being transparent
Fixed shader error message on ATI cards
Fixed crash when closing an app that used SetRenderToImage
Attempted to fix missing pixel in DrawBox, may be GPU dependent
Fixed DrawEllipse having some incorrect pixel colors when using gradients
Fixed skeletons disappearing when using SetViewOffset
Added commands to get properties of skeleton bones
Fixed particles appearing behind sprites at the same depth
Fixed GetPointerX and GetPointerY being affected by interaction with virtual buttons and joysticks
Fixed SetSpritePhysicsDelete not clearing the SetSpritePhysicsIsSensor attribute
Added Quad object primitive for drawing full screen shaders
Added SetRenderToImage for drawing to images instead of the screen
Added SetRenderToScreen to return drawing to the screen
Added SetScreenResolution to modify the resolution of the final render target, and the window size on platforms that use windows
Modified sprites to set their transparency mode based on whether their image contains transparent pixels unless previously overridden by SetSpriteTransparency
Added new additive blend mode for sprites with SetSpriteTransparency
Added new additive blend mode for particles
Fixed memory leak when changing orientation on iOS
Fixed memory leak when deleting 3D objects
Fixed memory leak when setting the default font image
Added ellipse and rectangle drawing commands
Added random particle rotation controlled with a min and max setting
Added particle size modification based on keyframes
Added particle offset command to change existing particle positions
Added sound instance commands to change volume, playback rate, and balance per instance
Modified sound looping to allow looping a fixed number of times before stopping
Added sound memblock commands
Added save sound command
Added music seeking and music duration commands
Added file memblock commands to convert between files and memblocks
Added memblock string commands to get and set strings
Added copy memblock command to copy a portion of one memblock to another
Added skeleton commands for 2D sprite animation with Spine support
Added tween commands inspired by TrezSoft
Build 1.08.19
Fixed OpenBrowser not working with tel: and mailto: addresses on Android
Fixed music not looping after using SetFolder or SetCurrentDir commands
Fixed screen tearing when using fullscreen apps on Windows
Fixed GetSpriteInBox with sprites using the circle shape
Fixed GetSpriteCollision between world sprites and fixed to screen sprites
Build 1.08.18
Fixed passing UDTs to functions not working in some cases
Fixed Windows tier 2 templates not having mouse wheel functionality
Fixed Android crashing when passing a URL to OpenBrowser that doesn't have a protocol
Fixed iOS edit box cursor not moving properly when tapped
Build 1.08.17
Fixed iOS edit box cursor not working properly in some cases.
Build 1.08.16
Fixed Mac tier 2 apps not receiving key pressed and released events
Fixed print text appearing behind opaque sprites with depth 8 or less
Fixed template_android_lite project not compiling
Fixed iOS edit boxes not responding to touch events to move the cursor
Fixed a crash on Ouya if an app was started with a joystick held off center
Fixed a crash when using virtual joysticks in multiple broadcasts to the AGK Player
Reduced memory footprint of font images
Build 1.08.15
Fixed crash on some Android devices that try to send the app to the background before it is initialised
Fixed crash on Ouya when too many input events are received
Fixed crash on Ouya when sending the app to and from the background
For those people compiling apps with the Android NDK please go to the AGK\IDE\platform\android\Source folder and view the readme file about updating an NDK file
Fixed Ouya controllers not working with the joystick commands
Removed Ouya key codes as they are now accessed through the joystick commands
Fixed possible crash when using CreateImageFromMemblock every frame.
Set SetImageSavePixels to default to 0 as it reduced performance when doing frequent image updates and performance gain in general was negligible
Fixed built in point light shaders on Samsung Galaxy S3 and other Mali-400 devices
Fixed GetMemblockPtr removing the memblock ID from the memblock
Fixed SetMusicFileVolume not updating the volume whilst the file is playing
Added lite versions of the Android and iOS templates and interpreters to exclude Facebook, Twitter, Push Notifications, and Game Center
Build 1.08.14
Fixed compiler not recognising array declarations with square brackets like ["a","b","c"]
Updated offline help files
Fixed images on iOS having the bottom row of pixels cut off when using SetIntendedDeviceSize
Fixed GetOrientation on Android not responding to orientation changes after ResetTimer is used
Fixed app broadcast sometimes failing with "already listening on port 5687" error
Build 1.08.13
Removed Default Location prompt unless using the location commands
Fixed the IDE F1 context sensitive help not working on core language commands like "if" and "for"
Changed timeout on HTTP connections to 6 seconds
Modified the GetScreenBounds commands to return correct values when SetScissor(0,0,0,0) is not being used
Fixed DrawLine when using a blue value between 128 and 192 not displaying correctly
Added padding option to the Image Joiner utility to add extra pixels around images
Windows apps now reset the mouse state when losing focus
Added tier 2 command agk::GetMemblockPtr to get direct access to the memory
Added tier 2 command cImage::LoadFromData to load uncompressed image data directly from memory
Fixed GetTextHit when FixTextToScreen is used to function the same as the sprite versions
Build 1.08.12
Fixed tapping on an editbox sometimes not showing the keyboard
Fixed back button crash on Galaxy Note 2
For those people compiling apps with NDK go to the AGK\IDE\platform\android\Source folder and view the readme file about fixing an NDK bug.
Fixed GetPointerPressed on devices with both mouse and touch inputs
Fixed missing commands in the help files
Text objects now use less memory but extended font images must match the format of normal font images, i.e. both must be fixed width, or both must be variable width.
Fixed memory corruption bug when debugging in tier 2
All Android projects MUST use the new AGKHelper.java file from the interpreter_android_prebuilt (tier 1) or template_android (tier 2) projects to avoid crashing. It is also recommended to copy the other java files from these projects to get the latest fixes.
Rewrote Android video handling to allow pausing and resuming of videos without a jump
Upgraded Android to API 10 (2.3.3) as the minimum version
Removed ATL requirement from the VS2008 projects
Added OUYA key codes 102-107 to the android interpreter (untested)
Fixed camera and choose image commands on Android not returning valid images on some devices
Fixed loading of large JPG images on Android
Fixed pressing enter in an editbox not setting the GetEditBoxChanged flag
Fixed a crash when deleting lots of images immediately after they are created
Fixed crash with OpenToWrite when using the overwrite parameter
Due to the above fix the 106 and 107 compilers are no longer compatible with the 108 player
Fixed OpenToWrite not defaulting to overwrite when using no parameter
Added support for x86 (Intel) devices running Android (anyone using NDK should copy the jni/x86 folder from the template_android project into their projects and note the change to jni/Application.mk)
Added support for mouse wheel and middle mouse button on Mac and Windows (those using tier 2 be sure to update your Core.cpp files from the template project)
Modified GetmultiTouchExists on Windows to detect touch screen support rather than assuming true, may still assume true on Windows 7 and 8 even if no touch screen exists.
Changed DrawLine to draw lines that are less than 1 pixel in length as a dot.
Fixed Blackberry hide keyboard button not ending text entry
Added the following video commands to Blackberry: LoadVideo, PlayVideo, PauseVideo, StopVideo, DeleteVideo, GetVideoPosition, SetVideoDimensions, and GetVideoPlaying
The following commands are not possible on Blackberry: GetVideoDuration, GetVideoWidth, GetVideoHeight
Mac windows now resize themselves when they are bigger than the desktop resolution
Changed the way Windows apps resize themselves when they bigger than the desktop resolution to maintain aspect ratio
Added right ALT to Windows key input commands
Reduced memory usage for text objects when using fixed width font images
Fixed SetHTTPHost when using a username and password
Fixed crash when using SendHTTPRequest with a large response string on iOS and Mac
Fixed SetTextDefaultMagFilter and SetTextDefaultMinFilter not affecting extended characters
Fixed SetEditBoxTextSize and SetEditBoxSize causing SetEditBoxWrapMode to behave incorrectly
Stopped all sounds (in addition to music) when sending the app to the background on Android and Blackberry. Sounds will not be resumed like music so if you want a continuous sound playing you must use GetResumed to detect when it should be restarted.
Fixed extended characters not displaying when using a variable width font
Updated iOS AdMob SDK to prevent apps getting rejected for using the uniqueIdentifier
Build 1.08.11
Fixed pressing the sleep button on Android devices with the lock screen turned off not stopping music
Fixed inneractive adverts sometimes not displaying
Fixed GetImage when using a clear color other than black
Fixed GameCenterShowLeaderBoard not showing the correct leader board
Fixed PauseMusic/ResumeMusic on Blackberry restarting from the beginning
Fixed GetResumed being triggered by the app start on all platforms
Added HTTP commands to Blackberry
Added message box command to Blackberry
Fixed GetDeviceName crash on Blackberry
Updated editboxes on blackberry to match the other platforms
Fixed edit box cursor disappearing at small resolutions
Build 1.08.10
Fixed instance objects with images displaying incorrectly if the original object did not have an image
Fixed a crash when using CloseNetwork immediately after HostNetwork
Fixed a bug that meant large projects would sometimes fail to broadcast to the player
Updated Android In App Billing to use version 3 of the API, should be more reliable
Fixed a bug with alpha transparent sprites in GetImage results
Fixed VS2010 libs
Updated help files with the latest commands
Changed InAppPurchaseAddProductID to add a parameter for the type of product being added
Build 1.08.9
Fixed GetObjectVisible always returning 0
Improved performance when handling hundreds of text objects
Fixed GetObjectDepthWrite returning values outside the range 0-1
Fixed CloneObject crash on objects without indexed vertices
Can now load GIF images with LoadImage
Fixed Android memory leak when using Java helper functions
Improved performance when using Sync with only 2D items
Fixed AGKSplash.png splash screen on Android devices
Added help description for SetObjectScale
Fixed GetChosenImage on Android so that it returns 0 if the user cancelled
Fixed memory leak on Android
Changed Android PrintImage so that it saves the image to the pictures folder and increments the image name
Fixed sprite sorting bug when using Render() without Update()
Added check for extended ASCII characters in edit boxes that do not have an extended font image
Completed Game Center commands
Added command SetEditBoxExtendedFontImage to support extended ASCII characters
Added parmater to RateApp(ID,title) to change the dialog box title text
Added SetEditBoxUseAlternateInput to set whether the edit box will use the default text input screen or not
Improved edit box apperance to be consistent across resolutions
Improved quality of default Arial font image
Fixed a not responding message when selecting an image from Picasa
Changed the Android Message command to be an actual message box
Fixed Android keyboard missing key presses
Changed alpha blending when using GetImage to preserve opaque areas
Improved video play back on Android, now less likely to crash.
Fixed FacebookPostOnMyWall command
Improved text creation speed
Fixed crash on iOS when images greater than 1024 with an odd number of pixels in height get scaled down
Fixed FacebookSetup on iOS so it now uses the given AppID instead of needing a project setting
Fixed SetFolder on Android sometimes crashing with an empty string
Fixed Android crash when back button pressed during text entry
Improved text rendering speed when some of the letters are off screen
Changed alpha blending when using GetImage to preserve opaque areas
Fixed GetEditBoxChanged so it no longer misses updates on iOS
Added InAppPurchaseRestore command for iOS
Added SetIntendedDeviceSize command so AGK can scale down images on low resolution devices if you have designed your app for high resolution devices
Fixed screen flash when app is rotated on iOS and Android
SetSpriteImage now clears any existing animation frames for that sprite
Fixed SetSpriteShapeBox with an offset box not being calculated correctly
Fixed GetSpriteCollision between a sphere and an offset box sometimes being wrong
Fixed bug on iOS when using AdMob adverts with an offset on the iPad 3 using incorrect position
Fixed GetSpriteContactWorldX not returning the correct value in some situations
Fixed GetPhysicsCollisionWorldX not returning the correct value in some situations
Fixed GetSpriteYFromWorld not returning the correct value
Fixed crash when deleting a joint if the sprite it was connected to has been deleted
Changed GetResumed on Windows to return 1 when the user restores the AGK window from the background
Fixed image filter on Android and iOS reseting to linear after resuming from the background
Fixed GetDeviceLanguage on Windows
Fixed cloned and instance objects appearing in front of transparent objects even when they are positioned behind
Fixed crash when deleting transparent objects
Build 1.08.8
Fixed DeleteAllSprites not clearing everything from memory
Fixed SaveImage on iOS and Android not saving PNG images properly
Fixed CopyImage and SetImageMask modifying the wrong image in some rare cases
Changed the draw order to draw opaque objects in the order they were created, useful when using sky boxes with depth write off
Added Delayed DLL Loading to Compiler for Windows XP compatibility
Build 1.08.7
Fixed VS2010 LIB issue causing VS2010 projects not to compile
Build 1.08.6
Added FACEBOOK app back in apps folder, need to include this when building Android T1/T2 apps in Eclipse
Updated T1 and T2 guides for Android and iOS to reflect newer SDKs being used now
Added a collection of memblock commands for direct memory access
Added conversion between images and memblocks for direct pixel access
Changed GetHTTPResponseReady to return -1 if the current task has finished but returned an error
Fixed tranparent 3D objects sometimes appearing behind opaque objects
Fixed video playback bug on Android where playing after stopping wouldn't work
Fixed video playback bug on iOS and Android where GetVideoPlaying would not immediately return 1 after PlayVideo
Fixed long load time when using large strings in CreateText
Fixed crash when using CloneObject
Fixed SetFolder("..") not working
Fixed UDT assignment in functions
Fixed global or literal strings returning from functions
Fixed END now forces exit even if in subroutines or functions
Build 1.08.5
Added a few more dummy commands and tweaks to Facebook commands (should be command set complete now)
Fixed issue with Mac not allowing choose image and capture image to work properly
Ensured Android, Mac, iOS and Windows platforms all working together
Build 1.08.4
Added ability to save image in JPEG format on iOS
Added CloneObject command to copy an object
Added InstanceObject command to copy an object whilst sharing 3D data
Fixed Android videos not starting from the beginning when stopped
Added code for Android in-app purchase, although may be broken, sometimes returns errors from Google Play
Added PushNotificationSetup to register for push notifcations on iOS
Added GetPushNotificationToken to get push notification token for the device
Improved image loading time on all platforms
Improved performance of SetFolder and SetCurrentDir
Added GetDeviceLanguage to return the ISO 639 language code of the device
Fixed crash if ResumeSprite was called before PlaySprite
Added code for Ultrabook Sensors and Multitouch
Allowed VS2008 project to use above features (works from XP through to Windows 8)
Replaced SensorsAPI with LocationAPI for GPS longitude and latitude (100% success)
Build 1.08.3
New V108 Commands:
Added SetObjectScale command to scale an object in X, Y, or Z
Added DrawLine command to draw 2D lines directly to the screen
Added SetCameraRange command to set the near and far clip planes
Added SetCameraFOV command to change the camera field of view angle
Added Set3DGlobalDepth command to place all 3D objects at a specified sprite depth value
Added LoadObject command that returns an ID
Added LoadShader command that returns an ID
Added WriteByte command to write single bytes to a file
Added ReadByte command to read a single byte from a file
Added RenderBack command to draw only the sprites behind 3D, Render() now only draws those in front of 3D
Added SetObjectDepthReadMode to set the depth test function, if it passes the depth test the pixel is drawn, 0=never pass, 1=less than, 2=equal, 3=less than or equal, 4=greater than, 5=not equal, 6=greater than or equal, 7=equal, 8=always pass
Added SetObjectDepthWrite to set whether a pixel that passes the depth test writes its depth value to the depth buffer
Added SetObjectTransparency to set alpha transaprency on or off
Added SetObjectCullMode to set the cull mode of the object 0=draw both front and back faces, 1=draw front faces, 2=draw back faces
Added SetObjectVisible to set an object as visible or hidden
Added GetObjectDepthReadMode returns the current depth func for this object
Added GetObjectDepthWrite returns the current depth write mode for this object
Added GetObjectTransparency returns the current transparency mode for this object
Added GetObjectCullMode returns the current cull mode for this object
Added GetObjectVisible returns the current visibility mode for this object
Added GetObjectInScreen returns 1 if the object is in screen, 0 if not, this is only an estimate and may assume an object is on screen when it is actually not
Added GetWorldXFromSprite converts sprite coordinates into world coordinates, for example the top of a sprite rotated by 90 would actually be to the right of the sprite in world coordinates
Added GetWorldYFromSprite
Added GetSpriteXFromWorld converts world coordinates into sprite coordinates
Added GetSpriteYFromWorld
Added GetScreenXFrom3D returns the screen coordinates of the given 3D point
Added GetScreenYFrom3D
Added Get3DVectorXFromScreen returns a vector pointing into the 3D world from the given screen coordinates
Added Get3DVectorYFromScreen
Added Get3DVectorZFromScreen
Added DeleteAllImages deletes all images loaded with LoadImage or LoadSubImage
Added DeleteAllSprites deletes all sprites created with CreateSprite, LoadSprite, or CloneSprite
Added DeleteAllText deletes all text objects created with CreateText
Added GetScreenBoundsLeft returns the edge of the screen in you chosen virtual resolution, this takes black borders into account to the left of the screen my be a negative value in your current virtual resolution
Added GetScreenBoundsRight returns the edge of the screen taking black borders into account
Added GetScreenBoundsTop returns the edge of the screen taking black borders into account
Added GetScreenBoundsBottom returns the edge of the screen taking black borders into account
Added GetReadPath to return the path of the current application exectuable
Added GetLoadedImages returns the number of images loaded with LoadImage or LoadSubImage
Added GetUnassignedImages returns the number of loaded images that are not currently assigned to a sprite or text object
Added GetUnassignedImageFileName returns the file name of a specified unassigned image
All tier 2 Windows projects must add "Dwmapi.dll" the linker option "Delay Loaded DLLs" to maintain Windows XP support
Fixed edit boxes that are fixed to the screen not detecting mouse clicks properly
Fixed iOS video when changing orientation, fixed iOS GetVideoPosition command
Added Mac video playback suport
Added Windows video playback suport
Fixed a crash is DeleteImage was used on an image that had previously been used in SetTextDefaultFontImage
Fixed occasional stutter in frame rate on Windows Vista and Windows 7
Fixed mipmaps not working on some platforms and generating an error about glGenerateMipmap
Fixed particles so they can use images loaded from atlas textures
Returned default wrap mode to 0 (clamp) to solve some edge bleeding issues, use SetImageWrap to use mode 1 (repeat)
Fixed compiler issue with round brackets crashing compiler, now prompts square bracket error
Fixed bug with network integers causing a crash
Fixed text extending beyond the edge of the text input box
Added better network disconnetion detection, previously this would take up to 30 seconds to detect, now 5 seconds.
Due to this network change 1083 clients cannot connect to pre-1083 servers, however 1083 servers can accept pre-1083 clients.
For anyone implementing the AGK network spec a server must now respond to message ID 7 with message ID 6.
Old Android Dev Kits need to download and install the latest Android SDK and select Tools & API 13 to install over any existing files you may have. Re-using the SDK folder location will help
If Eclipse gives you problems, go to Help > Check For Updates to install missing elements
In Android project fails to compile, enter project properties > Android and tick Android 3.2 then Apply
04/10/12 - Build 1.08.1
Added Social, 3D, Sensor and Misc. commands
Modified compiler to allow auto-conversion to JavaScript
HTML5 Platform added as part of the Freedom-Engine deployment system
Unified V108 command between AGK and Freedom-Engine
Removed MeeGo and Bada from Platform Support (obsolete platforms)
Replaced template projects with template creation guide
10/06/12 - Build 1.07.7
Added error message to prevent accidental statement such as a=3=5
Fixed compiler to allow a comment at the end of IF THEN ELSE statement
Fixed compiler so REMSTART REMEND are now handled within SELECT statements
Fixed UDT.customtype=UDT.customtype to account for offsets within UDT type
Compiler no longer accepts an expression as a literal into a declaration
Compiler prevents code from calling user functions with GOTO or GOSUB
Increased the maximum size of strings returned from the STR(float) command
Commented out 'Failed to get OpenGL extension glBindFramebufferEXT' warning
06/06/12 - Build 1.07.6
Fixed GetImage(ID,x,y,w,h) command
Fixed AGKSplash.png screen for new orientations
Fixed android orientation for non-standard tablets
Changed CreateSprite(filename) to LoadSprite(filename) and other small tweaks
Added fix for small memory leak
Fixed orientation changes on Android
Fixed clear color bleeding around full screen sprites
Made texture repeat the default wrap mode to reduce flickering issue
Modified 1076 build to allow STARTTEXTINPUT to be extended with new parameter
23/05/12 - Build 1.07.5
Modified orientation system to allow TRUE portrait and landscape modes (Android/iOS)
Small tweaks to Scissor feature
Solved a number of memory issues on the Android platform
17/05/12 - Build 1.07
Changed DBPRO to AGKPROJ to remove old legacy compiler extensions
Upgraded internal foundation to allow backward/forward compatibility between compiler & players
Line numbers no longer corrupted during compile errors when #constants used
Cannot pass string out of function via UDT fixed
Teir 1 -> undim does not appear to work fixed
Remmed out line still affect running the code fixed
INC and DEC keyword not recognised fixed
Tier1 a remark with accent desactivate a line of code fixed
Constant declaration with remark fixed
SELECT compiler crash fixed
IDE: Core commands don't link to help fixed
Not possible to transfer in a successive way UDT to functions fixed
Fixed BUG001 - string can now be returned from a locally created UDT
Fixed Mac library to allow AGK Player (Mac Store) to accept broadcast app in standby
Fixed issue causing Mac App to quit prematurely
Over 60 New commands (advert, HTTP, camera, image manipulation and saving)
16/11/11 - Build 1.06
Updated Android Player to Version Code 3
Final tweak for MeeGo On 106
Fixed MeeGo app broadcasting for the version 1061 compiler
Adding Android to 106 build
Compiled final libs and players (iOS and Mac) for 106 build
Fixed changing friction with existing physics contacts
Fixed iOS code to not play music if iPod music is already playing
Fixed a bug in the android make file
Bada tweak to template (Bada 2 SDK)
Simplified android makefiles
Added icon the android interpreter
Added android libs
Made android text input box appear in portrait
Changed iOS project to support 3.2 as a minimum version
Increased compiler wait time when broadcasting, fixed samsung sound not muting when screen is locked
Tweak compiler for AGK Viewer stability
Corrected XIB files used in AdMob 4.2 work - killed 3.2 compatibility!
Fixed issue with AGK Viewer not running on 3.2 devices
removed scrapper code from ios player (not viewer)
Added VSync command
Fixed issue with AGK Viewer not sending the very latest coordinate back when pressed/touched. Affected virtual buttons.
AGK Viewer further tweaks
Fix for android devices that reject the default render buffer format (producing a black or corrupted screen)
Removed 5 second timeout
Tweaks to improve the free version of AGK
Made busy waiting the default method of controlling sync rate, fixed loading of images with 87 pixels in height on Windows
Changed iOS App Viewer to quit instead of run in the background
Fixed iOS not shutting down sockets properly when closing
Modified physics step code to not clear forces on manual step, only on sync
Fixed bug where iOS may get stuck waiting for a socket to close
Modified interpreter to broadcast to the compiler instead of the other way around, fixed time out bug for broadcasting large tier 1 projects
Updated samsung bada libs, player and template for Bada 2.0.2
New bada 2.0.2 removes need for simulator lib
Changes to reference documentation.
Fixed samsung template for sim and debug
Updated tweaks to ensure source (T2) for meego and bada work
AGK Viewer tweaks to sync well with Windows scraper app
Fixed issues with AGK Viewer freezing Windows app when cancelled.
Improved networking code to warn of firewall block
fixed the XCODE4 template
Scheduled Work for Build 107: Issues board fixes, New HTTP and ADVERT commands
24/10/11 - Build 1.05
Added New Placement Editor into Utilities folder
Updated tweaks to ensure source (T2) for meego and bada work better
Removed debug file from Mac player
AGK Viewer tweaks to sync well with Windows streamer
Fixed issues with AGK Viewer freezing Windows app when cancelled.
Improved networking code to warn of firewall block
Fixed the XCODE4 template
Cleaned up Tier 2 projects to compile first time (apps/templates)
Added INTERPRETER_MAC\BUILD\RELEASE folder with final Mac binary
Perfected AGK Viewer and AGK Player system.
Added free version of Windows Tier 2 Lib into trial
Ensured AGK Viewer broadcast does not crash when maximise Window
Added better device emulation during AGK Viewer mode (fakes device name, device resolution) and resets app to beginning using new faked properties
Finished AGK Viewer complete with re-start mode when iOS scraper mode detected - all examples work with AGK Viewer
Adjusted AGK Viewer network to run in parallel to main AGK Player network (no more interference)
Added multi-resolution support to new AGK Viewer, added touch input, accelerometer input
Added new AGK Viewer app (replacement for AGK Player on App Store)
Added support for accelerometer to be passed back from AGK Viewer to AGK Stream feature
Fixed error causing LARGE programs to create VERY LARGE allocations of memory that some devices could not create
Added code to detect when byte code memory allocation exceeds device limits and produces safe error message (not crash)
Fixed issue causing arrays used before the DIM statement parsed to fail to compile even though subscript counts valid
Fixed slow Samsung startup
Fixed issue caused by LARGE AGK programs being expanded, but variable offsets within byte code not being processed properly
Fixed polygon hit test bug
Fixed virtual joystick image when aspect ratio changed