3 KiB
3 KiB
Open questions
Each links to the finding that raised it. Promoted to backlog or closed by re-quartermaster.
- Compiler archive mismatch — imports say MSVCR100/MSVCP100 (VS2010), but Ghidra applied
windows_vs12_32datatypes (closest available). Confirm the exact toolchain from the PE Rich header; decide which datatype archive best fits. (from 01-fingerprint) - Battle-load root cause — inferred as single-threaded engine + core-count-sensitive code;
must be confirmed by a
ForceSingleCore=0vs=1diff once the main loop is mapped. (from 00-strategy) - Save-editor struct coverage — community editors cover players/tech/systems; fleet/combat state coverage may be partial. Treat as strong hints, verify each field against real saves.
- Lockstep determinism —
@SYNC ERROR DETECTED: Frame %dindicates a deterministic lockstep sim. Big for reimplementation + old-vs-new differential (determinism makes equivalence checkable frame-by-frame). Confirm scope. (from strings-and-config) - Mods override mechanism —
.gob=gobio::ZipFileSystemwith aNativeFileSystemloose-file override; this is how./Modswins over archived files. Verify load order. (from strings-and-config) - Battle-load root cause — the shipped fix is a blunt process-affinity pin (
FUN_0089ee70) with NO CPU-topology detection, so there is no adaptive branch. The real cause is emergent multi-core contention: which thread(s)? Investigate the 3CreateThreadsites (FUN_00902350,FUN_00736e30, startupFUN_008a0e50), the streaming-sound thread, and lockstep sync waits. (from ghidra-recon) - Save-struct contradictions (R1 vs R2) — field widths (
Abdn/Dstyd/ltisInt16 vs Int32;Bats2), R2'sOID = PID*16owner-handle claim, species id 4 (_NPCvs 'AI Rebellion'). Resolve against the binary's Streamable read code. (from save-editor-structs) - Unlabeled save blocks —
CdPlayer(unknown1..35), emptySimSystemDetailSpy, opaque ~2500 B RNG blob. Analyst targets once the Streamable readers are located. (from save-editor-structs) - Missing HUD scripts — exe references
GUI/Combat/CombatHUD.script,SensorHUD.script,NoHUD.scriptbut none ship in the gobs or loose; likely dev-only overrides via the gobio native-FS fallback. Confirm viaCombatScreenload path. Also:.scriptfiles are display configs, not widget layouts (corrects round-one note). (from ui-screen-map) - Tech
allowsdefault per-race % —tech_tree.jsonedges only carry races written in theallowsstring; the default for an unlisted race (believed 100%) is engine code. Ghidra target in the tech loader. (from data-parsers) - Engine parser leniency — 12 shipped shipsections are syntactically broken (unclosed
{, extra}) yet load; keys and identifiers are case-insensitive. Reimplementation must match this leniency..effectis its ownTXT/BEGIN-ENDformat, not brace-block (corrects round one). (from data-parsers)