From bb8ae37aab2be8ae72c5f0869b93e41b9dd40c95 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sat, 13 Mar 2004 18:15:50 +0000 Subject: [PATCH] add graphic for ScreenPlayerOptions CancelAll --- stepmania/Themes/default/metrics.ini | 7 +++++++ stepmania/src/ActorUtil.cpp | 11 +++++++++++ stepmania/src/ActorUtil.h | 7 ++----- stepmania/src/ScreenPlayerOptions.cpp | 9 +++++++++ stepmania/src/ScreenPlayerOptions.h | 10 ++++++---- 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index e8d588a1e4..ab3db9a495 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -3902,6 +3902,13 @@ Line13=Steps Line14=Characters Line15=SaveToProfile +CancelAllP1X= +CancelAllP1Y= +CancelAllP1OnCommand= +CancelAllP2X= +CancelAllP2Y= +CancelAllP2OnCommand= + [ScreenRaveOptions] PrevScreen=ScreenSelectMusic NextScreen=ScreenStage diff --git a/stepmania/src/ActorUtil.cpp b/stepmania/src/ActorUtil.cpp index 1871ab9290..6e64098d70 100644 --- a/stepmania/src/ActorUtil.cpp +++ b/stepmania/src/ActorUtil.cpp @@ -238,3 +238,14 @@ void UtilCommand( Actor& actor, CString sClassName, CString sCommandName ) actor.Command( THEME->GetMetric(sClassName,actor.GetID()+sCommandName+"Command") ); } +void AutoActor::Load( CString sPath ) +{ + Unload(); + m_pActor = MakeActor( sPath ); +} + +void AutoActor::LoadAndSetName( CString sScreenName, CString sActorName ) +{ + Load( THEME->GetPathG(sScreenName,sActorName) ); + m_pActor->SetName( sActorName ); +} diff --git a/stepmania/src/ActorUtil.h b/stepmania/src/ActorUtil.h index 3184351ee3..d3678ce6b4 100644 --- a/stepmania/src/ActorUtil.h +++ b/stepmania/src/ActorUtil.h @@ -60,11 +60,8 @@ public: Actor *operator->() { return m_pActor; } void Unload() { if(m_pActor) { delete m_pActor; m_pActor=NULL; } } bool IsLoaded() const { return m_pActor != NULL; } - void Load( CString sPath ) - { - Unload(); - m_pActor = MakeActor( sPath ); - } + void Load( CString sPath ); + void LoadAndSetName( CString sScreenName, CString sActorName ); protected: Actor* m_pActor; diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 6caa957e58..093ffc037a 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -53,6 +53,13 @@ ScreenPlayerOptions::ScreenPlayerOptions( CString sClassName ) : SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("player options intro") ); + FOREACH_HumanPlayer( pn ) + { + m_sprCancelAll[pn].LoadAndSetName( "ScreenPlayerOptions", ssprintf("CancelAllP%d",pn+1) ); + SET_XY_AND_ON_COMMAND( m_sprCancelAll[pn] ); + this->AddChild( m_sprCancelAll[pn] ); + } + UpdateDisqualified(); } @@ -122,6 +129,8 @@ void ScreenPlayerOptions::Input( const DeviceInput& DeviceI, const InputEventTyp GAMESTATE->m_PlayerOptions[pn].Init(); GAMESTATE->m_PlayerOptions[pn].FromString( PREFSMAN->m_sDefaultModifiers ); + UtilCommand( m_sprCancelAll[pn], m_sName, "Show" ); + this->ImportOptions(); this->PositionUnderlines(); } diff --git a/stepmania/src/ScreenPlayerOptions.h b/stepmania/src/ScreenPlayerOptions.h index 4cbfac287e..1c19af9f5a 100644 --- a/stepmania/src/ScreenPlayerOptions.h +++ b/stepmania/src/ScreenPlayerOptions.h @@ -29,10 +29,12 @@ private: void UpdateDisqualified(); - bool m_bAcceptedChoices; - bool m_bGoToOptions; - bool m_bAskOptionsMessage; - Sprite m_sprOptionsMessage; + bool m_bAcceptedChoices; + bool m_bGoToOptions; + bool m_bAskOptionsMessage; + Sprite m_sprOptionsMessage; + + AutoActor m_sprCancelAll[NUM_PLAYERS]; };