Added functionality to gameplay cabinet lighting code.

This commit is contained in:
Charles Lohr
2004-05-20 07:44:57 +00:00
parent 1de96421e3
commit 9bf8ca2362
4 changed files with 46 additions and 4 deletions
+10
View File
@@ -151,6 +151,16 @@ void LightsManager::Update( float fDeltaTime )
case LIGHTSMODE_DEMONSTRATION: case LIGHTSMODE_DEMONSTRATION:
case LIGHTSMODE_GAMEPLAY: case LIGHTSMODE_GAMEPLAY:
{ {
if (PREFSMAN->m_bLightsOrOutput)
{
bool bOn=false;
FOREACH_CabinetLight( cl )
bOn = (m_fSecsLeftInCabinetLightBlink[cl] > 0) || bOn;
FOREACH_CabinetLight( cl )
m_LightsState.m_bCabinetLights[cl] = bOn;
}
else
FOREACH_CabinetLight( cl ) FOREACH_CabinetLight( cl )
m_LightsState.m_bCabinetLights[cl] = m_fSecsLeftInCabinetLightBlink[cl] > 0 ; m_LightsState.m_bCabinetLights[cl] = m_fSecsLeftInCabinetLightBlink[cl] > 0 ;
} }
+14
View File
@@ -28,6 +28,8 @@ PrefsManager* PREFSMAN = NULL; // global and accessable from anywhere in our pro
const float DEFAULT_SOUND_VOLUME = 1.00f; const float DEFAULT_SOUND_VOLUME = 1.00f;
const CString DEFAULT_LIGHTS_DRIVER = "Null"; const CString DEFAULT_LIGHTS_DRIVER = "Null";
const CString DEFAULT_LIGHTS_STEPS_TYPE = "lights-cabinet";
const CString DEFAULT_LIGHTS_STEPS_DIFFICULTY = "standard";
bool g_bAutoRestart = false; bool g_bAutoRestart = false;
@@ -264,6 +266,9 @@ void PrefsManager::Init()
#endif #endif
m_sLightsDriver = DEFAULT_LIGHTS_DRIVER; m_sLightsDriver = DEFAULT_LIGHTS_DRIVER;
m_sLightsStepsType = DEFAULT_LIGHTS_STEPS_TYPE;
m_sLightsStepsDifficulty = DEFAULT_LIGHTS_STEPS_DIFFICULTY;
m_bLightsOrOutput = false;
m_bBlinkGameplayButtonLightsOnNote = false; m_bBlinkGameplayButtonLightsOnNote = false;
m_bAllowUnacceleratedRenderer = false; m_bAllowUnacceleratedRenderer = false;
@@ -443,6 +448,9 @@ void PrefsManager::ReadPrefsFromFile( CString sIni )
ini.GetValue( "Options", "MarvelousTiming", (int&)m_iMarvelousTiming ); ini.GetValue( "Options", "MarvelousTiming", (int&)m_iMarvelousTiming );
ini.GetValue( "Options", "SoundVolume", m_fSoundVolume ); ini.GetValue( "Options", "SoundVolume", m_fSoundVolume );
ini.GetValue( "Options", "LightsDriver", m_sLightsDriver ); ini.GetValue( "Options", "LightsDriver", m_sLightsDriver );
ini.GetValue( "Options", "LightsStepsType", m_sLightsStepsType );
ini.GetValue( "Options", "LightsStepsDifficulty", m_sLightsStepsDifficulty );
ini.GetValue( "Options", "LightsOrOutput", m_bLightsOrOutput);
ini.GetValue( "Options", "SoundResampleQuality", m_iSoundResampleQuality ); ini.GetValue( "Options", "SoundResampleQuality", m_iSoundResampleQuality );
ini.GetValue( "Options", "CoinMode", m_iCoinMode ); ini.GetValue( "Options", "CoinMode", m_iCoinMode );
ini.GetValue( "Options", "CoinsPerCredit", m_iCoinsPerCredit ); ini.GetValue( "Options", "CoinsPerCredit", m_iCoinsPerCredit );
@@ -763,8 +771,14 @@ void PrefsManager::SaveGlobalPrefsToDisk() const
ini.SetValue ( "Options", "SoundDrivers", m_sSoundDrivers ); ini.SetValue ( "Options", "SoundDrivers", m_sSoundDrivers );
if(m_fSoundVolume != DEFAULT_SOUND_VOLUME) if(m_fSoundVolume != DEFAULT_SOUND_VOLUME)
ini.SetValue( "Options", "SoundVolume", m_fSoundVolume ); ini.SetValue( "Options", "SoundVolume", m_fSoundVolume );
if(m_bLightsOrOutput != false)
ini.SetValue( "Options", "LightsOrOutput", m_bLightsOrOutput );
if(m_sLightsDriver != DEFAULT_LIGHTS_DRIVER) if(m_sLightsDriver != DEFAULT_LIGHTS_DRIVER)
ini.SetValue( "Options", "LightsDriver", m_sLightsDriver ); ini.SetValue( "Options", "LightsDriver", m_sLightsDriver );
if(m_sLightsStepsType != DEFAULT_LIGHTS_STEPS_TYPE)
ini.SetValue( "Options", "LightsStepsType", m_sLightsStepsType );
if(m_sLightsStepsDifficulty != DEFAULT_LIGHTS_STEPS_DIFFICULTY)
ini.SetValue( "Options", "LightsStepsDifficulty", m_sLightsStepsDifficulty );
if(m_sMovieDrivers != DEFAULT_MOVIE_DRIVER_LIST) if(m_sMovieDrivers != DEFAULT_MOVIE_DRIVER_LIST)
ini.SetValue ( "Options", "MovieDrivers", m_sMovieDrivers ); ini.SetValue ( "Options", "MovieDrivers", m_sMovieDrivers );
+3
View File
@@ -243,6 +243,9 @@ public:
int m_iSoundResampleQuality; int m_iSoundResampleQuality;
CString m_sMovieDrivers; CString m_sMovieDrivers;
CString m_sLightsDriver; CString m_sLightsDriver;
CString m_sLightsStepsType;
CString m_sLightsStepsDifficulty;
bool m_bLightsOrOutput;
bool m_bBlinkGameplayButtonLightsOnNote; bool m_bBlinkGameplayButtonLightsOnNote;
bool m_bAllowUnacceleratedRenderer; bool m_bAllowUnacceleratedRenderer;
bool m_bThreadedInput; bool m_bThreadedInput;
+16 -1
View File
@@ -1040,13 +1040,28 @@ void ScreenGameplay::LoadNextSong()
// Load cabinet lights data // Load cabinet lights data
// //
{ {
int i;
m_CabinetLightsNoteData.Init(); m_CabinetLightsNoteData.Init();
ASSERT( GAMESTATE->m_pCurSong ); ASSERT( GAMESTATE->m_pCurSong );
vector<Steps*> vSteps; vector<Steps*> vSteps;
GAMESTATE->m_pCurSong->GetSteps( vSteps, STEPS_TYPE_LIGHTS_CABINET );
StepsType lightsSteps = STEPS_TYPE_LIGHTS_CABINET;
lightsSteps = GAMEMAN->StringToNotesType(PREFSMAN->m_sLightsStepsType);
GAMESTATE->m_pCurSong->GetSteps( vSteps, lightsSteps );
if( !vSteps.empty() ) if( !vSteps.empty() )
vSteps[0]->GetNoteData( &m_CabinetLightsNoteData ); vSteps[0]->GetNoteData( &m_CabinetLightsNoteData );
for (i=0;i<vSteps.size();i++)
{
Difficulty DC = StringToDifficulty(PREFSMAN->m_sLightsStepsDifficulty);
Difficulty DC2 = vSteps[i]->GetDifficulty();
if (DC == DC2)
vSteps[i]->GetNoteData( &m_CabinetLightsNoteData );
}
// Convert to 4s so that we can check if we're inside a hold with just // Convert to 4s so that we can check if we're inside a hold with just
// GetTapNote(). // GetTapNote().
m_CabinetLightsNoteData.ConvertHoldNotesTo4s(); m_CabinetLightsNoteData.ConvertHoldNotesTo4s();