From b546f7d18890ad1ec46ac56a65862f68831225da Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Tue, 4 Aug 2020 01:41:00 -0400 Subject: [PATCH] Merge g_input.c/h --- src/g_input.c | 306 +++++++++++++------------------------------------- src/g_input.h | 62 +++------- 2 files changed, 92 insertions(+), 276 deletions(-) diff --git a/src/g_input.c b/src/g_input.c index 59b462390..eecc44e8b 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -44,56 +44,34 @@ joy3xmove[JOYAXISSET], joy3ymove[JOYAXISSET], joy4xmove[JOYAXISSET], joy4ymove[J UINT8 gamekeydown[NUMINPUTS]; // two key codes (or virtual key) per game control -INT32 gamecontrol[num_gamecontrols][2]; -INT32 gamecontrolbis[num_gamecontrols][2]; // secondary splitscreen player -<<<<<<< HEAD -INT32 gamecontrol3[num_gamecontrols][2]; // tertiary splitscreen player -INT32 gamecontrol4[num_gamecontrols][2]; // quarternary splitscreen player -======= -INT32 gamecontroldefault[num_gamecontrolschemes][num_gamecontrols][2]; // default control storage, use 0 (gcs_custom) for memory retention -INT32 gamecontrolbisdefault[num_gamecontrolschemes][num_gamecontrols][2]; +INT32 gamecontrol[MAXSPLITSCREENPLAYERS][num_gamecontrols][2]; +INT32 gamecontroldefault[MAXSPLITSCREENPLAYERS][num_gamecontrolschemes][num_gamecontrols][2]; // default control storage, use 0 (gcs_custom) for memory retention // lists of GC codes for selective operation -const INT32 gcl_tutorial_check[num_gcl_tutorial_check] = { - gc_forward, gc_backward, gc_strafeleft, gc_straferight, - gc_turnleft, gc_turnright -}; +const INT32 gcl_accelerate[num_gcl_accelerate] = { gc_accelerate }; -const INT32 gcl_tutorial_used[num_gcl_tutorial_used] = { - gc_forward, gc_backward, gc_strafeleft, gc_straferight, - gc_turnleft, gc_turnright, - gc_jump, gc_use -}; +const INT32 gcl_brake[num_gcl_brake] = { gc_brake }; -const INT32 gcl_tutorial_full[num_gcl_tutorial_full] = { - gc_forward, gc_backward, gc_strafeleft, gc_straferight, - gc_lookup, gc_lookdown, gc_turnleft, gc_turnright, gc_centerview, - gc_jump, gc_use, - gc_fire, gc_firenormal +const INT32 gcl_drift[num_gcl_drift] = { gc_drift }; + +const INT32 gcl_spindash[num_gcl_spindash] = { + gc_accelerate, gc_drift, gc_brake }; const INT32 gcl_movement[num_gcl_movement] = { - gc_forward, gc_backward, gc_strafeleft, gc_straferight + gc_accelerate, gc_drift, gc_brake, gc_turnleft, gc_turnright }; -const INT32 gcl_camera[num_gcl_camera] = { - gc_turnleft, gc_turnright +const INT32 gcl_item[num_gcl_item] = { + gc_fire, gc_aimforward, gc_aimbackward }; -const INT32 gcl_movement_camera[num_gcl_movement_camera] = { - gc_forward, gc_backward, gc_strafeleft, gc_straferight, - gc_turnleft, gc_turnright +const INT32 gcl_full[num_gcl_full] = { + gc_accelerate, gc_drift, gc_brake, gc_turnleft, gc_turnright, + gc_fire, gc_aimforward, gc_aimbackward, + gc_lookback }; -const INT32 gcl_jump[num_gcl_jump] = { gc_jump }; - -const INT32 gcl_use[num_gcl_use] = { gc_use }; - -const INT32 gcl_jump_use[num_gcl_jump_use] = { - gc_jump, gc_use -}; ->>>>>>> srb2/next - typedef struct { UINT8 time; @@ -807,14 +785,7 @@ static const char *gamecontrolname[num_gamecontrols] = "drift", "brake", "fire", -<<<<<<< HEAD "lookback", -======= - "firenormal", - "tossflag", - "use", - "camtoggle", ->>>>>>> srb2/next "camreset", "camtoggle", "spectate", @@ -909,174 +880,68 @@ INT32 G_KeyStringtoNum(const char *keystr) return 0; } -<<<<<<< HEAD -// SRB2Kart -void G_Controldefault(UINT8 player) -{ - if (player == 0 || player == 1) - { - // Main controls - gamecontrol[gc_aimforward ][0] = KEY_UPARROW; - gamecontrol[gc_aimbackward][0] = KEY_DOWNARROW; - gamecontrol[gc_turnleft ][0] = KEY_LEFTARROW; - gamecontrol[gc_turnright ][0] = KEY_RIGHTARROW; - gamecontrol[gc_accelerate ][0] = 'a'; - gamecontrol[gc_drift ][0] = 's'; - gamecontrol[gc_brake ][0] = 'd'; - gamecontrol[gc_fire ][0] = KEY_SPACE; - gamecontrol[gc_lookback ][0] = KEY_LSHIFT; - - gamecontrol[gc_accelerate ][1] = KEY_JOY1+0; // A - gamecontrol[gc_lookback ][1] = KEY_JOY1+2; // X - gamecontrol[gc_brake ][1] = KEY_JOY1+1; // B - gamecontrol[gc_fire ][1] = KEY_JOY1+4; // LB - gamecontrol[gc_drift ][1] = KEY_JOY1+5; // RB - - // Extra controls - gamecontrol[gc_pause ][0] = KEY_PAUSE; - gamecontrol[gc_console ][0] = KEY_CONSOLE; - gamecontrol[gc_screenshot ][0] = KEY_F8; - gamecontrol[gc_recordgif ][0] = KEY_F9; - gamecontrol[gc_viewpoint ][0] = KEY_F12; - gamecontrol[gc_talkkey ][0] = 't'; - //gamecontrol[gc_teamkey ][0] = 'y'; - gamecontrol[gc_scores ][0] = KEY_TAB; - gamecontrol[gc_spectate ][0] = '\''; - gamecontrol[gc_lookup ][0] = KEY_PGUP; - gamecontrol[gc_lookdown ][0] = KEY_PGDN; - gamecontrol[gc_centerview ][0] = KEY_END; - gamecontrol[gc_camreset ][0] = KEY_HOME; - gamecontrol[gc_camtoggle ][0] = KEY_BACKSPACE; - - gamecontrol[gc_viewpoint ][1] = KEY_JOY1+3; // Y - gamecontrol[gc_pause ][1] = KEY_JOY1+6; // Back - gamecontrol[gc_systemmenu ][0] = KEY_JOY1+7; // Start - //gamecontrol[gc_camtoggle ][1] = KEY_HAT1+0; // D-Pad Up - //gamecontrol[gc_screenshot ][1] = KEY_HAT1+1; // D-Pad Down // absolutely fucking NOT - gamecontrol[gc_talkkey ][1] = KEY_HAT1+1; // D-Pad Down - gamecontrol[gc_scores ][1] = KEY_HAT1+0; // D-Pad Up - } - - if (player == 0 || player == 2) - { - // Player 2 controls - gamecontrolbis[gc_accelerate ][0] = KEY_2JOY1+0; // A - gamecontrolbis[gc_lookback ][0] = KEY_2JOY1+2; // X - gamecontrolbis[gc_brake ][0] = KEY_2JOY1+1; // B - gamecontrolbis[gc_fire ][0] = KEY_2JOY1+4; // LB - gamecontrolbis[gc_drift ][0] = KEY_2JOY1+5; // RB - } - - if (player == 0 || player == 3) - { - // Player 3 controls - gamecontrol3[gc_accelerate ][0] = KEY_3JOY1+0; // A - gamecontrol3[gc_lookback ][0] = KEY_3JOY1+2; // X - gamecontrol3[gc_brake ][0] = KEY_3JOY1+1; // B - gamecontrol3[gc_fire ][0] = KEY_3JOY1+4; // LB - gamecontrol3[gc_drift ][0] = KEY_3JOY1+5; // RB - } - - if (player == 0 || player == 4) - { - // Player 4 controls - gamecontrol4[gc_accelerate ][0] = KEY_4JOY1+0; // A - gamecontrol4[gc_lookback ][0] = KEY_4JOY1+2; // X - gamecontrol4[gc_brake ][0] = KEY_4JOY1+1; // B - gamecontrol4[gc_fire ][0] = KEY_4JOY1+4; // LB - gamecontrol4[gc_drift ][0] = KEY_4JOY1+5; // RB -======= void G_DefineDefaultControls(void) { - INT32 i; + INT32 i, j; - // FPS game controls (WASD) - gamecontroldefault[gcs_fps][gc_forward ][0] = 'w'; - gamecontroldefault[gcs_fps][gc_backward ][0] = 's'; - gamecontroldefault[gcs_fps][gc_strafeleft ][0] = 'a'; - gamecontroldefault[gcs_fps][gc_straferight][0] = 'd'; - gamecontroldefault[gcs_fps][gc_lookup ][0] = KEY_UPARROW; - gamecontroldefault[gcs_fps][gc_lookdown ][0] = KEY_DOWNARROW; - gamecontroldefault[gcs_fps][gc_turnleft ][0] = KEY_LEFTARROW; - gamecontroldefault[gcs_fps][gc_turnright ][0] = KEY_RIGHTARROW; - gamecontroldefault[gcs_fps][gc_centerview ][0] = KEY_END; - gamecontroldefault[gcs_fps][gc_jump ][0] = KEY_SPACE; - gamecontroldefault[gcs_fps][gc_use ][0] = KEY_LSHIFT; - gamecontroldefault[gcs_fps][gc_fire ][0] = KEY_RCTRL; - gamecontroldefault[gcs_fps][gc_fire ][1] = KEY_MOUSE1+0; - gamecontroldefault[gcs_fps][gc_firenormal ][0] = 'c'; + // Keyboard controls + gamecontrol[0][gcs_kart][gc_aimforward ][0] = KEY_UPARROW; + gamecontrol[0][gcs_kart][gc_aimbackward][0] = KEY_DOWNARROW; + gamecontrol[0][gcs_kart][gc_turnleft ][0] = KEY_LEFTARROW; + gamecontrol[0][gcs_kart][gc_turnright ][0] = KEY_RIGHTARROW; + gamecontrol[0][gcs_kart][gc_accelerate ][0] = 'a'; + gamecontrol[0][gcs_kart][gc_drift ][0] = 's'; + gamecontrol[0][gcs_kart][gc_brake ][0] = 'd'; + gamecontrol[0][gcs_kart][gc_fire ][0] = KEY_SPACE; + gamecontrol[0][gcs_kart][gc_lookback ][0] = KEY_LSHIFT; - // Platform game controls (arrow keys) - gamecontroldefault[gcs_platform][gc_forward ][0] = KEY_UPARROW; - gamecontroldefault[gcs_platform][gc_backward ][0] = KEY_DOWNARROW; - gamecontroldefault[gcs_platform][gc_strafeleft ][0] = 'a'; - gamecontroldefault[gcs_platform][gc_straferight][0] = 'd'; - gamecontroldefault[gcs_platform][gc_lookup ][0] = KEY_PGUP; - gamecontroldefault[gcs_platform][gc_lookdown ][0] = KEY_PGDN; - gamecontroldefault[gcs_platform][gc_turnleft ][0] = KEY_LEFTARROW; - gamecontroldefault[gcs_platform][gc_turnright ][0] = KEY_RIGHTARROW; - gamecontroldefault[gcs_platform][gc_centerview ][0] = KEY_END; - gamecontroldefault[gcs_platform][gc_jump ][0] = KEY_SPACE; - gamecontroldefault[gcs_platform][gc_use ][0] = KEY_LSHIFT; - gamecontroldefault[gcs_platform][gc_fire ][0] = 's'; - gamecontroldefault[gcs_platform][gc_fire ][1] = KEY_MOUSE1+0; - gamecontroldefault[gcs_platform][gc_firenormal ][0] = 'w'; + gamecontrol[0][gcs_kart][gc_pause ][0] = KEY_PAUSE; + gamecontrol[0][gcs_kart][gc_console ][0] = KEY_CONSOLE; + gamecontrol[0][gcs_kart][gc_screenshot ][0] = KEY_F8; + gamecontrol[0][gcs_kart][gc_recordgif ][0] = KEY_F9; + gamecontrol[0][gcs_kart][gc_viewpoint ][0] = KEY_F12; + gamecontrol[0][gcs_kart][gc_talkkey ][0] = 't'; + //gamecontrol[0][gcs_kart][gc_teamkey ][0] = 'y'; + gamecontrol[0][gcs_kart][gc_scores ][0] = KEY_TAB; + gamecontrol[0][gcs_kart][gc_spectate ][0] = '\''; + gamecontrol[0][gcs_kart][gc_lookup ][0] = KEY_PGUP; + gamecontrol[0][gcs_kart][gc_lookdown ][0] = KEY_PGDN; + gamecontrol[0][gcs_kart][gc_centerview ][0] = KEY_END; + gamecontrol[0][gcs_kart][gc_camreset ][0] = KEY_HOME; + gamecontrol[0][gcs_kart][gc_camtoggle ][0] = KEY_BACKSPACE; - for (i = 1; i < num_gamecontrolschemes; i++) // skip gcs_custom (0) + for (i = gcs_custom+1; i < num_gamecontrolschemes; i++) // skip gcs_custom { - gamecontroldefault[i][gc_weaponnext ][0] = KEY_MOUSEWHEELUP+0; - gamecontroldefault[i][gc_weaponprev ][0] = KEY_MOUSEWHEELDOWN+0; - gamecontroldefault[i][gc_wepslot1 ][0] = '1'; - gamecontroldefault[i][gc_wepslot2 ][0] = '2'; - gamecontroldefault[i][gc_wepslot3 ][0] = '3'; - gamecontroldefault[i][gc_wepslot4 ][0] = '4'; - gamecontroldefault[i][gc_wepslot5 ][0] = '5'; - gamecontroldefault[i][gc_wepslot6 ][0] = '6'; - gamecontroldefault[i][gc_wepslot7 ][0] = '7'; - gamecontroldefault[i][gc_wepslot8 ][0] = '8'; - gamecontroldefault[i][gc_wepslot9 ][0] = '9'; - gamecontroldefault[i][gc_wepslot10 ][0] = '0'; - gamecontroldefault[i][gc_tossflag ][0] = '\''; - gamecontroldefault[i][gc_camtoggle ][0] = 'v'; - gamecontroldefault[i][gc_camreset ][0] = 'r'; - gamecontroldefault[i][gc_talkkey ][0] = 't'; - gamecontroldefault[i][gc_teamkey ][0] = 'y'; - gamecontroldefault[i][gc_scores ][0] = KEY_TAB; - gamecontroldefault[i][gc_console ][0] = KEY_CONSOLE; - gamecontroldefault[i][gc_pause ][0] = 'p'; - gamecontroldefault[i][gc_screenshot ][0] = KEY_F8; - gamecontroldefault[i][gc_recordgif ][0] = KEY_F9; - gamecontroldefault[i][gc_viewpoint ][0] = KEY_F12; + // Gamepad controls -- same for all schemes + gamecontrol[0][j][gc_accelerate ][1] = KEY_JOY1+0; // A + gamecontrol[0][j][gc_lookback ][1] = KEY_JOY1+2; // X + gamecontrol[0][j][gc_brake ][1] = KEY_JOY1+1; // B + gamecontrol[0][j][gc_fire ][1] = KEY_JOY1+4; // LB + gamecontrol[0][j][gc_drift ][1] = KEY_JOY1+5; // RB - // Gamepad controls -- same for both schemes - gamecontroldefault[i][gc_weaponnext ][1] = KEY_JOY1+1; // B - gamecontroldefault[i][gc_weaponprev ][1] = KEY_JOY1+2; // X - gamecontroldefault[i][gc_tossflag ][1] = KEY_JOY1+0; // A - gamecontroldefault[i][gc_use ][1] = KEY_JOY1+4; // LB - gamecontroldefault[i][gc_camtoggle ][1] = KEY_HAT1+0; // D-Pad Up - gamecontroldefault[i][gc_camreset ][1] = KEY_JOY1+3; // Y - gamecontroldefault[i][gc_centerview ][1] = KEY_JOY1+9; // Right Stick - gamecontroldefault[i][gc_talkkey ][1] = KEY_HAT1+2; // D-Pad Left - gamecontroldefault[i][gc_scores ][1] = KEY_HAT1+3; // D-Pad Right - gamecontroldefault[i][gc_jump ][1] = KEY_JOY1+5; // RB - gamecontroldefault[i][gc_pause ][1] = KEY_JOY1+6; // Back - gamecontroldefault[i][gc_screenshot ][1] = KEY_HAT1+1; // D-Pad Down - gamecontroldefault[i][gc_systemmenu ][0] = KEY_JOY1+7; // Start + gamecontrol[0][j][gc_viewpoint ][1] = KEY_JOY1+3; // Y + gamecontrol[0][j][gc_pause ][1] = KEY_JOY1+6; // Back + gamecontrol[0][j][gc_systemmenu ][0] = KEY_JOY1+7; // Start + gamecontrol[0][j][gc_talkkey ][1] = KEY_HAT1+1; // D-Pad Down + gamecontrol[0][j][gc_scores ][1] = KEY_HAT1+0; // D-Pad Up - // Second player controls only have joypad defaults - gamecontrolbisdefault[i][gc_weaponnext][0] = KEY_2JOY1+1; // B - gamecontrolbisdefault[i][gc_weaponprev][0] = KEY_2JOY1+2; // X - gamecontrolbisdefault[i][gc_tossflag ][0] = KEY_2JOY1+0; // A - gamecontrolbisdefault[i][gc_use ][0] = KEY_2JOY1+4; // LB - gamecontrolbisdefault[i][gc_camreset ][0] = KEY_2JOY1+3; // Y - gamecontrolbisdefault[i][gc_centerview][0] = KEY_2JOY1+9; // Right Stick - gamecontrolbisdefault[i][gc_jump ][0] = KEY_2JOY1+5; // RB - //gamecontrolbisdefault[i][gc_pause ][0] = KEY_2JOY1+6; // Back - //gamecontrolbisdefault[i][gc_systemmenu][0] = KEY_2JOY1+7; // Start - gamecontrolbisdefault[i][gc_camtoggle ][0] = KEY_2HAT1+0; // D-Pad Up - gamecontrolbisdefault[i][gc_screenshot][0] = KEY_2HAT1+1; // D-Pad Down - //gamecontrolbisdefault[i][gc_talkkey ][0] = KEY_2HAT1+2; // D-Pad Left - //gamecontrolbisdefault[i][gc_scores ][0] = KEY_2HAT1+3; // D-Pad Right + gamecontrol[1][i][gc_accelerate ][0] = KEY_2JOY1+0; // A + gamecontrol[1][i][gc_lookback ][0] = KEY_2JOY1+2; // X + gamecontrol[1][i][gc_brake ][0] = KEY_2JOY1+1; // B + gamecontrol[1][i][gc_fire ][0] = KEY_2JOY1+4; // LB + gamecontrol[1][i][gc_drift ][0] = KEY_2JOY1+5; // RB + + gamecontrol[2][i][gc_accelerate ][0] = KEY_3JOY1+0; // A + gamecontrol[2][i][gc_lookback ][0] = KEY_3JOY1+2; // X + gamecontrol[2][i][gc_brake ][0] = KEY_3JOY1+1; // B + gamecontrol[2][i][gc_fire ][0] = KEY_3JOY1+4; // LB + gamecontrol[2][i][gc_drift ][0] = KEY_3JOY1+5; // RB + + gamecontrol[3][i][gc_accelerate ][0] = KEY_3JOY1+0; // A + gamecontrol[3][i][gc_lookback ][0] = KEY_3JOY1+2; // X + gamecontrol[3][i][gc_brake ][0] = KEY_3JOY1+1; // B + gamecontrol[3][i][gc_fire ][0] = KEY_3JOY1+4; // LB + gamecontrol[3][i][gc_drift ][0] = KEY_3JOY1+5; // RB } } @@ -1116,7 +981,6 @@ void G_CopyControls(INT32 (*setupcontrols)[2], INT32 (*fromcontrols)[2], const I gc = (gclist && gclen) ? gclist[i] : i; setupcontrols[gc][0] = fromcontrols[gc][0]; setupcontrols[gc][1] = fromcontrols[gc][1]; ->>>>>>> srb2/next } } @@ -1174,27 +1038,19 @@ INT32 G_CheckDoubleUsage(INT32 keynum, boolean modify) INT32 result = gc_null; if (cv_controlperkey.value == 1) { - INT32 i, j; + INT32 i, j, k; for (i = 0; i < num_gamecontrols; i++) { for (j = 0; j < 2; j++) { - if (gamecontrol[i][j] == keynum) { - result = i; - if (modify) gamecontrol[i][j] = KEY_NULL; - } - if (gamecontrolbis[i][j] == keynum) { - result = i; - if (modify) gamecontrolbis[i][j] = KEY_NULL; - } - if (gamecontrol3[i][j] == keynum) { - result = i; - if (modify) gamecontrol3[i][j] = KEY_NULL; - } - if (gamecontrol4[i][j] == keynum) { - result = i; - if (modify) gamecontrol4[i][j] = KEY_NULL; + for (k = 0; k < MAXSPLITSCREENPLAYERS; k++) + { + if (gamecontrol[k][i][j] == keynum) { + result = i; + if (modify) gamecontrol[k][i][j] = KEY_NULL; + } } + if (result && !modify) return result; } @@ -1219,16 +1075,12 @@ static INT32 G_FilterKeyByVersion(INT32 numctrl, INT32 keyidx, INT32 player, INT else if (keyidx == 1 && *keynum2 == KEY_PAUSE) return -1; // skip setting control -<<<<<<< HEAD #if 1 // We don't have changed control defaults yet (void)numctrl; (void)player; (void)nestedoverride; #else -#if !defined (DC) && !defined (_PSP) && !defined (GP2X) && !defined (_NDS) && !defined(WMINPUT) && !defined(_WII) -======= ->>>>>>> srb2/next if (GETMAJOREXECVERSION(cv_execversion.value) < 27 && ( // v2.1.22 numctrl == gc_weaponnext || numctrl == gc_weaponprev || numctrl == gc_tossflag || numctrl == gc_use || numctrl == gc_camreset || numctrl == gc_jump || @@ -1321,11 +1173,7 @@ static INT32 G_FilterKeyByVersion(INT32 numctrl, INT32 keyidx, INT32 player, INT else return 0; } -<<<<<<< HEAD #endif -#endif -======= ->>>>>>> srb2/next // All's good, so pass the keynum as-is if (keyidx == 1) diff --git a/src/g_input.h b/src/g_input.h index fb9a37d12..553b93b7b 100644 --- a/src/g_input.h +++ b/src/g_input.h @@ -79,14 +79,7 @@ typedef enum gc_drift, gc_brake, gc_fire, -<<<<<<< HEAD gc_lookback, -======= - gc_firenormal, - gc_tossflag, - gc_use, - gc_camtoggle, ->>>>>>> srb2/next gc_camreset, gc_camtoggle, gc_spectate, @@ -111,8 +104,7 @@ typedef enum typedef enum { gcs_custom, - gcs_fps, - gcs_platform, + gcs_kart, // Kart doesn't really need this code, like, at all? But I don't feel like removing it. num_gamecontrolschemes } gamecontrolschemes_e; @@ -132,42 +124,23 @@ extern INT32 joyxmove[JOYAXISSET], joyymove[JOYAXISSET], joy2xmove[JOYAXISSET], extern UINT8 gamekeydown[NUMINPUTS]; // two key codes (or virtual key) per game control -extern INT32 gamecontrol[num_gamecontrols][2]; -extern INT32 gamecontrolbis[num_gamecontrols][2]; // secondary splitscreen player -<<<<<<< HEAD -extern INT32 gamecontrol3[num_gamecontrols][2]; -extern INT32 gamecontrol4[num_gamecontrols][2]; -#define PLAYER1INPUTDOWN(gc) (gamekeydown[gamecontrol[gc][0]] || gamekeydown[gamecontrol[gc][1]]) -#define PLAYER2INPUTDOWN(gc) (gamekeydown[gamecontrolbis[gc][0]] || gamekeydown[gamecontrolbis[gc][1]]) -#define PLAYER3INPUTDOWN(gc) (gamekeydown[gamecontrol3[gc][0]] || gamekeydown[gamecontrol3[gc][1]]) -#define PLAYER4INPUTDOWN(gc) (gamekeydown[gamecontrol4[gc][0]] || gamekeydown[gamecontrol4[gc][1]]) -======= -extern INT32 gamecontroldefault[num_gamecontrolschemes][num_gamecontrols][2]; // default control storage, use 0 (gcs_custom) for memory retention -extern INT32 gamecontrolbisdefault[num_gamecontrolschemes][num_gamecontrols][2]; -#define PLAYER1INPUTDOWN(gc) (gamekeydown[gamecontrol[gc][0]] || gamekeydown[gamecontrol[gc][1]]) -#define PLAYER2INPUTDOWN(gc) (gamekeydown[gamecontrolbis[gc][0]] || gamekeydown[gamecontrolbis[gc][1]]) -#define PLAYERINPUTDOWN(p, gc) ((p) == 2 ? PLAYER2INPUTDOWN(gc) : PLAYER1INPUTDOWN(gc)) +extern INT32 gamecontrol[MAXSPLITSCREENPLAYERS][num_gamecontrols][2]; +extern INT32 gamecontroldefault[MAXSPLITSCREENPLAYERS][num_gamecontrolschemes][num_gamecontrols][2]; // default control storage, use 0 (gcs_custom) for memory retention +#define PLAYERINPUTDOWN(p, gc) (gamekeydown[p-1][gamecontrol[gc][0]] || gamekeydown[p-1][gamecontrol[gc][1]]) -#define num_gcl_tutorial_check 6 -#define num_gcl_tutorial_used 8 -#define num_gcl_tutorial_full 13 -#define num_gcl_movement 4 -#define num_gcl_camera 2 -#define num_gcl_movement_camera 6 -#define num_gcl_jump 1 -#define num_gcl_use 1 -#define num_gcl_jump_use 2 +#define num_gcl_accelerate 1 +#define num_gcl_brake 1 +#define num_gcl_spindash 3 +#define num_gcl_movement 5 +#define num_gcl_item 3 +#define num_gcl_full 9 -extern const INT32 gcl_tutorial_check[num_gcl_tutorial_check]; -extern const INT32 gcl_tutorial_used[num_gcl_tutorial_used]; -extern const INT32 gcl_tutorial_full[num_gcl_tutorial_full]; +extern const INT32 gcl_accelerate[num_gcl_accelerate]; +extern const INT32 gcl_brake[num_gcl_brake]; +extern const INT32 gcl_spindash[num_gcl_spindash]; extern const INT32 gcl_movement[num_gcl_movement]; -extern const INT32 gcl_camera[num_gcl_camera]; -extern const INT32 gcl_movement_camera[num_gcl_movement_camera]; -extern const INT32 gcl_jump[num_gcl_jump]; -extern const INT32 gcl_use[num_gcl_use]; -extern const INT32 gcl_jump_use[num_gcl_jump_use]; ->>>>>>> srb2/next +extern const INT32 gcl_item[num_gcl_item]; +extern const INT32 gcl_full[num_gcl_full]; // peace to my little coder fingers! // check a gamecontrol being active or not @@ -184,17 +157,12 @@ void G_ClearControlKeys(INT32 (*setupcontrols)[2], INT32 control); void G_ClearAllControlKeys(void); void Command_Setcontrol_f(void); void Command_Setcontrol2_f(void); -<<<<<<< HEAD void Command_Setcontrol3_f(void); void Command_Setcontrol4_f(void); -void G_Controldefault(UINT8 player); -void G_SaveKeySetting(FILE *f); -======= void G_DefineDefaultControls(void); INT32 G_GetControlScheme(INT32 (*fromcontrols)[2], const INT32 *gclist, INT32 gclen); void G_CopyControls(INT32 (*setupcontrols)[2], INT32 (*fromcontrols)[2], const INT32 *gclist, INT32 gclen); void G_SaveKeySetting(FILE *f, INT32 (*fromcontrols)[2], INT32 (*fromcontrolsbis)[2]); ->>>>>>> srb2/next INT32 G_CheckDoubleUsage(INT32 keynum, boolean modify); #endif