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 - 0.3.5

Published by colinator27 almost 4 years ago

This is a small release with additional script updates, and a few crash/hang fixes.

Additionally, there is new UI support for creating new sprite instances, object instances, and tiles (for GM:S 1 and GMS2), courtesy of @Jockeholm.

UndertaleModTool - 0.3.4.2

Published by colinator27 about 4 years ago

This is another tiny release, with additional safety measures for the Import Graphics experimental scripts.

No other changes have been made to the application itself, besides bumping the version number.

UndertaleModTool - 0.3.4.1

Published by colinator27 about 4 years ago

This is a tiny release, which is the same as 0.3.4 besides some experimental script changes:

  • The import graphics scripts (both v1 and v2) have been updated for safety.
  • A new script to reload the language JSON file for Deltarune (while the game is running) has been added.
UndertaleModTool - 0.3.4

Published by colinator27 about 4 years ago

This release includes a number of minor compiler/decompiler quality of life improvements/fixes, a slightly fixed audio player in some cases, and fixed parsing of GMS2.3 sprite masks in some situations.

Also included are four new experimental scripts (ImportSoundsBulk, ExportAllTexturesWithPadding, ImportASM, and ExportASM). Additionally, most scripts have been reformatted to be more consistent and readable.

UndertaleModTool - 0.3.3

Published by colinator27 about 4 years ago

This release brings an improved audio player (from its inception in the previous release), in that it can now play sounds directly from each sound asset, and that it can play any sound, including ones located externally from the data file (either in an audio group, or separate altogether).

Additionally, a number of crashes, hangs, and general bugs were fixed.

Experimental scripts are now a part of the repository, but are still included in the release ZIP as usual. The only difference this time around is that there is now a separate README for that directory.

UndertaleModTool - 0.3.2

Published by colinator27 about 4 years ago

This release brings a few more optimizations, a bug fix, and quality of life improvements to the tool and library.

The major changes to the editor are as follows:

  • New audio player for embedded audio objects. No longer are you required to export sounds before being able to hear them...
  • Multiple context menu options now have safeguards to prevent loss of work.
  • The save file dialog cannot be closed before completion anymore, preventing confusion.

Experimental scripts are again included with the release ZIP. For further information, consult the README.txt file inside of it.

Edit: ZIP updated to use proper BorderEnabler sample script
Edit (8/28/2020): ZIP updated to use a new version of the ImportGML experimental script

UndertaleModTool - 0.3.1

Published by colinator27 about 4 years ago

This release is a bit smaller than the previous, with mostly internal changes.

To summarize:

  • Numerous enums and values fixed
  • GMS 2.3 preliminary support (it can load and save, but not really edit or decompile much at all)
  • A huge improvement in load/save speeds... should only take a few seconds on Undertale now at most
  • Various other fixes

As it was in the previous release, experimental scripts are included with the release ZIP. For further information, consult the README.txt file inside of it.

UndertaleModTool - 0.3.0

Published by colinator27 over 4 years ago

Note: This is the long-overdue "official" release of UndertaleModTool on the main GitHub page, taken from the dev branch of the repository. The decompiled results are improved (and are nearly fully accurate for Undertale and Deltarune), but in games not directly supported, there is a higher likelihood of error. While you use the program, it is a good habit to exercise caution and make frequent backups of your work. Now, here's the summary of changes, brought to you by @Grossley:

The improvements to this tool have been massive so we decided to increase the number again! Goodbye v0.2.0... Say hello to UndertaleModTool v0.3.0!

The main changes are:

  • Massive decompiler improvements!
  • Added a decompiled code editor via a new GML compiler!
  • Added bytecode 14 support, allowing modding of Undertale version 1.00!

The full change log is too long to list here so here a summary of the other changes:

  • Added the ability to open files with the ".droid" extension with UndertaleModTool.
  • Many asset resolver improvements for Undertale and Deltarune.
  • Added some new sample scripts and improved pre-existing scripts.
  • Made searching case-independent.
  • Made selecting large amounts of text faster.
  • Renamed "pushvar" to "pushbltn", and added the "DisableSandbox" flag to the options flags.
  • Improved the room editor.
  • Added a number that shows the ID of the current resource.
  • Added an UndertaleTextureGroupInfoEditor.
  • Updated bytecode warning message.
  • Added the ability to import UndertaleTexturePageItems.
  • Patched the 96 DPI issue via the UI.
  • Fixed adding backgrounds + tile sets.

