2 KiB
2 KiB
Backlog (prioritized)
Object model + control flow are mapped concurrently. Priority favors targets that unblock the most other work. Groomed by re-quartermaster.
Now
- Data readers first (reimpl lever) — implement the Mars brace-block parser + flat-KV +
CSV readers. Unlocks tech tree, weapons (207), ship sections (875), races, AI tables,
scenarios, tuning — nearly free. Also becomes the first
verify/parsers/. Seefindings/subsystems/data-model.md. - RTTI class inventory — pull the full class/vftable list from ReVa; this seeds the real object-model target names (currently placeholders on the board).
- empire/player object — the root of the game state; cross-ref the save-editor structs.
- entry → main loop — establish the control-flow spine in parallel with the object model.
Next
- star system / fleet / ship / tech-tree objects (fan-out once class names are known).
- D3D9 device init → present loop (renderer anchor).
- save load/write path (ties object model to on-disk format; feeds verify/ parsers).
Later
- battle-load path (primary bug) — needs the object model + main loop mapped first.
- .gob/DDS/model asset parsers (interop tools).
Breadth queue (next rounds, one Ghidra user at a time; non-Ghidra items can run in parallel)
- Combat sim:
GameCombatSim/Mars::CombatSimtick,CombatCommand*dispatch (31 types), weapon flight perweaponclass(Ghidra) - Renderer: D3D9 init →
Mars::DrawDevice/Camera→ present loop;.fxshader usage (Ghidra) - Networking:
SNM*/FNM*protocol from the 82NetMsgReg_*factories; lockstep sync + host migration (Ghidra) - AI:
AIPlayer, fuzzyIAIRule,TacAISquad*; how the AI CSV tables are consumed (Ghidra) Mars::Buffer::gobioVFS + NativeFileSystem override order (Ghidra, small)- Ship design rules: section sockets/banks →
ShipDesignDefvalidation (data + small Ghidra) - Reader/verify: fold strategic-internals formulas into harness checks against the 3 real saves (Python)