Remap game controls

This commit is contained in:
James R 2022-02-19 17:05:51 -08:00
parent 3504f7ebd3
commit 2d509f40eb
2 changed files with 19 additions and 9 deletions

View file

@ -940,12 +940,12 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
if (player->spectator || objectplacing) // SRB2Kart: spectators need special controls if (player->spectator || objectplacing) // SRB2Kart: spectators need special controls
{ {
if (G_PlayerInputDown(forplayer, gc_a, 0)) if (G_PlayerInputDown(forplayer, gc_accel, 0))
{ {
cmd->buttons |= BT_ACCELERATE; cmd->buttons |= BT_ACCELERATE;
} }
if (G_PlayerInputDown(forplayer, gc_b, 0)) if (G_PlayerInputDown(forplayer, gc_brake, 0))
{ {
cmd->buttons |= BT_BRAKE; cmd->buttons |= BT_BRAKE;
} }
@ -963,14 +963,14 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
else else
{ {
// forward with key or button // SRB2kart - we use an accel/brake instead of forward/backward. // forward with key or button // SRB2kart - we use an accel/brake instead of forward/backward.
INT32 value = G_PlayerInputAnalog(forplayer, gc_a, 0); INT32 value = G_PlayerInputAnalog(forplayer, gc_accel, 0);
if (value != 0) if (value != 0)
{ {
cmd->buttons |= BT_ACCELERATE; cmd->buttons |= BT_ACCELERATE;
forward += ((value * MAXPLMOVE) >> 10); forward += ((value * MAXPLMOVE) >> 10);
} }
value = G_PlayerInputAnalog(forplayer, gc_b, 0); value = G_PlayerInputAnalog(forplayer, gc_brake, 0);
if (value != 0) if (value != 0)
{ {
cmd->buttons |= BT_BRAKE; cmd->buttons |= BT_BRAKE;
@ -990,26 +990,26 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
} }
// drift // drift
if (G_PlayerInputDown(forplayer, gc_r, 0)) if (G_PlayerInputDown(forplayer, gc_drift, 0))
{ {
cmd->buttons |= BT_DRIFT; cmd->buttons |= BT_DRIFT;
} }
// C // C
if (G_PlayerInputDown(forplayer, gc_c, 0)) if (G_PlayerInputDown(forplayer, gc_spindash, 0))
{ {
forward = 0; forward = 0;
cmd->buttons |= BT_SPINDASHMASK; cmd->buttons |= BT_SPINDASHMASK;
} }
// fire // fire
if (G_PlayerInputDown(forplayer, gc_l, 0)) if (G_PlayerInputDown(forplayer, gc_item, 0))
{ {
cmd->buttons |= BT_ATTACK; cmd->buttons |= BT_ATTACK;
} }
// rear view // rear view
if (G_PlayerInputDown(forplayer, gc_y, 0)) if (G_PlayerInputDown(forplayer, gc_lookback, 0))
{ {
cmd->buttons |= BT_LOOKBACK; cmd->buttons |= BT_LOOKBACK;
} }

View file

@ -76,7 +76,17 @@ typedef enum
gc_screenshot, gc_screenshot,
gc_recordgif, gc_recordgif,
num_gamecontrols num_gamecontrols,
// alias gameplay controls
gc_accel = gc_a,
gc_brake = gc_x,
gc_drift = gc_r,
gc_item = gc_l,
gc_spindash = gc_c,
gc_lookback = gc_b,
} gamecontrols_e; } gamecontrols_e;
// mouse values are used once // mouse values are used once