GameMaker: Studio

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

Version 1.4.1749 24/02/2016


Changes since 1711

  • IDE
    • Fixed importing of pre-Studio GM files
    • Fixed GGS buttons for previewing texture pages
    • Fixed a memory management issue which caused some projects with lots of sprites to take longer or even fail to load
    • Changed the name of the Android module to "Android / Fire" to clarify that the Android module works fine on Amazon Fire devices
    • Changed open project dialogue so it now defaults to your home folder as set in Preferences, rather than My Computer
    • Changed import project dialogue so it now defaults to My Documents, rather than My Computer
    • Changed open and import file browsers to disable the right-click context menu unless clicking on GM project files
    • Added GGS warning when adding Amazon and Google extensions into the same config - you should use two seperate configs
    • Added GGS and compiler support for iOS 167x167 icon used by iPad Pro devices
    • 1749: Fixed code actions saving incorrectly if it is open at the same time as you cut/paste other actions in that event
  • Android
    • Fixed get_login_async() crashing apps
    • Fixed crash on startup if using an Android 6.0 device (Create Exe)
    • Fixed writing the apk expansion zip file to the correct folder
    • Added support for the runner to ask your permission for access to the phone so it will launch correctly on Android 6.0 devices
    • Note: These permission dialogues are for the runner only, so only you the developer will see them
    • Added "multidex" support when creating packages, allows methods larger than 64k
    • Changed gradle to not assume an extension is dependant on all extensions above it in the tree
    • Note: Fixes when extensions might not work properly because added in the wrong order, e.g. PlayAPKExpansion
    • Note: You will need to specify all dependencies when writing your own extensions now
  • Misc In-Game
    • Fixed Steam overlay on Mac packages
    • Fixed steam_user_installed_dlc(), steam_stat_get_int(), steam_ugc_create_item(), and steam_ugc_download() to give correct return values
    • Fixed memory leaks in writing to ini files and using network operations
    • Added a workaround to HTML5 for occasional audio initialisation bug in iOS on first play of an mp3
    • 1749: Fixed checking if parent/child exists in the same step as activating the parent/child
    • 1749: YYC executables now give a stack trace when an error occurs

Bugs fixed since 1711

  • 0019921 Android: get_login_async() stops the app
  • 0020157 General: GMK [incorrectly] considered corrupt [when importing]
  • 0020004 Android: Android 65K Reference Limit [com.android.dex.DexIndexOverflowException]
  • 0020043 Global Game Settings: Generating Texture Pages fails for all targets
  • 0020163 UI: Presence of a macros disrupts enum syntax highlighting
  • 0020261 iOS: Xcode fails to [submit package to store because] expecting 167x167 icon for iPad Pro
  • 0020284 Objects: activation exhibits synchronization problems in a few areas

Version 1.4.1711 27/01/2016


