# 11 — Tool: LateralGM

**Language**: Java
**Target**: `.gmd`, `.gm6`, `.gmk` (parsing + editing)
**Role**: Open-source IDE alternative + reference parser

Bridges legacy `.gmd` files to modern environments. Runs on any JRE host (Linux / macOS / Win).

## What it does

- Parses sequential binary `.gmd` into navigable object model.
- Renders DnD action nodes from their binary IDs back to visual blocks (or GML).
- Edits objects, scripts, rooms, sprites.
- **Exports forward** to newer formats (`.gmx`, `.gmk`) for migration into GMS.

## Reference implementation

`LibReader.java` is the canonical parser. Read it before writing any custom `.gmd` reader. It maps every block in [03-gmd-format](03-gmd-format.md) and contains the DnD `Action_ID` lookup table referenced in [04-dnd-serialization](04-dnd-serialization.md).

## Pipeline role

```
.exe ──[GMD-Recovery / GM Decompiler]──> .gmd ──[LateralGM]──> editable / .gmx export
                                          │
                                          └──[GmkSplitter pattern]──> VCS-friendly tree
```

Use LateralGM after extracting `.gmd` to:

- Verify the extraction is structurally valid.
- Inspect rooms / objects visually.
- Re-export for migration to modern GameMaker.

## See also

- [03-gmd-format](03-gmd-format.md)
- [04-dnd-serialization](04-dnd-serialization.md)
- [12-tool-gmksplitter](12-tool-gmksplitter.md)
- [14-gb1-backups](14-gb1-backups.md) — opens renamed `.gb1` natively
