• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

What are the significant changes to GML with 2.3.1?

samspade

Member
With the advent of 2.3.1 it's time for another update to a series I had almost finished (two videos left, one I already have to redo for 2.3.1). Here's my list of the significant changes to GML in 2.3.1:
  • Arrays have a bunch of new functions
  • You can now delete variables from structs
  • structs have an accessor
  • Structs have weak references
  • Both arrays and structs have JSON compatibility through stringify and parse
  • DS maps and lists got a few new functions that allow you to check whether they are maps or lists
  • The garbage collector has a few new functions
Am I missing any? Also if anyone knows of a list of the new functions that would be helpful. The release and runtimes notes don't give one (though you can pull some of the above out of it).

(I know that sequences and animation curves got updates as well, but I would consider that more a change to GM than to GML specific.)
 

rmanthorp

GameMaker Staff
Admin
GameMaker Dev.
Wouldn't it be nice if YYG included [not just a couple of] these in the Release Notes 🙃 ..or even their blog post 2.3.1 announcement
These things should all be covered in the Runtime release notes specifically. If there are specific examples or things not being covered there, please let us know.
 

gnysek

Member
We have our ways :p As for me, I'm using Beyond Compare between beta and stable to find out what's added in manual or translations. That doesn't mean it's all, but usually it have lot of info (and thanks to it I even have some pictures of features that aren't yet added, thought YYG are not allowing to post them anywhere, I got a warn once :p ).
 

Bulletech

Member
These things should all be covered in the Runtime release notes specifically. If there are specific examples or things not being covered there, please let us know.
Thanks @rmanthorp , the Runtime Release Notes don't mention:
  • Arrays have a bunch of new functions [BTS Note:] e.g. array_push(), array_pop(), array_delete()...
  • You can now delete variables from structs [BTS Note:] i.e. variable_struct_remove( )
  • structs have an accessor
  • Structs have weak references [BTS Note:] weak references functions are mentioned as part of (below point) garbage collector new functions, but not specific for structs.
  • Both arrays and structs have JSON compatibility through stringify and parse [BTS Note:] i.e. json_parse() and json_stringify()
  • DS maps and lists got a few new functions that allow you to check whether they are maps or lists [BTS Note:] i.e. ds_map_is_list()
  • The garbage collector has a few new functions
Am I missing any? Also if anyone knows of a list of the new functions that would be helpful. The release and runtimes notes don't give one (though you can pull some of the above out of it).
A few more:
  • network_config_avoid_time_wait
  • Breaking changes to buffer_get/set_surface
  • skeleton_animation_get_event_frames
  • animcurve_get_channel_index
  • Layer sequence angle/scale functions
Can you please clarify why these new releases of functions for 2.3.1 aren't mentioned in the release notes? If these are intentionally omitted can you please clarify what then would be the best way to find out about new functionality as part of a new GMS version release? I have read other users' comments on this being an ongoing concern through many GMS releases :/
 

bacteriaman

Member
@samspade, for some weird reason searching for "json_stringify" in the online manual returns zero results. However, I was able to find it by simply searching for "json".
 
Top