Changes since 1.4.1690

  • IDE
    • Fixed IDE not wanting to close down because clean-up thread not finished yet
    • Fixed script window handles remaining in memory and causing other issues when you've closed the script via the green tick
    • Note: This should also stop issues with code files overwriting each other
    • Note: It also stops the IDE lag seen in the last couple of beta releases
    • Fixed a method of getting access violations when closing multiple windows too rapidly
    • Fixed multiple issues with renaming resources causing saving issues (missing in-game, parent info lost)
    • Fixed asset loses parenting if the parent is not already above it in the resource tree when both are imported
    • Fixed moving a tabbed script whilst renaming it will rename the wrong tab
    • Fixed creating "duplicate" events by cancelling a Change Event confirmation dialogue
    • Fixed gml extension scripts being truncated to just the one tab when you change a tab's contents
    • Fixed issues with reordering configs in Config Manager causing the configs to become corrupted
    • Note: We also removed the Cancel button and "save your changes" prompt on close, as changes have always been written immediately
    • Fixed "Use for 3D" checkbox marking a sprite as changed each time you viewed its properties
    • Fixed issues with several git source control commands not working as expected
    • Fixed GGS texture preview button failing if your temp folder path has a space in it
    • Fixed free Android testing not working for some Pro license holders
    • Changed Win8/WP8/PS4/Xbox One YYC platforms to use the Visual Studio path you provide in Preferences > Windows
    • Note: Means you can more easily control which version of VS is used - WP8 needs VS2012, for example
  • Debugger
    • Fixed some crash issues with watches and breakpoints (see bugs fixed below)
  • Compiler
    • Fixed asset compiler crash when image+border > texture page size. You'll get a compiler warning instead.
    • Fixed is_bool() not being found
    • Fixed some YYC-specific issues (see bugs fixed below)
    • Removed os_amazon, as notified in the release notes for 1690
  • Mac OS X
    • Fixed game crash occasionally seen on El Capitan OS X installs when quitting/restarting the game
    • Fixed game crash on startup if the user has selected OS X option to autohide menubar
    • Added codesigning support to NON Mac AppStore builds (AppStore ones are signed by Xcode when submitting) to fix "damaged" message
    • Added a new GGS field for supplying the certificate to sign with
  • Android
    • Fixed build.gradle expecting a version of the Support Library which matched Build Tools's version number
    • Note: If you use our Facebook extension, please see 0020039
    • Fixed multiple issues for wifi Settings button so that if connections need to be edited, this is applied safely and correctly
    • Fixed Android depth buffer not being set correctly in 3D apps
    • Fixed GGS OUYA packaging options being hidden by other UI elements
    • Fixed Google IAPs and other licensing issues because the key wasn't written out unless project uses Google Play Services ext
    • Fixed crash when using get_login_async()
    • Added the PC's IP address and Web Server port into the build manifest so wifi runner connections know where to connect to
    • Added a GGS field for supplying the version of the Support Library you want to use
    • Changed GGS default for new projects to "23.0.2" for Build Tools and "23.1.1" for Support Library
  • Steamworks
    • Store games crashing in current Steam beta is due to games not using the 1.33a SDK version we advised to use
    • If you know this applies to you, please update your game(s) asap!
    • Changed to v1.35a so we match Steam's changes in their beta client branch
    • Note: You will need to install this version also
    • Also changed the initialisation of functions to a more flexible system which better supports using the wrong SDK version
    • Fixed crash of game when being shut down by Steam in order to restart from steam client
    • Fixed F_SteamUGC_GetSubscribedItems giving the wrong return value
  • Misc In-game
    • Fixed string concatenation issue in 1690 requiring string() to be wrapped around some string variables
    • Fixed issues comparing "variable == undefined" on YYC platforms
    • Fixed issues with variables becoming undefined if overwriting itself on YYC platforms
    • Fixed multiple issues with a few networking initialisation functions - see bug list below
    • Fixed crashes when adding an int64 into a DS map, e.g. calling when steam_ugc_create_item()
    • Fixed memory leak calling ini_close()
    • Fixed file_delete() so it works with non-English characters in the project folder name
    • Fixed HTML5 audio file loading delays on iOS when using custom loading bar
    • Note: Custom bars now run the same setup code as built-in, so if you have issues with custom bars, send a sample
    • Changed so persistent objects' alarms will still fire if a room change has been triggered by a different object in that step
    • Changed pixel shaders which fail to compile will no longer show code errors on startup - use shader_is_compiled()!
    • Changed YYC code error messages when invalid operator comparison is found so now prints values of the compared variables

Bugs fixed since 1690

  • 0019890 Windows 8 JS: Using either "game_display_name" or "game_project_name" constants will crash your game
  • 0019907 Functions: get_integer_async() does not return an id, instead "undefined"
  • 0019919 Saving: Sprite editor closing problems (Used for 3D)
  • 0019930 Networking: http_post_string introduces random characters to data at 131kb
  • 0019058 Variables: Variable differs in value depending on how you access it [on YYC platforms]
  • 0018941 Windows (YYC): Bit shift bug
  • 0018489 Android: Polygons missing in [3D] model
  • 0018923 Networking: network_connect's async_load map is missing "id", has "socket" instead
  • 0019914 UI: Getting "Cannot have more than 64 windows open" error when [a much smaller number of] windows open
  • 0019960 UI: Interface lags terribly since latest update
  • 0019991 Saving: Scripts not correctly closing
  • 0018923 Networking: network_connect's async_load map is missing "id", has "socket" instead
  • 0018681 Networking: network_create_socket_ext() always returns successful
  • 0018938 Networking: network_connect_raw() always returns 0
  • 0019210 Networking: network_connect_raw returns >0 when it cannot resolve the address
  • 0019967 General: Access violation when close created resources en mass
  • 0019936 Events: Breaking out of alarm event loses other simultaneously set alarms...?
  • 0019861 Shaders: Machine with old gpu is [giving runner code error about shader not compiling, when this should be ignored]
  • 0019935 Saving: Changing the order of configs makes them all rewrite their paths based on old list order
  • 0018393 Image Editor: Trim control opens window for "cropping". Window title should be changed
  • 0019989 Variables: Extra string() now required around some strings, otherwise string can't be appended-to
  • 0019979 Windows YYC: undefined is not equal to undefined
  • 0020012 Source Control: Built-in git.scmconfig.xml contains numerous errors
  • 0019988 Functions: Memory Leak [when reading in from a text file in a Draw event]
  • 0020039 Android: Projects can't build if Build Tools and Support Library are different version numbers
  • 0018262 GGS: Texture Pages Preview does nothing [if there is a whitespace in windows username]
  • 0019862 Amazon Fire: App crashes when selecting settings button for runner web server connection
  • 0019958 Saving: Changing an event and cancelling the dialogue creates another event without changing the original
  • 0019929 Saving: Renamed assets do not get updated in project properly
  • 0020010 Saving: Renaming a parent results in child not inheriting from the parent
  • 0019970 Saving: Asset loses parenting if the parent is not [above it] in the resource tree [when both are imported]
  • 0019959 Saving: Moving a tabbed script whilst renaming it will rename the position of the script rather than the actual script
  • 0018216 Extensions: Right-click => Open in Editor truncates GML files to only the first defined function
  • 0019923 HTML5: Excluded resource causing black screen on compiles
  • 0020051 Functions: ds_list_sort has changed the sort outcome
  • 0020052 Variables: Comparing a variable that is a number to a string will crash the runner
  • 0020020 Debugger: Gamemaker Debug Crashes when Paused, or Realtime Update enabled
  • 0020058 Debugger: Runner crashes when your project has a breakpoint in it
  • 0019921 Android: get_login_async() stops the app
  • 0019702 General: IDE refuses to shutdown when the close button is clicked
  • 0020071 Functions: file_delete() stops working within a larger project
  • 0020019 Variables: Windows YYC Builds "Forgets" Variables
  • 0019621 Functions: nonarray[@index] [reads/writes using accessors] do not throw errors
  • 0019842 Android: [Free] testing (when not owning the Android module) seems broken
  • 0020090 Steam: Steam beta client causes all games to crash on startup
  • 0018182 Steam: [Checking for bought DLC] doesn't work for Linux [using Steamworks v1.33b]
  • 0020112 Saving: Creating a new sprite via object form doesn't save sprite details to the object's gmx

