diff --git a/stepmania/src/GameDef.cpp b/stepmania/src/GameDef.cpp index c7281e77e1..8b4d24d303 100644 --- a/stepmania/src/GameDef.cpp +++ b/stepmania/src/GameDef.cpp @@ -20,6 +20,13 @@ #include "InputMapper.h" #include "PrefsManager.h" +int GameDef::GetNumGameplayButtons() +{ + int iIndexOfStart = ButtonNameToIndex( "Start" ); + ASSERT( iIndexOfStart != GAME_BUTTON_INVALID ); + return iIndexOfStart; +} + GameButton GameDef::ButtonNameToIndex( const CString &sButtonName ) const { for( int i=0; iGetCurrentGameDef()->m_iButtonsPerController; - GameButton gb = (GameButton)(iSec%iNumGameButtons); + int iNumGameButtonsToShow = GAMESTATE->GetCurrentGameDef()->GetNumGameplayButtons(); + GameButton gb = (GameButton)(iSec%iNumGameButtonsToShow); CString sCabLight = CabinetLightToString(cl); CString sGameButton = GAMESTATE->GetCurrentGameDef()->m_szButtonNames[gb]; diff --git a/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp b/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp index 7a650f97e0..f3b7e3cabc 100644 --- a/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp +++ b/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp @@ -12,6 +12,8 @@ #include "LightsDriver_SystemMessage.h" #include "ScreenManager.h" +#include "GameState.h" +#include "GameDef.h" LightsDriver_SystemMessage::LightsDriver_SystemMessage() @@ -32,11 +34,13 @@ void LightsDriver_SystemMessage::Set( const LightsState *ls ) s += ls->m_bCabinetLights[cl] ? '1' : '0'; } s += "\n"; + + int iNumGameButtonsToShow = GAMESTATE->GetCurrentGameDef()->GetNumGameplayButtons(); FOREACH_GameController( gc ) { s += ssprintf("Controller%d: ",gc+1); - FOREACH_GameButton( gb ) + for( int gb=0; gbm_bGameButtonLights[gc][gb] ? '1' : '0'; }