From c1a87b602c2851539eaae41111cc4b1fe5237236 Mon Sep 17 00:00:00 2001 From: Joe DiPrima Date: Sat, 8 Aug 2026 16:00:05 -0500 Subject: [PATCH] bindings: ship `key G action ModeCycle` in the built-in default board ModeCycle was bound ONLY to the gamepad Start (CONTROLS.MAP), and bindings.txt carried no action bindings at all -- so a KEYBOARD-ONLY player could not reach the control mode. That is the control the torso-twist fix has to be tested through, and it is a shipped gameplay feature (Basic steers with the stick and auto-centres the torso; Standard/Veteran twist the torso and steer with the pedals), so it should not be gamepad-only. G is free. M is taken -- it is keypad button 0x02. DELIBERATELY the default TEMPLATE only, not a bindings-board bump. content/ bindings.txt is a per-machine runtime file (gitignored) and an existing one is never overwritten, so: * a FRESH extract writes the new board and gets G -- which is the zip flow; * an EXISTING tester keeps their file, and their customizations, untouched. Shipping it to existing files means bumping "# bindings-board" and extending kHistoricalDefaultRows so board-2 rows are recognised as "the old board" rather than player customizations. That is the designed path, but it rewrites every tester's bindings file, and doing that in the same build as a large unverified fix pile is how you lose a playtest evening. Left for a build where it is the headline change. Testers on an existing install can add the one line by hand. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018SgmXGNMXavXiafKXf9MDC --- engine/MUNGA_L4/L4PADBINDINGS.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/engine/MUNGA_L4/L4PADBINDINGS.cpp b/engine/MUNGA_L4/L4PADBINDINGS.cpp index 7f87667..788f9b2 100644 --- a/engine/MUNGA_L4/L4PADBINDINGS.cpp +++ b/engine/MUNGA_L4/L4PADBINDINGS.cpp @@ -302,6 +302,13 @@ static const char *defaultProfileText = "key LEFT button 0x44 # look left\n" "key RIGHT button 0x43 # look right\n" "\n" +"# --- CONTROL MODE cycle (Basic -> Standard -> Veteran -> Basic) --------\n" +"# The pod cycles this from a console button and CONTROLS.MAP binds it only to\n" +"# the gamepad Start, so a KEYBOARD-ONLY player had no way to reach it at all.\n" +"# Basic: stick steers, torso auto-centres. Standard/Veteran: stick TWISTS the\n" +"# torso and the PEDALS steer (NUMPAD7/9). G is free; M is keypad button 0x02.\n" +"key G action ModeCycle\n" +"\n" "# --- UPPER MFD banks: number row on top, QWERTY beneath ----------------\n" "# Heat / coolant (0x28-0x2F) -- 1-4 and QWER ARE the coolant system:\n" "# 1/2/3 Condenser 1-3 valve, 4 coolant FLUSH (hold), Q/W/E Condenser\n"