Myomer factor: correct the false 'feeder unreconstructed' claim + wire the
crouch gate to the LIVE drive value The myomer system was ALREADY COMPLETE (2026-07-31 seek audit): Performance wrapper @004b8b9c, AvailableOutput @004b8ac0 (gear clamp x quadratic heat degrade x (1 - zone damage)), and the master-perf chain walk + speedDemand scale + turn freeze in mechmppr.cpp:990 -- the same @0x4a9cf2-0x4a9da4 bytes the crouch dig re-decoded. The 2026-08-05 banners calling the feeder dark were an export-gap-blind grep (named members, not offsets). Fixes: mechmppr publishes the chain MAX into mech->myomerEffectiveness (the binary's +0x79C home) so the crouch posture gate reads the live factor (dead/overheated myomers now genuinely refuse squat/rise -- previously the gate read a neutral 1.0 and never fired); the duplicate speedDemand multiply in the posture block is removed (mechmppr's is the one application); banners and locomotion.md corrected. Squat re-benched green on the live wiring. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
58c3db090b
commit
e1c3f2db6a
@@ -322,7 +322,12 @@ for FREE (screenshot receipt: the crouched crimson madcat from the observer's co
|
||||
duckmpA_031). Clip data verified from BTL4.RES (root joint drops -2.22, knees +-1.14; squ/sqd
|
||||
are exact mirrors; interior 'squi/sqdi' variants ship for all 8 chassis). Full solo cycle
|
||||
benched (BT_BTNTEST + BT_BTNTEST2): squat -> hold (joints steady for minutes) -> rise ->
|
||||
standing zeros. Myomer speed-cripple feeder (@004b8be3) still deferred [T3] -- see mech4 banner.
|
||||
standing zeros. Myomer factor: LIVE, not deferred -- the 2026-08-05 "feeder unreconstructed" claim was an
|
||||
export-gap-blind grep (the members are NAMED: speedEffect@0x31C, myomers.cpp; the chain walk +
|
||||
speedDemand scale + turn freeze = mechmppr.cpp:990, the 2026-07-31 seek audit, same bytes).
|
||||
mechmppr now publishes the chain MAX into mech->myomerEffectiveness (the binary's +0x79C home)
|
||||
so the crouch gate reads the live value: dead/overheated myomers (the Oracle seek-4 freeze)
|
||||
refuse the squat AND the rise.
|
||||
The pilot's EYE drops too -- the task-#15 bob channel (gBTEyeBobY <- jointlocal.y each frame)
|
||||
carries the parked -2.22 into DPLEyeRenderable (log receipt bob=-2.2187 through the hold; frame
|
||||
receipt duckcp_030 = grass-level view). A false "eye does not drop" residual was briefly filed
|
||||
|
||||
@@ -1036,12 +1036,13 @@ protected:
|
||||
// (0 none / 1 may-duck / 2 holding-squat), computed per
|
||||
// master frame (FUN_004a9b5c @0x4a9f61-0x4aa007; the
|
||||
// CROUCH reconstruction, 2026-08-05)
|
||||
Scalar myomerEffectiveness; // binary @0x79c -- init 0 then MAX over the heatable
|
||||
// chain's +0x31c each master frame; scales the mapper
|
||||
// speedDemand (dead myomers cripple the walk) and gates
|
||||
// the crouch. FEEDER (Myomers Performance @004b8be3,
|
||||
// not in the export) UNRECONSTRUCTED -- the port holds
|
||||
// the healthy 1.0 [T3]; see the mech4 posture block.
|
||||
Scalar myomerEffectiveness; // binary @0x79c -- the master-perf myomer chain MAX
|
||||
// (speedEffect@0x31C over the myomer subsystems),
|
||||
// published LIVE each mapper update by mechmppr.cpp's
|
||||
// drive-scale block (the 2026-07-31 seek-audit recon of
|
||||
// the same @0x4a9cf2-0x4a9da4 bytes). Consumed by the
|
||||
// crouch posture gate (mech4). Ctor 1.0 = pre-first-
|
||||
// update default only.
|
||||
Scalar gimpSpeedMax; // @0x52c
|
||||
Scalar standSpeed; // @0x530
|
||||
Scalar walkStrideLength; // @0x534
|
||||
|
||||
@@ -4355,19 +4355,19 @@ void
|
||||
// (2) the posture selector (+0x3f8), (3) the DuckRequest consumer.
|
||||
//
|
||||
{
|
||||
// (1) myomerEffectiveness (+0x79c): the binary inits 0 then MAXes
|
||||
// the heatable chain's +0x31c (healthy myomers publish ~1.0;
|
||||
// weapons park transient fireImpulse there) and multiplies the
|
||||
// mapper's speedDemand -- dead muscles = a crawling mech. The
|
||||
// WRITER (Myomers Performance @004b8be3) is not in the export and
|
||||
// stays unreconstructed, so the member holds the ctor's healthy
|
||||
// 1.0 and this multiply is a live no-op until that dig lands
|
||||
// (neutral-value deferral, the role=NULL pattern). [T3 feeder]
|
||||
{
|
||||
MechControlsMapper *postureMppr = MappingMapper();
|
||||
if (postureMppr != 0)
|
||||
postureMppr->speedDemand *= myomerEffectiveness;
|
||||
}
|
||||
// (1) myomerEffectiveness (+0x79c): LIVE. The master-perf myomer
|
||||
// chain walk -- MAX speedEffect@0x31C -> speedDemand scale + the
|
||||
// turn freeze -- was reconstructed 2026-07-31 (the seek audit) in
|
||||
// mechmppr.cpp:990 from the SAME bytes (@0x4a9cf2-0x4a9da4), and
|
||||
// the Myomers Performance/AvailableOutput (@004b8b9c/@004b8ac0:
|
||||
// gear clamp x quadratic heat degrade x (1 - zone damage)) is
|
||||
// complete in myomers.cpp. mechmppr publishes the chain MAX here
|
||||
// (the binary's mech+0x79C store) each frame; the ctor's 1.0 only
|
||||
// covers frames before the first mapper update. (A 2026-08-05
|
||||
// banner called this feeder unreconstructed -- an export-gap-blind
|
||||
// grep missed the named members; corrected 2026-08-06. The
|
||||
// duplicate speedDemand multiply that briefly lived here is gone
|
||||
// -- mechmppr's is the one authentic application.)
|
||||
|
||||
// (2) the posture selector (+0x3f8; feeds the map legend + the
|
||||
// duck arbiter). @0x4a9f61-0x4aa007: any non-zero movementMode
|
||||
|
||||
@@ -1018,6 +1018,11 @@ void
|
||||
if (myomers > 0)
|
||||
{
|
||||
speedDemand *= drive; // @0x4a9d63: in-place demand scale
|
||||
// The binary keeps the chain MAX in mech+0x79C (@0x4a9d00-0x4a9d39)
|
||||
// -- publish it so the CROUCH gate (mech4 posture block, 2026-08-06)
|
||||
// reads the same live factor (dead/overheated myomers cannot squat
|
||||
// or rise; the posture selector tests |factor| <= 1e-4).
|
||||
mech->myomerEffectiveness = drive;
|
||||
if (fabsf(drive) <= 1.0e-4f) // @0x4a9d89 vs _DAT_004ab16c
|
||||
turnDemand = 0.0f; // @0x4a9d9e: mapper+0x12C -- the FREEZE
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user