Mech milestone phase 2: map the complete subsystem family tree
Records the full mech-subsystem hierarchy discovered while reconstructing the roster, with per-class build status. 6 classes done + verified (MechSubsystem, HeatableSubsystem, HeatSink, PoweredSubsystem, Sensor, Generator); the tree shows the remaining intermediates (HeatWatcher : MechSubsystem, PowerWatcher : HeatWatcher) that unblock the Torso/HUD/Gyroscope branch (the Mech's directly- referenced subsystems), plus Myomers/Condenser leaves and the separate weapon subtree. The reconstruction pattern is now a proven template (documented). Enables efficient continuation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -100,8 +100,37 @@ subsystems must be created AFTER the generator in the segment-walk order, and th
|
||||
Mech must expose GetSubsystemCount()/GetSubsystem(). This ordering constraint is
|
||||
a segment-walk (phase-4 ctor) concern; note it there.
|
||||
|
||||
**Next roster steps:** add the missing HeatSink class (between HeatableSubsystem
|
||||
and PoweredSubsystem), fix POWERSUB.HPP's base, reconstruct PoweredSubsystem
|
||||
(with its alarms + voltage-source slot), then the leaves (Sensor first — its
|
||||
interface survives). Condenser/HeatWatcher (VDATA 0xBC6/0xBC7) are siblings in
|
||||
the heat family.
|
||||
## Complete subsystem family tree (mapped 2026-07-19) + build status
|
||||
|
||||
```
|
||||
MechSubsystem DONE (MECHSUB.HPP/.CPP)
|
||||
├─ HeatableSubsystem DONE (HEAT)
|
||||
│ └─ HeatSink DONE (HEAT)
|
||||
│ ├─ PoweredSubsystem DONE (POWERSUB)
|
||||
│ │ ├─ Sensor DONE (SENSOR; interface survives in CODE)
|
||||
│ │ └─ Myomers todo (myomers.hpp)
|
||||
│ ├─ Generator DONE (POWERSUB; source, GNRATOR.TCP partial)
|
||||
│ └─ Condenser todo (heat.hpp)
|
||||
└─ HeatWatcher (: MechSubsystem) todo -- sibling branch to HeatableSubsystem
|
||||
└─ PowerWatcher (: HeatWatcher) todo
|
||||
├─ Torso todo (torso.hpp) -- Mech sinkSourceSubsystem
|
||||
├─ HUD todo (hud.hpp) -- Mech hudSubsystem
|
||||
└─ Gyroscope todo (gyro.hpp) -- Mech gyroSubsystem
|
||||
```
|
||||
|
||||
Plus the WEAPON family (separate subtree): MechWeapon → {PPC, Gauss, ProjectileWeapon
|
||||
→ Missile/…}. PPC/GAUSS source survives in CODE/BT/BT; AMMOBIN/EMITTER/MISSILE/
|
||||
PROJTILE/PROJWEAP have .TCP partials; the rest decomp-only.
|
||||
|
||||
**Pattern established** (6 classes verified): each = statics
|
||||
(ClassDerivations(parent, "Name") + DefaultData reusing Subsystem::MessageHandlers/
|
||||
AttributeIndex/StateCount), ctor chaining the parent + member init from the
|
||||
resource, dtor, TestClass/TestInstance/ResetToInitialState real, per-frame
|
||||
Simulation method + CreateStreamedSubsystem staged with Fail. Embedded alarms =
|
||||
AlarmIndicator(N); filters = AverageOf<Scalar>; owner->GetInstance() !=
|
||||
ReplicantInstance gates the master performance install.
|
||||
|
||||
**Next:** HeatWatcher (: MechSubsystem) then PowerWatcher (: HeatWatcher) unblock
|
||||
the Torso/HUD/Gyroscope branch (the Mech's directly-referenced subsystems); Myomers
|
||||
+ Condenser are direct leaves; then the weapon family. After the roster:
|
||||
finalize MECH.HPP layout (probe sizeof==0x854), then the Mech ctor + segment walk.
|
||||
|
||||
Reference in New Issue
Block a user