add FOREACH_GameButtonInScheme

This commit is contained in:
Glenn Maynard
2006-11-21 05:39:56 +00:00
parent f4583be663
commit 67433f7f83
4 changed files with 10 additions and 9 deletions
+3 -3
View File
@@ -26,10 +26,10 @@ RString GameButtonToLocalizedString( const InputScheme* pInputs, GameButton i )
GameButton StringToGameButton( const InputScheme* pInputs, const RString& s ) GameButton StringToGameButton( const InputScheme* pInputs, const RString& s )
{ {
for( int i=0; i<pInputs->m_iButtonsPerController; i++ ) FOREACH_GameButtonInScheme( pInputs, i )
{ {
if( s == GameButtonToString(pInputs,(GameButton)i) ) if( s == GameButtonToString(pInputs, i) )
return (GameButton)i; return i;
} }
return GameButton_Invalid; return GameButton_Invalid;
} }
+4 -4
View File
@@ -55,13 +55,13 @@ void InputMapper::AddDefaultMappingsForCurrentGameIfUnmapped()
FOREACH_GameController( c ) FOREACH_GameController( c )
{ {
for( int b=0; b<m_pInputScheme->m_iButtonsPerController; b++ ) FOREACH_GameButtonInScheme( m_pInputScheme, b )
{ {
DeviceButton key = m_pInputScheme->m_GameButtonInfo[b].m_iDefaultKeyboardKey[c]; DeviceButton key = m_pInputScheme->m_GameButtonInfo[b].m_iDefaultKeyboardKey[c];
if( key == NO_DEFAULT_KEY ) if( key == NO_DEFAULT_KEY )
continue; continue;
DeviceInput DeviceI( DEVICE_KEYBOARD, key ); DeviceInput DeviceI( DEVICE_KEYBOARD, key );
GameInput GameI( c, (GameButton)b ); GameInput GameI( c, b );
if( !IsMapped(DeviceI) ) // if this key isn't already being used by another user-made mapping if( !IsMapped(DeviceI) ) // if this key isn't already being used by another user-made mapping
SetInputMap( DeviceI, GameI, 2 ); SetInputMap( DeviceI, GameI, 2 );
} }
@@ -600,9 +600,9 @@ void InputMapper::SaveMappingsToDisk()
// iterate over our input map and write all mappings to the ini file // iterate over our input map and write all mappings to the ini file
FOREACH_GameController( i ) FOREACH_GameController( i )
{ {
for( int j=0; j<m_pInputScheme->m_iButtonsPerController; j++ ) FOREACH_GameButtonInScheme( m_pInputScheme, j )
{ {
GameInput GameI( i, (GameButton)j ); GameInput GameI( i, j );
RString sNameString = GameI.ToString( m_pInputScheme ); RString sNameString = GameI.ToString( m_pInputScheme );
vector<RString> asValues; vector<RString> asValues;
+1
View File
@@ -32,6 +32,7 @@ public:
MenuButton GameInputToMenuButton( GameInput GameI ) const; MenuButton GameInputToMenuButton( GameInput GameI ) const;
void MenuButtonToGameInputs( MenuButton MenuI, PlayerNumber pn, GameInput GameIout[4] ) const; void MenuButtonToGameInputs( MenuButton MenuI, PlayerNumber pn, GameInput GameIout[4] ) const;
}; };
#define FOREACH_GameButtonInScheme( s, var ) for( GameButton var=(GameButton)0; var<s->m_iButtonsPerController; enum_add<GameButton>( var, +1 ) )
class InputMapper class InputMapper
{ {
+2 -2
View File
@@ -46,10 +46,10 @@ void ScreenMapControllers::Init()
if( sButtons.empty() ) if( sButtons.empty() )
{ {
/* Map all buttons for this game. */ /* Map all buttons for this game. */
for( int b=0; b<INPUTMAPPER->GetInputScheme()->m_iButtonsPerController; b++ ) FOREACH_GameButtonInScheme( INPUTMAPPER->GetInputScheme(), gb )
{ {
KeyToMap k; KeyToMap k;
k.m_GameButton = (GameButton) b; k.m_GameButton = gb;
m_KeysToMap.push_back( k ); m_KeysToMap.push_back( k );
} }
} }