From 35a0e18c2f566c39f7208762d1f1ff0b8fb987ef Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 3 May 2007 05:28:46 +0000 Subject: [PATCH] centralize attract volume --- stepmania/src/ScreenAttract.cpp | 15 ++++++++++----- stepmania/src/ScreenAttract.h | 1 + stepmania/src/ScreenDemonstration.cpp | 8 +++----- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/stepmania/src/ScreenAttract.cpp b/stepmania/src/ScreenAttract.cpp index e29280603f..72105700f5 100644 --- a/stepmania/src/ScreenAttract.cpp +++ b/stepmania/src/ScreenAttract.cpp @@ -26,10 +26,7 @@ ScreenAttract::ScreenAttract( bool bResetGameState ) void ScreenAttract::Init() { - if( GAMESTATE->IsTimeToPlayAttractSounds() ) - SOUNDMAN->SetVolumeOfNonCriticalSounds( 1.0f ); // unmute attract sounds - else - SOUNDMAN->SetVolumeOfNonCriticalSounds( 0.0f ); // mute attract sounds + ScreenAttract::SetAttractVolume( !GAMESTATE->IsTimeToPlayAttractSounds() ); GAMESTATE->VisitAttractScreen( m_sName ); @@ -43,6 +40,14 @@ void ScreenAttract::Input( const InputEventPlus &input ) AttractInput( input, this ); } +void ScreenAttract::SetAttractVolume( bool bInAttract ) +{ + if( bInAttract ) + SOUNDMAN->SetVolumeOfNonCriticalSounds( 0.0f ); // mute attract sounds + else + SOUNDMAN->SetVolumeOfNonCriticalSounds( 1.0f ); // unmute attract sounds +} + void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuElements *pScreen ) { if( input.type != IET_FIRST_PRESS ) @@ -74,7 +79,7 @@ void ScreenAttract::AttractInput( const InputEventPlus &input, ScreenWithMenuEle if( input.MenuI != MENU_BUTTON_COIN ) SCREENMAN->PlayCoinSound(); - SOUNDMAN->SetVolumeOfNonCriticalSounds( 1.0f ); // unmute attract sounds + SetAttractVolume( false ); // unmute attract sounds pScreen->Cancel( SM_GoToStartScreen ); break; default: diff --git a/stepmania/src/ScreenAttract.h b/stepmania/src/ScreenAttract.h index 04b50513e5..57d7946546 100644 --- a/stepmania/src/ScreenAttract.h +++ b/stepmania/src/ScreenAttract.h @@ -15,6 +15,7 @@ public: static void AttractInput( const InputEventPlus &input, ScreenWithMenuElements *pScreen ); static void GoToStartScreen( RString sScreenName ); + static void SetAttractVolume( bool bInAttract ); virtual void Input( const InputEventPlus &input ); virtual void HandleScreenMessage( const ScreenMessage SM ); diff --git a/stepmania/src/ScreenDemonstration.cpp b/stepmania/src/ScreenDemonstration.cpp index 507dcc1a0c..b5b1633462 100644 --- a/stepmania/src/ScreenDemonstration.cpp +++ b/stepmania/src/ScreenDemonstration.cpp @@ -10,7 +10,7 @@ #include "GameSoundManager.h" #include "GameManager.h" #include "Style.h" - +#include "ScreenAttract.h" #define SECONDS_TO_SHOW THEME->GetMetricF(m_sName,"SecondsToShow") #define ALLOW_STYLE_TYPES THEME->GetMetric (m_sName,"AllowStyleTypes") @@ -19,15 +19,13 @@ REGISTER_SCREEN_CLASS( ScreenDemonstration ); ScreenDemonstration::ScreenDemonstration() { m_bDemonstration = true; - if( GAMESTATE->IsTimeToPlayAttractSounds() ) - SOUNDMAN->SetVolumeOfNonCriticalSounds( 1.0f ); // unmute attract sounds - else - SOUNDMAN->SetVolumeOfNonCriticalSounds( 0.0f ); // mute attract sounds + ScreenAttract::SetAttractVolume( !GAMESTATE->IsTimeToPlayAttractSounds() ); } void ScreenDemonstration::Init() { GAMESTATE->Reset(); + GAMESTATE->VisitAttractScreen( m_sName ); // Choose a Style {