Also included with the release ZIP are many new experimental scripts. For further information, consult the README.txt file.

Edit (3/31/20): Fixed a bug with an experimental script, reuploaded ZIP
Edit (4/19/20): Updates/bugfix to a ImportASound experimental script, reuploaded ZIP
Edit (6/3/20): Fix to ImportAllEmbeddedTextures experimental script, reuploaded ZIP
Edit (6/26/20): Fix to ExternalizeAllOGGs experimental script, reuploaded ZIP
Edit (7/7/20): Fix to ImportGML experimental script, reuploaded ZIP
Edit (7/11/20): Fix to ImportGraphics_v2 experimental script, reuploaded ZIP

UndertaleModTool - 0.2.0

Published by krzys-h over 5 years ago

This is a big update brought to you mostly be @Kneesnap with some help from @colinator27. It includes a ton of decompiler improvements that make the decompiled code fully compatible with GMS syntax and more readable than ever before. This update is so big that I decided to call it 0.2.0, increasing that number for the first time ever.

Here is the full changelog:

  • Make the decompiler output syntax fully GMS compatible - @Kneesnap
  • Add support for while(condition), do...while, for and repeat loops - @Kneesnap
  • Collapse complex conditions using || and && - @Kneesnap
  • Support for "else if" - @Kneesnap
  • Support for ternary operator "x ? y : z" - @Kneesnap
  • Fix problems with decompiling increments and decrements when return value is used somewhere - @Kneesnap * Fix problems with string quoting in the decompiler and assembler - @Kneesnap
  • GMS 2.2.2+ support - @colinator27
  • Fix bugs that caused stack variables to desynchronize sometimes and cause decompilation failures - @colinator27
  • Fix dup.l 0 decompilation - @colinator27
  • Rewrite the sprite import/export code to be less buggy and allow usage from scripts - @Kneesnap
  • Allow access from scripts to some more useful namespaces - @Kneesnap
  • Allow script access to JSON serialization - @Kneesnap
  • Add a progress bar for scripts - @Kneesnap
  • Fix incorrect extension filter when importing sounds - @krzys-h
UndertaleModTool - 0.1.25

