sots-re/campaign/board.md

3.9 KiB

Campaign board

Status flow: backlog → in-progress → mapped → verified (or blocked). verified requires re-verifier evidence. Maintained by re-quartermaster.

Target Type Status Conf Coverage Updated Notes
RTTI class inventory meta mapped high 100% 2026-09-07 findings/objects/00-inventory.md — 1924 types, engine=Mars
.gob format subsystem mapped high 100% 2026-09-07 renamed uncompressed ZIP (community-known)
Mars::AppStartup (entry) control-flow backlog — 0% 2026-09-07 bootstrap → main loop
main loop / tick dispatch control-flow backlog — 0% 2026-09-07 turn SM known from names: strategic round -> SETurnEndPending -> SEProcessTurn -> querying round -> combat round -> SNMAllCombatDone. Ghidra: StrategyMapScreen ctor, ScreenBar::ToggleList, CombatScreen load
Game::ClientPlayer / AIPlayer object in-progress low 30% 2026-09-07 R2: struct recovery via save-name xrefs (SimPlayerDetails); vft ClientPlayer@0x00a32b68 : StrategyPlayer, NetworkObject
Game::StarSystem object in-progress low 30% 2026-09-07 R2: struct recovery via save-name xrefs; vft@0x00a200e4 : StarMapNode
Game::Planet / DOPlanet object in-progress low 30% 2026-09-07 R2: struct recovery via save-name xrefs; vft@0x009ef144 (36) : Actor chain
Game::ShipDesignDef / DesignList object in-progress low 30% 2026-09-07 vft@0x009fef64 (3), leaf (0 bases); mostly data-defined via .shipsection. fields TBD
Game::FleetLayout object backlog — 0% 2026-09-07 fleet composition
Mars entity chain object mapped high 100% 2026-09-07 EntityBase@0x00a36fd0 (10) -> PhysicalEntity@0x00a3710c (12) -> TargetableEntity -> Actor@0x009e2114 (36); mixins RigidBody/Body/NetworkObject/HandleObject/IScriptable
Game::GameCombatSim + CombatCommand* subsystem backlog — 0% 2026-09-07 tactical combat (~40 command types)
D3D9 device init subsystem backlog — 0% 2026-09-07 Mars::DrawDevice/Camera → Direct3DCreate9/CreateDevice
Mars::Buffer::gobio subsystem in-progress — 0% 2026-09-07 .gob I/O; anchors the verify/ parser
serializable-types vs save structs verify mapped high 100% 2026-09-07 findings/objects/save-editor-structs.md (~130 structs, exact order); verifier: cross-check vs binary next
battle-load path subsystem mapped med 60% 2026-09-07 mitigation = blunt affinity pin FUN_0089ee70 (SetProcessAffinityMask); NO topology detection -> no adaptive branch; cause = emergent multi-core contention
class hierarchy + key vftables meta mapped high 100% 2026-09-07 findings/objects/ghidra-recon.md - RTTI Base_Class_Array read directly; vftables for 8 core classes
data-model (.gob data files) subsystem mapped high 100% 2026-09-07 findings/subsystems/data-model.md - tech/weapons/sections/races/AI all data-driven
string / config intel meta mapped high 100% 2026-09-07 findings/subsystems/strings-and-config.md
Mars brace-block parser subsystem verified high 100% 2026-09-07 verify/parsers/ (mars_data, flat_kv, manifest, effect_txt, verify.py): 1595/1595 files parse, 0 dangling cross-links; catalogs in verify/results/data-catalogs/
networking (SNM/FNM + GameSpy) subsystem backlog — 0% 2026-09-07 ~60 SNM strategy msgs, FNM file-xfer/host-migration; lockstep sim
battle-load: thread contention subsystem backlog — 0% 2026-09-07 root cause hunt: CreateThread sites FUN_00902350, FUN_00736e30, FUN_008a0e50; streaming-sound thread; lockstep sync waits
UI screen & flow map meta mapped high 100% 2026-09-07 findings/subsystems/ui-screen-map.md - 36 screens; screens are C++ on Mars controls (NOT data); turn state machine recovered