UnderminersTeam / UndertaleModTool

The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)
GNU General Public License v3.0
1.19k stars 233 forks source link

Add (most) save/load support for GameMaker 2024.6 #1827

Closed colinator27 closed 4 months ago

colinator27 commented 4 months ago

Description

Adds save/load support for new structures introduced in 2024.6, including text items in rooms, an additional field in sound assets, and collision masks in sprites that now depend on bounding box size instead of width/height.

Caveats

This does not account for some of the variable changes that came in earlier releases, so 2024.6 games may still fail to load until changes are merged from the upcoming Underanalyzer branch.

colinator27 commented 4 months ago

Forgot to mention, I tested this on a bunch of pre-2024.6 games to ensure no regressions, and I tested each 2024.6 detection mechanism individually to make sure they work as intended.

github-actions[bot] commented 4 months ago

Download the artifacts for this pull request here:

GUI:

CLI:

colinator27 commented 4 months ago

Everything seems good besides what Miepee has commented on. GUI support would be nice but it's not a priority to 0.5.2.0 like successful deserialization.

Do also note that most 2024.6 games still won't load, even with this, due to changes in the reference chains (where push.i instructions can now contain variable references). The underanalyzer branch has the fix for that.