diff --git a/stepmania/src/LightsManager.cpp b/stepmania/src/LightsManager.cpp index 06d66bbc05..071ad4215d 100644 --- a/stepmania/src/LightsManager.cpp +++ b/stepmania/src/LightsManager.cpp @@ -21,6 +21,8 @@ Preference g_fLightsFalloffSeconds( "LightsFalloffSeconds", 0.1f ); Preference g_fLightsAheadSeconds( "LightsAheadSeconds", 0.05f ); static Preference g_bBlinkGameplayButtonLightsOnNote( "BlinkGameplayButtonLightsOnNote", false ); +static ThemeMetric GAME_BUTTONS_TO_SHOW( "LightsManager", "GameButtonsToShow" ); + static const char *CabinetLightNames[] = { "MarqueeUpLeft", "MarqueeUpRight", @@ -46,11 +48,26 @@ static const char *LightsModeNames[] = { "TestManualCycle", }; XToString( LightsMode ); - +#include "RageLog.h" static void GetUsedGameInputs( vector &vGameInputsOut ) { vGameInputsOut.clear(); + vector asGameButtons; + split( GAME_BUTTONS_TO_SHOW.GetValue(), ",", asGameButtons ); + FOREACH_GameController( gc ) + { + FOREACH_CONST( RString, asGameButtons, button ) + { + GameButton gb = StringToGameButton( INPUTMAPPER->GetInputScheme(), *button ); + if( gb != GameButton_Invalid ) + { + GameInput gi = GameInput( gc, gb ); + vGameInputsOut.push_back( gi ); + } + } + } + set vGIs; vector vStyles; GAMEMAN->GetStylesForGame( GAMESTATE->m_pCurGame, vStyles ); @@ -71,6 +88,7 @@ static void GetUsedGameInputs( vector &vGameInputsOut ) } } } + FOREACHS_CONST( GameInput, vGIs, gi ) vGameInputsOut.push_back( *gi ); }