UndertaleModTool

The most complete tool for modding, decompiling and unpacking Undertale (and other GameMaker games!)

GPL-3.0 License

Stars
1.1K

Bot releases are hidden (Show)

UndertaleModTool - UndertaleModTool v0.6.1.0

Published by colinator27 about 2 months ago

This is the 0.6.1.0 UndertaleModTool release, for 64-bit Windows. Downloads can be found at the bottom of this release.

Changelog

Note: This is a minor release. To see the changes in major release 0.6.0.0, click here.

Changed

  • The RunSwitchOnPC.csx script now helps with running the Switch and Xbox versions of Undertale on PC. It has thus also been renamed to RunSwitchAndXboxOnPC.csx

Fixed

  • Fixed the EmSize field on font assets always being loaded as the number 0, in games where it was a floating point number.
  • Fixed GameMaker version 2023.1 getting misdetected when loading, due to some unnecessary leftover code.

Full Changelog:

https://github.com/UnderminersTeam/UndertaleModTool/compare/0.6.0.0...0.6.1.0

UndertaleModTool - UndertaleModTool v0.6.0.0

Published by colinator27 2 months ago

This is the latest stable UndertaleModTool release, for 64-bit Windows. Downloads can be found at the bottom of this release.

Changelog

Added

  • Added GameMaker 2023.4, 2023.6, 2023.8, and 2024.2 support.
  • Added GameMaker 2022.0.2+ LTS support.
  • Added partial save/load support for GameMaker 2024.6.
  • The GUI will now show extension options from GameMaker 2022.6.
  • A new tooltip explains what the asset index shown in the bottom right corner means.
  • Profile mode support has been added for GameMaker 2.3+ games.
  • YYSWF support has been added for GameMaker 2022.1 games
  • The "ImportGMS2FontData" script is now able to handle font data from GameMaker 2023 IDEs.
  • A "TouchControlsEnabler" script has been added, which allows enabling touch controls in an Undertale game.
  • Added Spine sprite support for GameMaker 2023.1.
  • Struct support has been added.

Changed

  • The "ImportGraphics" script has been changed to accept sprites with zero-padded indices (e.g. spr_abc_001.png).
  • The "SpriteOriginCopy2_3" script has been removed, as its behavior was merged into the "SpriteOriginCopy" script.
  • The "ApplyBasicGraphicsMod" script will no longer tell you that image dimensions are not the proper size, as the check for it was faulty.
  • The "NewTexturePacker" script has been improved to bin pack better, as well as have the ability to change the bin sizes for both dimensions.
  • Decompiling and disassembling code entries will now be slightly faster and use a lot less RAM.
  • The "ImportAllEmbeddedTextures", "ImportAllStrings", "ExportAllStrings", "ExternalizeAllOGGs", and "ExportAllSounds" scripts are no longer Windows-only.
  • The "TTFFonts" script now makes it clearer that it's only meant for Undertale.
  • Removed redundant .NET localization folders (e.g. "cs", "de", "es"...) for the non-single file version.
  • When failing to fetch a localization comment for Undertale or Deltarune, it is now shown as // <localization fetch error>.
  • More assets in Deltarune will now be shown correctly rather than as numbers.
  • When using scripts with the CLI, the "Newtonsoft.Json" library is now added as a reference.
  • The "ExportAllSprites" script will now ask you if you want each sprite in a subfolder.
  • The "DebugMsg" script can now be used again.
  • A message box is no longer shown when saving a profile for profile mode.
  • Updated GitHub URLs to point to the new organization's version of the repository.
  • Some discrepancies between Debug and Release builds have been removed, when loading data files.
  • The Git commit hash is now shown in the title bar of bleeding edge builds produced by GitHub Actions.
  • Exception messages in the GUI, as produced by C# scripts, have been improved to look better with multiple scripts in the stack trace.
  • The line numbers in search results are now clickable.
  • API: Multiple public lists now have a setter.
  • API: Add a lot more documentation.
  • API: Small documentation revisions made to some models in the library.