Version 1.4.1690 10/12/2015


Changes since 1683

  • IDE
    • Changed the saving system for all code/script windows to stop issues with code replacing and duplication in the wrong place
    • Added multiple fixes to stop cascading AV occasionally seen on closing a script form/the IDE
    • Added even more fixes to avoid the IDE not wanting to close
    • Made GGS > Windows > "sleep time" default to 1, not 10, to reduce in-game CPU usage
  • Compiler
    • Fix for generated Xcode project failing to build if iOS project name starts with a digit - now converts digits to _
    • Cleaned up some unnecessary commands being run on the Mac when building for iOS
    • Fix for making a Ubuntu .zip when the project has spaces in the name
  • Debugger
    • Fixed crash when using var = !var
    • Fixed breakpoints for scripts not working in recent releases
  • Misc In-Game
    • Fix for network_send_udp_raw() crashing your game in 1683
    • Fix so gamepad discovery events now fire on game_restart() and when resuming from Amazon system menus
    • Added os_amazon

Bugs fixed since 1683

  • 0019858 Functions: network_send_udp_raw crashes the runner
  • 0019843 Windows YYC: Cannot simply assign one cell of an array to another...?
  • 0019855 Debugger: Crash when using var = !var
  • 0019700 Rooms: AV when you choose to not save Object Creation Code changes within a Room using the close button
  • 0019701 Rooms: Objects become invisible in rooms when you choose to cancel the room saving dialog ignoring object creation code changes
  • 0019703 Rooms: AV when you choose to not save Room Creation Code changes within a Room using the close button
  • 0019704 Rooms: Objects become invisible in rooms when you choose to cancel the room saving dialog ignoring room creation code changes
  • 0019695 Extensions: Using In App Purchases [the Google Play Services extension] needs the billing permission
  • 0019516 Functions: ds_list_find_index fails if the value looking for is a ds_map
  • 0019851 Amazon Fire: Gamepads detected via system event stop working after system button pressed
  • 0019878 Debugger: Breakpoints within the IDE aren't being recognised by the debugger when in SCRIPTS
  • 0019697 Saving: GameMaker replaces code in one event with code from another event
  • 0019889 Amazon Fire: There is no os_type return for an Amazon Fire device

Version 1.4.1683 03/12/2015


Changes since 1675

  • IDE
    • Fixed another method of the IDE not wanting to close down because it is trying to finish off writing to disk
    • "clear all breakpoints" now clears breakpoints in room creation code and timelines
    • GGS > Windows default vertex buffer method is now "Compatible", not "Fast"
    • This is also forcibly applied to all projects (once), so you will need to change manually if you don't want Compatible
    • Note: We already added support to toggle this optimisation level in-game, so see Misc In-Game for 1675 to get function names and details
    • Default time for tooptips (for a fresh install) is now 4 seconds, not 300ms
  • Debugger
    • Fixed a crash if you have set a breakpoint in Timeline or Room Creation Code
  • Android
    • Fixed run issue where game crashes on start-up, but Create Exe works fine
    • Fixed run issue on Lollipop/Marshmallow where "Always do full install of APK" might give errors because folders aren't created properly
    • Fixed YYC clean not removing cache directory properly
    • Fixed issue with bools not being passed to extensions correctly, always being 0
    • Runner now uses relative layouts in order to maintain compatbility with current versions of Android OS - fixes multiple Lint warnings also
  • iOS
    • Runs now obey your Xcode-select setting if you have multiple Xcodes installed, the same as Create Exe added in 1675
    • Removed a text-drawing optimisation which caused some font issues on iPad2s specifically
  • Misc In-Game
    • Fixed Windows in-game mouse lag/stuttering introduced in EA460
    • Fixed Draw Score DND action showing an incorrect value
    • Fixed draw_sprite_stretched_ext()
    • Fixed a YYC platforms memory leak when concatenating strings
    • Fixed dot_product() applying arguments in wrong order and giving incorrect result since EA460
    • Fixed an issue with high volumes of network traffic causing packet corruption
    • Added checking for XInput 1.4 on Win 10 machines if Xinput 1.3 can't be found, fixes gamepads not working for some users
    • Added is_bool()

