Input: split the V key -- look-behind stays, view toggle moves to F1
'V' was double-bound: the authentic look-behind (held) AND the cockpit/chase view toggle (edge), so a single press flipped the camera while also looking behind. Move the view toggle to F1 (unused); V is now look-behind only. The view toggle is a desktop-only convenience (no RIO equivalent) so it stays on `focused`, always live -- including under PadRIO. Look-behind keeps the BT_DEVKEYS `gfocus` gate (a RIO device's binding owns it when engaged). Dist README/environ.ini corrected to match reality: under L4CONTROLS=PAD the default keyboard driving is the NumPad (WASD are MFD-bank buttons in the default bindings.txt), the controller left stick drives, F1/backtick/V-hold are the always-live desktop keys, and BT_DEVKEYS=1 re-enables the built-in quick keys. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user