Fixed

  • UTMT will no longer duplicate function names.
  • UTMT will no longer randomly crash when attempting to save.
  • The "ImportGMLFile" script will not prompt you to enter an object name when importing collision event scripts.
  • UTMT will no longer sometimes open an incorrect tab, as opposed to the one you clicked on.
  • UTMT will no longer scroll the tab view if the current tab is already fully visible.
  • Some code entries which contained switch statements will no longer freeze the decompiler.
  • The CLI will no longer crash when attempting to dump code from a YYC game.
  • The warning that appears when a file has unexpected padding will no longer be shown in the CLI, when verbose is off.
  • Fix edge case where pasting new code on top of a code entry that had an exception in its output will crash UTMT.
  • Fix UTMT crashing in certain cases when exporting a room as a PNG ("ExportAllRoomsToPng.csx").
  • Adding a new shader now properly allows you to edit it.
  • The disassembly tab will no longer freeze on large code entries.
  • UTMT will now properly discover GameMaker 2.3+ runtimes.
  • When decompiling code, return statements will now be properly shown again.
  • When decompiling certain code entries, parentheses will now be placed to prevent inaccurate decompilation.
  • Fix decompilation errors from code entries using the Boolean type introduced in GameMaker 2.3.7.
  • Fix an edge case where compiling a code entry that had boolean expressions inside of a binary operation would cause games to crash.
  • Detecting GameMaker 2.2.2.302 no longer fails on certain edge cases.
  • Fixed cases where games using shaders and bytecode 13 would not load correctly.
  • Fixed background/tileset parsing for bytecode 12 games.
  • Renamed the ClearDisplayBuffer flag to DoNotClearDisplayBuffer, as that's what it's actually doing.
  • Fix the font size being inaccurately saved as whole numbers.
  • Fix the CLI crashing when a warning or an error has occurred.
  • Fixed an edge case where the built-in updater would crash.
  • When using profile mode, fetching localization comments for Undertale or Deltarune will not endlessly append them.
  • Allow some GameMaker 1.0.0.1250 games, which used builtin audio groups, to load.
  • Fix a regression that led to GameMaker 2.3.1 detection not working correctly in some games.
  • Fix external textures producing warnings when loading data files.
  • Fix false-positive GameMaker 2022.1 version detection, which led to some early 2.3 games failing to load.
  • Fix GameMaker 2.0.6 version detection occurring too late in the load process.
  • Fixes in the decompiler involving parentheses and correctness of the right sides of arithmetic.
  • Fix C# scripts being unable to use relative paths when using the #load preprocessor.

New Contributors

Full Changelog: https://github.com/UnderminersTeam/UndertaleModTool/compare/0.5.1.0...0.6.0.0

UndertaleModTool - UndertaleModTool v0.5.1.0

Published by Grossley over 1 year ago

Overview

