UndertaleModTool v0.8.1.0
This is the 0.8.1.0 UndertaleModTool release, for 64-bit Windows. Downloads can be found at the bottom of this release.
("UTMT_CLI" is the command-line interface version with no GUI, supported for Windows, Ubuntu, and macOS.)
Changelog
Note: This is a minor release. To see the changes in major release 0.8.0.0, click here.
Added
- Added a "Restore to defaults" button to the compiler/decompiler settings window by @CST1229 in #2114.
- Added a new dialog to the GUI that appears when adding a new asset to a game, which allows for naming assets before they get created, rather than being forced to rename after the fact.
- Added a new dialog to the GUI that appears specifically when adding new rooms to a game, for whether or not to automatically add the room to the room order list.
- Added preliminary support for GameMaker 2024.14 file format changes.
- Added a new method to
CodeImportGroupcalledQueueTrimmedLinesFindReplace, which acts as a find & replace operation that ignores whitespace at the beginning and end of lines. (This is mainly meant for scripting.)
Changed
- When adding scripts to a GameMaker 2.3+ game, it will now automatically be added to the global initialization list ("Global Init" in the GUI).
- (This prevents issues trying to reference global functions defined in newly-created scripts.)
Fixed
- Fixed a misalignment warning on some GameMaker: Studio 1.4 games, particularly ones that have been modded with UndertaleModTool already.
- (Note: This warning is actually harmless, and a misconfiguration prevented it from appearing until 0.8.0.0.)
- Fixed some shader data misalignment errors when loading some games; it now allows for 8-byte alignment padding.
- Fixed editor crashes that could occur when external textures fail to load.
- Fixed some missing code highlighting on GameMaker 2024.11+ games.
- Fixed a code editor crash that could occur when right clicking on a number used by a removed/unused game asset in GameMaker 2024.11+ games.
- Fixed null variables in code no longer being able to save in 0.8.0.0; the old behavior has been restored.
- Fixed (removed) the unnecessary warnings produced in disassembly found in GameMaker 2024.11+ games.
- Fixed functions from the functions list being able to override global script functions during GML compilation (in practice, this resulted in scripts overriding functions with the same name).
- Fixed newly-added rooms from the GUI not being initialized with the correct flags between GameMaker versions 2.3 and before 2024.13.
- Fixed newly-added asset layers from the GUI not being initialized with a text item instance list in GameMaker 2024.6+, which leads to corrupted data.
- Fixed newly-added rooms from the GUI not having their background list cleared (and caption set to null) in GMS2 and above, which could cause load errors in recent GameMaker versions.
- Fixed a system-dependent issue with game-specific data failing to load in the correct order, due to undefined sorting behavior.
- Fixed the "name string ID" of variables and functions, when the last reference to them is through a
pushref.iassembly instruction. - Fixed
ExportAllTextures.csxandExportAllTexturesGrouped.csxfailing on GameMaker 2024.11+ games. - Fixed
ImportGraphics.csxandImportGraphicsAdvanced.csxso that they no longer grow a sprite's bounding box when its bounding box mode is set to manual (2). - Underanalyzer GML compiler/decompiler fixes:
- Improved compiler and decompiler support for array instance types (improved accuracy).
- Structs now support most keywords as variable names/keys, to reflect recent GameMaker changes.
- Fixed detection of default argument value syntax on GameMaker 2024.11+, and added support for the new code generation in the compiler.
- Fixed compiler support for function/script references in GameMaker 2024.2+.
- Added compiler and decompiler support for the new function resolution optimizations in GameMaker 2024.13+.
- Fixed control flow decompilation for a
withloop directly inside of atryblock. - Added support for partial restoration of object events that have been culled by unused asset removal in GameMaker 2024.11+ (some functions, variables, and assets may show up as ID numbers instead of actual references).