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.
- Loads and modifies
data.winfiles - 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)
dotnet buildor on Windows:
./build.ps1GMS-UTML-Patcher --data-path path/to/data.win --patcher-file path/to/patch.json [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 |
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.
This app has fully documented exit codes, see ExitCodes.md
MIT License. See LICENSE for details.
⚠️ Uses UndertaleModLib (GPLv3).
Report issues at:
https://github.com/ZAZiOs/GMS-UTML-Patcher/issues