Additions:

  • The dark mode setting (@VladiStep in #1141, #1221, #1273, #1336, #1342).
  • Tabs content state saving and restoring (tab sessions) (@VladiStep in #1152).
  • More ways of opening an object in a new tab (@VladiStep in #1232).
  • The "Find all references" feature and the new "Find" menu: (@VladiStep in #1246)[0]
    Allows you to search for references of any common type asset by right-clicking:
    - An asset in the main list
    - An object reference in the "Object definition" fields
    - A tile on the GMS 2 tileset image (@VladiStep in #1288)
    - A texture page item on the embedded texture image (@VladiStep in #1293)[0]
  • A support for the tile layer exported data (.csv) from "Tiled" (@VladiStep in #1280)[0].
  • A proper support for code with multiple functions (@Jacky720, @VladiStep in #1191).
  • Proper code editors for shaders (@VladiStep in #1294).
  • A support for sequence text tracks (GM 2022.2 - e.g. "Dono’s Tale") (@VladiStep in #1197).
  • New scripts - "SpriteOriginCopy.csx", "SpriteOriginCopy2_3.csx" (@fixdude in #1144).
  • A support for GM 2023.1 games (e.g. "HoloCure", "Alien XENOCIDE") (@VladiStep in #1206).
  • A support for some GMS 2.0 games (@VladiStep in #1205, #1329).
  • A support for GM 2023.2 games (and particle systems) - e.g "The Slormancer", "Nova Drift" (@VladiStep in #1238, #1353, #1361).
  • An indication for the sub-functions cache building on first decompilation and 3 minutes timeout for it (@VladiStep in #1241).
  • Proper sequence model names for debugging and the "Find all reference" results (@VladiStep in #1254).
  • A support for games with room path layers (@VladiStep in #1256, #1268).
  • A possibility to delete room objects through context menu (@zivmaor, @VladiStep in #1301).
  • The "Run other script..." option on missing "Scripts" folder (@VladiStep in #1364).
  • An option to export one sprite with padding (@VladiStep in #1367).

Fixes:

  • A memory leak of UTMT scripts and the command box (@VladiStep in #1220).
  • A bug with textures not being displayed in GM 2022.3+ games; improvements of an "ImportGMS2FontData.csx" script (@Dobby233Liu, @Miepee, @VladiStep in #1048).
  • A bug with PromptChooseDirectory() infinite loop in CLI (@VladiStep in #1183).
  • An "ExportAllRoomsToPng.csx" script error (@VladiStep in #1164).
  • A crash in CLI version on events replacing (@TheAwoo in #1174).
  • A "Texture failed to loaded!" error in the embedded texture editor (@VladiStep in #1199).
  • An extension file and function tab titles display (@VladiStep in #1200).
  • A room background definition removing (@VladiStep in #1202).
  • A crash in "Deltarune 1&2" after a "Ch2 Debug.csx" script (@Jacky720 in #1188).
  • The "Gdip" crash in CLI version on loading GM 2022+ games (@VladiStep in #1302).
  • An annoying XAML binding error in "Visual Studio" log (@VladiStep in #1228).
  • Environment.ProcessPath warnings in "Visual Studio" (@VladiStep in #1234, #1258).
  • A bug in the code editor that led to freezes on some errors (@VladiStep in #1243).
  • The "FindUnusedStrings.csx" script (@VladiStep in #1246)[1].
  • A rare crash on drag&dropping within the asset list and the tab panel (@VladiStep in #1264, #1289).
  • A crash on the tileset image click (@VladiStep in #1274).
  • Incorrect GMS 2 rotated/flipped tiles display (@VladiStep in #1280)[1].
  • A bug that broke the "Disassembly" code editor tab on some localizations, e.g. Turkish (@VladiStep in #1298).
  • A random SaveCodeChanges() crash on data saving (@VladiStep in #1304).
  • A rare crash on opening the "Disassembly" code tab (@VladiStep in #1322).
  • A crash on invalid entered color value (@VladiStep in #1357).

Changes:

  • The version flags cleanup and proper GM(S) version in the title (@Jacky720, @Miepee, @VladiStep in #1047; @VladiStep in #1213).
  • Game data loading is noticeably faster and uses less RAM (@VladiStep in #1161).
  • Made the embedded texture image zoomable and more interactable (@VladiStep in #1293)[1].
  • A lot of the font editor improvements: (@VladiStep in #1328, #1331, #1332, #1346)
    - Added the red marker for the selected glyph, made the font texture clickable.
    - Made the glyphs table show and accept actual characters.
    ... and more! See the PR description.
  • Disabled room layers are highlighted with gray color (@VladiStep in #1201).
  • The "Timestamp" value (in "General info") is in human-readable format (@VladiStep in #1226).
  • An optimization of the "data.win" file context menu options - e.g. "Run game normally" (@VladiStep in #1245).
  • An optimization of "ExportAllCode2_3.csx" script (@VladiStep in #1239).
  • Room object names improvements (@VladiStep in #1246)[2].
  • Made the room instance layer objects resolving safer - adds a support for a "Pizza Tower D3 v3.1" mod and "Heroine Conquest" (@VladiStep in #1266, #1299).
  • Made the GMS debugger related things more distinguishable from the debug mode in some games; the GMS debugger file option is hidden by default (@VladiStep in #1330).
  • Improved the object reference fields clarity (@VladiStep in #1363).

New Contributors

Full Changelog: https://github.com/krzys-h/UndertaleModTool/compare/0.5.0.0...0.5.1.0


The CLI version has been moved to the Bleeding Edge release, if you need command line tools get it there, otherwise select "UndertaleModTool_v0.5.1.0.zip".

UndertaleModTool - UndertaleModTool v0.5.0.0

Published by Grossley over 1 year ago

The long awaited UndertaleModTool v0.5.0.0 is here! There are many many changes since the previous version. That should make sense since it has been about a year. Well, lets get started!

Go to the bottom to get the download.

Additions:

  • The "+" (create new code) button for empty code fields (@NyakoFox, @VladiStep in #776, #955).
  • The GMS 2.3 struct decompilation (@BenjaminUrquhart in #803; @steviegt6 in #1039).
  • The "FindObjectsWithSprite.csx" script (@VladiStep, @Miepee in #813).
  • The "Copy name to clipboard" context menu option (@VladiStep in #814).
  • The game object tabs.
    - Original author - @SolventMercury in #777.
    - Separation of the changes and redrawing of the close icons - @Miepee in #824, #850.
    - Tabs code rewriting, improvements and fixes and
    the "Forward" button (bringing the tabs system to acceptable state) - @VladiStep in #831, #852, #873, #977, #988, #1003, #1008, #1092, #1148.
  • The UndertaleModTool code documentation (@Miepee in #806, #874, #903, #904, #908, #912).
  • The "Frame index" and "Image speed" fields for game object instances in the room editor (@VladiStep, @Miepee in #849).
  • More features for CLI version of UndertaleModTool (@Miepee in #860, #862, #1064).
  • The GitHub pull request and issue templates (@FriskTheFallenHuman, @Miepee in #840).
  • The git commit+branch info in UndertaleModTool development build ("bleeding edge") title (@Miepee in #885).
  • The updated "README.md" (GitHub main page of UTMT) (@FriskTheFallenHuman, @Miepee, @NyakoFox, @Grossley in #841; @Miepee in #894).
  • Automatic building of pull requests changes for easier testing (@Miepee in #919).
  • The "bleeding edge" version of UTMT (@Miepee, @Grossley in 94ea0488; @Miepee in #952).
  • The support for function scr_myscript() formatting in GMS 2.3+ (@Jacky720, @Miepee in #921; @steviegt6 in #1036).
  • The support for game data files larger than 2 GB + some optimizations (@VladiStep, @Miepee in #960).
  • The "Width" and "Height" UI fields for texture pages (@VladiStep in #995).
  • The default "Filter by name…" for the search box (@VladiStep in #1009).
  • Added the (global) settings for the room editor grid (@plrusek in #931 → @Miepee, @VladiStep in #1005).
  • The "ImportGMS2FontData.csx" script (@Dobby233Liu in #1041).
  • A better script debugging (@ngyikp in #1069).
  • A support for version 3 of the spine sprites (@nkrapivin, @Miepee in #1097).
  • Progress bar indication in a toolbar (@VladiStep in #1104).
  • A support for 27-bit reference chain offset – e.g. "ZERO Sievert" (@colinator27 in c8978605).
  • Near-complete save/load support for GM 2022.2 to 2023.1 and LTS (@colinator27, @Jacky720 in 84e15d51df8c600963b80a70ec91450f426b856d, #793, #821, #902, #1043, #1046, 856041c5279caa9d0ecd5188b8dff7c0e6968d17, 68057e1c74b64be5c9ac0eda1908e2cdd787177a, 39d6cf0a5a4eb46b81d5e6b450150f2a3bfe9866).

Fixes:

  • A crash on creating a new item with non-empty search box (@Jacky720 in #791).
  • A crash on adding a game object to room and accessing it afterwards (@mandar1jn in #794).
  • A bug in "ImportGraphics.csx" that prevented sprites import from wrongly-named folder (@NyakoFox in #795).
  • Some crashes and bugs of the "Update app to latest commit" option (@VladiStep in #808, #811).
  • A crash on adding a room assets or tiles layer (@VladiStep in #810).
  • A crash in "ImportGML.csx" (@VladiStep in #809).
  • The errors of "ImportFontData.csx" (@Miepee in #807, #920).
  • A decompiler error - #798 (@BenjaminUrquhart in #817).
  • A crash with empty sprite instance in a room (@VladiStep in #830).
  • A minor compiler error in "SURVEY_PROGRAM" (@Jacky720 in #843).
  • A crash on adding some sprite-based room objects without textures (@plrusek in #854; @VladiStep in #1103).
  • A freeze on opening GMS 2 room without IsGMS2 flag (@VladiStep in #856).
  • Some instances of "Object reference not set to an instance of an object" error on game data saving (@Jacky720 in #848).
  • A lot of room editor issues (@VladiStep, @Miepee in #876, #884, #888).
  • The errors related to UndertaleModTool folder path detection (@VladiStep, @Miepee in #946).
  • QOI textures display on different system scale setting (@VladiStep, @Miepee in #948).
  • The "Strings" list issues (@VladiStep, @Miepee in #954).
  • The issues with some messages not showing up (@Archie-osu in #936; @Miepee, @VladiStep in #956, #987).
  • A recognition of some GMS 2.3 keywords (@Miepee, @VladiStep in #968).
  • The object ID display for code and strings (@VladiStep, @Miepee in #1004).
  • The room editor grid size bugs (@VladiStep in #1014).
  • The non-disappearing "Found no matches!" popup in the code editor (@VladiStep in #1017).
  • The room object selection in the room preview (@plrusek in #931 → @VladiStep in #1019).
  • The error in "ImportGML.csx" script with short-named code (@Miepee in #1063).
  • The "ExtractEmbeddedDataFile.csx" script requires loaded game data (@VladiStep in #1109).
  • A crash on a texture page item with zero source size (@VladiStep in #1093).
  • The "NewTextureRepacker.csx" messing QOI textures up (@VladiStep in #1102).
  • The "TTFFonts.csx" script not working in GMS 2 Undertale versions (@IruzzArcana in #1113).
  • The rare "BadDeviceId calling waveOutOpen" sound error (@VladiStep in #1090).
  • The progress bar position resetting (@VladiStep in #1106).
  • The texture group editor unable to add any entry (@VladiStep in #1119).
  • The broken file path in "ExportAllStrings.csx" and "ImportAllStrings.csx" (@Sonhonet in #1136).
  • Some issues with "DeltaHATE.csx" and "DeltaMILK.csx" scripts (@Jacky720, @Miepee in #1085).
  • The bug with lost code changes on Ctrl-clickling in the code editor (@VladiStep in #1160).

Changes:

  • Code improvements of CLI version of UndertaleModTool (@Miepee in #812, #865, #911, #966).
  • UndertaleModTool is upgraded to .NET 6 (C# version 9+) (@Miepee in #863, #905).
  • Removed a custom Pair<> class (@Miepee in #881).
  • General code cleanup (@Miepee in #897, #964, #967).
  • Combined GetAssetTagID() methods into one (@Miepee in #907).
  • Deprecated "AUMI" support (@Miepee in #909).
  • Improved sprite texture entries removing (@VladiStep in #932).
  • Reorganization of UndertaleModTool scripts and dynamic scripts menu (@Miepee in #935, #937, #978, #1006).
  • Merged the "dna.txt" readme into the main readme (@Miepee in #961).
  • Removed 32-bit support from the app updater (@Miepee in #980).
  • QOI textures (de)serialization optimizations (@VladiStep, @Miepee in #963).
  • Removed "GraphViz" from the code editor (@Miepee in #965).
  • The "Settings" window is more compact (@plrusek in #931 → @Miepee, @VladiStep in #988).
  • The room editor grid is in front (@plrusek in #931 → @Miepee, @VladiStep in #1001).
  • Removed the GMS 2.3 warnings (@Grossley, @Miepee in #1000, #1013).
  • The code editor scrolling optimizations (@VladiStep in #1158).
UndertaleModTool - 0.4.0.4

Published by Grossley over 2 years ago

UndertaleModTool v0.4.0.4 has support for the newest Deltarune update. It can also do decompiled editing of code scripts for GMS 2.3+.

General changes:

  • Fixed version detection for older games

Room editor changes:

  • GMS 2 sprite instances and (basic) tile layers support.
  • Fixed horizontal/vertical lines between tiles.
  • Backgrounds and background layers are now working properly.
  • Re-added "Save as PNG" button.
  • Fixed room object selection (always opens clicked object properties).
  • Following features now work with GMS 2 games: drawing with room object, room object order changing (with + or - key), automatic grid size calculation.
  • When selected room object is not in the currently displayed room region, it shows that object by scrolling to it.

Other changes:

  • Fixed various memory leaks.
  • Fixed and optimized "ExportAllRoomsToPng.csx" script.
  • Optimized font editor, so it opens faster.

All files in this release are for x64 computers and includes .NET bundled (no install necessary). This release contains UndertaleModTool single file, UndertaleModTool non-single file, and UndertaleModCLI. If you are encountering strange issues or glitches with the regular single file version, use the non-single file version (abbreviated to NSF).

UndertaleModTool - 0.4.0.3

Published by Grossley over 2 years ago

UndertaleModTool v0.4.0.3 has support for the newest Deltarune update. It can also do decompiled editing of code scripts for GMS 2.3+.

All files in this release are for x64 computers and includes .NET bundled (no install necessary). This release contains UndertaleModTool single file, UndertaleModTool non-single file, and UndertaleModCLI. If you are encountering strange issues or glitches with the regular single file version, use the non-single file version (abbreviated to NSF).

UndertaleModTool - 0.4.0.2

Published by Grossley almost 3 years ago

UndertaleModTool v0.4.0.2 has much better support for newer games in general and many new features.

All files in this release are for x64 computers and includes .NET bundled (no install necessary). This release contains UndertaleModTool single file, UndertaleModTool non-single file, and UndertaleModCLI. If you are encountering strange issues or glitches with the regular single file version, use the non-single file version (abbreviated to NSF).

You can use CTRL+K to compile decompiled code you are editing without clicking out of the editor window.


Changelog

Additions:

  • Added UndertaleModCLI.
  • Added "NewTextureRepacker.csx".
  • Added "SearchLimited.csx" (Search for terms within a limited code scope).
  • Added "SearchASM.csx" (Search disassembly for text).
  • Added "UndertaleRunButton.csx" (allows you to running faster in Undertale using the backspace button).
  • Added "ScaleAllTextures.csx" (upscale or downscale all textures in a game).
  • Added "SafeBlaster.csx" (make the Gaster Blaster more easily moddable into more battles).
  • Add a README.txt file, additional opt out of file associations are available.
  • Added "ExportAllTexturesGrouped.csx" (exports textures by texture group).
  • Added "UndertaleDialogSimulator.csx", mod by Lil'Alien (thank you).

Improvements:

  • Implemented FEDS chunk.
  • Added support for new QOI+BZip2 image format.
  • Allow opening files by drag and dropping them onto the window.
  • Added (dis)assembler support for nullish operator.
  • Changed all tab characters to 4 spaces.
  • UndertaleModLib is now buildable into a Nuget package.
  • Preserve temp file to mitigate data loss.
  • Added a "Don't show me this again" option to the GMS 2.3 warning.

Decompiler Improvements:

  • Rudimentary 2.3 (de)compiler fixes
  • 2D array get/set fix
  • "with (other)" + duplicate fixes
  • Fixed decompiler fails on switch statements with conditionals.
  • Fixed other objects' array "+=".
  • Fixed stacktop/ternary operator combo decompilation.
  • Fixed a typo TempVarAssigmentStatement => TempVarAssignmentStatement.
  • Resolved local variable problems causing slowdown with AM2R modding and other games.
  • Change type resolution rules in ExpressionConstant.ToString().

General search and script improvements:

  • Improved speed of search scripts.
    • Code searching can be accelerated even more by enabling the code caching feature in Settings.
  • Optimized script progress updating.
  • New "ClickableTextOutput" window allows clicking on the code names for the search scripts.
  • Improved scripts error handling, including line numbers.
  • Use of the main UI after Search script results is now allowed.
  • Added support for Scripts and GlobalScripts in "DumpSpecificCode.csx".
  • Truncated exception output in general.
  • Added "SyncBinding()" for possibilty to add/remove game resources from another thread.

Bug Fixes:

  • Old scripts are now backwards compatible.
  • Fixed error where certain text causes hard crash of tool.
  • Fixed crash when attempting to run a new game using temp run feature
  • Fixed erroneous attempt to write to protected areas using ImportGraphics.
  • Fixed bugs in "EnableDebug.csx".
  • Fixed regex error in "ExecutionOrder.csx"
  • Fixed "DeltaruneClearShaderData.csx" to mitigate crashes.
  • Fixed long file name issues in scripts.
  • Adding a code entry from the context menu no longer crashes the app.
  • Fixed "Delete" in the context menu of code entries.
UndertaleModTool - 0.4.0.1

Published by Grossley about 3 years ago

UndertaleModTool v0.4.0.1 has much better support for Deltarune Chapter 2.

UndertaleModTool - Release 1 of 0.4.0

Published by Grossley about 3 years ago

This version can load and save Deltarune Chapter 2 to disk successfully.

UndertaleModTool - Prerelease 3 of 0.4.0

Published by Grossley about 3 years ago

This is the third prerelease of version 0.4.0 of UndertaleModTool.

Changelog

Additions:

  • Added "FindObjectsInRooms.csx".
  • Added unused sound remover scripts.
  • Added copying scripts for sprites, backgrounds, fonts, sounds, and game objects.
  • Added WASD for Undertale (thanks Lil Alien).

Improvements:

  • UndertaleModTool scripts have been reorganized and streamlined.
  • "@@other@@" and "@@This@@" now resolve to "other" and "self".
  • Added warnings for saving/loading with the GMS debugger enabled.

Bug fixes:

  • Fixed audiogroup loading/handling and add Data.AudioGroups.ByName().
  • Fixed asset resolution for some scripts and variables.
  • Disabled DebugMsg.csx for now as it doesn't seem to work properly.
  • Allowed saving of data files of up to ~2GB in size.
  • Updated NAudio to 2.0.1, fixing a crash in .NET 5.0.7.

Why 0.4.0 is split into a pre-release

Before the full release of 0.4.0, we aim to finish implementing dark mode (see the dark-mode branch) as well as solidify the profile system. But for now, we thought it would be a good idea to make the current feature set available for general usage.

Before you run

It's important to note that the .NET version that UndertaleModTool uses has been upgraded to .NET 5.0. This means you may need to download the .NET 5.0 Desktop Runtime, at https://dotnet.microsoft.com/download/dotnet/5.0/runtime. Make sure this is the same architecture as the version of the tool you download; for instance, if you choose x86 for this tool, make sure you download the x86 runtime. If this does not work, please use the "NetBundled" versions of the tools, which do not require installing the net runtime.

Also, since this is a pre-release, it may have some instability. Please report those issues, should you encounter any.

UndertaleModTool - Prerelease 2 of 0.4.0

Published by Grossley over 3 years ago

This is the second prerelease of version 0.4.0 of UndertaleModTool.

Changelog

  • Fixed an error in ImportAllStrings which caused the safety checks to always fail, also the safety checks in general are more descriptive, and it is also now profile-mode friendly.
  • Added the ReapplyProfileCode helper function.
  • Fixed some asset resolutions and some asset resolver improvements.
  • Searches of no size are now prevented with Search.csx.
  • Added bytecode 16 to 17 conversion script.
  • DeltaHATE.csx now has preliminary support for Undertale as well.
  • Created ReduceEmbeddedTexturePages.csx (experimental and may be buggy).
  • DumpSpecificCode has been fixed to dump only from the objects specified rather than any that share the name.
  • Added a script to simplify the battlegroup script in Undertale.
  • Added a toggle to disable the closing warning.
  • Fixed syntax highlighter for GM:S 1 to not recognize backslashes as escapes.
  • Updated incorrect wiki link.
  • Renamed "ExportAllTexturesWithPadding" to "ExportAllSpritesWithPadding".
  • Fixes an issue that caused games to not load when variables were added or changed.
  • Add VariableFixer script to fix a bug that prevents the game from loading.
  • Intertool communication with AUMI (by Archie).
  • Add the ability to run and/or lint a UndertaleModTool script within a script.
  • DefaultCodeKind flag in General Info was renamed to be more clear about its purpose.
  • Added new string utility scripts made by Porog.
  • ExportAllSprites.csx and ExportAllSpritesWithPadding.csx now have descriptions in the readme.
  • Added script to restore missing code locals.
  • Fixed an error causing multiple files to be erroneously bundled inside UMT instead of being external

Why 0.4.0 is split into a pre-release

Before the full release of 0.4.0, we aim to finish implementing dark mode (see the dark-mode branch) as well as solidify the profile system. But for now, we thought it would be a good idea to make the current feature set available for general usage.

Before you run

It's important to note that the .NET version that UndertaleModTool uses has been upgraded to .NET 5.0. This means you may need to download the .NET 5.0 Desktop Runtime, at https://dotnet.microsoft.com/download/dotnet/5.0/runtime. Make sure this is the same architecture as the version of the tool you download; for instance, if you choose x86 for this tool, make sure you download the x86 runtime.

Also, since this is a pre-release, it may have some instability. Please report those issues, should you encounter any.

UndertaleModTool - Prerelease 1 of 0.4.0

Published by colinator27 over 3 years ago

This is a prerelease of version 0.4.0 of UndertaleModTool, featuring loads of internal and UI changes.

Changelog

  • GMS2.3 support has been improved: games can now be loaded and saved.
    • Decompilation has only been very lightly touched; a few of the new features are supported.
    • Compilation occasionally will work, but often does not.
    • It is recommended to use the disassembly editor to edit code for these games.
  • Overhauled code and disassembly editors. They now support (brand new) syntax highlighting as you edit, along with far greater performance. A few notes:
    • Double-clicking is no longer necessary; upon typing, the tool will recognize code needs to be compiled.
    • Syntax highlighting is based off of GMS2 editor colors.
  • Scripts rearranged into more descriptive categories: many have been renamed, and some new ones have been added. Check the SCRIPTS.md file for more detailed information on this.
  • Added a new work-in-progress profile system, which retains all code changes including formatting/comments. This is experimental and may not be compatible in the future, so it is disabled by default.
  • Code corrections (for the decompiler) for Undertale and Deltarune are now bundled by md5 hash, used by the profile system.
  • Completely new assembly syntax, which uses only necessary labels and is compatible with GMS2.3 (with sub-code entries). This makes bytecode easier to read and edit.
  • A number of scripts have been refactored to be compatible with the profile system, along with various fixes, such as the border enabler script resulting in decompilation errors.
  • Both the decompiler and compiler have undergone thorough optimizations and some refactors, leading to often at least twice the speed, and even greater gains with larger scripts. Editing large scripts is now less infuriating.
  • The codebase has been upgraded to .NET 5.0. Read the "before you run" section for more information.
  • The tool is now compiled using Release mode, rather than Debug mode, as some code that relied on debug tracing has been refactored. This allows for better performance.
  • Tool settings have been relocated to %appdata%\UndertaleModTool. The old settings files are incompatible now, but due to this it can now save settings across different tool versions.
    • (The profile system also uses this directory.)
  • Support for file format ID 13 (also known as "bytecode 13") has been added. This allows for some older games to be loaded.
    • Along with this, support for games without short-circuiting in GML has been added. These are few and far between, but do exist.
  • New asset type resolutions based on context have been added to the decompiler. This includes some blending functions, for instance, as well as user events.
  • An endless number of bugfixes and minor tweaks, among other refactors.

Why 0.4.0 is split into a pre-release

Before the full release of 0.4.0, we aim to finish implementing dark mode (see the dark-mode branch) as well as solidify the profile system. But for now, we thought it would be a good idea to make the current feature set available for general usage.

Before you run

It's important to note that the .NET version that UndertaleModTool uses has been upgraded to .NET 5.0. This means you may need to download the .NET 5.0 Desktop Runtime, at https://dotnet.microsoft.com/download/dotnet/5.0/runtime. Make sure this is the same architecture as the version of the tool you download; for instance, if you choose x86 for this tool, make sure you download the x86 runtime.

Also, since this is a pre-release, it may have some instability. Please report those issues, should you encounter any.

UndertaleModTool - 0.3.5.8

Published by Grossley over 3 years ago

The big one
Woah! New update! With new features???? Tell me more! :O

Change log:

  • New extension editor
  • New timeline editor
  • Some new experimental scripts
  • Fix for padding issue, extension chunk issue (thank you @Mc-muffin)
  • Other changes
  • Product IDs would not display in the new UMT extension editor UI for GMS1 games, this has been corrected.
  • Fixed an issue that would cause crashes due to an unset string.

I probably will update this change log to include new things, if I remember. Better to get it out now rather than later!

Enjoy everybody

  • Grossley
UndertaleModTool - 0.3.5.7

Published by Grossley over 3 years ago

Add code search sample script.

UndertaleModTool - 0.3.5.6

Published by Grossley over 3 years ago

Fixes a bug regarding loading textdata_en.

UndertaleModTool - 0.3.5.5

Published by Grossley almost 4 years ago

New additions:

  • Rename "ScriptTextInput" to "SimpleTextInput" (to distinguish from the more configurable WPF dialogue version).
  • New WPF Dialog text input box option from the scripting interface.
  • Add ability to select items from the sidebar using "Enter".
  • Add ability to directly write text into the console from a script.
UndertaleModTool - 0.3.5.4

Published by Grossley almost 4 years ago

New additions:

  • Added the experimental script tab in the scripts menu so it's easier to use.
  • Added an automatic backup experimental script.
  • Implemented a new text input option for scripts.
  • Removed unnecessary assets to reduce file size.

Bug fixes:

  • Fixed an old tile layer pasting issue.
  • Fixed a serious mask bug.
  • Corrected an error regarding the UID.
UndertaleModTool - 0.3.5.3

Published by Grossley almost 4 years ago

Adds the following new Experimental Scripts:
"JSON for Undertale": Moves all the text to a JSON and allows easy editing of text while the game is running (by @Grossley).
"Import Sprite Mask" and "Export Sprite Mask" scripts (to change sprite hitboxes) both by @Grossley.

And the following fixes:
Adding a safety check when removing null layers and a crash fix crash in "TheWholeWorldRevolving" sample script.

UndertaleModTool - 0.3.5.2

Published by colinator27 almost 4 years ago

This adds several new decompiler and compiler improvements, as well as an experimental script to test decompiler and compiler accuracy (courtesy of @Grossley).

UndertaleModTool - 0.3.5.1

Published by colinator27 almost 4 years ago

This is a quick hotfix for the new room editing features, thanks to the pull request from @Grossley.