Bugs fixed since 1675

  • 0013252 WP8: winphone_license_trial_version() returns false when running Trial version of the app
  • 0013491 iOS: Text not working correctly on iPad 2
  • 0018882 UI: the option "clear all breakpoints" doesn't clear breakpoints in room creation code [or timelines]
  • 0018908 Android: Audio create stream problem
  • 0019482 Input: There's some timing issue with the mouse
  • 0019612 Debugger: Crash [if you have set a breakpoint in Timeline or Room Creation Code]
  • 0019640 Android: Large number of projects fail to run on Android in the latest version
  • 0018855 Suggestion: UI: Set the default timeout for the tooltip as [4000]ms
  • 0019800 Networking: Game Breaking, Client recieves random packets with junk data
  • 0019818 Functions: dot_product() has had arguments applied incorrectly since EA460
  • 0019516 Functions: ds_list_find_index fails if the value looking for is a ds_map
  • 0019620 Sprites: "Use For 3d" [texture page] is broken [for sprites with multiple frames]

Version 1.4.1675 19/11/2015


Changes since 1657

  • IDE
    • Reshuffled the targets list to put YYC next to VM versions and order a bit better according to usage, plus add in the new modules (see below)
    • Several fixes to stop the IDE getting stuck trying to shut down
    • Fix for access violations and "Cannot focus a disabled window" message most often seen during a project load dialogue
    • NOTE: this removed hotkey support for the Targets, Configuration, and Knowledge Base fields (Alt+K/C/T)
    • Fix for access violations and "Cannot focus a disabled window" message most often seen when multiple IDEs open
    • Fix for room editor defaulting to Tiles rather than Settings in 1657
    • Fixed issue with SCM spawning terminals for every command - now only when using Git and for Clone, Push and Pull specifically
    • New Preference in the Android section to specify an IP address for ADB to connect to each run/build instead of using USB
    • Enums now have code completion and syntax colouring - they look the same as macros
    • Warning message added on saving files when your system clock has gone back in time since the last save time (time zones/daylight saving, etc.)
    • Very short delay added on opening an object form before you can interact with it - stops accidentally changing object on double-clicking to open
    • Made obsolete the functions/constants for OpenFient, PocketChange and PlayHaven
    • Fix for shaders saving incorrectly and one part overwriting the other
    • Fix for news feed not appearing when creating a new project on the Welcome screen
    • Fixes for importing audio and .zip files from Marketplace assets
    • Fix for AV on trying to close and save changes to a timeline when you've just deleted a moment
    • Renaming an object will close any currently-open event code windows so you can't open duplicate code windows following the rename
    • Fix for action list becoming corrupted when cutting and pasting events into actions & vice versa
    • Fix for importing a resource with the same name as another already in a project will silently overwrite
  • Compiler
    • Fix for line numbers reported being out by one
    • Fix for the cropping flag on texture groups being reversed in EA465
    • Several fixes for making Mac OSX builds when using Xcode 7
    • Fix for Linux and Mac OSX YYC Missing _YYGML.h header error
    • Spine skeletons can have their animations set to null in order to reset to default
    • Runner Extensions Clean-Out
      • Extensions previously built-in to the runner on Android and iOS have all been removed - you now control which ones you want re-added
      • Will download the extension from the Marketplace if not already local, then you can import as required
      • Allowed us to update them all and better maintain going forward, plus reduce game package size and build times
  • Windows
    • New GGS setting added to allow overriding loading all texture pages on game start-up
    • New GGS setting added to select the vertex buffer management method using by the standard drawing path ("Compatible" is Studio up to now)
    • New GGS setting added to allow the use of manual vsyncing, which might result in more consistent performance
    • More accurate sleep function used on Windows to avoid juddering in-game
    • New GGS setting added to control the sleep margin and avoid seeing higher reported CPU usage
    • Fix for modifying argument values in a script occasionally causing garbage to be returned on YYC
  • Mac OSX
    • Changed to a new sound engine which should be more reliable - fixes issue with initial part of sounds being missing
    • Removed accidental forced team ID C9E7J7HL3D for certificate used when building
  • Android
    • Changed the package build toolchain to use gradle, as Google are removing the tools we used up to now
    • NOTE: needs the Android Support Repository installed in Android SDK Manager's "extras", plus latest build/platform tools. We are updating our FAQs
    • You will now also get a Lint compiler report of any issues/suggestions the Android tools found during your build
    • NOTE: we are aware that some of the warnings reference runner-side issues. These will be fixed in due course
    • Runner builds now use your game's own keystore and GGS details (but append "as YoYo Runner" to name so you can tell which is which), so ads/IAPs, etc., will now work
    • Lots more configuration added to GGS > Android so you can control min/target API, build tools version to use, etc.
    • Cache build information and reuse it if simply changing device or dropping a architecture and building again
    • Removed some compiler optimisation flags to prevent crashes on Android 5.0.1
    • Device sleeps more often when not busy on Android to reduce power usage
    • NOTE: IAP support is now controlled by the presence of the Google/Amazon extension, not GGS. Also has different function names required
    • NOTE: Android TV is not supported by packages made in the Android target
  • iOS
    • Removed GGS provisioning profile selector, as for quite a while Xcode has picked this for you anyway
    • Support for Xcode 7+ and iOS 9+ - including a change to match the new name for Simulator
    • Fix for crash in iOS 64 bit with some buffer calls
    • Fix for argument_count in YYC
    • Fix for some newer developer certificates not appearing in the GGS provisioning drop-down list
    • Submission fix for ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch story board in bundle"
    • Fixes for Tests not running on iOS (especially with Xcode 7) - note that you may still have occasional deploy/run issues with Tests
    • Added device_ios_iphone6s and device_ios_iphone6splus
    • Stopped multiple compilations of your project when running on iOS and removed a lot of the console output
    • Made Create Exe just compile the archive and then open Xcode Organizer, so you can submit/make ipa as you wish
    • Because of the above change, there is now no copying back the archive to the PC, so no prompt for filename with Create Exe anymore
    • Also added Preference to make your Xcode projects and put them on the Mac, but not build, allowing you to build/run/edit as you wish
    • Made Run not use the webserver, as it has its data file already, so that installs a build on your devices that you can run
    • Added a selection of simulators to the device/Simulator selector in File > Preferences > iOS, so now you can pick which simulator to launch
    • A cache clean is now always performed on the next run/build when moving between YYC/Non-YYC
  • HTML5
    • Fix for audio not playing on iOS 9. You now need a mouse released event to fire before you attempt to play audio, not a mouse pressed
    • Fix for submitting untextured vertices with frozen vertex buffers
    • Fix for WebGL draw_point() and draw_rectangle() drawing at x-1,y-1
    • Fix for audio queue buffer ID being returned as -1 rather than the ID of the buffer
  • Universal Windows Platform ("UWP") beta - new module!
    • Unlocked now for Master Collection users, so if you have Master use Help > Update License or manage your YoYo Account to get the new target
    • Windows 10 desktop support only at the moment (you need to be running Windows 10 and have Visual Studio 2015 also)
  • Misc In-Game
    • Fix for random number generator - if your existing game uses seeds, you will likely want to call random_use_old_version() on game start
    • Performance increase for all variable-handling, but especially strings
    • More efficient garbage collection on all platforms
    • Dynamic geometry path now uses a single vertex buffer for all geometry (regardless of format) rather than multiple buffers - much more performance for SWFs
    • If calling draw_skeleton from an instance that has a skeleton already we now just use that
    • Fix for vertex buffer pointer not being reset
    • Fix for window appearing when -headless is on since we added splash screens on Windows again
    • Fix for -noaudio command-line switch not working
    • Fix for way of getting stuck in an infinite loop while checking an mp_grid path
    • Fixes for persistent objects/rooms occasionally losing some of their variables
    • Fix for url_open() on Windows converting // to / in some browsers and when not English language OS
    • Fix for median() so it works as intended
    • Fix for crash calling skeleton_bone_state_get() on root bone
    • Fixed phy_joint_max_length(), phy_joint_length_1/2, phy_joint_translation() & phy_joint_anchor_x_x to scale according to PixelToMetre scale
    • Fix for some potential issues with Steam whitelisting with UTF8 directories with file_exists() on Mac and Ubuntu
    • Fix for UTF8 directory names for save areas on Ubuntu (additional to the above fix)
    • Added alarm_set() and alarm_get()
    • Added display_set_windows_vertex_buffer_method(method), where method is 'vbm_fast', 'vbm_compatible' or 'vbm_most_compatible' as described above
    • Added display_set_windows_alternate_sync(true/false)
    • Added display_get_windows_vertex_buffer_method()
    • Added display_get_windows_alternate_sync()
    • Added path_get_time(ind, speed) function
    • Added random_use_old_version() function, as mentioned above