Published by krzys-h over 5 years ago

  • Fix problems with SampleScripts crashing when launched from different working directory, add error messages in case it happens again
  • Set up file associations
  • Add regex support in scripts (#122)
  • Better handling of corrupted or not fully supported files (#141)
  • Implement runtime picker, support for GMS2 runners
  • Remove bytecode 17 warning
  • Fix os_switch constant value
  • Add GamepadButton enum to the decompiler
  • Fix problems with decompiling scr_84_debug from Deltarune on Switch
UndertaleModTool - 0.1.24

Published by krzys-h almost 6 years ago

  • Add support for the swap.e instruction (#108)
  • Multithreaded batch decompilation
  • Add error detection for pointer problems (related: #80)
  • Add room PNG export option
  • Fix possible room editor crash
  • Fix a crash when saving audiogroup*.dat (#137)
UndertaleModTool - 0.1.23

Published by krzys-h almost 6 years ago

  • Fix save error when adding new glyphs (#107)
  • Add placeholder editors for TGIN and EMBI (#86)
  • Improve YYC game support (#89)
  • Fix issues preventing saving of new, empty games (#102, #87)
  • Some improvements to the font format (#102)
  • Fix the back button being active even when there is nothing in selection history
UndertaleModTool - 0.1.22

Published by krzys-h almost 6 years ago

  • Make the visual room editor work on GMS2 games (finally!)
  • Remove GMS2 warning messages (it's stable enough already, I guess)
  • Make scaled objects look better in the editor, and fix pixel snapping problems on tiles
  • Now the path to opened file is displayed on the title bar (#81)
  • HeCanBeEverywhere Version 2
    • Make the carousel spin very fast if you have multiple Jevils on screen
    • Fix a bug that caused the "Jevil was defeated" flag getting set by overworld Jevils, blocking you out of the triple Jevil cell and breaking the shopkeeper interaction
UndertaleModTool - 0.1.21

Published by krzys-h almost 6 years ago

  • Make is possible to use asset names directly in the assembler, which greatly simplifies writing scripts
  • Add support for the weirdly encoded popenv to the assembler and decompiler (#90, #95)
  • Support boolean negation properly in the decompiler (#93)
  • Remove unnecessary type casts for one argument expressions
  • Fix a bug causing decompilation of gml_Object_obj_vaporized_new_Draw_0 in Undertale to fail (#85)
  • Add the HeCanBeEverywhere mod to the scripts
UndertaleModTool - 0.1.20

Published by krzys-h almost 6 years ago

  • Fix a bug causing the switch() decompiler to break if the "default" block starts with a condition - @colinator27, #63
  • GMS2 room layers can now be created in the editor
  • os_type constants now get automatically resolved in the decompiler
  • All constants will now be highlighted in the decompiled code view, and their value shown on mouse-over
  • Fix "permission denied" error on opening files in Program Files (permissions are needed only for writing)
  • A bunch of corrections to the data.win format from @colinator27 and @LinXP, and starting work on bytecode 17 (see #70)
    • Fix some of the GEN8 and OPTN format, including the options flags
    • Fix potential crash in EXTN
    • Implement EMBI
    • Implement TGIN (bytecode 17)
    • FontKerning structure, UndertaleEmbeddedTexture unknown variable names, minor corrections to various other tiny details
  • Some code cleanup regarding resources addressed by IDs
  • Add some semi-automated testing code to make sure I don't break stuff going forward
UndertaleModTool - 0.1.19

Published by krzys-h almost 6 years ago

  • A lot of work bringing the room editor up to date with GMS2. The preview doesn't work yet, but everything else should - feel free to start datamining the Deltarune rooms! :D
  • Most of the new GMS2 functions are now named and added to editors thanks to @colinator27
  • Added the ability to sort font glyphs, since they need to be specified in ascending order (#60)
  • The decompiler will now resolve the constants passed to draw_text_halign and draw_text_valign
  • I think I've seen Gaster playing with my keyboard but I'm not sure what he added
UndertaleModTool - 0.1.18

Published by krzys-h almost 6 years ago

Work on the decompiler continues!

  • switch statements now get decompiled properly (finally!) - #6
  • 2D array accesses are decompiled now as well
  • Keys passed as arguments to keyboard functions will be resolved to actual characters or vk_ constants
  • e__VM and e__BG constants in GMS2 compatibility scripts __view_get etc. are now resolved for readability as well
  • Added some more functions I missed earlier to builtin type database (mostly collisions and path planning)
  • Temp var IDs will now properly reset between decompilation of different scripts, giving reproducible output every time
  • Reduce the amount of unnecessary tempvars in the decompiler
UndertaleModTool - 0.1.17

Published by krzys-h almost 6 years ago

Big decompiler update. Please report if you run into any bugs.

  • Add support for resolving of numeric IDs (oh, finally!) - #16
    • This includes even things that are assigned to variables before being used in functions or are passed as arguments to custom scripts
    • As part of this change, arguments that are colors will now be automatically be represented as more meaningful hex numbers
  • Fix the 'dup' instruction with tempvars reversing argument order - #54
  • Reduce the amount of unnecessary tempvars slightly
  • Add automatic translation string resolving for Deltarune - #39
UndertaleModTool - 0.1.16

Published by krzys-h almost 6 years ago

  • Fix the assembler crashing with 'no such variable' on some complex array access attempts (this assembler REALLY wasn't meant to be generated from a low-level syntax like this) - #27
  • Fix the syntax highlighter breaking on names that start with @ - #51
UndertaleModTool - 0.1.15c

Published by krzys-h almost 6 years ago

Another script-only update because I'm having too much fun

  • Added TheWholeWorldRevolving