Mech layout: correct AverageOf status (survives) -> 3 missing helpers
Full-archive re-check: AverageOf DOES survive (AVERAGE.HPP, the SIGNATURED lineage BT411 preserved), so telemetryFilter[5]'s type is available. The genuinely-missing embedded helpers are just AlarmIndicator, SequenceController, and NameFilter (confirmed absent from all of CODE; no alarm/filter/sequence headers) -- to be reconstructed from BT411 decomp before the Mech layout finalizes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -82,7 +82,7 @@ Settles the open item in the "Real 1995 types" bullet above:
|
||||
|---|---|---|
|
||||
| ReconAlarm (AlarmIndicator) | AlarmIndicator (multi-level, N levels sets size) | ❌ MISSING |
|
||||
| ReconSeq | SequenceController (animation sequence) | ❌ MISSING |
|
||||
| ReconFiltered / FilteredScalar | AverageOf<Scalar> (15-sample running avg) | ❌ MISSING |
|
||||
| ReconFiltered / FilteredScalar | **AverageOf<Scalar>** (15-sample running avg) | ✅ AVERAGE.HPP |
|
||||
| ReconFiltered (mechNameFilter) | NameFilter | ❌ MISSING |
|
||||
| ReconChain<Subsystem*> | ChainOf<Subsystem*> | ✅ CHAIN.HPP |
|
||||
| ReconMatrix / Matrix34 | AffineMatrix / Matrix | ✅ |
|
||||
@@ -90,11 +90,14 @@ Settles the open item in the "Real 1995 types" bullet above:
|
||||
| Reticle | Reticle | ✅ RETICLE.HPP |
|
||||
| BTVal (turretBase, mechName, torsoAim*, aimRate, headPitch, torsoTwist) | animated value/quaternion — **UNIDENTIFIED**; BT411 BTVal is a no-op placeholder. Most BTVal members are < 0x328 = BASE-class pose fields (re-attribute per §"Consequences"), so their type is a base concern, not Mech's. |
|
||||
|
||||
### CRITICAL new finding — embedded helper classes are ALSO missing
|
||||
### CRITICAL new finding — 3 embedded helper classes are missing
|
||||
|
||||
`AlarmIndicator`, `SequenceController`, `NameFilter`, `AverageOf` do **not** exist anywhere in
|
||||
the 4.10 CODE archive (confirmed by full-tree grep). They are additional helper classes the
|
||||
milestone must reconstruct, and their sizes set the embedded-member offsets — so the
|
||||
`AlarmIndicator`, `SequenceController`, `NameFilter` do **not** exist anywhere in the 4.10
|
||||
CODE archive (confirmed by full-tree grep; no *alarm*/*filter*/*sequen* headers either).
|
||||
They are additional helper classes the milestone must reconstruct from BT411's decomp, and
|
||||
their sizes set the embedded-member offsets. (`AverageOf` was initially flagged missing but
|
||||
DOES survive — AVERAGE.HPP, same SIGNATURED lineage BT411 preserved — so telemetryFilter[5]'s
|
||||
type is available.) The alarm sizing: the
|
||||
`masterAlarm@0x39C`/`heatAlarm@0x450`/`stabilityAlarm@0x4C4`/`statusAlarm@0x714` spacing
|
||||
DERIVES the AlarmIndicator per-level size (e.g. masterAlarm 33 levels spans 0x39C..0x450 =
|
||||
0xB4; heatAlarm 3 levels spans 0x450..0x4C4 = 0x74 — a fixed header + N-level array; solve
|
||||
@@ -112,8 +115,8 @@ legAnimation/bodyAnimation spacing.
|
||||
|
||||
### Revised reconstruction order
|
||||
|
||||
1. **Helper classes** (block the layout): AlarmIndicator, SequenceController, NameFilter,
|
||||
AverageOf<Scalar> — sizes solved from the offset-spacing equations above; identify BTVal.
|
||||
1. **Helper classes** (block the layout): AlarmIndicator, SequenceController, NameFilter
|
||||
(AverageOf survives) — from BT411 decomp; identify BTVal (mostly base-class pose fields).
|
||||
2. **MechSubsystem base + roster** (GAUSS/PPC/SENSOR + .TCP partials + decomp).
|
||||
3. **Finalize MECH.HPP** per the offset map; probe sizeof(Mech)==0x854.
|
||||
4. **Mech ctor** (@004a1674): embedded construction + segment-table walk.
|
||||
|
||||
Reference in New Issue
Block a user