From ad5fc7b5247cb6af54f4d56a0409b57fd01b8347 Mon Sep 17 00:00:00 2001 From: Joe DiPrima Date: Thu, 13 Aug 2026 23:32:30 -0500 Subject: [PATCH] #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 Claude-Session: https://claude.ai/code/session_016bw71WVsccjwW7uKRg4aWD --- game/reconstructed/mechmppr.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/game/reconstructed/mechmppr.cpp b/game/reconstructed/mechmppr.cpp index 899d7c9..dbef451 100644 --- a/game/reconstructed/mechmppr.cpp +++ b/game/reconstructed/mechmppr.cpp @@ -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;