--- id: open-questions title: "Open Questions — deferred systems, unknowns, get-from-Nick" status: living source_sections: "CLAUDE.md §9; docs/HARD_PROBLEMS.md; per-subsystem deferral notes" related_topics: [source-completeness, subsystems, multiplayer, combat-damage, locomotion] --- # Open Questions Known unknowns + deliberately-deferred systems. For each: what's known, what's missing, what would resolve it, status. Deferred ≠ broken — most are marked-and-guarded stand-ins with the authentic path scoped. ## From Nick (external — gating for some paths) - **[GATING] The BT game SOURCE CODE** — the missing implementation `.cpp` (mech, subsystems, mapper, HUD, app; see [[source-completeness]]). Without it, Route A (recompile original) is impossible; we reconstruct from the binary instead. Likely on a backup/dev drive. Status: OPEN. - Confirmation the PodPC image is the complete content master. (Low priority — the runtime `BTL4.RES` already has 8 maps + the full mech anim set.) Status: OPEN. - Pod specifics for Phase 8: the 7-monitor driver setup, the RIO cockpit I/O protocol, current Win10+wrapper pod config. Status: OPEN. ## Deferred subsystems / feeds (authentic path scoped, marked in code) - **0xBD3 SubsystemMessageManager (WAVE 8)** — the per-mech message/damage hub @mech+0x190. Gates: the condenser valve CONTROL route (`MoveValve` @0x4ae464 is reconstructed but dormant — no caller + its guard reads the messmgr); the MessageBoard source; the Myomers advanced-damage gate; gauge control-mode cycling. What resolves it: reconstruct 0xBD3 + wire the message routes. - **StatusMessagePool (NULL stub, btstubs.cpp:62)** — the per-player status-message queue. BTPlayer+0x1dc is never populated → MessageBoard is empty (authentic for bring-up). What resolves it: wire the pool + decode `AddStatusMessage @0042e580` + the `Player__StatusMessage` record ({messageId@+0xc, nameEntity@+0x10}). - **Gyroscope (0xBC4)** — layout + joint-I/O reconstructed, but the ctor field-init + the two integrators (IntegrateEyeJoint @004b2ec0 / IntegrateBody @004b30ec) are incomplete → writes NaN to the root joint. Reverted to a stub. A full subsystem-sim reconstruction (bigger than Torso). - **MechControlsMapper look/eyepoint commit** — reconstructed but its offsets collide with declared members; arbitrate before enabling (no port consumer yet). The fire-trigger-through-mapper is still the `gBTWeaponTrigger` bring-up. - **Myomers authentic coupling** — the structural un-stub is INERT (mover feed + heat-gen no-op). Real coupling needs the 0xBD3 advanced-damage gate + `MoverAttach` routing into the LIVE JointedMover (must be reconciled with the gait cutover first). - **SeekVoltageGraph** — 4 Seek* attrs unpublished (a cluster-child, not config-called; non-blocking). ## Locomotion / combat polish (non-gating) - Authentic per-mech TURN-RATE constant (currently a bring-up constant rate). - Body-callback gimp handlers (states 16-19, targets 0x70b2/0x7161 undecoded → fall back to stand); airborne callbacks (`FUN_004a6344`/`FUN_004a7970`). - Wall-block-vs-climb tuning; collision DAMAGE application (computed, not applied in bring-up). - Death: reconstruct `DeathShutdown` (RP `VTV::DeathShutdown` analog) + collapse anim + destroyed skin. The wreck-stays behavior we ship is faithful; do NOT issue DestroyEntityMessage on death. ## Multiplayer (Phase 7 / P6) - Cross-pod COMBAT (target a replicant + route damage to the owning master). - Replicant GAIT animation (replicants don't animate joints yet — derive from replicated velocity). - The pod-LAN config (real IPs, bare-IP pilot entries). The WinSock2 TCP stack (L4NET.CPP) is reconstructed + smoke-tested on one box (two instances share a world, movement replicates). ## Rendering follow-ups (non-blocking) - Replacement-LOD selection for NON-additive multi-LOD models (needs the board's hot-spot/ reference-point semantics; leads: `s_dplobject.lod_ranges[16]/lod_hot_spot`, 0x2047/0x2048). - Day/night MATERIAL path priority (BMF/IMG) — infrastructure done, gated `BT_MATPRI` (over-applies to shared terrain mats); needs the terrain-material model understood. - RGBA4444 alpha (TREE.BSL cutout) decoded but not alpha-tested outside punch batches; VTX/TGA paths. ## Content build sub-project (low priority) - Lab/other-build maps (`des`/`burnt`/`frstrm`) are source-only (`.map` in CONTENT/BT/MAPS/); would need compiling into a RES via the DOS `btl4tool.exe`. The 8 RES maps cover testing. ## Key Relationships - Feeds from: every subsystem/render topic (their deferral notes collect here). - Gating master: [[source-completeness]] (the missing BT source).