diff --git a/game/reconstructed/mech4.cpp b/game/reconstructed/mech4.cpp index e35cf3c..ecf2825 100644 --- a/game/reconstructed/mech4.cpp +++ b/game/reconstructed/mech4.cpp @@ -2684,17 +2684,22 @@ void const int xNow = gfocus && (pAsync('X') & dn) ? 1 : 0; if (xNow && !sPrevX) gBTDrive.allStop = 1; // edge -> one all-stop sPrevX = xNow; - // V: toggle the view between the authentic COCKPIT eyepoint - // (the pod's only view) and the external chase camera. - static int sPrevV = 0, sViewInside = 0; - const int vNow = focused && (pAsync('V') & dn) ? 1 : 0; - if (vNow && !sPrevV) + // F1: toggle the view between the authentic COCKPIT eyepoint + // (the pod's only view) and the external chase camera. Moved + // off 'V' -- which is the authentic look-behind (held) above -- + // so the two no longer collide (pressing V used to also flip + // the camera). Desktop-only convenience with no RIO equivalent: + // stays on `focused` (not the BT_DEVKEYS `gfocus` gate), always + // live even under PadRIO. + static int sPrevViewKey = 0, sViewInside = 0; + const int viewKeyNow = focused && (pAsync(0x70 /*VK_F1*/) & dn) ? 1 : 0; + if (viewKeyNow && !sPrevViewKey) { sViewInside = !sViewInside; extern void BTSetViewInside(int inside); BTSetViewInside(sViewInside); } - sPrevV = vNow; + sPrevViewKey = viewKeyNow; // RETICLE = SCREEN CENTER (task #58 correction, supersedes the // task #39 "body-mounted view" model): the CAMERA yaws with diff --git a/pack-dist.ps1 b/pack-dist.ps1 index e5b7280..4f5c120 100644 --- a/pack-dist.ps1 +++ b/pack-dist.ps1 @@ -132,6 +132,12 @@ BT412STEAM=1 # ---- Optional -------------------------------------------------------------- +# The engine also has built-in WASD / 1-4 / M / etc. quick keys that OVERLAP the +# bindings.txt layout, so under L4CONTROLS=PAD they stand down automatically (the +# pad + keyboard bindings own the controls). Set to 1 to force them on ALONGSIDE +# the bindings (hybrid keyboard-drive); 0 to force off. Unset = auto. +#BT_DEVKEYS=1 + # Mission-length override, integer seconds (short test missions). The menu's # LENGTH choice sets this; uncomment to force it. #BT_MISSION_SECONDS=120 @@ -179,12 +185,22 @@ green MFD surfaces with the pod's RIO button banks (click them with the mouse; they light as the game commands their lamps). At the chosen length the mission stops and a MISSION COMPLETE scoreboard shows, then it returns to the menu. -Controls (XInput controller and/or keyboard) - rebindable in bindings.txt: - Left stick / WASD drive (throttle holds; A/D steer) - X all stop - Space / A fire +Controls -- under L4CONTROLS=PAD (the shipped default) input comes from the +XInput controller + keyboard through bindings.txt; edit that file to rebind. + Controller left stick drive (throttle holds position; steer) + Controller triggers pedals; A / bumpers / face buttons = fire + hat + Keyboard (default profile) NumPad 8/2/4/6 = stick, 7/9 = pedals, 0 or Space = + fire, Shift/Ctrl = throttle up/down; the number and + letter rows are the MFD bank buttons and the F-keys + the Secondary columns (full layout in bindings.txt) mouse click the on-screen cockpit buttons - (see bindings.txt for the full default layout) +Always-live desktop keys (not rebindable): + F1 toggle cockpit / external chase camera + ` (backtick) hide / show the secondary displays (MFDs + radar) + V (hold) look behind (rear view; rear-mounted weapons fire) +(The engine's built-in WASD / 1-4 quick keys overlap the bindings, so they +stand down under PAD -- set BT412 env BT_DEVKEYS=1 in environ.ini to force +them on alongside.) MULTIPLAYER - please read