Mech milestone: reconstruct NameFilter (helper 3/3) -- helpers phase complete

NameFilter is the Mech's mechNameFilter (@0x36c), a small fixed debounce record
the ctor initialises. Reconstructed from FUN_00435a7c: a 10-word (0x28) struct,
Initialize() sets [2]=1 / [8]=[9]=-1 / rest 0 exactly. Header-only. Field
semantics unresolved (only caller is Initialize; reader is the unbuilt HUD) --
names best-effort, but size + init values are binary-exact, which is all the
Mech layout + ctor need.

All 3 missing embedded helper classes now reconstructed + compile-verified under
BC4.52 (AlarmIndicator, SequenceController struct+Init, NameFilter). MECH-LAYOUT.md
step 1 marked done. Next: MechSubsystem base + the subsystem roster, then finalize
MECH.HPP (probe sizeof==0x854), then the ctor + segment-table walk.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-19 20:56:06 -05:00
co-authored by Claude Fable 5
parent cb5ea73ab2
commit efc41f165b
3 changed files with 88 additions and 2 deletions
+6 -2
View File
@@ -115,8 +115,12 @@ legAnimation/bodyAnimation spacing.
### Revised reconstruction order
1. **Helper classes** (block the layout): AlarmIndicator, SequenceController, NameFilter
(AverageOf survives) — from BT411 decomp; identify BTVal (mostly base-class pose fields).
1. ~~**Helper classes** (block the layout): AlarmIndicator, SequenceController, NameFilter~~
**DONE 2026-07-19** — all 3 reconstructed + compile-verified under BC4.52:
MUNGA/ALARM.HPP (AlarmIndicator = StateIndicator subclass, header-only),
BT/SEQCTL.HPP+CPP (SequenceController struct + Init real; gait methods staged),
BT/NAMEFILT.HPP (NameFilter struct + Initialize, header-only). AverageOf survives.
BTVal is mostly base-class pose fields (re-attribute during layout, not Mech's).
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.