KB: reconcile the context system with the day's work

- decomp-reference.md: the binary ATTRIBUTE-TABLE section -- 16-byte
  {id,name,off+1,0} row format (alignment warning), the walker technique,
  and the three recovered tables (Mech ids 21-56 incl the corrected
  EyepointRotation@0x360 / RearFiring@0x410 / DistanceToMissile@0x400
  labels; HeatSink 3-12; Torso 3-15; the weapon RearFiring 'b' marker).
- combat-damage.md: the REAR-FIRE + look-view system (roster survey: the
  Blackhawk's ERMLaser_2/3 are the game's only rear weapons; every missile
  rack forward), the missile mount-frame launch truth, and the BANKED
  full Missile flight-model decode (three performances, proximity fuse).
- wintesla-port.md: post-Phase-4 closures (instability model live, F14
  static filter baked, the footstep warm-up bug + its trace-cap lesson);
  deferred list trimmed to F21/HRTF.
- AUDIO_FIDELITY.md: status block -- F14 FIXED, warm-up bug noted.
- open-questions.md: "which mechs used rear fire" answered from data;
  remaining look-view key bindings noted.
checkctx: CLEAN.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-16 18:07:15 -05:00
co-authored by Claude Opus 4.8
parent ebdfa40d95
commit 224092aaff
5 changed files with 82 additions and 8 deletions
+29
View File
@@ -127,6 +127,35 @@ valid for reading the decomp, NOT for our compiled layout (see [[reconstruction-
`mech+0x100` (a subsystem-view of localOrigin.linearPosition): `.x@+0x100, .z@+0x108`. [T1]
### Binary ATTRIBUTE TABLES (2026-07-16, walked from the image) [T1]
**Row format: 16-byte `{id, namePtr, memberOffset+1, 0}`** (MIND THE ALIGNMENT — an 8-off walk
invents a fake one-slot shift; verified against the live-tested ConfigureActivePress row
@0x50de54). Walker: find the attr NAME string in DATA, find the pointer to it, decode ±16-byte
rows until sanity fails (`python + struct`, see the session commits `cc2b109`/`21378ec`).
- **Mech entity table @0x50c0xx, ids 2156**: MaxAcceleration@0x344 (=forwardCycleRate),
CurrentSpeed@0x348 (=legCycleSpeed), MaxRunSpeed@0x34c (=run-cycle avg = the mapper's demand
multiplier), Collision{State,Normal,Speed,MaterialType}@0x450/0x4a8/0x4b4/0x4a4,
EyepointRotation@0x360 (the eye renderable's view rotation — the old `mechName@0x360` label is a
MISREAD), TargetReticle@0x36c, FootStep@0x394, AnimationState@0x39c, ReplicantAnimationState
@0x714, LinearSpeed/AngularSpeed/ClimbRate/AccelerationLastFrame@0x81c/0x824/0x828/0x82c (the
15-sample-ring velocity means + the accel snapshot), damage levels @0x354-0x35c, TestButton1-6
@0x328-0x33c, ReduceButton@0x340, Radar{Range,LinearPosition,AngularPosition}@0x404-0x40c,
**RearFiring@0x410** (OR of the weapons' rear flags; old `stateFlags` label was wrong),
RequestDuckAnimation@0x398, UnstablePercentage@0x3f0, SuperStop@0x3f4, DuckState@0x3f8,
IncomingLock@0x3fc, DistanceToMissile@0x400 (FLT_MAX far default; old `maxSpeed` label wrong).
- **HeatSink table @0x50e438, ids 312**: HeatSink@0x164, CurrentTemperature@0x114,
Degradation/FailureTemperature@0x118/0x11c, Normalized/DegradationPressure@0x120/0x124,
CoolantCapacity@0x128, CoolantMass@0x12c, CoolantMassLeakRate@0x130, **ReportLeak@0x138**
(= coolantActive, the leak hysteresis flag). Confirms every port heat binding.
- **Torso table, ids 315**: RotationOfTorsoVertical/Horizontal@0x1e4/0x1d8, HorizontalLimit
R/L@0x1dc/0x1e0, SpeedOfTorsoVertical/Horizontal@0x1ec/0x1e8 (|rate|, abs'd),
StickPosition@0x1f0, TorsoUp/Down/Left/Right/Center@0x1f8-0x208, MotionState@0x20c
(statusFlags; ==2 = the limit-hit frame).
- **MechWeapon rows**: RearFiring id 0x1B @0x334 = "the mount segment page name contains 'b'"
(marker @0x511aa2 — the back gun ports `sitelbgunport`/`siterbgunport`; ctor part_013.c:6913-30).
---
## 4. Damage delivery