Bugs fixed since 1657

  • 0019084 UI: Accidental adding of D&D items on double-clicking obj [when object opens over the resource tree]
  • 0019066 Functions: "Could not locate finalization function" error on game_restart()
  • 0019068 Android: Android Export building for not selected architectures
  • 0018940 Objects: Renaming an object [via its properties window] makes it not exist anymore
  • 0019055 Spine: After cleaning cache sprites of spine displayed incorrectly
  • 0019053 Debugger: Debugger [itself] has huge memory leak
  • 0018987 Marketplace: Published marketplace project [audio files import] error
  • 0017629 Marketplace: *.zip wont upload on marketplace as "included files"
  • 0019062 HTML5: Cannot run HTML5 - blank screen, Javascript error in a system (?) function
  • 0019121 Openfeint constants/functions back in code complete
  • 0019118 ugc functions have a mix or camelcase and underscore typing, plus typo with "visiblity"
  • 0019133 Functions: Pocketchange and PlayHaven functions still appear in code-completion, yet aren't valid as of EA460
  • 0015750 Saving: Vertex shader sometimes gets overwritten by fragment shader
  • 0019050 GGS: White text on white drop menus for UWP and Amazon Fire texture page size dropdowns
  • 0019094 UI: [News feed window does not get created if you create a new project on Welcome screen]
  • 0019064 iOS: Submission through iTunes Connect or Application Loader fails
  • 0018947 Mac: Code-signing choosing non-existent code-signing identity
  • 0019148 Saving: Trying to close timeline properties after deleting a moment can result in AV and unable to save changes
  • 0019176 Windows Phone 8 (YYC): Game crashes on start-up after splash screen
  • 0019079 Functions: Accented characters cause issues with specific functions
  • 0019229 GGS: Can't enable the Amazon API checkbox if the extension is inside My Library
  • 0017041 Android: Can not run for Android [even though apk works - "sending message to a Handler on a dead thread" error]
  • 0019230 GGS: Disabling the Orientation checkboxes doesn't disable that orientation on Amazon Fire
  • 0018948 GGS: Huge Memory Leak [on each open]
  • 0018503 Windows: url_open('http://www.google.nl' [^]); wrong url sent to browser, double slash becomes single slash
  • 0018850 Functions: Reading an EOF from buffer as a string yields -3
  • 0018696 Spine: draw_skeleton functions don't render attachments
  • 0018932 Spine: accessing root using skeleton_state_get_bone creats freeze or crash
  • 0017673 Physics: physics_joint_get_value returning incorrect values for rope joint
  • 0018457 HTML5: vertex_submit texture parameter crash
  • 0018401 Functions: Memleak when comparing string with undefined
  • 0018425 Particles: part_type_destroy causing [game to] crash
  • 0018945 Win(YYC): Certain "nested" functions behave oddly
  • 0018308 Win(YYC): Project crashes in Windows YYC doesn't crash in Windows. Disabling steam delays the crash
  • 0018903 iOS: string(argument_count) fails in YYC when using JSOnion
  • 0019009 Networking: crash inside network_send_udp()
  • 0019020 Opening new Rooms has the tiles tab open by default (should be settings tab)
  • 0018956 Suggestion: Source Control: Allow batch files (*.bat) to be selected as the SCM executable
  • 0019022 Windows: [show_error() on game startup will cause a runner crash when clicking Abort][crash part]
  • 0018753 Windows: Game crashes on close when using game_end()
  • 0019269 Android: http_request() ignores the method argument and always uses POST
  • 0019268 Android: HTTP response headers are always missing on Android with http_request()
  • 0016795 Debugger: new debugger crashes
  • 0019340 Events: Renaming an object allows you to open more than one instance of the same event
  • 0019374 Extensions: Importing a resource with the same name as another in a project causes unwanted overwriting
  • 0019517 GGS - Windows Phone ID_CAP_MICROPHONE switches itself back on

