make GameButton an enum

This commit is contained in:
Glenn Maynard
2007-01-13 03:13:22 +00:00
parent 3fa0ecbc17
commit a4cf344876
3 changed files with 120 additions and 140 deletions
+111 -131
View File
@@ -16,24 +16,7 @@ enum GameController
};
#define FOREACH_GameController( gc ) FOREACH_ENUM( GameController, gc )
typedef int GameButton;
RString GameButtonToString( const InputScheme* pInputs, GameButton i );
RString GameButtonToLocalizedString( const InputScheme* pInputs, GameButton i );
GameButton StringToGameButton( const InputScheme* pInputs, const RString& s );
enum GameButtonType
{
GameButtonType_Step,
GameButtonType_Fret,
GameButtonType_Strum,
GameButtonType_INVALID
};
const GameButton NUM_GameButton = 20;
const GameButton GameButton_Invalid = NUM_GameButton+1;
#define FOREACH_GameButton( gb ) FOREACH_ENUM( GameButton, gb )
enum // common GameButtons
enum GameButton
{
GAME_BUTTON_MENULEFT,
GAME_BUTTON_MENURIGHT,
@@ -44,130 +27,127 @@ enum // common GameButtons
GAME_BUTTON_BACK,
GAME_BUTTON_COIN,
GAME_BUTTON_OPERATOR,
GAME_BUTTON_NEXT
GAME_BUTTON_CUSTOM_01,
GAME_BUTTON_CUSTOM_02,
GAME_BUTTON_CUSTOM_03,
GAME_BUTTON_CUSTOM_04,
GAME_BUTTON_CUSTOM_05,
GAME_BUTTON_CUSTOM_06,
GAME_BUTTON_CUSTOM_07,
GAME_BUTTON_CUSTOM_08,
GAME_BUTTON_CUSTOM_09,
GAME_BUTTON_CUSTOM_10,
GAME_BUTTON_CUSTOM_11,
GAME_BUTTON_CUSTOM_12,
GAME_BUTTON_CUSTOM_13,
GAME_BUTTON_CUSTOM_14,
GAME_BUTTON_CUSTOM_15,
GAME_BUTTON_CUSTOM_16,
GAME_BUTTON_CUSTOM_17,
GAME_BUTTON_CUSTOM_18,
GAME_BUTTON_CUSTOM_19,
NUM_GameButton,
GameButton_Invalid
};
enum // DanceButtons
{
DANCE_BUTTON_LEFT = GAME_BUTTON_NEXT,
DANCE_BUTTON_RIGHT,
DANCE_BUTTON_UP,
DANCE_BUTTON_DOWN,
DANCE_BUTTON_UPLEFT,
DANCE_BUTTON_UPRIGHT,
NUM_DANCE_BUTTONS, // leave this at the end
};
RString GameButtonToString( const InputScheme* pInputs, GameButton i );
RString GameButtonToLocalizedString( const InputScheme* pInputs, GameButton i );
GameButton StringToGameButton( const InputScheme* pInputs, const RString& s );
enum // PumpButtons
{
PUMP_BUTTON_UPLEFT = GAME_BUTTON_NEXT,
PUMP_BUTTON_UPRIGHT,
PUMP_BUTTON_CENTER,
PUMP_BUTTON_DOWNLEFT,
PUMP_BUTTON_DOWNRIGHT,
NUM_PUMP_BUTTONS, // leave this at the end
};
#define FOREACH_GameButton( gb ) FOREACH_ENUM( GameButton, gb )
enum // EZ2Buttons
{
EZ2_BUTTON_FOOTUPLEFT = GAME_BUTTON_NEXT,
EZ2_BUTTON_FOOTUPRIGHT,
EZ2_BUTTON_FOOTDOWN,
EZ2_BUTTON_HANDUPLEFT,
EZ2_BUTTON_HANDUPRIGHT,
EZ2_BUTTON_HANDLRLEFT,
EZ2_BUTTON_HANDLRRIGHT,
NUM_EZ2_BUTTONS, // leave this at the end
};
#define GAME_BUTTON_NEXT GAME_BUTTON_CUSTOM_01
enum // ParaButtons
{
PARA_BUTTON_LEFT = GAME_BUTTON_NEXT,
PARA_BUTTON_UPLEFT,
PARA_BUTTON_UP,
PARA_BUTTON_UPRIGHT,
PARA_BUTTON_RIGHT,
NUM_PARA_BUTTONS, // leave this at the end
};
#define DANCE_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
#define DANCE_BUTTON_RIGHT GAME_BUTTON_CUSTOM_02
#define DANCE_BUTTON_UP GAME_BUTTON_CUSTOM_03
#define DANCE_BUTTON_DOWN GAME_BUTTON_CUSTOM_04
#define DANCE_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_05
#define DANCE_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_06
#define NUM_DANCE_BUTTONS GAME_BUTTON_CUSTOM_07
enum // 3DDX Buttons
{
DS3DDX_BUTTON_HANDLEFT = GAME_BUTTON_NEXT,
DS3DDX_BUTTON_FOOTDOWNLEFT,
DS3DDX_BUTTON_FOOTUPLEFT,
DS3DDX_BUTTON_HANDUP,
DS3DDX_BUTTON_HANDDOWN,
DS3DDX_BUTTON_FOOTUPRIGHT,
DS3DDX_BUTTON_FOOTDOWNRIGHT,
DS3DDX_BUTTON_HANDRIGHT,
NUM_DS3DDX_BUTTONS, // leave this at the end.
};
#define PUMP_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_01
#define PUMP_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_02
#define PUMP_BUTTON_CENTER GAME_BUTTON_CUSTOM_03
#define PUMP_BUTTON_DOWNLEFT GAME_BUTTON_CUSTOM_04
#define PUMP_BUTTON_DOWNRIGHT GAME_BUTTON_CUSTOM_05
#define NUM_PUMP_BUTTONS GAME_BUTTON_CUSTOM_06
enum // BEAT Buttons
{
BEAT_BUTTON_KEY1 = GAME_BUTTON_NEXT,
BEAT_BUTTON_KEY2,
BEAT_BUTTON_KEY3,
BEAT_BUTTON_KEY4,
BEAT_BUTTON_KEY5,
BEAT_BUTTON_KEY6,
BEAT_BUTTON_KEY7,
BEAT_BUTTON_SCRATCHUP,
/* XXX special case: this button is an alias of BEAT_BUTTON_SCRATCHUP for track
* matching. */
BEAT_BUTTON_SCRATCHDOWN,
NUM_BEAT_BUTTONS, // leave this at the end.
};
#define EZ2_BUTTON_FOOTUPLEFT GAME_BUTTON_CUSTOM_01
#define EZ2_BUTTON_FOOTUPRIGHT GAME_BUTTON_CUSTOM_02
#define EZ2_BUTTON_FOOTDOWN GAME_BUTTON_CUSTOM_03
#define EZ2_BUTTON_HANDUPLEFT GAME_BUTTON_CUSTOM_04
#define EZ2_BUTTON_HANDUPRIGHT GAME_BUTTON_CUSTOM_05
#define EZ2_BUTTON_HANDLRLEFT GAME_BUTTON_CUSTOM_06
#define EZ2_BUTTON_HANDLRRIGHT GAME_BUTTON_CUSTOM_07
#define NUM_EZ2_BUTTONS GAME_BUTTON_CUSTOM_08
enum // ManiaxButtons
{
MANIAX_BUTTON_HANDUPLEFT = GAME_BUTTON_NEXT,
MANIAX_BUTTON_HANDUPRIGHT,
MANIAX_BUTTON_HANDLRLEFT,
MANIAX_BUTTON_HANDLRRIGHT,
NUM_MANIAX_BUTTONS, // leave this at the end
};
#define PARA_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
#define PARA_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_02
#define PARA_BUTTON_UP GAME_BUTTON_CUSTOM_03
#define PARA_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_04
#define PARA_BUTTON_RIGHT GAME_BUTTON_CUSTOM_05
#define NUM_PARA_BUTTONS GAME_BUTTON_CUSTOM_06
enum // TechnoButtons
{
TECHNO_BUTTON_LEFT = GAME_BUTTON_NEXT,
TECHNO_BUTTON_RIGHT,
TECHNO_BUTTON_UP,
TECHNO_BUTTON_DOWN,
TECHNO_BUTTON_UPLEFT,
TECHNO_BUTTON_UPRIGHT,
TECHNO_BUTTON_CENTER,
TECHNO_BUTTON_DOWNLEFT,
TECHNO_BUTTON_DOWNRIGHT,
NUM_TECHNO_BUTTONS, // leave this at the end
};
#define DS3DDX_BUTTON_HANDLEFT GAME_BUTTON_CUSTOM_01
#define DS3DDX_BUTTON_FOOTDOWNLEFT GAME_BUTTON_CUSTOM_02
#define DS3DDX_BUTTON_FOOTUPLEFT GAME_BUTTON_CUSTOM_03
#define DS3DDX_BUTTON_HANDUP GAME_BUTTON_CUSTOM_04
#define DS3DDX_BUTTON_HANDDOWN GAME_BUTTON_CUSTOM_05
#define DS3DDX_BUTTON_FOOTUPRIGHT GAME_BUTTON_CUSTOM_06
#define DS3DDX_BUTTON_FOOTDOWNRIGHT GAME_BUTTON_CUSTOM_07
#define DS3DDX_BUTTON_HANDRIGHT GAME_BUTTON_CUSTOM_08
#define NUM_DS3DDX_BUTTONS GAME_BUTTON_CUSTOM_09
enum // PnM Buttons
{
POPN_BUTTON_LEFT_WHITE = GAME_BUTTON_NEXT,
POPN_BUTTON_LEFT_YELLOW,
POPN_BUTTON_LEFT_GREEN,
POPN_BUTTON_LEFT_BLUE,
POPN_BUTTON_RED,
POPN_BUTTON_RIGHT_BLUE,
POPN_BUTTON_RIGHT_GREEN,
POPN_BUTTON_RIGHT_YELLOW,
POPN_BUTTON_RIGHT_WHITE,
NUM_POPN_BUTTONS, // leave this at the end
};
#define BEAT_BUTTON_KEY1 GAME_BUTTON_CUSTOM_01
#define BEAT_BUTTON_KEY2 GAME_BUTTON_CUSTOM_02
#define BEAT_BUTTON_KEY3 GAME_BUTTON_CUSTOM_03
#define BEAT_BUTTON_KEY4 GAME_BUTTON_CUSTOM_04
#define BEAT_BUTTON_KEY5 GAME_BUTTON_CUSTOM_05
#define BEAT_BUTTON_KEY6 GAME_BUTTON_CUSTOM_06
#define BEAT_BUTTON_KEY7 GAME_BUTTON_CUSTOM_07
#define BEAT_BUTTON_SCRATCHUP GAME_BUTTON_CUSTOM_08
#define BEAT_BUTTON_SCRATCHDOWN GAME_BUTTON_CUSTOM_09
#define NUM_BEAT_BUTTONS GAME_BUTTON_CUSTOM_10
enum // LightsButtons
{
LIGHTS_BUTTON_MARQUEE_UP_LEFT = GAME_BUTTON_NEXT,
LIGHTS_BUTTON_MARQUEE_UP_RIGHT,
LIGHTS_BUTTON_MARQUEE_LR_LEFT,
LIGHTS_BUTTON_MARQUEE_LR_RIGHT,
LIGHTS_BUTTON_BUTTONS_LEFT,
LIGHTS_BUTTON_BUTTONS_RIGHT,
LIGHTS_BUTTON_BASS_LEFT,
LIGHTS_BUTTON_BASS_RIGHT,
NUM_LIGHTS_BUTTONS, // leave this at the end
};
#define MANIAX_BUTTON_HANDUPLEFT GAME_BUTTON_CUSTOM_01
#define MANIAX_BUTTON_HANDUPRIGHT GAME_BUTTON_CUSTOM_02
#define MANIAX_BUTTON_HANDLRLEFT GAME_BUTTON_CUSTOM_03
#define MANIAX_BUTTON_HANDLRRIGHT GAME_BUTTON_CUSTOM_04
#define NUM_MANIAX_BUTTONS GAME_BUTTON_CUSTOM_05
#define TECHNO_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
#define TECHNO_BUTTON_RIGHT GAME_BUTTON_CUSTOM_02
#define TECHNO_BUTTON_UP GAME_BUTTON_CUSTOM_03
#define TECHNO_BUTTON_DOWN GAME_BUTTON_CUSTOM_04
#define TECHNO_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_05
#define TECHNO_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_06
#define TECHNO_BUTTON_CENTER GAME_BUTTON_CUSTOM_07
#define TECHNO_BUTTON_DOWNLEFT GAME_BUTTON_CUSTOM_08
#define TECHNO_BUTTON_DOWNRIGHT GAME_BUTTON_CUSTOM_09
#define NUM_TECHNO_BUTTONS GAME_BUTTON_CUSTOM_10
#define POPN_BUTTON_LEFT_WHITE GAME_BUTTON_CUSTOM_01
#define POPN_BUTTON_LEFT_YELLOW GAME_BUTTON_CUSTOM_02
#define POPN_BUTTON_LEFT_GREEN GAME_BUTTON_CUSTOM_03
#define POPN_BUTTON_LEFT_BLUE GAME_BUTTON_CUSTOM_04
#define POPN_BUTTON_RED GAME_BUTTON_CUSTOM_05
#define POPN_BUTTON_RIGHT_BLUE GAME_BUTTON_CUSTOM_06
#define POPN_BUTTON_RIGHT_GREEN GAME_BUTTON_CUSTOM_07
#define POPN_BUTTON_RIGHT_YELLOW GAME_BUTTON_CUSTOM_08
#define POPN_BUTTON_RIGHT_WHITE GAME_BUTTON_CUSTOM_09
#define NUM_POPN_BUTTONS GAME_BUTTON_CUSTOM_10
#define LIGHTS_BUTTON_MARQUEE_UP_LEFT GAME_BUTTON_CUSTOM_01
#define LIGHTS_BUTTON_MARQUEE_UP_RIGHT GAME_BUTTON_CUSTOM_02
#define LIGHTS_BUTTON_MARQUEE_LR_LEFT GAME_BUTTON_CUSTOM_03
#define LIGHTS_BUTTON_MARQUEE_LR_RIGHT GAME_BUTTON_CUSTOM_04
#define LIGHTS_BUTTON_BUTTONS_LEFT GAME_BUTTON_CUSTOM_05
#define LIGHTS_BUTTON_BUTTONS_RIGHT GAME_BUTTON_CUSTOM_06
#define LIGHTS_BUTTON_BASS_LEFT GAME_BUTTON_CUSTOM_07
#define LIGHTS_BUTTON_BASS_RIGHT GAME_BUTTON_CUSTOM_08
#define NUM_LIGHTS_BUTTONS GAME_BUTTON_CUSTOM_09
struct GameInput
+6 -6
View File
@@ -952,9 +952,9 @@ MultiPlayer InputMapper::InputDeviceToMultiPlayer( InputDevice id )
GameButton InputScheme::ButtonNameToIndex( const RString &sButtonName ) const
{
for( int i=0; i<m_iButtonsPerController; i++ )
if( stricmp(GetGameButtonName(i), sButtonName) == 0 )
return i;
for( GameButton gb=(GameButton) 0; gb<m_iButtonsPerController; gb=(GameButton)(gb+1) )
if( stricmp(GetGameButtonName(gb), sButtonName) == 0 )
return gb;
return GameButton_Invalid;
}
@@ -991,11 +991,11 @@ void InputScheme::MenuButtonToGameInputs( MenuButton MenuI, PlayerNumber pn, Gam
}
GameButton SecondaryGameButton = GameButton_Invalid;
for( int i = GAME_BUTTON_NEXT; i < m_iButtonsPerController; ++i )
for( GameButton gb=GAME_BUTTON_NEXT; gb<m_iButtonsPerController; gb=(GameButton)(gb+1) )
{
if( m_GameButtonInfo[i-GAME_BUTTON_NEXT].m_SecondaryMenuButton == MenuI )
if( m_GameButtonInfo[gb-GAME_BUTTON_NEXT].m_SecondaryMenuButton == MenuI )
{
SecondaryGameButton = i;
SecondaryGameButton = gb;
break;
}
}
+3 -3
View File
@@ -46,10 +46,10 @@ GameInput Style::StyleInputToGameInput( int iCol, PlayerNumber pn ) const
if( bUsingOneSide && gc != (int) pn )
continue;
for( int i = GAME_BUTTON_NEXT; i < INPUTMAPPER->GetInputScheme()->m_iButtonsPerController && m_iInputColumn[gc][i-GAME_BUTTON_NEXT] != END_MAPPING; ++i )
for( GameButton gb=GAME_BUTTON_NEXT; gb < INPUTMAPPER->GetInputScheme()->m_iButtonsPerController && m_iInputColumn[gc][gb-GAME_BUTTON_NEXT] != END_MAPPING; gb=(GameButton)(gb+1) )
{
if( m_iInputColumn[gc][i-GAME_BUTTON_NEXT] == iCol )
return GameInput( gc, i );
if( m_iInputColumn[gc][gb-GAME_BUTTON_NEXT] == iCol )
return GameInput( gc, gb );
}
}