add AttractSoundFrequency option
remove AttractSound and DemonstrationSound options
This commit is contained in:
@@ -3542,12 +3542,11 @@ TimerSeconds=0
|
|||||||
PrevScreen=ScreenOptionsMenu@ScreenOptionsMaster
|
PrevScreen=ScreenOptionsMenu@ScreenOptionsMaster
|
||||||
NextScreen=ScreenOptionsMenu@ScreenOptionsMaster
|
NextScreen=ScreenOptionsMenu@ScreenOptionsMaster
|
||||||
|
|
||||||
OptionMenuFlags=rows,5;together;explanations
|
OptionMenuFlags=rows,4;together;explanations
|
||||||
Line1=conf,PreloadSounds
|
Line1=conf,PreloadSounds
|
||||||
Line2=conf,ResamplingQuality
|
Line2=conf,ResamplingQuality
|
||||||
Line3=conf,AttractSound
|
Line3=conf,AttractSoundFrequency
|
||||||
Line4=conf,DemonstrationSound
|
Line4=conf,SoundVolume
|
||||||
Line5=conf,SoundVolume
|
|
||||||
|
|
||||||
[ScreenIntroMovie]
|
[ScreenIntroMovie]
|
||||||
NextScreen=ScreenDemonstration
|
NextScreen=ScreenDemonstration
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ GameState::GameState()
|
|||||||
|
|
||||||
m_pUnlockingSys = new UnlockSystem;
|
m_pUnlockingSys = new UnlockSystem;
|
||||||
ReloadCharacters();
|
ReloadCharacters();
|
||||||
|
|
||||||
|
m_iNumTimesThroughAttract = -1; // initial screen will bump this up to 0
|
||||||
}
|
}
|
||||||
|
|
||||||
GameState::~GameState()
|
GameState::~GameState()
|
||||||
@@ -161,6 +163,8 @@ void GameState::BeginGame()
|
|||||||
m_timeGameStarted = time(NULL);
|
m_timeGameStarted = time(NULL);
|
||||||
|
|
||||||
m_vpsNamesThatWereFilled.clear();
|
m_vpsNamesThatWereFilled.clear();
|
||||||
|
|
||||||
|
m_iNumTimesThroughAttract = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameState::EndGame()
|
void GameState::EndGame()
|
||||||
@@ -1210,3 +1214,11 @@ bool GameState::OneIsHot() const
|
|||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GameState::IsTimeToPlayAttractSounds()
|
||||||
|
{
|
||||||
|
if( PREFSMAN->m_iAttractSoundFrequency == 0 ) // never
|
||||||
|
return false;
|
||||||
|
m_iNumTimesThroughAttract %= PREFSMAN->m_iAttractSoundFrequency;
|
||||||
|
return m_iNumTimesThroughAttract==0;
|
||||||
|
}
|
||||||
@@ -254,6 +254,12 @@ public:
|
|||||||
// Arrow positioning
|
// Arrow positioning
|
||||||
//
|
//
|
||||||
NoteFieldPositioning *m_pPosition;
|
NoteFieldPositioning *m_pPosition;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Attract stuff
|
||||||
|
//
|
||||||
|
int m_iNumTimesThroughAttract;
|
||||||
|
bool IsTimeToPlayAttractSounds();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -155,8 +155,7 @@ PrefsManager::PrefsManager()
|
|||||||
m_fCenterImageScaleX = 1;
|
m_fCenterImageScaleX = 1;
|
||||||
m_fCenterImageScaleY = 1;
|
m_fCenterImageScaleY = 1;
|
||||||
|
|
||||||
m_bAttractSound = true;
|
m_iAttractSoundFrequency = 4;
|
||||||
m_bDemonstrationSound = true;
|
|
||||||
m_bAllowExtraStage = true;
|
m_bAllowExtraStage = true;
|
||||||
g_bAutoRestart = false;
|
g_bAutoRestart = false;
|
||||||
|
|
||||||
@@ -376,8 +375,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk()
|
|||||||
ini.GetValue( "Options", "CenterImageTranslateY", m_iCenterImageTranslateY );
|
ini.GetValue( "Options", "CenterImageTranslateY", m_iCenterImageTranslateY );
|
||||||
ini.GetValue( "Options", "CenterImageScaleX", m_fCenterImageScaleX );
|
ini.GetValue( "Options", "CenterImageScaleX", m_fCenterImageScaleX );
|
||||||
ini.GetValue( "Options", "CenterImageScaleY", m_fCenterImageScaleY );
|
ini.GetValue( "Options", "CenterImageScaleY", m_fCenterImageScaleY );
|
||||||
ini.GetValue( "Options", "AttractSound", m_bAttractSound );
|
ini.GetValue( "Options", "AttractSoundFrequency", m_iAttractSoundFrequency );
|
||||||
ini.GetValue( "Options", "DemonstrationSound", m_bDemonstrationSound );
|
|
||||||
ini.GetValue( "Options", "AllowExtraStage", m_bAllowExtraStage );
|
ini.GetValue( "Options", "AllowExtraStage", m_bAllowExtraStage );
|
||||||
ini.GetValue( "Options", "AutoRestart", g_bAutoRestart );
|
ini.GetValue( "Options", "AutoRestart", g_bAutoRestart );
|
||||||
|
|
||||||
@@ -534,8 +532,7 @@ void PrefsManager::SaveGlobalPrefsToDisk() const
|
|||||||
ini.SetValue( "Options", "CenterImageTranslateY", m_iCenterImageTranslateY );
|
ini.SetValue( "Options", "CenterImageTranslateY", m_iCenterImageTranslateY );
|
||||||
ini.SetValue( "Options", "CenterImageScaleX", m_fCenterImageScaleX );
|
ini.SetValue( "Options", "CenterImageScaleX", m_fCenterImageScaleX );
|
||||||
ini.SetValue( "Options", "CenterImageScaleY", m_fCenterImageScaleY );
|
ini.SetValue( "Options", "CenterImageScaleY", m_fCenterImageScaleY );
|
||||||
ini.SetValue( "Options", "AttractSound", m_bAttractSound );
|
ini.SetValue( "Options", "AttractSoundFrequency", m_iAttractSoundFrequency );
|
||||||
ini.SetValue( "Options", "DemonstrationSound", m_bDemonstrationSound );
|
|
||||||
ini.SetValue( "Options", "AllowExtraStage", m_bAllowExtraStage );
|
ini.SetValue( "Options", "AllowExtraStage", m_bAllowExtraStage );
|
||||||
ini.SetValue( "Options", "AutoRestart", g_bAutoRestart );
|
ini.SetValue( "Options", "AutoRestart", g_bAutoRestart );
|
||||||
ini.SetValue( "Options", "SoundWriteAhead", m_iSoundWriteAhead );
|
ini.SetValue( "Options", "SoundWriteAhead", m_iSoundWriteAhead );
|
||||||
|
|||||||
@@ -128,8 +128,7 @@ public:
|
|||||||
int m_iCenterImageTranslateY;
|
int m_iCenterImageTranslateY;
|
||||||
float m_fCenterImageScaleX;
|
float m_fCenterImageScaleX;
|
||||||
float m_fCenterImageScaleY;
|
float m_fCenterImageScaleY;
|
||||||
bool m_bAttractSound;
|
int m_iAttractSoundFrequency; // 0 = never, 1 = every time
|
||||||
bool m_bDemonstrationSound;
|
|
||||||
bool m_bAllowExtraStage;
|
bool m_bAllowExtraStage;
|
||||||
|
|
||||||
// course ranking
|
// course ranking
|
||||||
|
|||||||
@@ -26,13 +26,18 @@
|
|||||||
#include "SDL_utils.h"
|
#include "SDL_utils.h"
|
||||||
#include "RageSounds.h"
|
#include "RageSounds.h"
|
||||||
|
|
||||||
#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen")
|
#define NEXT_SCREEN THEME->GetMetric(m_sName,"NextScreen")
|
||||||
|
#define INITIAL_SCREEN THEME->GetMetric("Common","InitialScreen")
|
||||||
|
|
||||||
|
|
||||||
ScreenAttract::ScreenAttract( CString sClassName ) : Screen( sClassName )
|
ScreenAttract::ScreenAttract( CString sClassName ) : Screen( sClassName )
|
||||||
{
|
{
|
||||||
LOG->Trace( "ScreenAttract::ScreenAttract(%s)", sClassName.c_str() );
|
LOG->Trace( "ScreenAttract::ScreenAttract(%s)", sClassName.c_str() );
|
||||||
|
|
||||||
|
// increment times through attract count
|
||||||
|
if( sClassName == INITIAL_SCREEN )
|
||||||
|
GAMESTATE->m_iNumTimesThroughAttract++;
|
||||||
|
|
||||||
GAMESTATE->Reset();
|
GAMESTATE->Reset();
|
||||||
|
|
||||||
// We have to do initialization in the first update because this->GetElementName() won't
|
// We have to do initialization in the first update because this->GetElementName() won't
|
||||||
@@ -51,7 +56,7 @@ ScreenAttract::ScreenAttract( CString sClassName ) : Screen( sClassName )
|
|||||||
|
|
||||||
m_soundStart.Load( THEME->GetPathToS("Common start") );
|
m_soundStart.Load( THEME->GetPathToS("Common start") );
|
||||||
|
|
||||||
if( PREFSMAN->m_bAttractSound )
|
if( GAMESTATE->IsTimeToPlayAttractSounds() )
|
||||||
SOUND->PlayMusic( THEME->GetPathToS(m_sName + " music") );
|
SOUND->PlayMusic( THEME->GetPathToS(m_sName + " music") );
|
||||||
else
|
else
|
||||||
SOUND->PlayMusic( "" ); // stop music
|
SOUND->PlayMusic( "" ); // stop music
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ ScreenDemonstration::ScreenDemonstration( CString sName ) : ScreenJukebox( sName
|
|||||||
m_DancingState = STATE_DANCING;
|
m_DancingState = STATE_DANCING;
|
||||||
this->PostScreenMessage( SM_BeginFadingOut, SECONDS_TO_SHOW );
|
this->PostScreenMessage( SM_BeginFadingOut, SECONDS_TO_SHOW );
|
||||||
|
|
||||||
if( !PREFSMAN->m_bDemonstrationSound )
|
if( !GAMESTATE->IsTimeToPlayAttractSounds() )
|
||||||
SOUNDMAN->SetPrefs( 0 ); // slient
|
SOUNDMAN->SetPrefs( 0 ); // slient
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ void ScreenDemonstration::Input( const DeviceInput& DeviceI, const InputEventTyp
|
|||||||
break; // don't fall through
|
break; // don't fall through
|
||||||
|
|
||||||
m_soundMusic.Stop();
|
m_soundMusic.Stop();
|
||||||
if( !PREFSMAN->m_bDemonstrationSound )
|
if( !GAMESTATE->IsTimeToPlayAttractSounds() )
|
||||||
SOUNDMAN->SetPrefs( PREFSMAN->m_fSoundVolume ); // turn volume back on
|
SOUNDMAN->SetPrefs( PREFSMAN->m_fSoundVolume ); // turn volume back on
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -124,7 +124,7 @@ void ScreenDemonstration::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
return;
|
return;
|
||||||
case SM_GoToNextScreen:
|
case SM_GoToNextScreen:
|
||||||
m_soundMusic.Stop();
|
m_soundMusic.Stop();
|
||||||
if( !PREFSMAN->m_bDemonstrationSound )
|
if( !GAMESTATE->IsTimeToPlayAttractSounds() )
|
||||||
SOUNDMAN->SetPrefs( PREFSMAN->m_fSoundVolume ); // turn volume back on
|
SOUNDMAN->SetPrefs( PREFSMAN->m_fSoundVolume ); // turn volume back on
|
||||||
|
|
||||||
GAMESTATE->Reset();
|
GAMESTATE->Reset();
|
||||||
|
|||||||
@@ -391,8 +391,7 @@ static void RefreshRate( int &sel, bool ToSel, const CStringArray &choices )
|
|||||||
/* Sound options */
|
/* Sound options */
|
||||||
MOVE( PreloadSounds, PREFSMAN->m_bSoundPreloadAll );
|
MOVE( PreloadSounds, PREFSMAN->m_bSoundPreloadAll );
|
||||||
MOVE( ResamplingQuality, PREFSMAN->m_iSoundResampleQuality );
|
MOVE( ResamplingQuality, PREFSMAN->m_iSoundResampleQuality );
|
||||||
MOVE( AttractSound, PREFSMAN->m_bAttractSound );
|
MOVE( AttractSoundFrequency,PREFSMAN->m_iAttractSoundFrequency );
|
||||||
MOVE( DemonstrationSound, PREFSMAN->m_bDemonstrationSound );
|
|
||||||
|
|
||||||
static void SoundVolume( int &sel, bool ToSel, const CStringArray &choices )
|
static void SoundVolume( int &sel, bool ToSel, const CStringArray &choices )
|
||||||
{
|
{
|
||||||
@@ -484,8 +483,7 @@ static const ConfOption g_ConfOptions[] =
|
|||||||
/* Sound options */
|
/* Sound options */
|
||||||
ConfOption( "Preload\nSounds", PreloadSounds, "NO","YES" ),
|
ConfOption( "Preload\nSounds", PreloadSounds, "NO","YES" ),
|
||||||
ConfOption( "Resampling\nQuality", ResamplingQuality, "FAST","NORMAL","HIGH QUALITY" ),
|
ConfOption( "Resampling\nQuality", ResamplingQuality, "FAST","NORMAL","HIGH QUALITY" ),
|
||||||
ConfOption( "Attract\nSound", AttractSound, "OFF","ON" ),
|
ConfOption( "Attract\nSound Frequency", AttractSoundFrequency, "NEVER","ALWAYS","2 TIMES","3 TIMES","4 TIMES","5 TIMES" ),
|
||||||
ConfOption( "Demonstration\nSound", DemonstrationSound, "OFF","ON" ),
|
|
||||||
ConfOption( "Sound\nVolume", SoundVolume, "0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%","10%" ),
|
ConfOption( "Sound\nVolume", SoundVolume, "0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%","10%" ),
|
||||||
ConfOption( "", NULL ) // end marker
|
ConfOption( "", NULL ) // end marker
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user