diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp index 61a94d04ac..6860f8f458 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -105,7 +105,7 @@ static void IgnoreMessage( CString ID ) vector list; split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); list.push_back( ID ); - PREFSMAN->m_sIgnoredMessageWindows = join( ",", list ); + PREFSMAN->m_sIgnoredMessageWindows.Set( join(",",list) ); PREFSMAN->SaveGlobalPrefsToDisk(); } diff --git a/stepmania/src/arch/Dialog/Dialog.cpp b/stepmania/src/arch/Dialog/Dialog.cpp index ace59a806f..7c089d5cf3 100644 --- a/stepmania/src/arch/Dialog/Dialog.cpp +++ b/stepmania/src/arch/Dialog/Dialog.cpp @@ -107,7 +107,7 @@ void Dialog::IgnoreMessage( CString ID ) vector list; split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); list.push_back( ID ); - PREFSMAN->m_sIgnoredMessageWindows = join( ",", list ); + PREFSMAN->m_sIgnoredMessageWindows.Set( join(",",list) ); PREFSMAN->SaveGlobalPrefsToDisk(); } diff --git a/stepmania/src/arch/InputHandler/InputHandler_MonkeyKeyboard.cpp b/stepmania/src/arch/InputHandler/InputHandler_MonkeyKeyboard.cpp index 6771ae2aca..b8586679de 100644 --- a/stepmania/src/arch/InputHandler/InputHandler_MonkeyKeyboard.cpp +++ b/stepmania/src/arch/InputHandler/InputHandler_MonkeyKeyboard.cpp @@ -1,6 +1,7 @@ #include "global.h" #include "InputHandler_MonkeyKeyboard.h" #include "RageUtil.h" +#include "PrefsManager.h" InputHandler_MonkeyKeyboard::InputHandler_MonkeyKeyboard() : @@ -58,6 +59,9 @@ int GetRandomKeyboadKey() void InputHandler_MonkeyKeyboard::Update(float fDeltaTime) { + if( !PREFSMAN->m_bMonkeyInput ) + return; + float fSecsAgo = m_timerPressButton.Ago(); if( fSecsAgo > 0.5 ) diff --git a/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp b/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp index 04ea5887c6..90d6b78518 100644 --- a/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp +++ b/stepmania/src/arch/Lights/LightsDriver_SystemMessage.cpp @@ -3,6 +3,7 @@ #include "ScreenManager.h" #include "GameState.h" #include "Game.h" +#include "PrefsManager.h" LightsDriver_SystemMessage::LightsDriver_SystemMessage() @@ -15,6 +16,9 @@ LightsDriver_SystemMessage::~LightsDriver_SystemMessage() void LightsDriver_SystemMessage::Set( const LightsState *ls ) { + if( !PREFSMAN->m_bDebugLights ) + return; + CString s; s += LightsModeToString(LIGHTSMAN->GetLightsMode()) + "\n"; diff --git a/stepmania/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/stepmania/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp index 4f90b7c543..7d2c21e444 100644 --- a/stepmania/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +++ b/stepmania/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp @@ -414,7 +414,7 @@ MovieTexture_FFMpeg::MovieTexture_FFMpeg( RageTextureID ID ): m_bWantRewind = false; m_Clock = 0; m_FrameSkipMode = false; - m_bThreaded = PREFSMAN->m_bThreadedMovieDecode; + m_bThreaded = PREFSMAN->m_bThreadedMovieDecode.Get(); } CString MovieTexture_FFMpeg::Init() diff --git a/stepmania/src/arch/arch.cpp b/stepmania/src/arch/arch.cpp index 7d83280312..23b87321e4 100644 --- a/stepmania/src/arch/arch.cpp +++ b/stepmania/src/arch/arch.cpp @@ -5,10 +5,10 @@ #include "global.h" #include "RageLog.h" #include "RageUtil.h" - #include "PrefsManager.h" #include "arch.h" #include "arch_platform.h" +#include "Foreach.h" #include "InputHandler/Selector_InputHandler.h" void MakeInputHandlers(CString drivers, vector &Add) @@ -20,40 +20,48 @@ void MakeInputHandlers(CString drivers, vector &Add) CString Driver; - for(unsigned i = 0; i < DriversToTry.size(); ++i) + FOREACH_CONST( CString, DriversToTry, s ) { + InputHandler *ret = NULL; + #ifdef USE_INPUT_HANDLER_DIRECTINPUT - if(!DriversToTry[i].CompareNoCase("DirectInput") ) Add.push_back(new InputHandler_DInput); + if(!s->CompareNoCase("DirectInput") ) ret = new InputHandler_DInput; #endif #ifdef USE_INPUT_HANDLER_LINUX_JOYSTICK - if(!DriversToTry[i].CompareNoCase("Joystick") ) Add.push_back(new InputHandler_Linux_Joystick); + if(!s->CompareNoCase("Joystick") ) ret = new InputHandler_Linux_Joystick; #endif #ifdef USE_INPUT_HANDLER_LINUX_TTY - if(!DriversToTry[i].CompareNoCase("tty") ) Add.push_back(new InputHandler_Linux_tty); -#endif -#ifdef USE_INPUT_HANDLER_MONKEY_KEYBOARD - if(!DriversToTry[i].CompareNoCase("MonkeyKeyboard") ) Add.push_back(new InputHandler_MonkeyKeyboard); + if(!s->CompareNoCase("tty") ) ret = new InputHandler_Linux_tty; #endif #ifdef USE_INPUT_HANDLER_SDL - if(!DriversToTry[i].CompareNoCase("SDL") ) Add.push_back(new InputHandler_SDL); + if(!s->CompareNoCase("SDL") ) ret = new InputHandler_SDL; #endif #ifdef USE_INPUT_HANDLER_WIN32_PARA - if(!DriversToTry[i].CompareNoCase("Para") ) Add.push_back(new InputHandler_Win32_Para); + if(!s->CompareNoCase("Para") ) ret = new InputHandler_Win32_Para; #endif #ifdef USE_INPUT_HANDLER_WIN32_PUMP - if(!DriversToTry[i].CompareNoCase("Pump") ) Add.push_back(new InputHandler_Win32_Pump); + if(!s->CompareNoCase("Pump") ) ret = new InputHandler_Win32_Pump; #endif #ifdef USE_INPUT_HANDLER_X11 - if(!DriversToTry[i].CompareNoCase("X11") ) Add.push_back(new InputHandler_X11); + if(!s->CompareNoCase("X11") ) ret = new InputHandler_X11; #endif #ifdef USE_INPUT_HANDLER_XBOX - if(!DriversToTry[i].CompareNoCase("Xbox") ) Add.push_back(new InputHandler_Xbox); + if(!s->CompareNoCase("Xbox") ) ret = new InputHandler_Xbox; #endif + + if( ret == NULL ) + LOG->Warn( "Unknown lights driver name: %s", s->c_str() ); + else + Add.push_back( ret ); } + + // Always add + Add.push_back(new InputHandler_MonkeyKeyboard); + } #include "Lights/Selector_LightsDriver.h" -LightsDriver *MakeLightsDriver(CString driver) +void MakeLightsDrivers(CString driver, vector &Add) { LOG->Trace( "Initializing lights driver: %s", driver.c_str() ); @@ -65,20 +73,16 @@ LightsDriver *MakeLightsDriver(CString driver) #ifdef USE_LIGHTS_DRIVER_LINUX_WEEDTECH if( !driver.CompareNoCase("WeedTech") ) ret = new LightsDriver_LinuxWeedTech; #endif -#ifdef USE_LIGHTS_DRIVER_NULL - if( !driver.CompareNoCase("Null") ) ret = new LightsDriver_Null; -#endif -#ifdef USE_LIGHTS_DRIVER_SYSTEM_MESSAGE - if( !driver.CompareNoCase("SystemMessage") ) ret = new LightsDriver_SystemMessage; -#endif #ifdef USE_LIGHTS_DRIVER_WIN32_PARALLEL if( !driver.CompareNoCase("Parallel") ) ret = new LightsDriver_Win32Parallel; #endif if( ret == NULL ) LOG->Warn( "Unknown lights driver name: %s", driver.c_str() ); - - return ret; + else + Add.push_back( ret ); + + Add.push_back( new LightsDriver_SystemMessage ); } #include "LoadingWindow/Selector_LoadingWindow.h" @@ -174,7 +178,7 @@ RageMovieTexture *MakeRageMovieTexture(RageTextureID ID) DumpAVIDebugInfo( ID.filename ); CStringArray DriversToTry; - split(PREFSMAN->m_sMovieDrivers, ",", DriversToTry, true); + split(PREFSMAN->GetMovieDrivers(), ",", DriversToTry, true); ASSERT(DriversToTry.size() != 0); CString Driver; diff --git a/stepmania/src/arch/arch.h b/stepmania/src/arch/arch.h index 10d3a58e64..bd23a9f295 100644 --- a/stepmania/src/arch/arch.h +++ b/stepmania/src/arch/arch.h @@ -24,7 +24,7 @@ class InputHandler; void MakeInputHandlers(CString drivers, vector &Add); class LightsDriver; -LightsDriver *MakeLightsDriver(CString driver); +void MakeLightsDrivers(CString drivers, vector &Add); class LoadingWindow; LoadingWindow *MakeLoadingWindow();