Headline Changes Since 1804
- Removal of Online Connectivity in the IDE
- The News feed has been disabled (also stops the script errors shown on startup in previous versions)
- Links to the Marketplace and for managing your YoYo Account have been removed - please use your browser to do this now
- Demos and Tutorials now work off a download, rather than the online feeds - see this "Download Studio 1.4 Demos And Tutorials" Hepdesk FAQ for more info
- GGS support for automatically downloading our third-party extensions has been removed - please download in your browser and drag the package onto the IDE to import the extension to your project
- macOS
- In order to comply with current AppStore requirements and ahead of Xcode and Mojave being 64bit-only, we've removed the 32bit components of macOS packages
- NOTE: This will require you to update any 32bit extensions you're using, to ensure your projects are Xcode/AppStore/Mojave compliant
- NOTE: If you do not need AppStore support and want to instead continue using the older Xcode and 32bit packages, please continue using 1804 for this
- Deprecated the synchronous developer get_...() dialog functions, so they now do nothing in-game (avoids errors) - use the ..._async() versions instead
- iOS
- As per Mac above, only 64bit information is added into packages now, in order to avoid AppStore submission issues. See the two Notes above.
- Fixed playing music externally and then running your game could crash the game or result in broken audio
- Fixed getting a call or other system notification sound crashed your game
- Fixed the iPhone X home bar being visible all the time
- Fixed message dialogs to stop crashes when trying to show code errors on iOS 11+ because the OS has changed how message dialogs work
- Ignore GGS's "Minimum Time to Display" to fix black splash screen on startup if you had set this option greater than 0 in versions since we changed the splash screen method
- Deprecated the synchronous developer get_...() dialog functions, so they now do nothing in-game (avoids errors) - use the ..._async() versions instead
- Ubuntu
- Fixed the name of the audio library the runner looks for on starting the game - fixes lack of audio for some users
- Fixed "Error deleting sources + buffers" error when trying to close games
- Fixed sounds popping when stopped if another sound is played directly afterwards
- Android
- Fixed memory leak when using HTTP functionality and also a memory management issue which could have crashed the game if lots of HTTP traffic
- Deprecated the synchronous developer get_...() dialog functions, so they now do nothing in-game (avoids errors) - use the ..._async() versions instead
- UWP
- Fixed the window size always being locked to a fixed size dictated by the UWP tools
- Fixed url_open() so it now works the same as Windows native
- HTML5
- Fixed 0029360: HTML5: Audio doesn't play on iOS Safari, iOS Chrome or Android Chrome
- NOTE: Fix is for iOS and Android only - Windows Chrome betas currently exhibit this also, but Chrome are not yet committed to keeping the change on desktops
- NOTE: This change does mean initial loading times for HTML5 will now be longer while the audio files in your game are downloaded
- Fixed Mouse Pressed events not working on scaled canvases because the collision mask is offset
- Fixed mouse coordinates aren't scaled to match when your window or view is scaled
- Fixed functions to set the gain on an audio resource so they work as per native platforms
- Fixed high refresh rate monitors cause the game to run quicker than intended in Chrome and Firefox
- Changed the default size of the GUI layer
- Changed the default GUI size for Draw GUI events to match the application_surface size so it is more consistent cross-platform
- Fixes various issues, such as text placement on some platforms (e.g., Mac)
- NOTE: If you use a Draw GUI event to scale your GUI and draw the application_surface, you might need to change your project to maintain your expected results:
- In your first object's Create/Game Start, you could do "var pos = application_get_position(); display_set_gui_maximise(1, 1, pos[0], pos[1]);"
- Depending on your project, you might find also that simply changing your Draw GUI event to be a Post Draw gives the intended result
- See the manual for more information
- Fast Collisions Fixes
- Lots of fixes have been added for the Fast-Collisions system (if you enabled this for your project in GGS)
- Includes deactivating and reactivating instances doesn't refresh collision status, collision information persisting in the wrong room or after game_restart()
- Multiple fixes for Spine sprites and collisions, also ensuring that Animation Events fire correctly
- New Audio System Fixes
- Lots of fixes for the new audio engine released with 1804
- Better support for stereo files being incorrectly used for positional audio
- Fixes for: volume levels and sync groups, audio distortion or lower quality output files than expected, whitespace "hissing" from very high bitrate ogg files, and more
- Fixes for the wrong sounds playing on audio_play_sound(), especially after using an emitter to play audio.
- Misc
- Fixed sprite_add_from_surface() to now show a code error if the sprite has not already been duplicated (as is required), rather than crashing the game
- Known Issues
- iOS and macOS Entitlements for IAPs and Game Center are not being set correctly in Xcode during builds, so you need to enable these manually when doing Create Exe
- For UWP YYC builds, you must have the old Windows SDK 10.0.10240.0 as well as our stated minimum, as Visual Studio 2015 expects Windows SDK 10.0.10240.0 to be installed
- Some audio devices can cause the runner to take longer than normal to initialise when running projects, so you might need to disable these temporarily
- Monitors with refresh rates higher than 60hz can cause timing issues on Windows, games run more slowly than expected on these devices
- Android NDK 17b above is not supported and neither is ARM64 package builds
Headline Bugs Fixed Since 1804
- This release contains all in-game fixes in GMS2 2.1.5 (so there are a lot of fixes since 1804!) and this release also has:
- 0016711 HTML5: Last used sound plays when changing tabs back to game
- 0024834 Spine: Memory leak in skeleton_bone_state_get()
- 0025418 Functions: Using Fast Collision system will cause incorrect results when using collision_line()
- 0026336 UWP: Window resolution is always locked at 1200 x 900, regardless of what your room or view size is
- 0027794 UWP: url_open() fails to open protocol applications, nothing happens
- 0028089 HTML5: Safari won't play streaming MP3s until after the user interacts with the game
- 0028839 Build Mac: Putty doesn't quote your password or escape the string so your password fails if it starts with a symbol
- 0029055 Importing Projects: Unable to Import Project while project isn't saved and clicking 'No' on confirmation
- 0029132 Audio: Sounds differ between the runner and IDE within the latest update
- 0029261 Build iOS: Unable to create an executable as we look for xcuserdata rather than xc*data
- 0029428 HTML5: path_endaction doesn't work
- 0029632 Audio: Sync groups don't have any audio if you've set the position of a listener
- 0029735 HTML5: keyboard_string doesn't repeat characters whilst key is held down
- 0029761 Build Mac: No support for 64bit builds, which is now mandatory for Apple submission
- 0029763 Audio: Crackling occurs if you set an emitter's velocity
- 0029817 Audio: Clicking occurs if you change the pitch of an emitter
- 0029774 Build Mac: Includes 32bit support in packages, which blocks AppStore submission uploads as of end of June 2018
- 0029810 Mac: "Allow resize window" with "Keep aspect ratio" doesn't allow resizing window left/right, must be "full scale"
- 0029816 Mac: get_open_filename() doesn't check the load whitelist correctly, stopping files outside the sandbox being read
- 0029818 Build UWP: Debugger doesn't connect when debugging PC games, works fine for remote targets [issue was not in 1804]
- 0029819 UWP: GML errors from your game are no longer shown, game silently closes [issue was not in 1804]
- 0029853 Functions: Random seed is different if you restart your game after a room change has occurred
- 0029857 Audio: 3D Audio falloff not working anymore
- 0029873 GGS: Setting iPhoneX Landscape splash screen fails to actually apply the image
- 0029884 General: Fast collisions have issues with collision masks that are very small such as a single pixel
- 0029928 Build Android: Building with Lint enabled will always fail unless you have Bluetooth permissions enabled
- 0029966 General: 502 website error dialogue on startup, often/usually accompanied by a broken tips feed
- 0029970 Build Android: Access Violation if any part of your GGS package name is blank and you try to run/compile
- 0029991 Debugger: Watches panel is defunct
- 0029992 General: image_blend behaves differently in GMS1 to GMS2
- 0029995 Font: font_add_sprite() is incorrectly offset in 1.4.9999, need to use font_add_sprite_ext() as workaround
Massive thanks from all of us at YoYo Games to you for using GameMaker: Studio 1!
Changes Since 1788
- IDE
- Fixed Configs being hidden in the resource tree if you cancelled opening a different project
- Added Windows 8 Native and Windows Phone 8 back in as licensed targets
- Removed Supersonic Ads from GGS > Advertising > HTML5, as this has been unsupported for a while
- Windows
- Fixed games crashing if no audio device found
- Fixed several issues with audio stuttering or resuming from the wrong offset when paused
- HTML5
- Added ds_map_replace_map() and ds_map_replace_list()
- Android / Amazon Fire
- Fix for YYC builds not giving you an APK Expansion .zip file
- Re-added support for extra . in package names as much as we can - will still error if the . placement would causes issues with Google's tools
- Misc In-Game
- Fixed issues with Steam-enabled games not forcibly relaunching the Steam copy of the game if you manually run the exe you have built
- Fixed issues with Steam-enabled games not insisting on the Steam client being running at the time
Bugs Fixed Since 1788
- 0023293 Networking: Evidence of network_send_udp() causing memory leak
- 0028789 Global Game Settings: 'Supersonic Ads' listing is incorrect, needs updating
- 0028876 Configs: Open Project button makes configs disappear
- 0028921 Windows: Games crash if you have no audio devices
- 0028933 Steam: Leaderboards - Emojis in usernames cause runner crash
- 0029054 Global Game Settings: Windows 8 Analytics provider 'markedup' no longer exists, should be removed from GGS
- 0029062 Build Android: 'APKExpansion' extension generates differently named zips for VM and YYC builds
- 0029109 Global Game Settings: Android package names with a '.' anywhere in the string are disallowed, blocks updating published games
Download links for versions older than 1.4.1804 have been removed from this page, and super-old versions have now been removed completely
Version 1.4.1788 08/02/2018
Changes Since 1773
- IDE
- Fixed an issue with incorrectly checking for missing resources was blocking beng able to create new configs
- Fixed clearing backup and assets cache folders in Preferences does nothing - added support for clearing only the current project (default) or wiping everything
- Fixed an issue stopping texture page previews from being shown because a different part of the build process failed
- Changed the "Checking Resources" phase of project saves to speed up project save/loads
- Changed texture group generation to reduce build times in projects with very large numbers of groups (generally affects projects that make extensive use of "Used for 3D")
- Added preference to disable thumbnail icon generation when loading projects - can greatly improve project load times
- Added extra logging for users who use 2-step with Google Authenticator, as this stopped working for some people for a while - if you have this issue, please send us a ticket with your traceIDE.log
- Removed Tizen, Windows 8 and Windows Phone 8, as these platforms are all very out-of-date and cannot be submitted as packages anymore (Win 8/WP8 are 8.0, not 8.1)
- Compiler
- Changed "unknown" resources to be a warning, not an error (although we would recommend you still fix/remove these)
- Debugger
- Fixed lots of issues for Watches window functionality
- NOTE: To connect to an IPv6-enabled iOS device you now need to use IPv6 in your PC's network settings also, otherwise it will time-out
- Windows
- Aligned Windows runner to use our own custom audio engine, as already used on console platforms, UWP and macOS. Shouldn't notice any difference, but please cross check with your games.
- NOTE: Microphone and audio-recording support is not available in this release - it will return in the next one
- Changed gamepad support to work with the SDL2 game controller database, as used by Steam, so more controllers should work
- Mac
- Fixed/Added Xcode 8.3/9 and Sierra/High Sierra support
- Fixed support for 8bit indexed pngs as your splash screen
- Changed the way we package splash screens to match Apple's requirements
- Changed the build process so now if you make a non-AppStore build IAPs won't be included
- Added the gamepad changes as per Windows
- Added basic get_open_filename and get_save_filename functionality for Mac (does not handle filetypes filter properly yet)
- Added 64bit support into packages, as per Apple's submission requirements
- Ubuntu
- Added the gamepad changes as per Windows
- Windows UWP
- Fixed YYC not always building the correct architecture
- Fixed splash screen background colour always shows blue in-game
- Fixed games crashing when restoring focus if you had taken focus away for long enough that the OS suspended the app
- Changed Win 10 SDK version used for building projects to 10.0.14393.0
- Added support for "Minimum" and "Target" versions
- iOS
- Fixed NSLocaleCountryCode returning nil and causing submission failures
- Fixed touches right up to the screen edges, as discussed on the GMC ios-11-screen-edge-dead-zones.38580
- Fixed black screen flash when adding or removing subview, as seen with admob banner ads
- Changed the way we package splash screens to match Apple's requirements - stops "missing Icon Asset Catalog" submission fails
- NOTE: You will need to update/re-link all of your iOS icons before next submitting to Apple
- Added support for newer iOS device splashes/icons and changed the GGS presentation of this
- Added support for IPv6 into our networking fuctions, stops submission fails if your game has networking support
- Added HTTP async events for loading files, so can use this for progress bars, etc.
- Added keyboard_key_press() and keyboard_key_release() to match as they are on Android
- Android / Amazon Fire
- Fixed build fails if the project folder path contains special characters
- Fixed build script occasionally failed to launch Gradle properly, meaning you immediately needed to build again
- Changed Gradle script to include the new download location for SDKs 27+
- Changed build process to abort and advise you to change the bundle ID if this contains a Java reserved word, stops Gradle failing later in the build
- Added support for NDK 16+
- Added the "IsGame" flag (set to true) into builds to stop submission issues
- HTML5
- Fixed/Added lots of missing functions and increase consistency with the native runner - implemented all the function changes announced in GMS2 since the last 1.4 release
- Fixed if an object or instance ID can not be found, HTML5 now returns undefined as the native runners do
- Fixed font rendering to now ignore any glpyh it does not understand - the samde as native runners do - rather than stopping the page loading
- Fixed gml_release_mode() to work the same as native and is required to access the faster "release" mode of the functions which support this
- Fixed buffer_resize() crashing if buffer was reduced
- Fixed a Firefox audio compatibility issue some users had discussed on the GMC game-wont-run-in-firefox.37184
- Changed grid indexes to be floored, not rounded, as this gives a huge perfomance increase (and arrays are already floored, so this increases consistency also)
- Changed default index.html template to include "window.onload = GameMaker_Init" to allow delayed game start, so you can inject startup code into your pages, etc.
- NOTE: If you are using a custom index.html you will need to add that new line, otherwise you'll just get a black screen on startup
- Misc In-Game
- Fixed an unstacking issue if you called more than one surface_set_target() in the Draw GUI event
- Changed game_end() to be ignored on Android and iOS, following crash logs that indicated this was causing memory corruption and crashes in subsequent runs of your app
- Changed frame-timing to now be done via Vsync on all platforms, should result in better efficiency and therefore battery life (not loads more FPS) - please test well
- Added font_add_enable_aa() to toggle antialiasing for subsequent font_add() calls. font_add_get_enable_aa() returns whether a font was added using font_add() with antialiasing enabled or not
- Added YYC versions of vertex_normal(), vertex_position_3d(), vertex_colour(), vertex_texcoord(), vertex_begin(), and vertex_end()
Headline Bugs Fixed Since 1773
- 0014810 Functions: base64 encode/decode works incorrect with Cyrillic in HTML5
- 0015358 json_decode() bugs with giant numbers
- 0015607 iOS: Error report on previewing a texture page
- 0018208 HTML5: sprite_add_from_surface unimplemented
- 0018419 Functions: Buffers behaving weirdly
- 0020156 Functions: Inconsistent behaviour of array dimension functions between Windows and HTML5
- 0020903 General: Clearing backup and assets cache folders in Preferences does nothing
- 0023413 HTML5: surfaces are broken
- 0025577 HTML5: file_text_write_string turns "#" into newlines
- 0026163 Input Devices: Disconnecting and reconnecting a PS4 gamepad crashes games on Windows
- 0026317 Build Android: Compile fails if the word "break" appears in the package name
- 0026327 HTML5: Text alignment when using international characters and font_add_sprite_ext() is wrong
- 0026331 Windows (YYC): Bitshifting in YYC provides different results than VM
- 0026465 Suggestion: Functions: Make buffer_set_surface work on all platforms
- 0026804 Mac YYC: xcodebuild error "Scheme is not currently configured for the archive action" when exporting
- 0026917 file_text_readln behavior is not consistent between HTML5 and native targets
- 0027116 Android: http_post_string does not use the given parameter for the payload, instead, sends NULL
- 0027213 Functions: draw_text_ext() doesn't work correctly if the string has multiple consecutive spaces (even crashes HTML5 tabs)
- 0027215 HTML5: string_height() incorrect when using newlines in the code editor
- 0027239 General: Pressing both the left and right modifier at the same time will only remove one of them when both are released
- 0027496 Spine: skeleton_attachment_create() won't work when using sprite from sprite_create_from_surface()
- 0027608 Physics: Assigning to a physics variable while physics is disabled gives unclear error message
- 0027644 Functions: string_delete() with a count 0 of deletes everything before starting position [also an issue with negative count on HTML5]
- 0027646 HTML5: variable_..._set() functions not working
- 0027760 Windows (YYC): Array assignment involving nested arrays and function calls as index is bugged
- 0028224 Android: Extension crashes game because http_post_string() fails with return code 404 and an IOException
- 0028320 Build iOS: Unable to submit due to missing Icon Asset Catalog
- 0028343 iOS: NSLocaleCountryCode returning nil causes submission failures
- 0028344 Ubuntu: File paths for Steam Workshop items appear to not be whitelisted or a part of the file sandbox
- 0028358 Spine: Event information only takes the default value and ignores the value at individual keyframes
- 0028384 Build Android: NDK 16 is not supported, so YYC builds fail
- 0028428 Licensing: [Google Authenticator 2-step authentication code doesn't work for some users]
- 0028484 HTML5: Uncaught TypeError: _uC1.getParameter is not a function when setting collision mask in GML
- 0028555 Resource Tree: Dragging objects around in the tree can cause unwanted renaming and creation of "blank" objects
- 0028593 Build Mac: Mac .zip will not open [potential fix]
- 0028613 UWP: Games crash upon being restored after the OnSuspended event has been fired
- 0028627 HTML5: Keyword "undefined" works by a total fluke
- 0028643 HTML5: Runner crashes if you use draw_text_ext with string_width
- 0028723 Functions: steam_set_stat_float doesn't work correctly
- 0028729 Pressing the cancel button when attempting to close the IDE with unsaved changes will still close the IDE
- 0028742 Global Game Settings: Windows UWP splashscreen background colour only shows blue on build
- 0028754 Build Android: Gradle Daemon doesn't start correctly on first run and in turn launches the web server for some reason
- 0028757 Mac: Providing a larger splash screen than your display resolution causes your splash screen to break
- 0028766 Build Ubuntu: Changing the scaling method in GGS has no effect
- 0028773 Code Editor: Closing and saving a shader adds an empty line to the top of your fragment shader
- 0028775 Global Game Settings: Update the description for Mac OSX code signing
- 0028777 UI: Knowledge Base search goes to broken result on helpdesk
- 0028783 General: Steam Workshop Agreement shows YoYo homepage instead of agreement when exporting to Workshop
- 0028787 Global Game Settings: Millennial Media Ads setting still exists, despite this being no longer supported
- 0028786 Global Game Settings: Flurry hyperlink leads to dead page, needs updating
- 0028788 Global Game Settings: Amazon Ads hyperlink leads to dead page, needs updating
- 0028813 General: Incomplete description error for Exporting to SteamWorkshop has spelling mistake
- 0028857 Saving: Using "Add Existing" for a script doesn't actually save the imported script, lost when project is next loaded
Version 1.4.1773 14/09/2017
Only Change Since 1772
- Windows UWP
- Removed freetype requesting an unwanted permission, fixes store package submission fails
Bug Fixed Since 1772
- 0027734 Build UWP: Users reporting submission fails for unallowed functionality when submitting their games to the store
Version 1.4.1772 26/07/2017
If you are coming from 1763/1765, this will be a huge update - see 1767's notes below also!
Headline Changes Since 1767
- Compiler
- Changed the check for the "!!No ini file" warning, so nothing is shown on platforms which don't require the ini (most of them)
- NOTE: Many devs thought the above warning was why their Windows builds failed, but this is not the case
- Windows
- HTML5
- Fixed that the alpha value set in the room editor for an instance is actually now used in-game
- Fixed bug in sprite fonts where space character was provided, but not applied correctly
- Changed/fixed HTML5 games to now "frame count" if room_speed is an even divisor of 60 (so 60,30,20,10,6 etc.), removes all stutters from gameplay + updates
- Added WebGL now does proper font colour blending. Fonts should now be the same as native
- Added JSON try/catch added to many places, but particularly around highscore loading
- Misc In-game
- Fixed sprite_create_from_surface() being broken on Android (and others) in EA551/1.4.1767
- Fixed skeleton_attachment_set() to check the current skin for the attachment before any others (fixes using straight after after skeleton_skin_set())
- Added "worldAngleX" and "worldAngleY" as new values in the ds map you get from skeleton_bone_state_get()
Bugs Fixed Since 1767
- 0025821 Spine: worldAngle from Spine animation [ds map] gives the value "" [see the notes, as you will have to change your code]
- 0026327 HTML5: Text alignment when using international characters and font_add_sprite_ext() is wrong
- 0026972 Mac: Cursor does not show in-game
- 0027115 Debugger: Showing on all instances [if project contains greater than 512 resources]
Version 1.4.1767 10/07/2017
This is a very big update! Please read all of this release's notes carefully!
Headline Changes Since 1.4.1763 (aka 1765 on Steam)
- IDE
- Fixed issues with large numbers of resource windows being opened causing them to stop drawing properly (much more of an issue in Steam IDE)
- Fixed saying "no" to importing/opening other projects when you have unsaved changes in current project aborts loading the new project
- Fixed method of creating a duplicate project when you have unsaved changes in current project and attempt to create a new one
- Fixed extensions not always saving changes in some situations
- Fixed YoYo Account login dialogue to accept accented characters in passwords
- Fixed Marketplace asset importing so Spine files import correctly
- Fixed the Room Editor so 'Clear all instances from the room' does remove the instances from the instance order list
- Fixed the Room Editor so it won't paste an "invisible" object instance if you copy, rename the object, then try to paste it
- Fixed the Sprite Editor so importing a different image into a sprite doesn't reset its texture group to "default"
- Fixed objects so a change to its "Applies To" value is automatically saved when running the project
- Fixed copying a texture group would re-use the same name - now automatically gives a different name, the same as Add does
- Fixed the save dialogue shown on closing the IDE so it doesn't save all even when you say "no"
- Fixed objects could be overwritten by creating a new object with the original name of a recently-renamed one
- Changed Targets Manager so it now shows only the platforms you have on your license
- Changed Visual Studio paths to be the paths to the vcvars32.bat (automatically updates your old-style paths)
- Changed the old "license validation" screen to be up-to-date useful Studio 1.4 info, not useless GM8.1 info
- Changed the package name field in GGS > Android to reject hyphens "-" in names
- Changed the URL field in GGS > Ubuntu and GGS > Tizen to use the project name with spaces removed (will also fix projects in this state)
- Changed SWF importing and building to now use multiple threads, so should be faster (depends on the individual SWF how much faster)
- Changed setting extension platforms to export to into the top level of the extension, not each file
- Added checks to prevent creating/renaming scripts to be Windows reserved keywords
- Added checks to prevent creating/renaming audio group names to use invalid chars
- Added checks to prevent duplicate/invalid names for scripts being dragged-in
- Added caching of shader compilation results to reduce build times (currently only supports HLSL11 and PSSL targets)
- Added GGS checkbox for downloading/enabling new Google Play Services IAP support extension, as IAPs are now separate from the rest of GPS
- Added GGS checkbox for new fast collisions "compatibility mode" in case fast collisions has issues with your code
- Removed module upsell screens and tips (including the license key entry forms on these dialogs)
- Removed all references to the GameMaker: Player (including the installer)
- Removed the licensing panel to request a free 1.4 license, replaced it with a link to get GMS2 trial
- Compiler
- Changed switch statements to detect invalid case type combinations, rather than allowing these
- Added macros can be used to replace function names (see this GMC thread)
- Windows
- Fixed splash screens not showing even though GGS setting is enabled
- Mac
- Fixed icon-creation in builds
- Fixed YYC runs of Steam-enabled projects didn't actually launch Steam integration (create exe was fine)
- Changed GGS default for "Build for Mac App Store" to be false, rather than true (builds quicker during testing, also seeing lots of Steam devs)
- Added Preference for Mac "supress build" option - needs to be enabled if building on macOS Sierra
- Added Preferences for setting the default Mac/iOS Team ID to be used in new projects' GGS
- Ubuntu
- Fixed the game drawing in lower left corner if set to launch fullscreen
- Fixed games which use 3D functionality drawing their splash screen upside-down
- Fixed various issues with the Debian package type not building if spaces/mixed text case/invalid chars in project name
- Fixed a chmod issue during the game install proess
- Fixed "create exe" putting steamworks .dll in wrong place
- UWP
- Changed to always use your certificate and app name when building, even runs, so that services that require this information (like Xbox Live) work properly
- Added support for basic Xbox Live sign-in handling
- Added support for fullscreen - new GGS settings for this, plus Alt+Enter and window_..._fullscreen() all work
- Added support for window_set_cursor() and window_get_cursor()
- Added GGS textbox for specifying your UWP/Win8 publisher name, removed the code which determined it from the certificate
- Android
- Fixed that a different temp folder was being made and used when building
- Changed clang to use more CPU cores during builds (was always 1 before)
- Added os_check_permission() and os_request_permission()
- Removed the Immersion "Haptics SDK" integration on VM builds
- iOS
- Fixed audio not working after a call or if external music playing during startup
- Changed shop_leave_rating() to use Apple's required new api for leaving a rating
- HTML5
- Fixed loads of functions or added them, so now much closer to native platforms in terms of feature set
- Fixed keyboard mappings so everything isn't as per an en-GB keyboard
- Fixed detection of Edge browser - added a new constant for this also
- Fixed collisions system so the results are now the same as Windows
- Fixed md5 system so the results are now the same as Windows
- NOTE: If your game stores old HTML5 md5 hashes and re-uses them, these will now be wrong!
- Fixed several missing UK/US spellings of function names
- Fixed images set as "Used for 3D" stil being added into texture pages
- Updated Facebook version to 2.8
- Added draw_flush() support
- Added a workaround for a Chrome bug where default emitters and default listeners would play sound out of right speaker only
- NOTE: If you hear this issue, check your emitters and listeners are not in exactly the same place. If so, move the emitter forward a tiny distance (0.01 or so).
- Spine
- Fixed slot colours not being applied properly on HTML5
- Fixed draw_skeleton_instance() to copy custom attachments from referenced instance rather than ignoring
- Fixed sprite_add() so runtime-downloaded images can be used for attaching
- Changed name skeleton_get_imageindex() to skeleton_animation_get_frame() to be more consistent with other animation functions
- Added skeleton_animation_set_frame() to partner the above change
- Updated Spine version to v3.4.0.2 (Native and HTML5)
- NOTE: If your game crashes on startup now, clear your cache and build again
- NOTE2: If issues persist, or if a Spine is now not working correctly, re-export from Spine using v3.4.0.2
- Added new "Animation Event" object event
- Added support for objects using Spine to use Collision events (needs bounding box added in Spine)
- Misc In-game
- Removed Scissoring testing of surfaces on mobiles (in most cases), gives a decent performance boost on some devices
- Fixed a few memory leaks in YYC functions
- Fixes for SWF antialiasing not working
- Fixed the view intersection events - "Outside View" and "Boundary View" - to be much more accurate
- Fixed memory leaks in screen_save() and surface_save()
- Fixed glitches when rotating large sprites and at angles close to zero
- Fixed crash if calling iap_activate() more than once
- Fixed taps in corners of iPhones sometimes don't give clicks even though tap gestures occur on the phone
- Fixed UDP networking timings to match fixes made for TCP a few releases ago
- Changed untextured primitive rendering on DX11 and WebGL to be more consistent with DX9
- Changed instance_destroy() so it can destroy an optional specified instance (see the manual)
- Changed ds maps so they don't reserve as much space when you create them
- Changed surface management so you can't free surfaces that are on the stack
- Updated freetype from 2.3.5 to 2.8 - test your games to see if text is still positioned/sized per your needs, as you may well need to recalculate your values now
- NOTE: If you have used font_add() and then drawn using this font, this will very likely need tweaking now - reduce the point size by 25%
- Added DX11 information into os_get_info() for UWP + Windows 8
- Added anti-aliasing support on DX11 platforms (Win 8 N, WP8, Xbox One, UWP) - also fixed not being able to toggle Vsync on these
- Added extra checks into alternate sync mode so you don't get a harsh drop from 60 to 30 if the framerate briefly drops to (e.g.) 59
- Added "Large Address Aware" support for Windows games (VM and YYC)
- Added extra info to background_get_uvs() to allow compensating for tpage cropping (now matches the info returned from sprite_get_uvs())
Bugs Fixed Since EA551
- There are a LOT fixed since 1.4.1763! (See the link above and read all the way down to EA525)
- 0026944 HTML5: asset_get_index does not work for scripts
- Fix for xboxlive_user_is_signed_in() returning 1 even if the user wasn't signed in
- Fix for HTML5 rendering only top-left portion of games which resize the application_surface
Version 1.4.1763 06/10/2016
Changes since 1760
- IDE
- Added GGS > Android item for controlling the device sleep margin, allows you to fix performance issues on some devices
- iOS
- Added GGS entry for setting the team ID for signing, fixes Xcode 8 requiring manual input of this detail each time
- Removed check for "setup" function (Supersonic) and other legacy SDK info from packages - helps fix odd Apple submission error
- Removed unused camera roll functionality to fix Apple submission error
- Fixed permissions issue for enabling push notification support in iOS 8.0+
- Compiler
- Fixed localisation issues in some functions (projects wouldn't build if , used for decimals in your region)
- Debugger
- Fixed displaying of watched variables
- Fixed editing of instance variables
Bugs Fixed Since 1760
- 0016588 Functions: Push notifications don't fire in iOS 8
- 0020135 Extensions: Google Play Services doesn't pause the game when an advert is running
- 0023702 Mac: window_mouse_set() has highly offset coordinates
- 0024003 General: Constant number comparison behaves differently
Version 1.4.1760 30/08/2016
This is a very big update! Please read all of this release's notes carefully!
Changes since 1757
- IDE
- Fixed image editor AVs when reopening sprites
- Fixed image editor crash when frames have been removed on disk, but a sprite still refers to them
- Fixed being unable to add texture groups because the IDE has wrongly counted the number of existing groups
- Fixed saving issue when running/building games with unsaved resource name changes
- NOTE: If you close the project in this situation it will now trigger a full project save, just to be safe
- Fixed deferred resource tree thumbnail generation so it starts generating thumbnails again
- Fixed SCM-enabled projects so they do not load much more slowly than non-SCM projects
- Fixed the application oven to return new-style certificates on the Mac to GGS > iOS > Provisioning
- Fixed Mercurial authentication issues when a default user has not been setup correctly
- Fixed GGS internal name for MMedia ads extension being incorrect and stopping import
- Fixed issue where shutting the IDE whilst tree thumbnails were still being made could cause AVs
- Changed the IDE to defer the creation of resource tree icons until after a project is loaded - speeds up project loads
- NOTE: this might result in tree resources missing their icons for a moment after the project is loaded
- Changed the naming convention when duplicating scripts so we avoid a potential naming conflict route
- Added working default Mercurial SCM config
- Added more Visual Studio path fields to Preferences so you can fully control which VS builds which target
- Added GGS entries for disabling Lint analysis during Android builds
- Added a new Preference for the Java heap size used for Android builds with many/large extensions
- NOTE: If you're using a lot of extensions and so require the larger heap size you will need to use 64bit JDK
- Added new extension properties for injecting into Android manifest at different points, required by some extensions
- Added new extension properties for injecting into iOS plist at different points, required by some extensions
- Removed GGS entries for iAds extension, as Apple no longer support
- Compiler
- Changed to fully remove the 16 arguments per function limitation
- Added several optimisations to help projects build more quickly
- Debugger
- Fixed an issue with local variables not being presented properly
- Fixed Boolean values to now show "true" or "false" rather than just being blank
- Added Watch window allows entering local variables
- Windows
- Fixed old(er) Steam Workshop games crashing on startup in EA475's Steam Player
- Fixed Alt+F4 to allow quickly exiting games again (although this won't apply when playing games in the GameMaker: Player)
- Fixed "self" keyword when using YYC so it now behaves the same as non-YYC and/or using "-1"
- Fixed cancelling file dialogues giving corrupted strings when using YYC
- Added support for DirectInput devices, allows a wider range of devices
- Added support for checking up to 8 more in-game devices (Xinput is still 0-3, DirectInput is now 4-11)
- UWP
- Fixed games crashing on startup in EA493
- Mac OSX
- Fixed Steam support in YYC packages
- Fixed splash screens to now render at their correct resolution
- Fixed toggling fullscreen to be a much smoother and better-looking transition
- Fixed issues running games on OSX 10.9
- Fixed clearing Steam library out of the build folder to stop Steam leaking into future builds
- Changed to not sign packages when not building for the AppStore by allowing a blank signing identity
- Added GGS checkbox for enabling Retina support in-game - off by default
- HTML5
- Fixed looping sounds not resuming after switching tabs
- Fixed d3d_set_perspective(false) to set view as orthographic
- Fixed d3d_set_perspective() to set the correct values
- Changed sprite_add() to work like Windows and add a sprite if second parameter is 0
- Added cross-origin support for images to allow loading sprites in from other sites
- iOS
- Fixed Facebook SDK not getting unzipped when your project name had spaces in it and causing a build error
- Fixed extension linker flags not being passed on to the Xcode project
- Fixed launchscreen xib name preventing AppStore submission when deploy target is "8.0"
- Fixed IPv6 internet connection check to comply with Apple's submission guidelines
- Added 4096x4096 as an available texture page size in GGS
- Android
- Fixed a lot of the Lint analysis warnings specific to the runner, so less compiler window spam
- Fixed Google submission/security issue by upgrading libPNG to v1.4.19
- Fixed checking targets mask when adding extension contants so we don't always add everything
- Fixed building-in multiple extensions when making YYC packages
- Fixed Lint and the compiler to not always require Bluetooth pads to be enabled
- Changed to use Gradle v2.1.0 and Multidex v1.0.1 - see the Java heap size change above if you have issues
- Changed build system to make temporary drive mount using Preference for temp folder - reduces 256 character path limit issues
- Changed GGS > Android to accept letters or numbers for Build Tools version identifiers
- Added Android N support
- Added support for NDK 12 and 12b
- Added display_set_ui_visibility() to control "immersive mode" system UI
- Added support for using .aar files in extensions
- HTML5
- Fixed flash of black screen when loading - more noticable when using custom loading bar
- Fixed audio_create_stream() so it no longer crashes games
- Misc In-Game
- Fixed random_get_seed() and random_set_seed() precision to be consistent
- Fixed audio gain could be set to less than 0
- Fixed ogg sync group mixing clipping the end off sounds when gain set to 0
- Fixed/Changed lots of functions to give better memory management - more have been made into YYC versions also
- Fixed problems with DS read\write functions handling bools, pointers, in64s, etc., that we've added recently
- NOTE: the format of string returned by ds_map_write() has changed, but ds_map_read() will read an old-style formatted string
- Fixed writing of U32 variables to a buffer
- Fixed "fast collision" issues where items could end up in the tree twice and cause issues
- Fixed various issues with strings in 1757
- Fixed using pre-decrement "(--variable)" on a variable which hasn't been declared causing the game to crash
- Fixed arguments being freed before being used when passing the result of a function as an argument in YYC builds
- Fixed fast collision position_meeting() not doing precise collision checks and returning false-positive collisions
- Fixed more ways to get incorrect results in fast collision calculations, plus lots of various optimisations
- Fixed fast collision calculation checks against a specific instance to only check that one instance
- Fixed/Changed/Added YYC operators for int64
- NOTE: this resulted in lots of changes to how YYC handles variables, so test well
- Fixed DX11 render path (Xbox One, WP8, Win 8 N) where data could overrun the internal buffer if you used custom vertex formats
- Fixed a memory leak when doing draw_getpixel(0,0)
- Fixed first and last animation frame in a Spine sprite becoming confused when playing backwards
- Fixed issues with opening files sometimes failing when the filepath contains non-Latin characters
- Fixed base64 decode not working correctly
- Fixed YYC error compiling pre-increment switch statements "switch(++myvar)"
- Fixed various issues with ds_map_secure_load() and ds_map_secure_load_buffer() to stop memory leaks/overwrites
- Fixed issues with shader compilation on DX11 platforms
- Fixed a crash when you have many ogg sync groups and lots of files, also fixed a group to not play twice
- Changed math_set_epsilon(0) to actually set to (0.00000000001) so we maintain 64bit precision
- Changed return value of external_define() to -1 if the function cannot be found in the dll
- Changed rendering without any texture to use solid white, ensures shaders use white rather than platform-specific settings to choose base colour
- Changed DX11 3D model handling to increase performance by using static vertex buffers rather than the dynamic geometry path
- NOTE: Changed iOS so if an extension implements onOpenUrl you will now need to add "annotation:(id)annotation" as a new argument
- Added steam_upload_score_ext() and steam_upload_score_buffer_ext() for setting the always-update flag for leaderboards
- Added texture_get_uvs(), which returns an array of UV-related values for a texture page entry
- Added sanity check that there is an emitter for a particle system to use, now logs an error rather than crashing the game
- Added ds_map_secure_load_buffer() to allow loading secure data structures when you don't have direct download access to a remote file
Bugs fixed since 1757
- 0019005 Scripts: Adding an existing script issue
- 0019065 Mac: Mac app Splash Screen is low-resolution on compile, doesn't show on runs
- 0020026 Functions: is_undefined() does not work on HTML5
- 0020045 Extensions: ["fatal error: 'FacebookSDK/FacebookSDK.h' file not found" blocks iOS builds]
- 0020046 Add a function to copy Steam cloud files to local storage
- 0020096 Function: parameter_ functions report a duplicate set of command-line arguments
- 0020549 Image Editor: Consecutive uses of 'Open' in image editor gives access violation at address 00404F9F
- 0020026 Functions: is_undefined() does not work on HTML5
- 0019005 Scripts: Adding an existing script issue
- 0009558 3D: Scaling models/primitives also scales their normals
- 0011656 Windows (YYC): 'self' not working in quite identical fashion to windows platform
- 0015583 Win(YYC): YYC glitch - passing other/self into functions
- 0018073 HTML5: If looping sound resumes from paused state, it does not loop anymore if not marked as Compressed - Streamed
- 0018708 Functions: draw_getpixel(0,0) = instant memory leak
- 0018963 HTML5: Using !true as array index does not address position 0
- 0019083 Functions: Cancelling file dialogs gives corrupted string when using Windows (YYC)
- 0019556 Windows (YYC): Using self as a script argument causes code to fail
- 0019908 Shaders: problem with vertex_format_add_custom
- 0020214 Source Control: SCM-enabled projects load extremely slowly compared to their non-SCM-enabled equivalents
- 0020321 HTML5: switching tabs in Chrome stops audio looping
- 0020554 Spine: Loading a Spine sprite from an included file doesn't free itself from memory afterwards
- 0020571 Issues with strings in 1747
- 0020780 d3d_set_perspective(false) fails to set view as orthographic for HTML5
- 0020812 Equivalent expressions return different variable types
- 0021297 HTML5: sprite_add() does not support cross origin
- 0021357 YYC: No operators appear to be implemented for int64
- 0021695 If you decrement a variable using -- that hasn't been delclared, the runner crashes
- 0021771 md5_file() crashes on some computers
- 0021978 Android: Using multiple extensions can cause CPU and RAM usage to become too high for Java, causing gradle to abort builds
- 0022011 Windows (YYC): `repeat (1) continue;` is an infinite loop
- 0022288 Android: "Duplicate constant" on build even though there are no files with constant included
- 0022303 HTML5: Lack of Flurry analytics exception handling causes lag/hang
- 0022525 Saving: Possible to corrupt resources by running project whilst unsaved name changes
- 0022697 HTML5: Chrome draw_text performance issue (desktop only)
- 0020458 Functions: Facebook Feed dialog crashes in iOS
- 0020752 Functions: DLLs cannot be loaded when the game path contains non-latin characters
- 0021920 Compiler: unchecking bluetooth gamepads disallows Android YYC building
- 0022493 Scripts: Creating a duplicate script gives incorrect naming
- 0022504 Extensions: Google Analytics Extension causes Android builds to fail
- 0023076 Extensions: AndroidManifest.xml wrong injection
- 0023167 Android: dex options setting to javaMaxHeapSize "4g" stops compile for android on 32 bit systems
Version 1.4.1757 13/04/2016
Changes since 1749
- IDE
- Removed Android API installation check from Preferences, stops issues with Google making 7, 8 and 13 unavailable
- Fixed Steam IDE launching Steam-enabled games and this causing a crash on game startup
- Fixed Preferences to show Android tab and GGS to show Amazon tab if using a Standard licence and you have the 60-day Amazon Fire trial
Bugs fixed since 1749
- 0020944 UI: Amazon Fire when using Standard license, Android tab missing in Preferences and GGS
- 0020904 Steam: Having a steam app ID in a project and running your project within the IDE on Steam will crash the runner
Please be aware we do not advise using versions this old! We would strongly recommend you only use the final release (download link is right at the top of this page).