Architecture documentation#
Evidence layer: one MODULE.md per subsystem documenting where symbols live and
how the binary implements behavior. Normative rules belong in
../spec/.
Modules#
| Module | Status | Path |
|---|---|---|
| UI / windowing | Anchor pass | ui/MODULE.md |
| Graphics (DirectDraw) | Dirty/present pass | gfx/MODULE.md |
| Audio (DirectSound) | Anchor pass | audio/MODULE.md |
| File I/O | Anchor pass | io/MODULE.md |
| Asset loading | Anchor pass | asset/MODULE.md |
| Video (Smacker) | Anchor pass | video/MODULE.md |
| Network / DirectPlay | Pass 20 (opcode handlers) | net/MODULE.md |
| Combat / siege | Anchor pass | combat/MODULE.md |
| Game logic | Winmain + idle tick named | game/MODULE.md |
| Map / province | Pass 14–15 | map/MODULE.md |
| Save / load | Pass 17–19 | save/MODULE.md |
Symbol map#
Renamed symbols and progress: symbol-map.md.
GoG build mapping (behavioral, not address-based): gog-symbol-map.md.
Rename workflow (batch process): RENAME_WORKFLOW.md.
Conventions#
Each module doc must include:
- Purpose
- Key entry points (symbol + address)
- Dependencies
- Data files
- Open questions
Link related structs under ../structs/ and protocols under
../protocols/.
Domain references (outside architecture/)#
| Topic | Path |
|---|---|
| Builds (retail vs GoG) | ../builds.md |
| AI nobles | ../nobles/README.md |
| Skirmish mode (GoG) | ../skirmish/README.md |