From 19ff522f3d56d30493e9cc804ddbb53386106479 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 18 Dec 2003 23:19:02 +0000 Subject: [PATCH] CourseSongNumber --- stepmania/Themes/default/metrics.ini | 4 ++++ stepmania/src/ScreenGameplay.cpp | 19 +++++++++++++++++++ stepmania/src/ScreenGameplay.h | 1 + 3 files changed, 24 insertions(+) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 7dfec2ff9b..eabac8ef14 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -926,6 +926,10 @@ SongNumberP2ExtraX=350 SongNumberP2ExtraY=440 SongNumberP2ExtraOnCommand=addy,100;sleep,0.5;linear,1;addy,-100 SongNumberP2ExtraOffCommand=linear,1;addy,100 +CourseSongNumberX=0 +CourseSongNumberY=0 +CourseSongNumberOnCommand=hidden,1 +CourseSongNumberOffCommand= ScoreP1X=106 ScoreP1Y=444 ScoreP1OnCommand=addy,100;sleep,0.5;linear,1;addy,-100 diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index d4d6323d6e..40111355f2 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -470,6 +470,8 @@ ScreenGameplay::ScreenGameplay( CString sName, bool bDemonstration ) : Screen("S m_sprStage.SetName( ssprintf("Stage%s",bExtra?"Extra":"") ); SET_XY( m_sprStage ); + m_sprCourseSongNumber.SetName( "CourseSongNumber" ); + SET_XY( m_sprCourseSongNumber ); for( p=0; pAddChild( &m_sprCourseSongNumber ); + for( p=0; pIsPlayerEnabled(p) ) { @@ -741,6 +745,19 @@ void ScreenGameplay::LoadNextSong() m_textCourseSongNumber[p].SetText( ssprintf("%d", GAMESTATE->m_CurStageStats.iSongsPlayed[p]) ); } + if( GAMESTATE->IsCourseMode() ) + { + int SongNumber = 0; + for( p=0; pIsPlayerEnabled(p) ) + SongNumber = max( SongNumber, GAMESTATE->m_CurStageStats.iSongsPlayed[p] ); + CString path = THEME->GetPathToG( ssprintf("ScreenGameplay course song %i", SongNumber), true ); + if( path != "" ) + m_sprCourseSongNumber.Load( path ); + else + m_sprCourseSongNumber.UnloadTexture(); + } + int iPlaySongIndex = GAMESTATE->GetCourseSongIndex(); iPlaySongIndex %= m_apSongsQueue.size(); GAMESTATE->m_pCurSong = m_apSongsQueue[iPlaySongIndex]; @@ -2113,6 +2130,7 @@ void ScreenGameplay::TweenOnScreen() { ON_COMMAND( m_sprLifeFrame ); ON_COMMAND( m_sprStage ); + ON_COMMAND( m_sprCourseSongNumber ); ON_COMMAND( m_textSongOptions ); ON_COMMAND( m_sprScoreFrame ); ON_COMMAND( m_textSongTitle ); @@ -2140,6 +2158,7 @@ void ScreenGameplay::TweenOffScreen() { OFF_COMMAND( m_sprLifeFrame ); OFF_COMMAND( m_sprStage ); + OFF_COMMAND( m_sprCourseSongNumber ); OFF_COMMAND( m_textSongOptions ); OFF_COMMAND( m_sprScoreFrame ); OFF_COMMAND( m_textSongTitle ); diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 9fba75ebf0..525fcb3d0b 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -109,6 +109,7 @@ protected: LifeMeter* m_pLifeMeter[NUM_PLAYERS]; CombinedLifeMeter* m_pCombinedLifeMeter; Sprite m_sprStage; + Sprite m_sprCourseSongNumber; BitmapText m_textCourseSongNumber[NUM_PLAYERS]; BitmapText m_textPlayerName[NUM_PLAYERS];