Skip to content

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