Version 1.4.1657 15/09/2015


Changes since 1629

  • IDE
    • Fix for dragging DND/multi-selecting code actions to reorder them also corrupting the contents
    • Fix for corruption of audio source file paths on exporting .gmz
    • Also, audio source files are now also saved into the project folder immediately after adding to the sound resource
    • Fix for script errors you were warned about on opening the project being forgotten about after saving, not stopping builds
    • Fix for delay adding font ranges with very large number of characters
    • Fix for closing rooms leading to GM doing a large amount of work if room contained tiles, could cause IDE to become unresponsive
    • Fix for flipped objects unflipping when repositioning inside the room editor
    • Fix for processing sprite and background assets too many times on project load, reduces load time
    • Timeline code changes trigger the save flag immediately, so changes will be built/saved correctly whilst the code window is open
    • Fix for undoing code changes occasionally undoing wrong line or leaving cursor in wrong location
    • Extra explanation text added to YoYo Account log-ins for when using the new "2-step via authenticator app" method on account.yoyogames.com
    • Fixed Game Information to preserve .rtf formatting
    • Re-enabled the ability to change the origin of a Spine sprite inside the sprite properties window
    • Whitespace at the end of scripts now standardised
    • NOTE: you may see a lot of modified files next time you check in, as files are fixed. Should be one time only.
  • Compiler
    • Fixes for building Windows 8 YYC builds on Windows 10 machines
    • Fixed issue with case-sensitive Macs when building for OS X or iOS
    • Fixed issue with iOS Simulator run/build if you didn't have grep installed on your PC
    • Fixed issue with Windows YYC NSIS-type exe shortcuts when project name has a space in it
  • Misc In-Game
    • We have reverted the fix to floor() values passed in to place_meeting()/position_meeting(), etc. Going back to round() as per pre-1.4.1514.
    • Mouse Enter no longer relies on Mouse Leave to "complete" the event, so objects' Enter events now fire properly each time
    • Room persistence check added when changing rooms to stop "draw event before create event" issues
    • Fix for Windows 8 YYC not getting correct interpolation and scaling settings from GGS
    • Win 8 N and Win 8 YYC now return debug info to the compiler window log the same as many other platforms do
    • Fix for image_index differing in JS platforms and the Animation End event then not working
    • Fixes for game_save() making its required files/folders correctly and writing all variables
    • Fix for audio_group_gain() only working on sounds which are playing or have played already - now affects all sounds in group
    • Fix for game_restart() incorrectly ignoring that interpolation is set to off in GGS

