diff --git a/stepmania/src/arch/Lights/LightsDriver.cpp b/stepmania/src/arch/Lights/LightsDriver.cpp new file mode 100644 index 0000000000..15301cf4af --- /dev/null +++ b/stepmania/src/arch/Lights/LightsDriver.cpp @@ -0,0 +1,50 @@ +#include "global.h" +#include "LightsDriver.h" +#include "RageLog.h" +#include "arch/arch.h" +#include "arch/arch_platform.h" + +LightsDriver *MakeLightsDriver(CString driver) +{ + LOG->Trace("Initializing lights driver: %s", driver.c_str()); + + LightsDriver *ret = NULL; + +#ifdef _WINDOWS + if(!driver.CompareNoCase("Parallel")) ret = new LightsDriver_Win32Parallel; +#endif + if(!driver.CompareNoCase("SystemMessage")) ret = new LightsDriver_SystemMessage; + if(!driver.CompareNoCase("Null") || !ret ) + { + if( driver.CompareNoCase("Null") ) + LOG->Warn("Unknown lights driver name: %s", driver.c_str()); + ret = new LightsDriver_Null; + } + + return ret; +} + +/* + * (c) 2002-2004 Glenn Maynard + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ diff --git a/stepmania/src/arch/Lights/LightsDriver.h b/stepmania/src/arch/Lights/LightsDriver.h index adc9a9073b..b691b2f0fc 100644 --- a/stepmania/src/arch/Lights/LightsDriver.h +++ b/stepmania/src/arch/Lights/LightsDriver.h @@ -16,6 +16,7 @@ public: virtual void Set( const LightsState *ls ) = 0; }; +LightsDriver *MakeLightsDriver( CString driver ); #endif diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp b/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp new file mode 100644 index 0000000000..582ad1b5e9 --- /dev/null +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriver.cpp @@ -0,0 +1,48 @@ +#include "global.h" +#include "MemoryCardDriver.h" +#include "PrefsManager.h" + +#include "arch/arch_platform.h" + +MemoryCardDriver *MakeMemoryCardDriver() +{ + if( !PREFSMAN->m_bMemoryCards ) + return new MemoryCardDriver_Null; + + MemoryCardDriver *ret = NULL; + +#ifdef LINUX + ret = new MemoryCardDriverThreaded_Linux; +#elif _WINDOWS + ret = new MemoryCardDriverThreaded_Windows; +#endif + if( !ret ) + ret = new MemoryCardDriver_Null; + + return ret; +} + +/* + * (c) 2002-2004 Glenn Maynard + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, and/or sell copies of the Software, and to permit persons to + * whom the Software is furnished to do so, provided that the above + * copyright notice(s) and this permission notice appear in all copies of + * the Software and that both the above copyright notice(s) and this + * permission notice appear in supporting documentation. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS + * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT + * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ diff --git a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h index 464abcdf83..4f57d8a524 100644 --- a/stepmania/src/arch/MemoryCard/MemoryCardDriver.h +++ b/stepmania/src/arch/MemoryCard/MemoryCardDriver.h @@ -61,6 +61,8 @@ public: virtual void UnPauseMountingThread() = 0; }; +MemoryCardDriver *MakeMemoryCardDriver(); + #endif /* diff --git a/stepmania/src/arch/arch.cpp b/stepmania/src/arch/arch.cpp index 21b0df9115..df86df4e1c 100644 --- a/stepmania/src/arch/arch.cpp +++ b/stepmania/src/arch/arch.cpp @@ -127,44 +127,6 @@ RageSoundDriver *MakeRageSoundDriver(CString drivers) return ret; } -LightsDriver *MakeLightsDriver(CString driver) -{ - LOG->Trace("Initializing lights driver: %s", driver.c_str()); - - LightsDriver *ret = NULL; - -#ifdef _WINDOWS - if(!driver.CompareNoCase("Parallel")) ret = new LightsDriver_Win32Parallel; -#endif - if(!driver.CompareNoCase("SystemMessage")) ret = new LightsDriver_SystemMessage; - if(!driver.CompareNoCase("Null") || !ret ) - { - if( driver.CompareNoCase("Null") ) - LOG->Warn("Unknown lights driver name: %s", driver.c_str()); - ret = new LightsDriver_Null; - } - - return ret; -} - -MemoryCardDriver *MakeMemoryCardDriver() -{ - if( !PREFSMAN->m_bMemoryCards ) - return new MemoryCardDriver_Null; - - MemoryCardDriver *ret = NULL; - -#ifdef LINUX - ret = new MemoryCardDriverThreaded_Linux; -#elif _WINDOWS - ret = new MemoryCardDriverThreaded_Windows; -#endif - if( !ret ) - ret = new MemoryCardDriver_Null; - - return ret; -} - /* * (c) 2002-2004 Glenn Maynard * All rights reserved. diff --git a/stepmania/src/arch/arch.h b/stepmania/src/arch/arch.h index 9ff5eae4eb..4b3a82a1fb 100644 --- a/stepmania/src/arch/arch.h +++ b/stepmania/src/arch/arch.h @@ -15,8 +15,6 @@ LowLevelWindow *MakeLowLevelWindow(); void MakeInputHandlers(vector &Add); RageSoundDriver *MakeRageSoundDriver(CString drivers); -LightsDriver *MakeLightsDriver(CString driver); -MemoryCardDriver *MakeMemoryCardDriver(); /* These definitions are in here, instead of in arch_*.h, because they * need to be available to other modules. It'd be overkill to create separate