Source Code v.4: Upcoming deprecation of get_string.


Today I learned that the Game Maker function get_string will soon be deprecated. Some of the editors use this to get input data, and that will break them. I've rolled out an emergency patch to replace it with get_string_async to avoid having the engine break.

Mitigation steps:

  • If you're using the GMS2.2 or GMS1.4 version: You don't need to do anything, you're using an old version of Game Maker that won't get this breaking update.
  • If you haven't even started your project yet: just make sure you download the latest version of the source code.
  • If you are working on a project but never changed how the editor objects work: You could just replace the code of the world map and level editors' affected events with the fixed version. I've uploaded a Git diff file which has all the changes between the v3 and v4 versions of the codebase which should make this fairly straightforward (if you're lucky you could even apply it automatically with Git, though I'd recommend doing it by hand just in case).   I've replaced the diff file with a zip archive with all the object GML files, I realized it's probably easier to work with.
  • If you are working on a project and have done a lot of changes to the editor objects: You're pretty much on your own here, but you can use the Git diff archive of ver.4 editors source code to get an idea for how to do things: instead of doing changes immediately after triggering a dialog box, you need to do them in an Async Dialog event; you need to track which dialog you opened in order to tell what to do with the result. The easiest way to do this is to just store a string/enum ID when opening a dialog box, which is what the procure_value functions do now:


If there's any questions, feel free to ask!

Files

Source Code (GMS 2.3) (version 4) 37 MB
Feb 11, 2023
Editor objects source code (to upgrade old projects to ver.4) 25 kB
Feb 12, 2023

Get Yal's SoulsVania Engine

Buy Now$29.99 USD or more

Leave a comment

Log in with itch.io to leave a comment.