Bugs fixed since 1629

  • 0016548 Compiler: Possible to build a game despite code errors such as obsolete functions
  • 0018614 Fonts: Selecting a font range which is in the ten thousands crashes GameMaker
  • 0018672 Saving: Ability to overwrite code blocks when changing the action order
  • 0017799 UI: Ide always hangs [and sometimes doesn't recover] with a large project
  • 0018695 Physics: "physics_particle_group_end" now causes compiler error for missing arguments
  • 0018714 GGS: Steam: if you clear the field "steam ID" you can't re-open GGS
  • 0018685 Mac OSX (YYC): Case sensitivity issue [when building Create Exe "/XCode/Archives: No such file or directory"]
  • 0018779 Variables: int64 cann't use bit operation
  • 0018740 Events: 'mouse enter' only triggers once if there is no 'mouse leave'
  • 0018786 HTML5: Animation End event not triggering
  • 0018675 UI: Timeline code is not being updated until you close the dialog
  • 0018684 Rooms: Access Violation when you shift click an object in the room editor
  • 0018811 Rooms: Moving objects unflips objects in room editor
  • 0018858 Suggestion: General: The dates for each update are not displayed in the release notes
  • 0018862 Functions: game_save is currently not working when using an underscore
  • 0018863 Functions: file_text_open_append() and file_text_open_read() add broken debug text into the compiler log window
  • 0018856 Functions: ds_grid_copy, using a source grid that uses a defined width, but 0 height, doesn't carry the width over to the copy
  • 0018833 Audio: Audio groups set gain not holding its setting
  • 0018719 UI: Cursor doesn't respect the behaviour chosen [in the code editor when undoing grouped changes]
  • 0015924 General: Unexpected Behaviour when using collision_point/position_meeting on precise/imprecise collision masks [reopened]
  • 0018892 Rooms: Using mouse wheel on the drop down menu for tile layer moves the drop down menu
  • 0017821 Functions: game_restart() enables interpolation [overriding the GGS setting]
  • 0018905 Compiler: [Asset compiler error because boundary of custom sprite mask exceeds boundaries of bounding box]
  • 0017724 Windows (YYC): [NSIS installer] Desktop shortcut [and installer launch path] wrong when spaces in project name
  • 0018899 Account: Two-step authentication: Re-send email button [redundant] when using authentication app
  • 0018913 UI: "Cannot focus a disabled or invisible window" error prompt when restoring focus to GM:S's file loading progress bar
  • 0017277 Source Control: Opening and closing a Script [can add a blank line at the end, meaning needless SCM hassle]

Please be aware we do not recommend using any versions older than this. If you feel you need to stay on an older version, then please report a Helpdesk ticket saying why, and we will look into this. Thank you.

GameMaker: Studio Early Access

Version 1.99.525 08/12/2016

Please read the release notes carefully!

PLEASE NOTE: First, backup any project you use, as they may NOT be backward compatible!


Changes Since 1.4.1763

  • IDE
    • 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 setting extension platforms to export to into the top level of the extension, not each file
    • Updated Spine version to v3.4.0.2 - also added new "Animation Event" object event and several new functions
    • 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 support for objects using Spine to use Collision events (needs bounding box added in Spine)
    • 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
  • Mac
    • 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
  • HTML5
    • Updated Facebook version to 2.8
    • Fix for view restoration on a surface change writing the wrong view into the room view array
  • UWP
    • 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
  • Misc In-Game
    • Fixed Ubuntu packages putting steamworks .dll in wrong place
    • Fixed Windows splash screens not showing when GGS setting is enabled
    • 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 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
    • 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
    • Added several new array manipulation and buffer checking functions
    • 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 buffer_set_surface() support on DX11 platforms
    • 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 more error-checking into vertex buffer support, error messages shown when appropriate
    • 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 1.4.1763

  • 0011617 Background: When a large background is scaled down to fit a texture page, it is not always scaled back up
  • 0013876 Saving: Object overwritten [by creating a new object with the original name of a recently-renamed one]
  • 0015982 Functions: Memory leak in font_delete and font_add
  • 0016073 Functions: Imprecise draw_arrow()
  • 0018444 Suggestion: Shaders: Shader Callback to return the current shader
  • 0018480 Input Devices: Gamepad Deadzone is inaccurate at higher values
  • 0019082 UWP: window_set_cursor and window_get_cursor don't do anything at current
  • 0019905 3D: d3d_model with custom texture crash
  • 0020575 Events: Importing objects changes the Collision Event to be colliding with the wrong object
  • 0021160 Shaders: "YoYo Shader Marker" needs a newline at end, actual code gets attached to the same line in .shader file
  • 0021622 Functions: skeleton_bone_state_set() causes a memory leak
  • 0022408 Spine: When Spine instance is set colour by image_blend on Android, the colour 'r' value and 'b' value are switched
  • 0022422 Functions: putting "-1" in for subimage in physics_particle_draw command crashes the runner
  • 0022433 Functions: Runner will crash when both "blendindices" and "blendweight" are specified in the vertex_format and buffer
  • 0022507 Functions: Runner Crash on "vertex_format_delete"
  • 0022568 HTML5: vertex_get_buffer_size() and vertex_get_number() hang game
  • 0023089 Functions: Virtual keys are causing [code errrors] on YYC platforms
  • 0023140 UWP: No way to set your application to be full screen through either GGS or Alt + Enter
  • 0023281 Extensions: Problem with passing more than 4 arguments in extensions
  • 0023696 Functions: Built-in effects are completely broken (both GML and D&D)
  • 0023720 Win(YYC): Reading variable produces different results with YoYo Compiler for Windows
  • 0023874 HTML5: device_mouse_x_to_gui() and device_mouse_x_to_gui() are broken
  • 0023977 Debugger: Debug and Audio Overlays Don't Appear Correctly When Using 'Create Textures on Demand'
  • 0023978 Preferences: Android > "Install on Create Application" doesn't retain its value
  • 0023980 Sprites: Spine 2D Attachment Issue [when skeleton/attachment is created more than once]
  • 0024077 Suggestion: Functions: Have array_create() take an optional "value" argument
  • 0024459 UI: Deleting a Group/Folder but choosing to keep an object when the Reference dialog appears doesn't work
  • 0024501 Physics: "Softbody Physics memory leak" crash
  • 0024691 Mac: display_get_width/height return window size, not display size
  • 0024728 Sprite Editor: Importing a spine which has "images/" before the attachment image fails to load
  • 0024733 Extensions: Extension GML scripts cannot be referenced
  • 0024800 Functions: device_mouse_x_to_gui() returning wrong coordinates

Version 1.99.505 25/08/2016

Changes Since EA493

  • IDE
    • Fixed issue where shutting the IDE whilst tree thumbnails were still being made could cause AVs
    • Changed the naming convention when duplicating scripts so we avoid a potential naming conflict route
    • 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
    • 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
  • HTML5
    • Fixed d3d_set_perspective() to set the correct values
  • Android
    • 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
    • Added support for using .aar files in extensions
  • UWP
    • Fixed games crashing on startup in EA493
  • Misc In-Game
    • 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
    • NOTE: Changed iOS so if an extension implements onOpenUrl you will now need to add "annotation:(id)annotation" as a new argument

Bugs Fixed Since EA493

  • 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.99.493 21/07/2016

Changes Since EA475

  • IDE
    • 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
    • Added working default Mercurial SCM config
    • Added more Visual Studio path fields to Preferences so you can fully control which VS builds which target
    • Removed GGS entries for iAds extension, as Apple no longer support
  • 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
  • HTML5
    • Fixed looping sounds not resuming after switching tabs
    • Fixed d3d_set_perspective(false) to set view as orthographic
    • Added cross-origin support for images to allow loading sprites in from other sites
    • Changed sprite_add() to work like Windows and add a sprite if second parameter is 0
  • iOS
    • Fixed launchscreen xib name preventing AppStore submission when deploy target is "8.0"
    • Added 4096x4096 as an available texture page size in GGS
  • Android
    • 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
    • Changed build system to make temporary drive mount using Preference for temp folder - reduces 256 character path limit issues
    • Changed javamaxheapsize to help compiling large projects with a lot of extensions
    • NOTE: If you're using a lot of extensions and so still see errors you will need to use the 64bit Java JDK
    • Added support for NDK 12 and 12b
    • Added display_set_ui_visibility() to control "immersive mode" system UI
  • Misc In-Game
    • Fixed issues with strings in 1747
    • Fixed using -- 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
    • 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
    • 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

Bugs Fixed Since EA475

  • 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)

Version 1.99.475 28/04/2016


Changes Since 1.4.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
    • 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
  • 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
    • 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)
  • 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
    • Added GGS checkbox for enabling Retina support in-game - off by default
    • Changed to not sign packages when not building for the AppStore by allowing a blank signing identity
  • 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
  • Android
    • Fixed Preferences "Check SDK" button to not look for APIs 7 and 8, as Google now block and we don't use anyway
    • Fixed a lot of the Lint analysis warnings specific to the runner, so less compiler window spam
    • Added Android N support
    • Changed GGS > Android to accept letters or numbers for Build Tools version identifiers
  • HTML5
    • Fixed flash of black screen when loading - more noticable when using custom loading bar
    • audio_create_stream 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
    • Changed math_set_epsilon(0) to actually set to (0.00000000001) so we maintain 64bit precision
    • 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 1.4.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