# Glossary

| Term | Definition |
|---|---|
| **5.3a** | Final iterative release of GameMaker 5.x cycle. Last build before structural overhaul in 6.0. |
| **`.bno` / `.bnb`** | Project-specific proprietary save / data formats. No public spec — recover by reading the project's own GML. See [16-bno-bnb-notes](16-bno-bnb-notes.md). |
| **`.gb1` – `.gb9`** | Auto-backup files created by IDE on save. Byte-identical copies of prior `.gmd`. See [14-gb1-backups](14-gb1-backups.md). |
| **`.gmd`** | GameMaker Design — canonical editable source format for GM 4.x and 5.x. Monolithic binary. See [03-gmd-format](03-gmd-format.md). |
| **`.gmk` / `.gm6` / `.gm81`** | Successor formats (GM 6 / 7 / 8.1). Add secondary structural encryption. Out of scope for 5.3a but parseable by [LateralGM](11-tool-lateralgm.md). |
| **`.gmr`** | Pre-4.0 standalone archive format. Required separate runner. Replaced by appended payload model in 4.0. |
| **`.gmspr`** | Internal sprite serialization format used inside the `.gmd` Sprites block. ZLIB-compressed pixel data + collision matrix. |
| **`.gmx`** | XML-based modern GameMaker source format. LateralGM exports `.gmd` to `.gmx` for migration to GMS. |
| **39dll** | Third-party `39dll.dll` providing TCP/UDP sockets to 5.3a (which has zero native networking). See [08-39dll-networking](08-39dll-networking.md). |
| **Altar.NET** | GMS data.win unpacker. **Incompatible with 5.3a.** See [13-modern-tool-incompat](13-modern-tool-incompat.md). |
| **Appended payload** | Compilation model where serialized project data is XOR-obfuscated, ZLIB-compressed, and concatenated to the EOF of a Delphi runner stub. See [01-runner-architecture](01-runner-architecture.md). |
| **`data.win` / `runner.data`** | GMS chunk-based asset archive. Parsed via FORM magic header. Not present in 5.3a. |
| **Delphi 5** | Native compiler/IDE used to build the GameMaker 5.3a runner stub itself. |
| **DnD** | Drag-and-Drop visual scripting. Stored as binary action nodes inside Object events. See [04-dnd-serialization](04-dnd-serialization.md). |
| **`external_define`** | GML function binding an external DLL function into runtime scope. Sole bridge to non-VM functionality. See [07-gml-core-functions](07-gml-core-functions.md). |
| **FORM header** | Magic header marking start of GMS chunk archive. Hunting for this in 5.3a fails by design. |
| **GMD-Recovery** | VBGAMER45's VB6 dynamic-memory decompiler for 4.3–5.3a. See [09-tool-gmd-recovery](09-tool-gmd-recovery.md). |
| **GM Decompiler v2.1** | Java-based static decompiler covering 5.3a–7.0. See [10-tool-gm-decompiler-v21](10-tool-gm-decompiler-v21.md). |
| **GmkSplitter** | Tool that disassembles `.gmk`/`.gm81` into VCS-friendly tree. Pattern applicable to `.gmd`. See [12-tool-gmksplitter](12-tool-gmksplitter.md). |
| **GML** | GameMaker Language. Custom scripting language interpreted by the runner's stack VM. See [05-gml-vm](05-gml-vm.md). |
| **LateralGM** | Open-source Java IDE / parser for legacy GameMaker formats. See [11-tool-lateralgm](11-tool-lateralgm.md). |
| **`LibReader.java`** | Canonical `.gmd` parser inside LateralGM. Reference implementation. |
| **Runner / runner stub** | Pre-compiled Delphi 5 `.exe` to which the `.gmd` payload is appended at export. |
| **Runner-as-oracle** | The flaw that the runner must decrypt its own payload at runtime, exposing key + plaintext in RAM. See [02-encryption](02-encryption.md). |
| **UndertaleModTool (UTMT)** | GMS reverse-engineering tool. **Incompatible with 5.3a.** See [13-modern-tool-incompat](13-modern-tool-incompat.md). |
| **YYC** | YoYo Compiler. Modern GameMaker option that transcompiles GML → C++ → native binary. Not present in 5.3a (interpreter-only). |
| **ZLIB** | Compression algorithm used for asset blocks (sprites, backgrounds) inside `.gmd` and for the appended payload. |

## See also

- [README](README.md) — full file index + task router
- [quick-reference](quick-reference.md)
