Skip to content

Repository files navigation

GMS-UTML-Patcher

GMS-UTML-Patcher is a command-line utility designed to modify data.win files created with GameMaker Studio. It uses UndertaleModLib to patch game assets, including graphics, fonts, audio, and GML code.

Note

Work in Progress

  • Documentation is being improved
  • Some advanced features may change

Contributions are welcome! Please see Issues and Pull Requests.


Features

  • Loads and modifies data.win files
  • Applies patches based on JSON configuration
  • Supports all major asset types (code, graphics, fonts, audio)
  • Configurable patching behavior for each asset type
  • Checksum verification for data integrity (--make-checks)

Requirements


Building

dotnet build

or on Windows:

./build.ps1

Usage

GMS-UTML-Patcher --data-path path/to/data.win --patcher-file path/to/patch.json [options]

Command-line options

Option Description
--data-path Path to the original data.win file (required)
--patcher-file Path to the JSON patch configuration (required)
--output Output path (default: original.patched.win)
--skip-hash-check Skip SHA256 hash validation
--skip-timecheck Skip build timestamp checks
--make-checks Generate checksums without patching

Configuration

Basic configuration structure (all sections except checks are optional):

{
  "checks": {
    ...
  },
  "gml": {
    "directory": "code/"
  },
  "fonts": {
    "directory": "fonts/"
  },
  "graphics": {
    "directory": "graphics/"
  },
  "audio": {
    "directory": "audio/"
  }
}

For detailed configuration options and advanced features, see Configuration.md.


Exit codes

This app has fully documented exit codes, see ExitCodes.md


License

MIT License. See LICENSE for details.

⚠️ Uses UndertaleModLib (GPLv3).


Support

Report issues at:
https://github.com/ZAZiOs/GMS-UTML-Patcher/issues

About

Game Maker Studio games patcher that uses UndertaleModLib

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages