Spindash shortcut button

This commit is contained in:
Sally Coolatta 2021-03-09 17:28:20 -05:00
parent 3ebedeaa08
commit 0a10396c84
5 changed files with 79 additions and 70 deletions

View file

@ -1041,6 +1041,12 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
if (PlayerInputDown(ssplayer, gc_drift) || (usejoystick && axis > 0))
cmd->buttons |= BT_DRIFT;
// Spindash with any button/key
// Simply holds all of the inputs for you.
axis = PlayerJoyAxis(ssplayer, AXISSPINDASH);
if (PlayerInputDown(ssplayer, gc_spindash) || (usejoystick && axis > 0))
cmd->buttons |= (BT_ACCELERATE|BT_BRAKE|BT_DRIFT);
// rear view with any button/key
axis = PlayerJoyAxis(ssplayer, AXISLOOKBACK);
if (PlayerInputDown(ssplayer, gc_lookback) || (usejoystick && axis > 0))

View file

@ -109,6 +109,7 @@ typedef enum
AXISFIRE = AXISDIGITAL,
AXISDRIFT,
AXISSPINDASH,
AXISLOOKBACK,
AXISAIM,
} axis_input_e;

View file

@ -52,11 +52,11 @@ const INT32 gcl_brake[num_gcl_brake] = { gc_brake };
const INT32 gcl_drift[num_gcl_drift] = { gc_drift };
const INT32 gcl_spindash[num_gcl_spindash] = {
gc_accelerate, gc_drift, gc_brake
gc_accelerate, gc_drift, gc_brake, gc_spindash
};
const INT32 gcl_movement[num_gcl_movement] = {
gc_accelerate, gc_drift, gc_brake, gc_turnleft, gc_turnright
gc_accelerate, gc_drift, gc_brake, gc_spindash, gc_turnleft, gc_turnright
};
const INT32 gcl_item[num_gcl_item] = {
@ -64,7 +64,7 @@ const INT32 gcl_item[num_gcl_item] = {
};
const INT32 gcl_full[num_gcl_full] = {
gc_accelerate, gc_drift, gc_brake, gc_turnleft, gc_turnright,
gc_accelerate, gc_drift, gc_brake, gc_spindash, gc_turnleft, gc_turnright,
gc_fire, gc_aimforward, gc_aimbackward,
gc_lookback
};

View file

@ -78,6 +78,7 @@ typedef enum
gc_accelerate,
gc_drift,
gc_brake,
gc_spindash,
gc_fire,
gc_lookback,
gc_camreset,
@ -129,10 +130,10 @@ extern INT32 gamecontroldefault[MAXSPLITSCREENPLAYERS][num_gamecontrolschemes][n
#define num_gcl_accelerate 1
#define num_gcl_brake 1
#define num_gcl_drift 1
#define num_gcl_spindash 3
#define num_gcl_movement 5
#define num_gcl_spindash 4
#define num_gcl_movement 6
#define num_gcl_item 3
#define num_gcl_full 9
#define num_gcl_full 10
extern const INT32 gcl_accelerate[num_gcl_accelerate];
extern const INT32 gcl_brake[num_gcl_brake];

View file

@ -1142,6 +1142,7 @@ static menuitem_t OP_AllControlsMenu[] =
{IT_CONTROL, NULL, "Turn Right", M_ChangeControl, gc_turnright },
{IT_CONTROL, NULL, "Drift", M_ChangeControl, gc_drift },
{IT_CONTROL, NULL, "Brake", M_ChangeControl, gc_brake },
{IT_CONTROL, NULL, "Spindash", M_ChangeControl, gc_spindash },
{IT_CONTROL, NULL, "Use/Throw Item", M_ChangeControl, gc_fire },
{IT_CONTROL, NULL, "Aim Forward", M_ChangeControl, gc_aimforward },
{IT_CONTROL, NULL, "Aim Backward", M_ChangeControl, gc_aimbackward},
@ -10403,22 +10404,22 @@ static void M_Setup1PControlsMenu(INT32 choice)
OP_AllControlsMenu[0].itemaction = &OP_Joystick1Def;
// Unhide P1-only controls
OP_AllControlsMenu[15].status = IT_CONTROL; // Chat
//OP_AllControlsMenu[16].status = IT_CONTROL; // Team-chat
OP_AllControlsMenu[16].status = IT_CONTROL; // Rankings
//OP_AllControlsMenu[17].status = IT_CONTROL; // Viewpoint
// 18 is Reset Camera, 19 is Toggle Chasecam
OP_AllControlsMenu[20].status = IT_CONTROL; // Pause
OP_AllControlsMenu[21].status = IT_CONTROL; // Screenshot
OP_AllControlsMenu[22].status = IT_CONTROL; // GIF
OP_AllControlsMenu[23].status = IT_CONTROL; // System Menu
OP_AllControlsMenu[24].status = IT_CONTROL; // Console
/*OP_AllControlsMenu[25].status = IT_HEADER; // Spectator Controls header
OP_AllControlsMenu[26].status = IT_SPACE; // Spectator Controls space
OP_AllControlsMenu[27].status = IT_CONTROL; // Spectate
OP_AllControlsMenu[28].status = IT_CONTROL; // Look Up
OP_AllControlsMenu[29].status = IT_CONTROL; // Look Down
OP_AllControlsMenu[30].status = IT_CONTROL; // Center View
OP_AllControlsMenu[16].status = IT_CONTROL; // Chat
//OP_AllControlsMenu[17].status = IT_CONTROL; // Team-chat
OP_AllControlsMenu[17].status = IT_CONTROL; // Rankings
//OP_AllControlsMenu[18].status = IT_CONTROL; // Viewpoint
// 19 is Reset Camera, 20 is Toggle Chasecam
OP_AllControlsMenu[21].status = IT_CONTROL; // Pause
OP_AllControlsMenu[22].status = IT_CONTROL; // Screenshot
OP_AllControlsMenu[23].status = IT_CONTROL; // GIF
OP_AllControlsMenu[24].status = IT_CONTROL; // System Menu
OP_AllControlsMenu[25].status = IT_CONTROL; // Console
/*OP_AllControlsMenu[26].status = IT_HEADER; // Spectator Controls header
OP_AllControlsMenu[27].status = IT_SPACE; // Spectator Controls space
OP_AllControlsMenu[28].status = IT_CONTROL; // Spectate
OP_AllControlsMenu[29].status = IT_CONTROL; // Look Up
OP_AllControlsMenu[30].status = IT_CONTROL; // Look Down
OP_AllControlsMenu[31].status = IT_CONTROL; // Center View
*/
M_SetupNextMenu(&OP_AllControlsDef);
@ -10435,22 +10436,22 @@ static void M_Setup2PControlsMenu(INT32 choice)
OP_AllControlsMenu[0].itemaction = &OP_Joystick2Def;
// Hide P1-only controls
OP_AllControlsMenu[15].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Viewpoint
// 18 is Reset Camera, 19 is Toggle Chasecam
OP_AllControlsMenu[20].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Center View
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[18].status = IT_GRAYEDOUT2; // Viewpoint
// 19 is Reset Camera, 20 is Toggle Chasecam
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[31].status = IT_GRAYEDOUT2; // Center View
*/
M_SetupNextMenu(&OP_AllControlsDef);
@ -10467,22 +10468,22 @@ static void M_Setup3PControlsMenu(INT32 choice)
OP_AllControlsMenu[0].itemaction = &OP_Joystick3Def;
// Hide P1-only controls
OP_AllControlsMenu[15].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Viewpoint
// 18 is Reset Camera, 19 is Toggle Chasecam
OP_AllControlsMenu[20].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Center View
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[18].status = IT_GRAYEDOUT2; // Viewpoint
// 19 is Reset Camera, 20 is Toggle Chasecam
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[31].status = IT_GRAYEDOUT2; // Center View
*/
M_SetupNextMenu(&OP_AllControlsDef);
@ -10499,22 +10500,22 @@ static void M_Setup4PControlsMenu(INT32 choice)
OP_AllControlsMenu[0].itemaction = &OP_Joystick4Def;
// Hide P1-only controls
OP_AllControlsMenu[15].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Viewpoint
// 18 is Reset Camera, 19 is Toggle Chasecam
OP_AllControlsMenu[20].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Center View
OP_AllControlsMenu[16].status = IT_GRAYEDOUT2; // Chat
//OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Team-chat
OP_AllControlsMenu[17].status = IT_GRAYEDOUT2; // Rankings
//OP_AllControlsMenu[18].status = IT_GRAYEDOUT2; // Viewpoint
// 19 is Reset Camera, 20 is Toggle Chasecam
OP_AllControlsMenu[21].status = IT_GRAYEDOUT2; // Pause
OP_AllControlsMenu[22].status = IT_GRAYEDOUT2; // Screenshot
OP_AllControlsMenu[23].status = IT_GRAYEDOUT2; // GIF
OP_AllControlsMenu[24].status = IT_GRAYEDOUT2; // System Menu
OP_AllControlsMenu[25].status = IT_GRAYEDOUT2; // Console
/*OP_AllControlsMenu[26].status = IT_GRAYEDOUT2; // Spectator Controls header
OP_AllControlsMenu[27].status = IT_GRAYEDOUT2; // Spectator Controls space
OP_AllControlsMenu[28].status = IT_GRAYEDOUT2; // Spectate
OP_AllControlsMenu[29].status = IT_GRAYEDOUT2; // Look Up
OP_AllControlsMenu[30].status = IT_GRAYEDOUT2; // Look Down
OP_AllControlsMenu[31].status = IT_GRAYEDOUT2; // Center View
*/
M_SetupNextMenu(&OP_AllControlsDef);