From 2b66e1590ea2674bd90d1b4a4828defd2bfcc602 Mon Sep 17 00:00:00 2001 From: Andrew Livy Date: Thu, 22 Jan 2004 04:31:31 +0000 Subject: [PATCH] Add on-screen graphics elements to represent non-joined players on music select screen --- stepmania/src/ModeChoice.cpp | 2 ++ stepmania/src/ScreenEvaluation.cpp | 2 +- stepmania/src/ScreenSelectMusic.cpp | 25 +++++++++++++++++++++++++ stepmania/src/ScreenSelectMusic.h | 1 + 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ModeChoice.cpp b/stepmania/src/ModeChoice.cpp index e13edfa67c..f18d91a4cc 100644 --- a/stepmania/src/ModeChoice.cpp +++ b/stepmania/src/ModeChoice.cpp @@ -254,6 +254,7 @@ void ModeChoice::Apply( PlayerNumber pn ) const return; const PlayMode OldPlayMode = GAMESTATE->m_PlayMode; + if( m_game != GAME_INVALID ) GAMESTATE->m_CurGame = m_game; if( m_pm != PLAY_MODE_INVALID ) @@ -309,6 +310,7 @@ void ModeChoice::Apply( PlayerNumber pn ) const { MEMCARDMAN->LockCards( true ); } + } bool ModeChoice::IsZero() const diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index cb17409174..34c069c9e3 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -689,7 +689,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName) for( unsigned i=0; iGetPathToN("ScreenEvaluation totalscore") ); m_textTotalScore[p].EnableShadow( false ); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 5adcf2dc61..6260b95dee 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -302,6 +302,17 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : Screen( sClassName m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); // invisible //this->AddChild( &m_sprOptionsMessage ); // we have to draw this manually over the top of transitions + for( p=0; pIsPlayerEnabled( p )) + { + m_sprNonPresence[p].SetName( ssprintf("NonPresenceP%d",p+1) ); + m_sprNonPresence[p].Load( THEME->GetPathToG(ssprintf("ScreenSelectMusic nonpresence p%d",p+1)) ); + SET_XY( m_sprNonPresence[p] ); + this->AddChild( &m_sprNonPresence[p] ); + } + } + m_bgOverlay.SetName( "BGAOverlay"); m_bgOverlay.LoadFromAniDir( THEME->GetPathToB("ScreenSelectMusic Overlay")); this->AddChild( &m_bgOverlay ); @@ -372,6 +383,13 @@ void ScreenSelectMusic::TweenSongPartsOnScreen( bool Initial ) ON_COMMAND( m_DifficultyIcon[p] ); ON_COMMAND( m_AutoGenIcon[p] ); } + for( p=0; pIsPlayerEnabled( p )) + { + ON_COMMAND( m_sprNonPresence[p] ); + } + } } void ScreenSelectMusic::TweenSongPartsOffScreen( bool Final ) @@ -399,6 +417,13 @@ void ScreenSelectMusic::TweenSongPartsOffScreen( bool Final ) OFF_COMMAND( m_DifficultyIcon[p] ); OFF_COMMAND( m_AutoGenIcon[p] ); } + for( p=0; pIsPlayerEnabled( p )) + { + OFF_COMMAND( m_sprNonPresence[p] ); + } + } } void ScreenSelectMusic::TweenCoursePartsOnScreen( bool Initial ) diff --git a/stepmania/src/ScreenSelectMusic.h b/stepmania/src/ScreenSelectMusic.h index a8f0746c6a..0f90129b23 100644 --- a/stepmania/src/ScreenSelectMusic.h +++ b/stepmania/src/ScreenSelectMusic.h @@ -90,6 +90,7 @@ protected: BitmapText m_textSongOptions; OptionIconRow m_OptionIconRow[NUM_PLAYERS]; Sprite m_sprMeterFrame[NUM_PLAYERS]; + Sprite m_sprNonPresence[NUM_PLAYERS]; DifficultyMeter m_DifficultyMeter[NUM_PLAYERS]; MusicSortDisplay m_MusicSortDisplay; Sprite m_sprHighScoreFrame[NUM_PLAYERS];