#179 FIXED: the look-state machine never committed the SPAWN state -- the Nova showed its rear laser's range pips in the forward view until the first look toggle (Oracle, night 17, same-evening report). The mapper commits eyepoint/enables/pip-group-mask on lookState EDGES only, and both state cells constructed equal (LookNone), so the first tick saw no edge; the reticle's group mask kept its construction bits. Fix: ctor seeds lookState = -1 (impossible), making the first tick an edge into LookNone that stamps the forward view at spawn. The firing half was never wrong -- the weapon ctor is binary-faithful (viewFireEnable = !rearFiring @004b99a8 [T1]); only the pips lied. Verified: pre-fix logs show ZERO [mppr] look-state commits without a look press (retroactive proof of the bug); the fixed build prints exactly one 'look state -> 0' at spawn with zero inputs (25s solo smoke). Rides Friday.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bw71WVsccjwW7uKRg4aWD
This commit is contained in:
co-authored by
Claude Fable 5
parent
87e45547c0
commit
ad5fc7b524
@@ -365,7 +365,17 @@ MechControlsMapper::MechControlsMapper(
|
||||
lookRight = 0;
|
||||
lookDown = 0;
|
||||
lookBehind = 0;
|
||||
lookState = LookNone;
|
||||
lookState = -1; // IMPOSSIBLE state (#179): the commit below fires
|
||||
// only on lookState EDGES, and both cells started
|
||||
// equal (LookNone) -- so the spawn state was never
|
||||
// COMMITTED: the reticle's pip GROUP mask kept its
|
||||
// construction bits and the Nova showed its REAR
|
||||
// laser's pips in the forward view until the first
|
||||
// look toggle (Oracle, night 17). Seeding -1 makes
|
||||
// the mapper's first tick an edge into LookNone,
|
||||
// stamping the forward view exactly as the machine
|
||||
// showed it at spawn (weapon enables were already
|
||||
// ctor-faithful: viewFireEnable = !rearFiring).
|
||||
|
||||
torsoUp = 0;
|
||||
torsoDown = 0;
|
||||
|
||||
Reference in New Issue
Block a user