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 ) #define FOREACH_GameController( gc ) FOREACH_ENUM( GameController, gc )
typedef int GameButton; enum 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
{ {
GAME_BUTTON_MENULEFT, GAME_BUTTON_MENULEFT,
GAME_BUTTON_MENURIGHT, GAME_BUTTON_MENURIGHT,
@@ -44,130 +27,127 @@ enum // common GameButtons
GAME_BUTTON_BACK, GAME_BUTTON_BACK,
GAME_BUTTON_COIN, GAME_BUTTON_COIN,
GAME_BUTTON_OPERATOR, 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 RString GameButtonToString( const InputScheme* pInputs, GameButton i );
{ RString GameButtonToLocalizedString( const InputScheme* pInputs, GameButton i );
DANCE_BUTTON_LEFT = GAME_BUTTON_NEXT, GameButton StringToGameButton( const InputScheme* pInputs, const RString& s );
DANCE_BUTTON_RIGHT,
DANCE_BUTTON_UP,
DANCE_BUTTON_DOWN,
DANCE_BUTTON_UPLEFT,
DANCE_BUTTON_UPRIGHT,
NUM_DANCE_BUTTONS, // leave this at the end
};
enum // PumpButtons #define FOREACH_GameButton( gb ) FOREACH_ENUM( GameButton, gb )
{
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
};
enum // EZ2Buttons #define GAME_BUTTON_NEXT GAME_BUTTON_CUSTOM_01
{
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
};
enum // ParaButtons #define DANCE_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
{ #define DANCE_BUTTON_RIGHT GAME_BUTTON_CUSTOM_02
PARA_BUTTON_LEFT = GAME_BUTTON_NEXT, #define DANCE_BUTTON_UP GAME_BUTTON_CUSTOM_03
PARA_BUTTON_UPLEFT, #define DANCE_BUTTON_DOWN GAME_BUTTON_CUSTOM_04
PARA_BUTTON_UP, #define DANCE_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_05
PARA_BUTTON_UPRIGHT, #define DANCE_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_06
PARA_BUTTON_RIGHT, #define NUM_DANCE_BUTTONS GAME_BUTTON_CUSTOM_07
NUM_PARA_BUTTONS, // leave this at the end
};
enum // 3DDX Buttons #define PUMP_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_01
{ #define PUMP_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_02
DS3DDX_BUTTON_HANDLEFT = GAME_BUTTON_NEXT, #define PUMP_BUTTON_CENTER GAME_BUTTON_CUSTOM_03
DS3DDX_BUTTON_FOOTDOWNLEFT, #define PUMP_BUTTON_DOWNLEFT GAME_BUTTON_CUSTOM_04
DS3DDX_BUTTON_FOOTUPLEFT, #define PUMP_BUTTON_DOWNRIGHT GAME_BUTTON_CUSTOM_05
DS3DDX_BUTTON_HANDUP, #define NUM_PUMP_BUTTONS GAME_BUTTON_CUSTOM_06
DS3DDX_BUTTON_HANDDOWN,
DS3DDX_BUTTON_FOOTUPRIGHT,
DS3DDX_BUTTON_FOOTDOWNRIGHT,
DS3DDX_BUTTON_HANDRIGHT,
NUM_DS3DDX_BUTTONS, // leave this at the end.
};
enum // BEAT Buttons #define EZ2_BUTTON_FOOTUPLEFT GAME_BUTTON_CUSTOM_01
{ #define EZ2_BUTTON_FOOTUPRIGHT GAME_BUTTON_CUSTOM_02
BEAT_BUTTON_KEY1 = GAME_BUTTON_NEXT, #define EZ2_BUTTON_FOOTDOWN GAME_BUTTON_CUSTOM_03
BEAT_BUTTON_KEY2, #define EZ2_BUTTON_HANDUPLEFT GAME_BUTTON_CUSTOM_04
BEAT_BUTTON_KEY3, #define EZ2_BUTTON_HANDUPRIGHT GAME_BUTTON_CUSTOM_05
BEAT_BUTTON_KEY4, #define EZ2_BUTTON_HANDLRLEFT GAME_BUTTON_CUSTOM_06
BEAT_BUTTON_KEY5, #define EZ2_BUTTON_HANDLRRIGHT GAME_BUTTON_CUSTOM_07
BEAT_BUTTON_KEY6, #define NUM_EZ2_BUTTONS GAME_BUTTON_CUSTOM_08
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.
};
enum // ManiaxButtons #define PARA_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
{ #define PARA_BUTTON_UPLEFT GAME_BUTTON_CUSTOM_02
MANIAX_BUTTON_HANDUPLEFT = GAME_BUTTON_NEXT, #define PARA_BUTTON_UP GAME_BUTTON_CUSTOM_03
MANIAX_BUTTON_HANDUPRIGHT, #define PARA_BUTTON_UPRIGHT GAME_BUTTON_CUSTOM_04
MANIAX_BUTTON_HANDLRLEFT, #define PARA_BUTTON_RIGHT GAME_BUTTON_CUSTOM_05
MANIAX_BUTTON_HANDLRRIGHT, #define NUM_PARA_BUTTONS GAME_BUTTON_CUSTOM_06
NUM_MANIAX_BUTTONS, // leave this at the end
};
enum // TechnoButtons #define DS3DDX_BUTTON_HANDLEFT GAME_BUTTON_CUSTOM_01
{ #define DS3DDX_BUTTON_FOOTDOWNLEFT GAME_BUTTON_CUSTOM_02
TECHNO_BUTTON_LEFT = GAME_BUTTON_NEXT, #define DS3DDX_BUTTON_FOOTUPLEFT GAME_BUTTON_CUSTOM_03
TECHNO_BUTTON_RIGHT, #define DS3DDX_BUTTON_HANDUP GAME_BUTTON_CUSTOM_04
TECHNO_BUTTON_UP, #define DS3DDX_BUTTON_HANDDOWN GAME_BUTTON_CUSTOM_05
TECHNO_BUTTON_DOWN, #define DS3DDX_BUTTON_FOOTUPRIGHT GAME_BUTTON_CUSTOM_06
TECHNO_BUTTON_UPLEFT, #define DS3DDX_BUTTON_FOOTDOWNRIGHT GAME_BUTTON_CUSTOM_07
TECHNO_BUTTON_UPRIGHT, #define DS3DDX_BUTTON_HANDRIGHT GAME_BUTTON_CUSTOM_08
TECHNO_BUTTON_CENTER, #define NUM_DS3DDX_BUTTONS GAME_BUTTON_CUSTOM_09
TECHNO_BUTTON_DOWNLEFT,
TECHNO_BUTTON_DOWNRIGHT,
NUM_TECHNO_BUTTONS, // leave this at the end
};
enum // PnM Buttons #define BEAT_BUTTON_KEY1 GAME_BUTTON_CUSTOM_01
{ #define BEAT_BUTTON_KEY2 GAME_BUTTON_CUSTOM_02
POPN_BUTTON_LEFT_WHITE = GAME_BUTTON_NEXT, #define BEAT_BUTTON_KEY3 GAME_BUTTON_CUSTOM_03
POPN_BUTTON_LEFT_YELLOW, #define BEAT_BUTTON_KEY4 GAME_BUTTON_CUSTOM_04
POPN_BUTTON_LEFT_GREEN, #define BEAT_BUTTON_KEY5 GAME_BUTTON_CUSTOM_05
POPN_BUTTON_LEFT_BLUE, #define BEAT_BUTTON_KEY6 GAME_BUTTON_CUSTOM_06
POPN_BUTTON_RED, #define BEAT_BUTTON_KEY7 GAME_BUTTON_CUSTOM_07
POPN_BUTTON_RIGHT_BLUE, #define BEAT_BUTTON_SCRATCHUP GAME_BUTTON_CUSTOM_08
POPN_BUTTON_RIGHT_GREEN, #define BEAT_BUTTON_SCRATCHDOWN GAME_BUTTON_CUSTOM_09
POPN_BUTTON_RIGHT_YELLOW, #define NUM_BEAT_BUTTONS GAME_BUTTON_CUSTOM_10
POPN_BUTTON_RIGHT_WHITE,
NUM_POPN_BUTTONS, // leave this at the end
};
enum // LightsButtons #define MANIAX_BUTTON_HANDUPLEFT GAME_BUTTON_CUSTOM_01
{ #define MANIAX_BUTTON_HANDUPRIGHT GAME_BUTTON_CUSTOM_02
LIGHTS_BUTTON_MARQUEE_UP_LEFT = GAME_BUTTON_NEXT, #define MANIAX_BUTTON_HANDLRLEFT GAME_BUTTON_CUSTOM_03
LIGHTS_BUTTON_MARQUEE_UP_RIGHT, #define MANIAX_BUTTON_HANDLRRIGHT GAME_BUTTON_CUSTOM_04
LIGHTS_BUTTON_MARQUEE_LR_LEFT, #define NUM_MANIAX_BUTTONS GAME_BUTTON_CUSTOM_05
LIGHTS_BUTTON_MARQUEE_LR_RIGHT,
LIGHTS_BUTTON_BUTTONS_LEFT, #define TECHNO_BUTTON_LEFT GAME_BUTTON_CUSTOM_01
LIGHTS_BUTTON_BUTTONS_RIGHT, #define TECHNO_BUTTON_RIGHT GAME_BUTTON_CUSTOM_02
LIGHTS_BUTTON_BASS_LEFT, #define TECHNO_BUTTON_UP GAME_BUTTON_CUSTOM_03
LIGHTS_BUTTON_BASS_RIGHT, #define TECHNO_BUTTON_DOWN GAME_BUTTON_CUSTOM_04
NUM_LIGHTS_BUTTONS, // leave this at the end #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 struct GameInput
+6 -6
View File
@@ -952,9 +952,9 @@ MultiPlayer InputMapper::InputDeviceToMultiPlayer( InputDevice id )
GameButton InputScheme::ButtonNameToIndex( const RString &sButtonName ) const GameButton InputScheme::ButtonNameToIndex( const RString &sButtonName ) const
{ {
for( int i=0; i<m_iButtonsPerController; i++ ) for( GameButton gb=(GameButton) 0; gb<m_iButtonsPerController; gb=(GameButton)(gb+1) )
if( stricmp(GetGameButtonName(i), sButtonName) == 0 ) if( stricmp(GetGameButtonName(gb), sButtonName) == 0 )
return i; return gb;
return GameButton_Invalid; return GameButton_Invalid;
} }
@@ -991,11 +991,11 @@ void InputScheme::MenuButtonToGameInputs( MenuButton MenuI, PlayerNumber pn, Gam
} }
GameButton SecondaryGameButton = GameButton_Invalid; 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; break;
} }
} }
+3 -3
View File
@@ -46,10 +46,10 @@ GameInput Style::StyleInputToGameInput( int iCol, PlayerNumber pn ) const
if( bUsingOneSide && gc != (int) pn ) if( bUsingOneSide && gc != (int) pn )
continue; 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 ) if( m_iInputColumn[gc][gb-GAME_BUTTON_NEXT] == iCol )
return GameInput( gc, i ); return GameInput( gc, gb );
} }
} }