From 7922f5bbc7cef59969a3fa1e3acd03e6185240ee Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Tue, 27 Aug 2002 23:31:41 +0000 Subject: [PATCH] Updated AnnoucerManager::GetPathTo to act like ThemeManager. More theme and Ez2 cleanup. --- stepmania/Announcers/instructions.txt | 2 + stepmania/Themes/default/metrics.ini | 44 ++++ stepmania/src/AnnouncerManager.cpp | 167 +++++--------- stepmania/src/AnnouncerManager.h | 84 +------ stepmania/src/ArrowEffects.cpp | 10 +- stepmania/src/ArrowEffects.h | 10 +- stepmania/src/BitmapText.cpp | 37 ++- stepmania/src/CourseContentsFrame.cpp | 2 +- stepmania/src/GameConstantsAndTypes.cpp | 2 +- stepmania/src/GameConstantsAndTypes.h | 2 +- stepmania/src/GameState.h | 2 +- stepmania/src/GhostArrow.cpp | 62 +++-- stepmania/src/GhostArrow.h | 5 + stepmania/src/GhostArrowBright.cpp | 43 ++-- stepmania/src/GhostArrowBright.h | 4 +- stepmania/src/MenuElements.cpp | 20 +- stepmania/src/MenuElements.h | 3 +- stepmania/src/MenuTimer.cpp | 7 +- stepmania/src/MenuTimer.h | 4 +- stepmania/src/MusicWheel.cpp | 4 +- stepmania/src/Notes.cpp | 6 +- stepmania/src/RageDisplay.cpp | 2 +- stepmania/src/RageInput.cpp | 4 +- stepmania/src/Screen.cpp | 2 +- stepmania/src/Screen.h | 24 +- stepmania/src/ScreenCaution.cpp | 12 +- stepmania/src/ScreenCaution.h | 4 +- stepmania/src/ScreenEdit.cpp | 8 +- stepmania/src/ScreenEditMenu.cpp | 28 +-- stepmania/src/ScreenEditMenu.h | 12 +- stepmania/src/ScreenEvaluation.cpp | 32 +-- stepmania/src/ScreenEvaluation.h | 4 +- stepmania/src/ScreenEz2SelectPlayer.cpp | 255 ++++++++++----------- stepmania/src/ScreenEz2SelectPlayer.h | 30 +-- stepmania/src/ScreenEz2SelectStyle.cpp | 29 ++- stepmania/src/ScreenEz2SelectStyle.h | 10 +- stepmania/src/ScreenGameOver.cpp | 8 +- stepmania/src/ScreenGameOver.h | 2 +- stepmania/src/ScreenGameplay.cpp | 40 ++-- stepmania/src/ScreenHowToPlay.cpp | 10 +- stepmania/src/ScreenHowToPlay.h | 4 +- stepmania/src/ScreenMusicScroll.cpp | 16 +- stepmania/src/ScreenMusicScroll.h | 4 +- stepmania/src/ScreenOptions.cpp | 24 +- stepmania/src/ScreenOptions.h | 12 +- stepmania/src/ScreenPlayerOptions.cpp | 2 +- stepmania/src/ScreenPrompt.cpp | 8 +- stepmania/src/ScreenPrompt.h | 8 +- stepmania/src/ScreenSelectCourse.cpp | 24 +- stepmania/src/ScreenSelectCourse.h | 8 +- stepmania/src/ScreenSelectDifficulty.cpp | 34 +-- stepmania/src/ScreenSelectDifficulty.h | 10 +- stepmania/src/ScreenSelectGroup.cpp | 30 +-- stepmania/src/ScreenSelectGroup.h | 12 +- stepmania/src/ScreenSelectMusic.cpp | 34 +-- stepmania/src/ScreenSelectMusic.h | 14 +- stepmania/src/ScreenSelectStyle.cpp | 45 ++-- stepmania/src/ScreenSelectStyle.h | 8 +- stepmania/src/ScreenSelectStyle5th.cpp | 44 ++-- stepmania/src/ScreenSelectStyle5th.h | 8 +- stepmania/src/ScreenStage.cpp | 89 ++++---- stepmania/src/ScreenTextEntry.cpp | 8 +- stepmania/src/ScreenTextEntry.h | 8 +- stepmania/src/ScreenTitleMenu.cpp | 12 +- stepmania/src/ScreenTitleMenu.h | 8 +- stepmania/src/SongManager.cpp | 47 +++- stepmania/src/SongManager.h | 1 + stepmania/src/Style.h | 20 ++ stepmania/src/ThemeManager.cpp | 277 ----------------------- stepmania/src/ThemeManager.h | 202 ----------------- 70 files changed, 801 insertions(+), 1256 deletions(-) diff --git a/stepmania/Announcers/instructions.txt b/stepmania/Announcers/instructions.txt index 7fe08cf32d..2600a0217f 100644 --- a/stepmania/Announcers/instructions.txt +++ b/stepmania/Announcers/instructions.txt @@ -1 +1,3 @@ Place announcer folders in this directory. See the readme for more details. +If you want to make a new announcer, copy the announcer "Empty", rename the +copy, and add your own sounds. diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 638921f1c8..97320a7a88 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -38,6 +38,14 @@ NextScreen=ScreenCaution NextScreen=ScreenSelectStyle [ScreenEz2SelectPlayer] +CursorP1X=120 +CursorP1Y=280 +CursorP2X=520 +CursorP2Y=280 +ControllerP1X=120 +ControllerP1Y=280 +ControllerP2X=520 +ControllerP2Y=280 HelpText=Press $ on the pad you wish to play on TimerSeconds=40 NextScreen=ScreenSelectGroup @@ -384,3 +392,39 @@ TimerSeconds=40 [ScreenMapInstruments] HelpText=Use arrow keys to navigate, ENTER to assign, and SPACE to clear. +[GhostArrow] +PopUpSeconds=0.25 +ZoomStart=1.0 +ZoomEnd=1.5 +ColorPerfect=1.0,1.0,0.3,1 // yellow +ColorGreat=0.0,1.0,0.4,1 // green +ColorGood=0.3,0.8,1.0,1 +ColorBoo=0.8,0.0,0.6,1 + +[GhostArrowBright] +PopUpSeconds=0.25 +ZoomStart=1.0 +ZoomEnd=1.5 +ColorPerfect=1.0,1.0,0.3,1 // yellow +ColorGreat=0.0,1.0,0.4,1 // green +ColorGood=0.3,0.8,1.0,1 +ColorBoo=0.8,0.0,0.6,1 + +[BitmapText] +RainbowColor1=1.0,0.0,0.4,1 // red +RainbowColor2=0.8,0.2,0.6,1 // pink +RainbowColor3=0.4,0.3,0.5,1 // purple +RainbowColor4=0.2,0.6,1.0,1 // sky blue +RainbowColor5=0.2,0.8,0.8,1 // sea green +RainbowColor6=0.2,0.8,0.4,1 // green +RainbowColor7=1.0,0.8,0.2,1 // orange + +[SongManager] +GroupColor1=0.8,0.1,0.6,1 // pink +GroupColor2=0.5,0.3,0.7,1 // purple +GroupColor3=0.0,0.4,0.8,1 // sky blue +GroupColor4=0.0,0.6,0.6,1 // sea green +GroupColor5=0.1,0.7,0.3,1 // green +GroupColor6=0.8,0.6,0.0,1 // orange +GroupColor7=1.0,0.3,0.3,1 // light red +ExtraColor=1,0,0,1 // red diff --git a/stepmania/src/AnnouncerManager.cpp b/stepmania/src/AnnouncerManager.cpp index 3ee7798fbd..25746e5206 100644 --- a/stepmania/src/AnnouncerManager.cpp +++ b/stepmania/src/AnnouncerManager.cpp @@ -17,29 +17,26 @@ AnnouncerManager* ANNOUNCER = NULL; // global object accessable from anywhere in the program -const CString ANNOUNCER_BASE_DIR = "Announcers\\"; - +const CString EMPTY_ANNOUNCER_NAME = "Empty"; +const CString ANNOUNCERS_DIR = "Announcers\\"; AnnouncerManager::AnnouncerManager() { LOG->Trace("AnnouncerManager::AnnouncerManager()"); - - CStringArray arrayAnnouncerNames; - GetAnnouncerNames( arrayAnnouncerNames ); - for( int i=0; i=0; i-- ) { if( 0 == stricmp( AddTo[i], "cvs" ) ) AddTo.RemoveAt(i); + if( 0 == stricmp( AddTo[i], EMPTY_ANNOUNCER_NAME ) ) + AddTo.RemoveAt(i); } } @@ -56,19 +53,9 @@ bool AnnouncerManager::DoesAnnouncerExist( CString sAnnouncerName ) return false; } -void AnnouncerManager::AssertAnnouncerIsComplete( CString sAnnouncerName ) -{ - for( int i=0; im_fSongBeat; float fBeatsUntilStep = fNoteBeat - fSongBeat; @@ -37,7 +37,7 @@ float ArrowGetYOffset( const PlayerNumber pn, float fNoteBeat ) return fYOffset; } -float ArrowGetXPos2( const PlayerNumber pn, int iColNum, float fYPos ) +float ArrowGetXPos2( PlayerNumber pn, int iColNum, float fYPos ) { float fSongBeat = GAMESTATE->m_fSongBeat; float fPixelOffsetFromCenter = GAMESTATE->GetCurrentStyleDef()->m_ColumnInfo[PLAYER_1][iColNum].fXOffset; @@ -51,7 +51,7 @@ float ArrowGetXPos2( const PlayerNumber pn, int iColNum, float fYPos ) return fPixelOffsetFromCenter; } -float ArrowGetRotation( const PlayerNumber pn, int iColNum, float fYOffset ) +float ArrowGetRotation( PlayerNumber pn, int iColNum, float fYOffset ) { float fRotation = 0; //StyleDef.m_ColumnToRotation[iColNum]; @@ -65,12 +65,12 @@ float ArrowGetRotation( const PlayerNumber pn, int iColNum, float fYOffset ) return fRotation; } -float ArrowGetYPos( const PlayerNumber pn, float fYOffset ) +float ArrowGetYPos( PlayerNumber pn, float fYOffset ) { return fYOffset * GAMESTATE->m_PlayerOptions[pn].m_fArrowScrollSpeed * (GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? -1 : 1 ); } -float ArrowGetAlpha( const PlayerNumber pn, float fYPos ) +float ArrowGetAlpha( PlayerNumber pn, float fYPos ) { float fAlpha; static float blinktimer=0; diff --git a/stepmania/src/ArrowEffects.h b/stepmania/src/ArrowEffects.h index f9c7dfe16a..5a0e8751d6 100644 --- a/stepmania/src/ArrowEffects.h +++ b/stepmania/src/ArrowEffects.h @@ -21,28 +21,28 @@ const float ARROW_GAP = ARROW_SIZE;// + 2; // fYOffset is a vertical position in pixels relative to the center. // (positive if has not yet been stepped on, negative if has already passed). // The ArrowEffect is applied in this stage. -float ArrowGetYOffset( const PlayerNumber pn, float fNoteBeat ); +float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat ); // fRotation is Z rotation of an arrow. This will depend on the column of // the arrow and possibly the Arrow effect and the fYOffset (in the case of // EFFECT_DIZZY). -float ArrowGetRotation( const PlayerNumber pn, int iCol, float fYOffset ); +float ArrowGetRotation( PlayerNumber pn, int iCol, float fYOffset ); // fYPos is the position of the note in pixels relative to the center. // (positive if has not yet been stepped on, negative if has already passed). // This value is fYOffset with bReverseScroll and fScrollSpeed factored in. -float ArrowGetYPos( const PlayerNumber pn, float fYOffset ); +float ArrowGetYPos( PlayerNumber pn, float fYOffset ); // fXPos is a horizontal position in pixels relative to the center of the field. // This depends on the column of the arrow and possibly the Arrow effect and // fYPos (in the case of EFFECT_DRUNK). -float ArrowGetXPos2( const PlayerNumber pn, int iCol, float fYPos ); +float ArrowGetXPos2( PlayerNumber pn, int iCol, float fYPos ); // fAlpha is the transparency of the arrow. It depends on fYPos and the // ArrowAppearance. -float ArrowGetAlpha( const PlayerNumber pn, float fYPos ); +float ArrowGetAlpha( PlayerNumber pn, float fYPos ); diff --git a/stepmania/src/BitmapText.cpp b/stepmania/src/BitmapText.cpp index c58db27f53..513f14a7a0 100644 --- a/stepmania/src/BitmapText.cpp +++ b/stepmania/src/BitmapText.cpp @@ -19,21 +19,34 @@ #include "PrefsManager.h" +#define RAINBOW_COLOR_1 THEME->GetMetricC("BitmapText","RainbowColor1") +#define RAINBOW_COLOR_2 THEME->GetMetricC("BitmapText","RainbowColor2") +#define RAINBOW_COLOR_3 THEME->GetMetricC("BitmapText","RainbowColor3") +#define RAINBOW_COLOR_4 THEME->GetMetricC("BitmapText","RainbowColor4") +#define RAINBOW_COLOR_5 THEME->GetMetricC("BitmapText","RainbowColor5") +#define RAINBOW_COLOR_6 THEME->GetMetricC("BitmapText","RainbowColor6") +#define RAINBOW_COLOR_7 THEME->GetMetricC("BitmapText","RainbowColor7") -D3DXCOLOR RAINBOW_COLORS[] = { - D3DXCOLOR( 1.0f, 0.2f, 0.4f, 1 ), // red - D3DXCOLOR( 0.8f, 0.2f, 0.6f, 1 ), // pink - D3DXCOLOR( 0.4f, 0.3f, 0.5f, 1 ), // purple - D3DXCOLOR( 0.2f, 0.6f, 1.0f, 1 ), // sky blue - D3DXCOLOR( 0.2f, 0.8f, 0.8f, 1 ), // sea green - D3DXCOLOR( 0.2f, 0.8f, 0.4f, 1 ), // green - D3DXCOLOR( 1.0f, 0.8f, 0.2f, 1 ), // orange -}; -const int NUM_RAINBOW_COLORS = sizeof(RAINBOW_COLORS) / sizeof(D3DXCOLOR); +const int NUM_RAINBOW_COLORS = 7; +D3DXCOLOR RAINBOW_COLORS[NUM_RAINBOW_COLORS]; BitmapText::BitmapText() { + // Loading these theme metrics is slow, so only do it ever 20th time. + static int iReloadCounter = 0; + if( iReloadCounter%20==0 ) + { + RAINBOW_COLORS[0] = RAINBOW_COLOR_1; + RAINBOW_COLORS[1] = RAINBOW_COLOR_2; + RAINBOW_COLORS[2] = RAINBOW_COLOR_3; + RAINBOW_COLORS[3] = RAINBOW_COLOR_4; + RAINBOW_COLORS[4] = RAINBOW_COLOR_5; + RAINBOW_COLORS[5] = RAINBOW_COLOR_6; + RAINBOW_COLORS[6] = RAINBOW_COLOR_7; + } + iReloadCounter++; + m_HorizAlign = align_center; m_VertAlign = align_middle; @@ -284,10 +297,10 @@ void BitmapText::DrawPrimitives() if( m_bRainbow ) { int color_index = int(TIMER->GetTimeSinceStart() / 0.200) % NUM_RAINBOW_COLORS; - for( int i=0; iGetGroupColor( pSong->m_sGroupName ); + D3DXCOLOR colorGroup = SONGMAN->GetSongColor( pSong ); D3DXCOLOR colorDifficulty = DifficultyClassToColor( pNotes->m_DifficultyClass ); m_TextBanner.LoadFromSong( pSong ); diff --git a/stepmania/src/GameConstantsAndTypes.cpp b/stepmania/src/GameConstantsAndTypes.cpp index 430dbcae9d..084f958c5e 100644 --- a/stepmania/src/GameConstantsAndTypes.cpp +++ b/stepmania/src/GameConstantsAndTypes.cpp @@ -51,7 +51,7 @@ DifficultyClass StringToDifficultyClass( CString sDC ) return CLASS_INVALID; } -D3DXCOLOR PlayerToColor( const PlayerNumber p ) +D3DXCOLOR PlayerToColor( PlayerNumber p ) { switch( p ) { diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index 7e1fa3695e..b577fa2537 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -98,7 +98,7 @@ enum PlayerNumber { PLAYER_INVALID }; -D3DXCOLOR PlayerToColor( const PlayerNumber p ); +D3DXCOLOR PlayerToColor( PlayerNumber p ); D3DXCOLOR PlayerToColor( int p ); diff --git a/stepmania/src/GameState.h b/stepmania/src/GameState.h index 4e0c5ec3d6..fee6ece847 100644 --- a/stepmania/src/GameState.h +++ b/stepmania/src/GameState.h @@ -36,7 +36,7 @@ public: // Game m_CurGame; Style m_CurStyle; - bool m_bPlayersCanJoin; // true if it's not too late for a player to join + bool m_bPlayersCanJoin; // true if it's not too late for a player to join - this only has an effect on the credits message bool m_bSideIsJoined[2]; // left side, right side PlayerNumber m_MasterPlayerNumber; diff --git a/stepmania/src/GhostArrow.cpp b/stepmania/src/GhostArrow.cpp index d4d4815909..b12e7912c9 100644 --- a/stepmania/src/GhostArrow.cpp +++ b/stepmania/src/GhostArrow.cpp @@ -1,22 +1,38 @@ #include "stdafx.h" -// -// GhostArrow.cpp: implementation of the GhostArrow class. -// -////////////////////////////////////////////////////////////////////// +/* +----------------------------------------------------------------------------- + Class: GhostArrow + + Desc: See header. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Ben Nordstrom + Chris Danford +----------------------------------------------------------------------------- +*/ #include "GhostArrow.h" #include "PrefsManager.h" -const float GRAY_ARROW_TWEEN_TIME = 0.5f; +#define POP_UP_SECONDS THEME->GetMetricF("GhostArrow","PopUpSeconds") +#define ZOOM_START THEME->GetMetricF("GhostArrow","ZoomStart") +#define ZOOM_END THEME->GetMetricF("GhostArrow","ZoomEnd") +#define COLOR_PERFECT THEME->GetMetricC("GhostArrow","ColorPerfect") +#define COLOR_GREAT THEME->GetMetricC("GhostArrow","ColorGreat") +#define COLOR_GOOD THEME->GetMetricC("GhostArrow","ColorGood") +#define COLOR_BOO THEME->GetMetricC("GhostArrow","ColorBoo") -////////////////////////////////////////////////////////////////////// -// Construction/Destruction -////////////////////////////////////////////////////////////////////// GhostArrow::GhostArrow() { -// Load( THEME->GetPathTo(GRAPHIC_GHOST_ARROW) ); + m_fPopUpSeconds = POP_UP_SECONDS; + m_fZoomStart = ZOOM_START; + m_fZoomEnd = ZOOM_END; + m_colorPerfect = COLOR_PERFECT; + m_colorGreat = COLOR_GREAT; + m_colorGood = COLOR_GOOD; + m_colorBoo = COLOR_BOO; SetDiffuseColor( D3DXCOLOR(1,1,1,0) ); TurnShadowOff(); } @@ -28,18 +44,24 @@ void GhostArrow::Update( float fDeltaTime ) void GhostArrow::Step( TapNoteScore score ) { + D3DXCOLOR color; switch( score ) { - case TNS_PERFECT: SetDiffuseColor( D3DXCOLOR(1.0f,1.0f,0.3f,1) ); break; // yellow - case TNS_GREAT: SetDiffuseColor( D3DXCOLOR(0.0f,1.0f,0.4f,1) ); break; // green - case TNS_GOOD: SetDiffuseColor( D3DXCOLOR(0.3f,0.8f,1.0f,1) ); break; - case TNS_BOO: SetDiffuseColor( D3DXCOLOR(0.8f,0.0f,0.6f,1) ); break; - case TNS_MISS: ASSERT( false ); break; + case TNS_PERFECT: color = m_colorPerfect; break; + case TNS_GREAT: color = m_colorGreat; break; + case TNS_GOOD: color = m_colorGood; break; + case TNS_BOO: color = m_colorBoo; break; + case TNS_MISS: // miss should never be passed in here + default: + ASSERT(0); } - SetZoom( 1.0f ); - BeginTweening( 0.25f ); - SetTweenZoom( 1.5f ); - D3DXCOLOR colorTween = GetDiffuseColor(); - colorTween.a = 0; - SetTweenDiffuseColor( colorTween ); + + StopTweening(); + SetDiffuseColor( color ); + SetState( 0 ); + SetZoom( m_fZoomStart ); + BeginTweening( m_fPopUpSeconds ); + SetTweenZoom( m_fZoomEnd ); + color.a = 0; + SetTweenDiffuseColor( color ); } diff --git a/stepmania/src/GhostArrow.h b/stepmania/src/GhostArrow.h index b990116412..14fe19965c 100644 --- a/stepmania/src/GhostArrow.h +++ b/stepmania/src/GhostArrow.h @@ -23,5 +23,10 @@ public: virtual void Update( float fDeltaTime ); void Step( TapNoteScore score ); + +protected: + float m_fPopUpSeconds; + float m_fZoomStart, m_fZoomEnd; + D3DXCOLOR m_colorPerfect, m_colorGreat, m_colorGood, m_colorBoo; }; diff --git a/stepmania/src/GhostArrowBright.cpp b/stepmania/src/GhostArrowBright.cpp index 9cc262c01c..7df4501dc8 100644 --- a/stepmania/src/GhostArrowBright.cpp +++ b/stepmania/src/GhostArrowBright.cpp @@ -15,12 +15,24 @@ #include "PrefsManager.h" -const float GRAY_ARROW_TWEEN_TIME = 0.5f; +#define POP_UP_SECONDS THEME->GetMetricF("GhostArrowBright","PopUpSeconds") +#define ZOOM_START THEME->GetMetricF("GhostArrowBright","ZoomStart") +#define ZOOM_END THEME->GetMetricF("GhostArrowBright","ZoomEnd") +#define COLOR_PERFECT THEME->GetMetricC("GhostArrowBright","ColorPerfect") +#define COLOR_GREAT THEME->GetMetricC("GhostArrowBright","ColorGreat") +#define COLOR_GOOD THEME->GetMetricC("GhostArrowBright","ColorGood") +#define COLOR_BOO THEME->GetMetricC("GhostArrowBright","ColorBoo") GhostArrowBright::GhostArrowBright() { -// Load( THEME->GetPathTo(GRAPHIC_BRIGHT_GHOST_ARROW) ); + m_fPopUpSeconds = POP_UP_SECONDS; + m_fZoomStart = ZOOM_START; + m_fZoomEnd = ZOOM_END; + m_colorPerfect = COLOR_PERFECT; + m_colorGreat = COLOR_GREAT; + m_colorGood = COLOR_GOOD; + m_colorBoo = COLOR_BOO; SetDiffuseColor( D3DXCOLOR(1,1,1,0) ); TurnShadowOff(); } @@ -32,19 +44,24 @@ void GhostArrowBright::Update( float fDeltaTime ) void GhostArrowBright::Step( TapNoteScore score ) { + D3DXCOLOR color; switch( score ) { - case TNS_PERFECT: SetDiffuseColor( D3DXCOLOR(1.0f,1.0f,0.3f,1) ); break; // yellow - case TNS_GREAT: SetDiffuseColor( D3DXCOLOR(0.0f,1.0f,0.4f,1) ); break; // green - case TNS_GOOD: SetDiffuseColor( D3DXCOLOR(0.3f,0.8f,1.0f,1) ); break; - case TNS_BOO: SetDiffuseColor( D3DXCOLOR(0.8f,0.0f,0.6f,1) ); break; - case TNS_MISS: ASSERT( false ); break; + case TNS_PERFECT: color = m_colorPerfect; break; + case TNS_GREAT: color = m_colorGreat; break; + case TNS_GOOD: color = m_colorGood; break; + case TNS_BOO: color = m_colorBoo; break; + case TNS_MISS: // miss should never be passed in here + default: + ASSERT(0); } + + StopTweening(); + SetDiffuseColor( color ); SetState( 0 ); - SetZoom( 1.0f ); - BeginTweening( 0.25f ); - SetTweenZoom( 1.5f ); - D3DXCOLOR colorTween = GetDiffuseColor(); - colorTween.a = 0; - SetTweenDiffuseColor( colorTween ); + SetZoom( m_fZoomStart ); + BeginTweening( m_fPopUpSeconds ); + SetTweenZoom( m_fZoomEnd ); + color.a = 0; + SetTweenDiffuseColor( color ); } diff --git a/stepmania/src/GhostArrowBright.h b/stepmania/src/GhostArrowBright.h index 463cb39617..73cd728da8 100644 --- a/stepmania/src/GhostArrowBright.h +++ b/stepmania/src/GhostArrowBright.h @@ -24,5 +24,7 @@ public: void Step( TapNoteScore score ); protected: - + float m_fPopUpSeconds; + float m_fZoomStart, m_fZoomEnd; + D3DXCOLOR m_colorPerfect, m_colorGreat, m_colorGood, m_colorBoo; }; diff --git a/stepmania/src/MenuElements.cpp b/stepmania/src/MenuElements.cpp index d369f1772d..4d7a04eddb 100644 --- a/stepmania/src/MenuElements.cpp +++ b/stepmania/src/MenuElements.cpp @@ -71,7 +71,10 @@ void MenuElements::Load( CString sBackgroundPath, CString sTopEdgePath, CString if( GAMESTATE->m_CurStyle == STYLE_NONE ) m_sprStyleIcon.SetDiffuseColor( D3DXCOLOR(1,1,1,0) ); else - m_sprStyleIcon.SetState( GAMESTATE->m_CurStyle*2+GAMESTATE->m_MasterPlayerNumber ); + { + int iRowNum = GetStyleIndexRelativeToGame( GAMESTATE->m_CurGame, GAMESTATE->m_CurStyle ); + m_sprStyleIcon.SetState( iRowNum*2+GAMESTATE->m_MasterPlayerNumber ); + } m_MenuTimer.SetXY( TIMER_X, TIMER_Y ); if( !bTimerEnabled || !PREFSMAN->m_bMenuTimer ) @@ -227,16 +230,21 @@ void MenuElements::DrawBottomLayer() EndDraw(); } -void MenuElements::StopTimer() -{ - m_MenuTimer.StopTimer(); -} - void MenuElements::SetTimer( int iTimerSeconds ) { m_MenuTimer.SetTimer( iTimerSeconds ); } +void MenuElements::StartTimer() +{ + m_MenuTimer.StartTimer(); +} + +void MenuElements::StopTimer() +{ + m_MenuTimer.StopTimer(); +} + void MenuElements::StallTimer() { m_MenuTimer.StallTimer(); diff --git a/stepmania/src/MenuElements.h b/stepmania/src/MenuElements.h index a55828f4e7..c4c505a7ef 100644 --- a/stepmania/src/MenuElements.h +++ b/stepmania/src/MenuElements.h @@ -35,8 +35,9 @@ public: virtual void DrawPrimitives(); void Load( CString sBackgroundPath, CString sTopEdgePath, CString sHelpText, bool bTimerEnabled, int iTimerSeconds ); - void StallTimer(); void SetTimer( int iTimerSeconds ); + void StartTimer(); + void StallTimer(); void StopTimer(); void DrawTopLayer(); diff --git a/stepmania/src/MenuTimer.cpp b/stepmania/src/MenuTimer.cpp index 56cb363c89..d9eec806c4 100644 --- a/stepmania/src/MenuTimer.cpp +++ b/stepmania/src/MenuTimer.cpp @@ -65,7 +65,7 @@ void MenuTimer::Update( float fDeltaTime ) float fNewSecondsLeft = fOldSecondsLeft - fDeltaTime; if( fOldSecondsLeft > 5.5 && fNewSecondsLeft < 5.5 ) // transition to below 5.5 - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_MENU_HURRY_UP) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("hurry up") ); else if( fOldSecondsLeft > 5 && fNewSecondsLeft < 5 ) // transition to below 5 { m_textDigit1.SetEffectGlowing( 10, D3DXCOLOR(1,0,0,0), D3DXCOLOR(1,0,0,1) ); @@ -121,3 +121,8 @@ void MenuTimer::SetTimer( int iSeconds ) m_textDigit1.SetEffectNone(); m_textDigit2.SetEffectNone(); } + +void MenuTimer::StartTimer() +{ + m_bTimerStopped = false; +} diff --git a/stepmania/src/MenuTimer.h b/stepmania/src/MenuTimer.h index 0ddac389f6..283d62b3a8 100644 --- a/stepmania/src/MenuTimer.h +++ b/stepmania/src/MenuTimer.h @@ -23,9 +23,11 @@ public: MenuTimer(); virtual void Update( float fDeltaTime ); + + void SetTimer( int iTimerSeconds ); + void StartTimer(); void StopTimer(); void StallTimer(); - void SetTimer( int iTimerSeconds ); protected: float m_fSecondsLeft; diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 0147411b0c..7bcb304ffc 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -511,7 +511,7 @@ void MusicWheel::BuildWheelItemDatas( CArray &arr sLastSection = sThisSection; } - arrayWheelItemDatas.Add( WheelItemData( TYPE_SONG, pSong, sThisSection, NULL, SONGMAN->GetGroupColor(pSong->m_sGroupName)) ); + arrayWheelItemDatas.Add( WheelItemData( TYPE_SONG, pSong, sThisSection, NULL, SONGMAN->GetSongColor(pSong)) ); } } else @@ -521,7 +521,7 @@ void MusicWheel::BuildWheelItemDatas( CArray &arr Song* pSong = arraySongs[i]; if( GAMESTATE->m_sPreferredGroup != "ALL MUSIC" && pSong->m_sGroupName != GAMESTATE->m_sPreferredGroup ) continue; // skip - arrayWheelItemDatas.Add( WheelItemData(TYPE_SONG, pSong, "", NULL, SONGMAN->GetGroupColor(pSong->m_sGroupName)) ); + arrayWheelItemDatas.Add( WheelItemData(TYPE_SONG, pSong, "", NULL, SONGMAN->GetSongColor(pSong)) ); } } } diff --git a/stepmania/src/Notes.cpp b/stepmania/src/Notes.cpp index 45d36917a5..c93a23ea5d 100644 --- a/stepmania/src/Notes.cpp +++ b/stepmania/src/Notes.cpp @@ -840,12 +840,16 @@ bool Notes::LoadFromKSFFile( const CString &sPath ) for( int r=0; rTrace( "FPS: %d, TPF: %d, DPF: %d", m_iFPS, m_iTPF, m_iDPF ); + //LOG->Trace( "FPS: %d, TPF: %d, DPF: %d", m_iFPS, m_iTPF, m_iDPF ); } diff --git a/stepmania/src/RageInput.cpp b/stepmania/src/RageInput.cpp index 4ddd08b5e8..1c76bdebce 100644 --- a/stepmania/src/RageInput.cpp +++ b/stepmania/src/RageInput.cpp @@ -301,7 +301,7 @@ char DeviceInput::ToChar() const //----------------------------------------------------------------------------- -// Name: EnumJoysticksCallMenuBack( const PlayerNumber p ) +// Name: EnumJoysticksCallMenuBack( PlayerNumber p ) // Desc: Called once for each enumerated joystick. If we find one, create a // device interface on it so we can play with it. //----------------------------------------------------------------------------- @@ -331,7 +331,7 @@ BOOL CALLBACK RageInput::EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInst //----------------------------------------------------------------------------- -// Name: EnumAxesCallMenuBack( const PlayerNumber p ) +// Name: EnumAxesCallMenuBack( PlayerNumber p ) // Desc: Callback function for enumerating the axes on a joystick //----------------------------------------------------------------------------- BOOL CALLBACK RageInput::EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index 5cbb7e0aed..6fa6a71768 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -46,7 +46,7 @@ void Screen::Update( float fDeltaTime ) } } -void Screen::MenuBack( const PlayerNumber p, const InputEventType type ) +void Screen::MenuBack( PlayerNumber p, const InputEventType type ) { if(!PREFSMAN->m_bDelayedEscape || type==IET_SLOW_REPEAT || type==IET_FAST_REPEAT) MenuBack(p); diff --git a/stepmania/src/Screen.h b/stepmania/src/Screen.h index 707871754b..1ab3a5729e 100644 --- a/stepmania/src/Screen.h +++ b/stepmania/src/Screen.h @@ -50,17 +50,17 @@ protected: public: // let subclass override if they want - virtual void MenuUp( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuUp(p); } - virtual void MenuDown( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuDown(p); } - virtual void MenuLeft( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuLeft(p); } - virtual void MenuRight( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuRight(p); } - virtual void MenuStart( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuStart(p); } - virtual void MenuBack( const PlayerNumber p, const InputEventType type ); + virtual void MenuUp( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuUp(p); } + virtual void MenuDown( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuDown(p); } + virtual void MenuLeft( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuLeft(p); } + virtual void MenuRight( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuRight(p); } + virtual void MenuStart( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuStart(p); } + virtual void MenuBack( PlayerNumber p, const InputEventType type ); - virtual void MenuUp( const PlayerNumber p ) {}; - virtual void MenuDown( const PlayerNumber p ) {}; - virtual void MenuLeft( const PlayerNumber p ) {}; - virtual void MenuRight( const PlayerNumber p ) {}; - virtual void MenuStart( const PlayerNumber p ) {}; - virtual void MenuBack( const PlayerNumber p ) {}; + virtual void MenuUp( PlayerNumber p ) {}; + virtual void MenuDown( PlayerNumber p ) {}; + virtual void MenuLeft( PlayerNumber p ) {}; + virtual void MenuRight( PlayerNumber p ) {}; + virtual void MenuStart( PlayerNumber p ) {}; + virtual void MenuBack( PlayerNumber p ) {}; }; diff --git a/stepmania/src/ScreenCaution.cpp b/stepmania/src/ScreenCaution.cpp index bed467bd0b..8f8bf6ee01 100644 --- a/stepmania/src/ScreenCaution.cpp +++ b/stepmania/src/ScreenCaution.cpp @@ -21,7 +21,7 @@ #define NEXT_SCREEN THEME->GetMetric("ScreenCaution","NextScreen") -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User-6); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User-6); const ScreenMessage SM_DoneOpening = ScreenMessage(SM_User-7); const ScreenMessage SM_StartClosing = ScreenMessage(SM_User-8); const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User-9); @@ -65,9 +65,9 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM ) m_Wipe.CloseWipingRight( SM_GoToNextScreen ); break; case SM_DoneOpening: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_CAUTION) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("caution") ); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; case SM_GoToNextScreen: @@ -76,7 +76,7 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenCaution::MenuStart( const PlayerNumber p ) +void ScreenCaution::MenuStart( PlayerNumber p ) { if( p != PLAYER_INVALID && !GAMESTATE->m_bSideIsJoined[p] ) { @@ -90,12 +90,12 @@ void ScreenCaution::MenuStart( const PlayerNumber p ) m_Wipe.CloseWipingRight( SM_GoToNextScreen ); } -void ScreenCaution::MenuBack( const PlayerNumber p ) +void ScreenCaution::MenuBack( PlayerNumber p ) { if(m_FadeWipe.IsClosing()) return; this->ClearMessageQueue(); - m_FadeWipe.CloseWipingLeft( SM_GoToPrevState ); + m_FadeWipe.CloseWipingLeft( SM_GoToPrevScreen ); SOUND->PlayOnceStreamed( THEME->GetPathTo("Sounds","menu back") ); } diff --git a/stepmania/src/ScreenCaution.h b/stepmania/src/ScreenCaution.h index 7f1da02132..3e5f8d22cb 100644 --- a/stepmania/src/ScreenCaution.h +++ b/stepmania/src/ScreenCaution.h @@ -28,8 +28,8 @@ public: virtual void HandleScreenMessage( const ScreenMessage SM ); protected: - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); Sprite m_sprCaution; TransitionFade m_Wipe; TransitionFadeWipe m_FadeWipe; diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 8b81c4261a..3e587e86bb 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -133,8 +133,8 @@ int MENU_ITEM_KEY[NUM_MENU_ITEMS] = { DIK_Q, }; -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); ScreenEdit::ScreenEdit() @@ -1181,10 +1181,10 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) { switch( SM ) { - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenEditMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( "ScreenEditMenu" ); break; } diff --git a/stepmania/src/ScreenEditMenu.cpp b/stepmania/src/ScreenEditMenu.cpp index 2c30246cbc..8361afa534 100644 --- a/stepmania/src/ScreenEditMenu.cpp +++ b/stepmania/src/ScreenEditMenu.cpp @@ -31,8 +31,8 @@ const CString EXPLANATION_TEXT = "In this mode, you can edit existing notes patterns,\n" "create note patterns, or synchronize notes with the music."; -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); ScreenEditMenu::ScreenEditMenu() @@ -44,8 +44,8 @@ ScreenEditMenu::ScreenEditMenu() this->AddSubActor( &Selector ); m_Menu.Load( - THEME->GetPathTo("Graphics","edit background"), - THEME->GetPathTo("Graphics","edit top edge"), + THEME->GetPathTo("Graphics","edit menu background"), + THEME->GetPathTo("Graphics","edit menu top edge"), ssprintf("%c %c change line %c %c change value START to continue", char(3), char(4), char(1), char(2) ), false, 99 ); @@ -92,10 +92,10 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM ) { switch( SM ) { - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: // set the current style based on the notes type // Dro Kulix: @@ -116,27 +116,27 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenEditMenu::MenuUp( const PlayerNumber p ) +void ScreenEditMenu::MenuUp( PlayerNumber p ) { Selector.Up(); } -void ScreenEditMenu::MenuDown( const PlayerNumber p ) +void ScreenEditMenu::MenuDown( PlayerNumber p ) { Selector.Down(); } -void ScreenEditMenu::MenuLeft( const PlayerNumber p, const InputEventType type ) +void ScreenEditMenu::MenuLeft( PlayerNumber p, const InputEventType type ) { Selector.Left(); } -void ScreenEditMenu::MenuRight( const PlayerNumber p, const InputEventType type ) +void ScreenEditMenu::MenuRight( PlayerNumber p, const InputEventType type ) { Selector.Right(); } -void ScreenEditMenu::MenuStart( const PlayerNumber p ) +void ScreenEditMenu::MenuStart( PlayerNumber p ) { MUSIC->Stop(); @@ -151,14 +151,14 @@ void ScreenEditMenu::MenuStart( const PlayerNumber p ) m_Menu.TweenOffScreenToBlack( SM_None, false ); - m_Fade.CloseWipingRight( SM_GoToNextState ); + m_Fade.CloseWipingRight( SM_GoToNextScreen ); } -void ScreenEditMenu::MenuBack( const PlayerNumber p ) +void ScreenEditMenu::MenuBack( PlayerNumber p ) { m_Menu.TweenOffScreenToBlack( SM_None, true ); MUSIC->Stop(); - m_Fade.CloseWipingLeft( SM_GoToPrevState ); + m_Fade.CloseWipingLeft( SM_GoToPrevScreen ); } diff --git a/stepmania/src/ScreenEditMenu.h b/stepmania/src/ScreenEditMenu.h index 860ab5f986..5a59ac0eb6 100644 --- a/stepmania/src/ScreenEditMenu.h +++ b/stepmania/src/ScreenEditMenu.h @@ -27,12 +27,12 @@ public: private: - void MenuUp( const PlayerNumber p ); - void MenuDown( const PlayerNumber p ); - void MenuLeft( const PlayerNumber p, const InputEventType type ); - void MenuRight( const PlayerNumber p, const InputEventType type ); - void MenuBack( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); + void MenuUp( PlayerNumber p ); + void MenuDown( PlayerNumber p ); + void MenuLeft( PlayerNumber p, const InputEventType type ); + void MenuRight( PlayerNumber p, const InputEventType type ); + void MenuBack( PlayerNumber p ); + void MenuStart( PlayerNumber p ); SongSelector Selector; diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 3a008227b0..6869700972 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -626,13 +626,13 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) case RM_ARCADE_STAGE: switch( max_grade ) { - case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_E) ); break; - case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_D) ); break; - case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_C) ); break; - case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_B) ); break; - case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_A) ); break; - case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_AA) ); break; - case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_AAA) ); break; + case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation e") ); break; + case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation d") ); break; + case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation c") ); break; + case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation b") ); break; + case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation a") ); break; + case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aa") ); break; + case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aaa") ); break; case GRADE_NO_DATA: default: ASSERT(0); // invalid grade @@ -642,13 +642,13 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) case RM_ARCADE_SUMMARY: switch( max_grade ) { - case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_E) ); break; - case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_D) ); break; - case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_C) ); break; - case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_B) ); break; - case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_A) ); break; - case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_AA) ); break; - case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_AAA) ); break; + case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation e") ); break; + case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation d") ); break; + case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation c") ); break; + case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation b") ); break; + case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation a") ); break; + case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aa") ); break; + case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aaa") ); break; case GRADE_NO_DATA: default: ASSERT(0); // invalid grade @@ -886,12 +886,12 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenEvaluation::MenuBack( const PlayerNumber p ) +void ScreenEvaluation::MenuBack( PlayerNumber p ) { MenuStart( p ); } -void ScreenEvaluation::MenuStart( const PlayerNumber p ) +void ScreenEvaluation::MenuStart( PlayerNumber p ) { TweenOffScreen(); diff --git a/stepmania/src/ScreenEvaluation.h b/stepmania/src/ScreenEvaluation.h index d4ad4e23cf..46c8f228e9 100644 --- a/stepmania/src/ScreenEvaluation.h +++ b/stepmania/src/ScreenEvaluation.h @@ -37,8 +37,8 @@ public: virtual void TweenOnScreen(); virtual void TweenOffScreen(); - virtual void MenuBack( const PlayerNumber p ); - virtual void MenuStart( const PlayerNumber p ); + virtual void MenuBack( PlayerNumber p ); + virtual void MenuStart( PlayerNumber p ); protected: enum ResultMode { RM_ARCADE_STAGE, RM_ARCADE_SUMMARY, RM_ONI }; diff --git a/stepmania/src/ScreenEz2SelectPlayer.cpp b/stepmania/src/ScreenEz2SelectPlayer.cpp index ce15f45c36..5053003e5a 100644 --- a/stepmania/src/ScreenEz2SelectPlayer.cpp +++ b/stepmania/src/ScreenEz2SelectPlayer.cpp @@ -23,33 +23,52 @@ Andrew Livy /* Constants */ -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); -const ScreenMessage SM_PlayersChosen = ScreenMessage(SM_User + 3); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); +#define CURSOR_P1_X THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP1X") +#define CURSOR_P1_Y THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP1Y") +#define CURSOR_P2_X THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP2X") +#define CURSOR_P2_Y THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP2Y") +#define CONTROLLER_P1_X THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP1X") +#define CONTROLLER_P1_Y THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP1Y") +#define CONTROLLER_P2_X THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP2X") +#define CONTROLLER_P2_Y THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP2Y") #define HELP_TEXT THEME->GetMetric("ScreenEz2SelectPlayer","HelpText") #define TIMER_SECONDS THEME->GetMetricI("ScreenEz2SelectPlayer","TimerSeconds") #define NEXT_SCREEN THEME->GetMetric("ScreenEz2SelectPlayer","NextScreen") +float CURSOR_X( int p ) { + switch( p ) { + case PLAYER_1: return CURSOR_P1_X; + case PLAYER_2: return CURSOR_P2_X; + default: ASSERT(0); return 0; + } +} +float CURSOR_Y( int p ) { + switch( p ) { + case PLAYER_1: return CURSOR_P1_Y; + case PLAYER_2: return CURSOR_P2_Y; + default: ASSERT(0); return 0; + } +} +float CONTROLLER_X( int p ) { + switch( p ) { + case PLAYER_1: return CONTROLLER_P1_X; + case PLAYER_2: return CONTROLLER_P2_X; + default: ASSERT(0); return 0; + } +} +float CONTROLLER_Y( int p ) { + switch( p ) { + case PLAYER_1: return CONTROLLER_P1_Y; + case PLAYER_2: return CONTROLLER_P2_Y; + default: ASSERT(0); return 0; + } +} const float TWEEN_TIME = 0.35f; -const D3DXCOLOR OPT_NOT_SELECTED = D3DXCOLOR(0.3f,0.3f,0.3f,1); -const D3DXCOLOR OPT_SELECTED = D3DXCOLOR(1.0f,1.0f,1.0f,1); - -const float OPT_X[NUM_EZ2_GRAPHICS] = { - CENTER_X+200, // This is the pad X - CENTER_X-200, // This is the pad X - CENTER_X-198, // This is the 1p X - CENTER_X+195, // This is the 2p X -}; // tells us the default X position -const float OPT_Y[NUM_EZ2_GRAPHICS] = { - CENTER_Y+130, - CENTER_Y+130, - CENTER_Y+115, - CENTER_Y+115, -}; // tells us the default Y position - /************************************ @@ -59,52 +78,39 @@ Desc: Sets up the screen display ScreenEz2SelectPlayer::ScreenEz2SelectPlayer() { - LOG->Trace( "ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()" ); - m_iSelectedStyle=0; - GAMESTATE->m_CurStyle = STYLE_NONE; - ez2_bounce=0.f; -// GAMESTATE->m_MasterPlayerNumber = PLAYER_INVALID; + // Unjoin the players, then let them join back in on this screen + GAMESTATE->m_bPlayersCanJoin = true; + for( int p=0; pm_bSideIsJoined[p] = false; -// Load in the sprites we will be working with. - for( int i=0; iTrace( "ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()" ); + + for( int p=0; pGetPathTo("Graphics",sOptFileName) ); - m_sprOpt[i].SetXY( OPT_X[i], OPT_Y[i] ); - this->AddSubActor( &m_sprOpt[i] ); + m_sprControllers[p].Load( THEME->GetPathTo("Graphics","select player controller") ); + m_sprControllers[p].SetXY( CONTROLLER_X(p), CONTROLLER_Y(p) ); + this->AddSubActor( &m_sprControllers[p] ); + + m_sprCursors[p].Load( THEME->GetPathTo("Graphics",ssprintf("select player cursor p%d",p+1)) ); + m_sprCursors[p].SetXY( CURSOR_X(p), CURSOR_Y(p) ); + m_sprCursors[p].SetEffectBouncing( D3DXVECTOR3(0,10,0), 0.5f ); + this->AddSubActor( &m_sprCursors[p] ); } - m_Menu.Load( - THEME->GetPathTo("Graphics","select style background"), - THEME->GetPathTo("Graphics","select style top edge"), + THEME->GetPathTo("Graphics","select player background"), + THEME->GetPathTo("Graphics","select player top edge"), HELP_TEXT, true, TIMER_SECONDS ); this->AddSubActor( &m_Menu ); - m_soundChange.Load( THEME->GetPathTo("Sounds","select style change") ); m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); - m_soundInvalid.Load( THEME->GetPathTo("Sounds","menu invalid") ); - - /* Chris: If EZ2 doesn't use this sound, make a theme that overrides is with a silent sound file */ - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select player intro") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select player music") ); -// GAMESTATE->m_bPlayersCanJoin = true; -// GAMESTATE->m_bIsJoined[PLAYER_1] = false; -// GAMESTATE->m_bIsJoined[PLAYER_2] = false; - -// AfterChange(); -// TweenOnScreen(); + TweenOnScreen(); m_Menu.TweenOnScreenFromBlack( SM_None ); } @@ -125,15 +131,6 @@ Desc: Animates the 1p/2p selection void ScreenEz2SelectPlayer::Update( float fDeltaTime ) { Screen::Update( fDeltaTime ); - - fDeltaTime /= .01f; - - ez2_bounce = fmodf((ez2_bounce+fDeltaTime), 20); - - /* 0..10..19 -> 10..0..9 */ - int offset = roundf( fabsf(10-ez2_bounce) ); - m_sprOpt[2].SetXY( OPT_X[2], OPT_Y[2] - offset); - m_sprOpt[3].SetXY( OPT_X[3], OPT_Y[3] - offset); } /************************************ @@ -174,46 +171,27 @@ void ScreenEz2SelectPlayer::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_MenuTimer: - /* If a player has already chosen, then he chose within the last second - * of the menu timer; just stop and let it come through as if the menu - * timer didn't expire. */ - if(!m_iSelectedStyle) - MenuStart(PLAYER_1); - break; - case SM_PlayersChosen: - if (m_iSelectedStyle & EZ2_PLAYER_1) { - if (m_iSelectedStyle & EZ2_PLAYER_2) + bool bAtLeastOneJoined = false; + for( int p=0; pm_bSideIsJoined[p] ) + bAtLeastOneJoined = true; + + if( !bAtLeastOneJoined ) { - // they both selected -// GAMESTATE->m_MasterPlayerNumber = PLAYER_1; -// GAMESTATE->m_bIsJoined[PLAYER_1] = true; - GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE_VERSUS; - } else { - // only the left pad was selected -// GAMESTATE->m_MasterPlayerNumber = PLAYER_1; - GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE; -// GAMESTATE->m_bIsJoined[PLAYER_2] = true; + MenuStart(PLAYER_1); + m_Menu.StopTimer(); } + + TweenOffScreen(); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); } - else if (m_iSelectedStyle & EZ2_PLAYER_2) { - // only the right pad was selected -// GAMESTATE->m_MasterPlayerNumber = PLAYER_2; - GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE; -// GAMESTATE->m_bIsJoined[PLAYER_2] = true; - } else ASSERT(0); - - MUSIC->Stop(); - - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); - break; - - case SM_GoToPrevState: + case SM_GoToPrevScreen: MUSIC->Stop(); SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( NEXT_SCREEN ); break; } @@ -226,15 +204,11 @@ Desc: Actions performed when a player presses the button bound to back ************************************/ -void ScreenEz2SelectPlayer::MenuBack( const PlayerNumber p ) +void ScreenEz2SelectPlayer::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); - -// m_Fade.CloseWipingLeft( SM_GoToPrevState ); - -// TweenOffScreen(); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } @@ -255,51 +229,64 @@ presses the button bound to start ************************************/ void ScreenEz2SelectPlayer::MenuStart( PlayerNumber p ) { - int this_player_bit = (p == PLAYER_1)? EZ2_PLAYER_1:EZ2_PLAYER_2; + if( GAMESTATE->m_bSideIsJoined[p] ) // already joined + return; // ignore - // disallow multiple presses of the menu start. - if ( m_iSelectedStyle & this_player_bit ) - return; - - // figure out whether we should add a player into the fray or not -// if( GAMESTATE->m_MasterPlayerNumber != PLAYER_2 && GAMESTATE->m_MasterPlayerNumber != PLAYER_1 ) - if (m_iSelectedStyle == 0) + GAMESTATE->m_bSideIsJoined[p] = true; + SCREENMAN->RefreshCreditsMessages(); + m_soundSelect.PlayRandom(); + m_sprCursors[p].BeginTweening( 0.25f ); + m_sprCursors[p].SetTweenZoomY( 0 ); + m_sprControllers[p].BeginTweening( 0.25f ); + m_sprControllers[p].SetTweenZoomY( 0 ); + + bool bBothSidesJoined = true; + for( int p=0; pm_bSideIsJoined[p] ) + bBothSidesJoined = false; + + if( bBothSidesJoined ) { -// GAMESTATE->m_MasterPlayerNumber = p; - - m_iSelectedStyle |= this_player_bit; - - // wait for a bit in case another player wants to join before moving on. - SCREENMAN->SendMessageToTopScreen( SM_PlayersChosen, 1.f ); + TweenOffScreen(); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); } else { - m_iSelectedStyle |= this_player_bit; + // give the other player a little time to join + m_Menu.SetTimer( 5 ); + m_Menu.StartTimer(); + } +} + +void ScreenEz2SelectPlayer::TweenOnScreen() +{ + for( int p=0; pGetMetric("ScreenEz2SelectStyle","NextScreen") -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); enum DStyles { @@ -164,13 +164,13 @@ void ScreenEz2SelectStyle::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: m_soundSelect.PlayRandom(); GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE; - this->SendScreenMessage( SM_GoToNextState, 0 ); + this->SendScreenMessage( SM_GoToNextScreen, 0 ); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: MUSIC->Stop(); SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( NEXT_SCREEN ); break; } @@ -183,14 +183,14 @@ Desc: Actions performed when a player presses the button bound to back ************************************/ -void ScreenEz2SelectStyle::MenuBack( const PlayerNumber p ) +void ScreenEz2SelectStyle::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); GAMESTATE->m_CurStyle = STYLE_NONE; // Make sure that both players can scroll around title menu... -// m_Fade.CloseWipingLeft( SM_GoToPrevState ); +// m_Fade.CloseWipingLeft( SM_GoToPrevScreen ); // TweenOffScreen(); } @@ -201,7 +201,7 @@ Desc: Actions performed when a player presses the button bound to down ************************************/ -void ScreenEz2SelectStyle::MenuDown( const PlayerNumber p ) +void ScreenEz2SelectStyle::MenuDown( PlayerNumber p ) { MenuStart(p); } @@ -282,7 +282,16 @@ void ScreenEz2SelectStyle::MenuStart( PlayerNumber p ) this->ClearMessageQueue(); GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE; // GAMESTATE->m_bPlayersCanJoin = false; - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + + CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName; + if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") ); + else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") ); + else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") ); + else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") ); + else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") ); + + + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); } /************************************ diff --git a/stepmania/src/ScreenEz2SelectStyle.h b/stepmania/src/ScreenEz2SelectStyle.h index 5d668d38db..88031b21f9 100644 --- a/stepmania/src/ScreenEz2SelectStyle.h +++ b/stepmania/src/ScreenEz2SelectStyle.h @@ -34,11 +34,11 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); - void MenuDown( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); + void MenuDown( PlayerNumber p ); void TweenOffScreen(); void TweenPlyOffScreen(); diff --git a/stepmania/src/ScreenGameOver.cpp b/stepmania/src/ScreenGameOver.cpp index acbf1f0a00..bdeaa4b9fd 100644 --- a/stepmania/src/ScreenGameOver.cpp +++ b/stepmania/src/ScreenGameOver.cpp @@ -23,7 +23,7 @@ const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); const ScreenMessage SM_PlayAnnouncer = ScreenMessage(SM_User + 3); @@ -60,15 +60,15 @@ void ScreenGameOver::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_PlayAnnouncer: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAME_OVER) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("game over") ); break; case SM_StartFadingOut: m_bClosing = true; m_sprGameOver.BeginTweening( 0.8f ); m_sprGameOver.SetTweenDiffuseColor( D3DXCOLOR(1,1,1,0) ); - this->SendScreenMessage( SM_GoToNextState, 0.8f ); + this->SendScreenMessage( SM_GoToNextScreen, 0.8f ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; } diff --git a/stepmania/src/ScreenGameOver.h b/stepmania/src/ScreenGameOver.h index ace371fb7a..6093b676e1 100644 --- a/stepmania/src/ScreenGameOver.h +++ b/stepmania/src/ScreenGameOver.h @@ -20,7 +20,7 @@ public: virtual void HandleScreenMessage( const ScreenMessage SM ); - virtual void MenuStart( const PlayerNumber p ); + virtual void MenuStart( PlayerNumber p ); private: diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index b814abeb08..9567bada66 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -542,28 +542,28 @@ ScreenGameplay::ScreenGameplay() { m_soundFail.Load( THEME->GetPathTo("Sounds","gameplay failed") ); m_soundOniDie.Load( THEME->GetPathTo("Sounds","gameplay oni die") ); - m_announcerReady.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_READY) ); + m_announcerReady.Load( ANNOUNCER->GetPathTo("gameplay ready") ); if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) - m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_EXTRA) ); + m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go extra") ); else if( GAMESTATE->IsFinalStage() ) - m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_FINAL) ); + m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go final") ); else - m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_NORMAL) ); - m_announcerDanger.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_DANGER) ); - m_announcerGood.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_GOOD) ); - m_announcerHot.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_HOT) ); + m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go normal") ); + m_announcerDanger.Load( ANNOUNCER->GetPathTo("gameplay comment danger") ); + m_announcerGood.Load( ANNOUNCER->GetPathTo("gameplay comment goood") ); + m_announcerHot.Load( ANNOUNCER->GetPathTo("gameplay comment hot") ); - m_announcer100Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_100_COMBO) ); - m_announcer200Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_200_COMBO) ); - m_announcer300Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_300_COMBO) ); - m_announcer400Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_400_COMBO) ); - m_announcer500Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_500_COMBO) ); - m_announcer600Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_600_COMBO) ); - m_announcer700Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_700_COMBO) ); - m_announcer800Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_800_COMBO) ); - m_announcer900Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_900_COMBO) ); - m_announcer1000Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_1000_COMBO) ); - m_announcerComboStopped.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMBO_STOPPED) ); + m_announcer100Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 100 combo") ); + m_announcer200Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 200 combo") ); + m_announcer300Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 300 combo") ); + m_announcer400Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 400 combo") ); + m_announcer500Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 500 combo") ); + m_announcer600Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 600 combo") ); + m_announcer700Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 700 combo") ); + m_announcer800Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 800 combo") ); + m_announcer900Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 900 combo") ); + m_announcer1000Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 1000 combo") ); + m_announcerComboStopped.Load( ANNOUNCER->GetPathTo("gameplay comment combo stopped") ); } m_iRowLastCrossed = -1; @@ -1233,7 +1233,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM ) { m_StarWipe.CloseWipingRight( SM_None ); this->SendScreenMessage( SM_ShowCleared, 1 ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_CLEARED) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("gameplay cleared") ); } } } @@ -1440,7 +1440,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM ) SCREENMAN->SendMessageToTopScreen( SM_HideFailed, 3.0f ); break; case SM_PlayFailComment: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_FAILED) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("gameplay failed") ); break; case SM_HideFailed: m_sprFailed.StopTweening(); diff --git a/stepmania/src/ScreenHowToPlay.cpp b/stepmania/src/ScreenHowToPlay.cpp index 4013c438db..6c67da0a08 100644 --- a/stepmania/src/ScreenHowToPlay.cpp +++ b/stepmania/src/ScreenHowToPlay.cpp @@ -26,7 +26,7 @@ #define NEXT_SCREEN_ONI THEME->GetMetric("ScreenHowToPlay","NextScreenOni") -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 1); ScreenHowToPlay::ScreenHowToPlay() @@ -102,7 +102,7 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: this->MenuStart(PLAYER_1); break; - case SM_GoToNextState: + case SM_GoToNextScreen: switch( GAMESTATE->m_PlayMode ) { case PLAY_MODE_ARCADE: @@ -119,13 +119,13 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenHowToPlay::MenuBack( const PlayerNumber p ) +void ScreenHowToPlay::MenuBack( PlayerNumber p ) { } -void ScreenHowToPlay::MenuStart( const PlayerNumber p ) +void ScreenHowToPlay::MenuStart( PlayerNumber p ) { - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_BIAS_END ); m_sprHowToPlay.SetTweenX( SCREEN_RIGHT+m_sprHowToPlay.GetUnzoomedWidth()/2 ); diff --git a/stepmania/src/ScreenHowToPlay.h b/stepmania/src/ScreenHowToPlay.h index bbd93d2c44..92339f2a1d 100644 --- a/stepmania/src/ScreenHowToPlay.h +++ b/stepmania/src/ScreenHowToPlay.h @@ -29,8 +29,8 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - virtual void MenuBack( const PlayerNumber p ); - virtual void MenuStart( const PlayerNumber p ); + virtual void MenuBack( PlayerNumber p ); + virtual void MenuStart( PlayerNumber p ); protected: Sprite m_sprHowToPlay; diff --git a/stepmania/src/ScreenMusicScroll.cpp b/stepmania/src/ScreenMusicScroll.cpp index e9acc1520a..066c0fed99 100644 --- a/stepmania/src/ScreenMusicScroll.cpp +++ b/stepmania/src/ScreenMusicScroll.cpp @@ -22,7 +22,7 @@ const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); const int LINE_GAP = 40; @@ -144,7 +144,7 @@ ScreenMusicScroll::ScreenMusicScroll() Song* pSong = arraySongs[i]; m_textLines[m_iNumLines].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); m_textLines[m_iNumLines].SetText( pSong->GetFullTitle() ); - m_textLines[m_iNumLines].SetDiffuseColor( SONGMAN->GetGroupColor(pSong->m_sGroupName) ); + m_textLines[m_iNumLines].SetDiffuseColor( SONGMAN->GetSongColor(pSong) ); m_iNumLines++; } @@ -171,7 +171,7 @@ ScreenMusicScroll::ScreenMusicScroll() this->AddSubActor( &m_Fade ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_MUSIC_SCROLL) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("music scroll") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","music scroll music") ); @@ -221,20 +221,20 @@ void ScreenMusicScroll::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_StartFadingOut: - m_Fade.CloseWipingRight( SM_GoToNextState ); + m_Fade.CloseWipingRight( SM_GoToNextScreen ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; } } -void ScreenMusicScroll::MenuStart( const PlayerNumber p ) +void ScreenMusicScroll::MenuStart( PlayerNumber p ) { - m_Fade.CloseWipingRight( SM_GoToNextState ); + m_Fade.CloseWipingRight( SM_GoToNextScreen ); } -void ScreenMusicScroll::MenuBack( const PlayerNumber p ) +void ScreenMusicScroll::MenuBack( PlayerNumber p ) { MenuStart( p ); } diff --git a/stepmania/src/ScreenMusicScroll.h b/stepmania/src/ScreenMusicScroll.h index 1e0c0f8fc1..282f3a7209 100644 --- a/stepmania/src/ScreenMusicScroll.h +++ b/stepmania/src/ScreenMusicScroll.h @@ -33,8 +33,8 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); private: diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index fb31a00b8b..382cb66e3c 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -35,8 +35,8 @@ const float LINE_GAP_Y = 34; const float ITEMS_START_X = 160; const ScreenMessage SM_PlaySample = ScreenMessage(SM_User-4); -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User-5); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User-6); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User-5); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User-6); ScreenOptions::ScreenOptions( CString sBackgroundPath, CString sPagePath, CString sTopEdgePath ) @@ -299,11 +299,11 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: this->MenuStart(PLAYER_1); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: this->ExportOptions(); this->GoToPrevState(); break; - case SM_GoToNextState: + case SM_GoToNextScreen: this->ExportOptions(); this->GoToNextState(); break; @@ -317,30 +317,30 @@ void ScreenOptions::OnChange() } -void ScreenOptions::MenuBack( const PlayerNumber p ) +void ScreenOptions::MenuBack( PlayerNumber p ) { Screen::MenuBack( p ); m_Menu.TweenOffScreenToBlack( SM_None, true ); - m_Wipe.CloseWipingLeft( SM_GoToPrevState ); + m_Wipe.CloseWipingLeft( SM_GoToPrevScreen ); } -void ScreenOptions::MenuStart( const PlayerNumber p ) +void ScreenOptions::MenuStart( PlayerNumber p ) { Screen::MenuStart( p ); m_Menu.TweenOffScreenToBlack( SM_None, false ); m_SoundNext.PlayRandom(); - m_Wipe.CloseWipingRight( SM_GoToNextState ); + m_Wipe.CloseWipingRight( SM_GoToNextScreen ); m_framePage.BeginTweening( 0.3f, Actor::TWEEN_BIAS_END ); m_framePage.SetTweenX( SCREEN_RIGHT ); } -void ScreenOptions::MenuLeft( const PlayerNumber pn ) +void ScreenOptions::MenuLeft( PlayerNumber pn ) { for( int p=0; pPlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_PLAYER_OPTIONS_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("player options intro") ); } diff --git a/stepmania/src/ScreenPrompt.cpp b/stepmania/src/ScreenPrompt.cpp index c5083fd84c..70bee81065 100644 --- a/stepmania/src/ScreenPrompt.cpp +++ b/stepmania/src/ScreenPrompt.cpp @@ -113,7 +113,7 @@ void ScreenPrompt::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenPrompt::MenuLeft( const PlayerNumber p ) +void ScreenPrompt::MenuLeft( PlayerNumber p ) { if( !m_bYesNoPrompt ) return; @@ -121,7 +121,7 @@ void ScreenPrompt::MenuLeft( const PlayerNumber p ) MenuRight( p ); } -void ScreenPrompt::MenuRight( const PlayerNumber p ) +void ScreenPrompt::MenuRight( PlayerNumber p ) { if( !m_bYesNoPrompt ) return; @@ -137,7 +137,7 @@ void ScreenPrompt::MenuRight( const PlayerNumber p ) SOUND->PlayOnceStreamed( THEME->GetPathTo("Sounds","edit change line") ); } -void ScreenPrompt::MenuStart( const PlayerNumber p ) +void ScreenPrompt::MenuStart( PlayerNumber p ) { m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight ); @@ -162,7 +162,7 @@ void ScreenPrompt::MenuStart( const PlayerNumber p ) m_pOnNo(); } -void ScreenPrompt::MenuBack( const PlayerNumber p ) +void ScreenPrompt::MenuBack( PlayerNumber p ) { } diff --git a/stepmania/src/ScreenPrompt.h b/stepmania/src/ScreenPrompt.h index 0acfb817aa..1863eed1cf 100644 --- a/stepmania/src/ScreenPrompt.h +++ b/stepmania/src/ScreenPrompt.h @@ -29,10 +29,10 @@ public: virtual void HandleScreenMessage( const ScreenMessage SM ); protected: - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuBack( PlayerNumber p ); + void MenuStart( PlayerNumber p ); TransitionFade m_Fade; diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index b6ce08970c..7a86d51ae8 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -65,8 +65,8 @@ float BEST_TIME_Y( int p ) { const float TWEEN_TIME = 0.5f; -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); @@ -137,7 +137,7 @@ ScreenSelectCourse::ScreenSelectCourse() m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); m_soundChangeNotes.Load( THEME->GetPathTo("Sounds","select music change notes") ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_COURSE_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select course intro") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select course music") ); @@ -251,10 +251,10 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: MenuStart(PLAYER_1); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: // find out if the Next button is being held down on any of the pads bool bIsHoldingNext; @@ -276,7 +276,7 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenSelectCourse::MenuLeft( const PlayerNumber p, const InputEventType type ) +void ScreenSelectCourse::MenuLeft( PlayerNumber p, const InputEventType type ) { m_MusicWheel.PrevMusic(); @@ -284,14 +284,14 @@ void ScreenSelectCourse::MenuLeft( const PlayerNumber p, const InputEventType ty } -void ScreenSelectCourse::MenuRight( const PlayerNumber p, const InputEventType type ) +void ScreenSelectCourse::MenuRight( PlayerNumber p, const InputEventType type ) { m_MusicWheel.NextMusic(); AfterCourseChange(); } -void ScreenSelectCourse::MenuStart( const PlayerNumber p ) +void ScreenSelectCourse::MenuStart( PlayerNumber p ) { // this needs to check whether valid Notes are selected! m_MusicWheel.Select(); @@ -299,7 +299,7 @@ void ScreenSelectCourse::MenuStart( const PlayerNumber p ) switch( m_MusicWheel.GetSelectedType() ) { case TYPE_COURSE: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select course comment general") ); TweenOffScreen(); @@ -327,18 +327,18 @@ void ScreenSelectCourse::MenuStart( const PlayerNumber p ) m_Menu.StopTimer(); - this->SendScreenMessage( SM_GoToNextState, 2.5f ); + this->SendScreenMessage( SM_GoToNextScreen, 2.5f ); break; } } -void ScreenSelectCourse::MenuBack( const PlayerNumber p ) +void ScreenSelectCourse::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } diff --git a/stepmania/src/ScreenSelectCourse.h b/stepmania/src/ScreenSelectCourse.h index f0f10bab86..d5488ccd69 100644 --- a/stepmania/src/ScreenSelectCourse.h +++ b/stepmania/src/ScreenSelectCourse.h @@ -34,10 +34,10 @@ public: void TweenOnScreen(); void TweenOffScreen(); - void MenuLeft( const PlayerNumber p, const InputEventType type ); - void MenuRight( const PlayerNumber p, const InputEventType type ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p, const InputEventType type ); + void MenuRight( PlayerNumber p, const InputEventType type ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); protected: void AfterCourseChange(); diff --git a/stepmania/src/ScreenSelectDifficulty.cpp b/stepmania/src/ScreenSelectDifficulty.cpp index 294234519d..0b56749b7c 100644 --- a/stepmania/src/ScreenSelectDifficulty.cpp +++ b/stepmania/src/ScreenSelectDifficulty.cpp @@ -117,8 +117,8 @@ float CURSOR_Y( int iItemIndex, int p ) { } -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); const ScreenMessage SM_StartTweeningOffScreen = ScreenMessage(SM_User + 3); const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 4); @@ -214,7 +214,7 @@ ScreenSelectDifficulty::ScreenSelectDifficulty() m_bPlayedChallengeSound = false; - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty intro") ); m_Menu.TweenOnScreenFromMenu( SM_None ); TweenOnScreen(); @@ -269,10 +269,10 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM ) MenuStart( (PlayerNumber)p ); } break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: { for( int p=0; pSendScreenMessage( SM_StartFadingOut, 0.8f ); break; case SM_StartFadingOut: - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); break; } } -void ScreenSelectDifficulty::MenuLeft( const PlayerNumber p ) +void ScreenSelectDifficulty::MenuLeft( PlayerNumber p ) { if( m_iSelection[p] == 0 ) // can't go left any more return; @@ -328,7 +328,7 @@ void ScreenSelectDifficulty::MenuLeft( const PlayerNumber p ) } -void ScreenSelectDifficulty::MenuRight( const PlayerNumber p ) +void ScreenSelectDifficulty::MenuRight( PlayerNumber p ) { if( m_iSelection[p] == NUM_DIFFICULTY_ITEMS-1 ) // can't go right any more return; @@ -355,7 +355,7 @@ bool ScreenSelectDifficulty::SelectedSomethingOnPage2() return false; } -void ScreenSelectDifficulty::ChangeTo( const PlayerNumber pn, int iSelectionWas, int iSelectionIs ) +void ScreenSelectDifficulty::ChangeTo( PlayerNumber pn, int iSelectionWas, int iSelectionIs ) { bool bChangedPagesFrom1To2 = iSelectionWas < 3 && iSelectionIs >= 3; bool bChangedPagesFrom2To1 = iSelectionWas >= 3 && iSelectionIs < 3; @@ -385,7 +385,7 @@ void ScreenSelectDifficulty::ChangeTo( const PlayerNumber pn, int iSelectionWas, if( !m_bPlayedChallengeSound && bChangedPagesFrom1To2 ) { - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_CHALLENGE) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty challenge") ); m_bPlayedChallengeSound = true; } @@ -423,11 +423,11 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn ) switch( iSelection ) { - case 0: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_EASY) ); break; - case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_MEDIUM) ); break; - case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_HARD) ); break; - case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ONI) ); break; - case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ENDLESS) ); break; + case 0: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment easy") ); break; + case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment medium") ); break; + case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment hard") ); break; + case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment oni") ); break; + case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment endless") ); break; } if( iSelection >= 3 ) // chose something on page 2 @@ -471,9 +471,9 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn ) this->SendScreenMessage( SM_StartTweeningOffScreen, 0.7f ); } -void ScreenSelectDifficulty::MenuBack( const PlayerNumber p ) +void ScreenSelectDifficulty::MenuBack( PlayerNumber p ) { - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } void ScreenSelectDifficulty::TweenOffScreen() diff --git a/stepmania/src/ScreenSelectDifficulty.h b/stepmania/src/ScreenSelectDifficulty.h index 5fc8ad882c..14980db3a2 100644 --- a/stepmania/src/ScreenSelectDifficulty.h +++ b/stepmania/src/ScreenSelectDifficulty.h @@ -31,16 +31,16 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); private: - void ChangeTo( const PlayerNumber pn, int iSelectionWas, int iSelectionIs ); + void ChangeTo( PlayerNumber pn, int iSelectionWas, int iSelectionIs ); bool IsItemOnPage2( int iItemIndex ); bool SelectedSomethingOnPage2(); // checks selection of players diff --git a/stepmania/src/ScreenSelectGroup.cpp b/stepmania/src/ScreenSelectGroup.cpp index fb1acdeaec..40af1d1ff4 100644 --- a/stepmania/src/ScreenSelectGroup.cpp +++ b/stepmania/src/ScreenSelectGroup.cpp @@ -41,8 +41,8 @@ #define NEXT_SCREEN_ONI THEME->GetMetric("ScreenSelectGroup","NextScreenOni") -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 3); @@ -160,7 +160,7 @@ ScreenSelectGroup::ScreenSelectGroup() m_soundChange.Load( THEME->GetPathTo("Sounds","select group change") ); m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group intro") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select group music") ); @@ -202,10 +202,10 @@ void ScreenSelectGroup::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: MenuStart(PLAYER_1); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: switch( GAMESTATE->m_PlayMode ) { case PLAY_MODE_ARCADE: @@ -220,7 +220,7 @@ void ScreenSelectGroup::HandleScreenMessage( const ScreenMessage SM ) } break; case SM_StartFadingOut: - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); break; } } @@ -247,17 +247,17 @@ void ScreenSelectGroup::AfterChange() } -void ScreenSelectGroup::MenuLeft( const PlayerNumber p ) +void ScreenSelectGroup::MenuLeft( PlayerNumber p ) { MenuUp( p ); } -void ScreenSelectGroup::MenuRight( const PlayerNumber p ) +void ScreenSelectGroup::MenuRight( PlayerNumber p ) { MenuDown( p ); } -void ScreenSelectGroup::MenuUp( const PlayerNumber p ) +void ScreenSelectGroup::MenuUp( PlayerNumber p ) { if( m_bChosen ) return; @@ -270,7 +270,7 @@ void ScreenSelectGroup::MenuUp( const PlayerNumber p ) } -void ScreenSelectGroup::MenuDown( const PlayerNumber p ) +void ScreenSelectGroup::MenuDown( PlayerNumber p ) { if( m_bChosen ) return; @@ -282,7 +282,7 @@ void ScreenSelectGroup::MenuDown( const PlayerNumber p ) m_soundChange.PlayRandom(); } -void ScreenSelectGroup::MenuStart( const PlayerNumber p ) +void ScreenSelectGroup::MenuStart( PlayerNumber p ) { m_soundSelect.PlayRandom(); m_bChosen = true; @@ -291,9 +291,9 @@ void ScreenSelectGroup::MenuStart( const PlayerNumber p ) GAMESTATE->m_sPreferredGroup = m_GroupList.GetSelectionName(); if( 0 == stricmp(GAMESTATE->m_sPreferredGroup, "All Music") ) - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_COMMENT_ALL_MUSIC) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group comment all music") ); else - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_COMMENT_GENERAL) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group comment general") ); TweenOffScreen(); @@ -302,9 +302,9 @@ void ScreenSelectGroup::MenuStart( const PlayerNumber p ) this->SendScreenMessage( SM_StartFadingOut, 0.8f ); } -void ScreenSelectGroup::MenuBack( const PlayerNumber p ) +void ScreenSelectGroup::MenuBack( PlayerNumber p ) { - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } void ScreenSelectGroup::TweenOffScreen() diff --git a/stepmania/src/ScreenSelectGroup.h b/stepmania/src/ScreenSelectGroup.h index 996b43bb07..23373c889a 100644 --- a/stepmania/src/ScreenSelectGroup.h +++ b/stepmania/src/ScreenSelectGroup.h @@ -30,12 +30,12 @@ public: void AfterChange(); - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuUp( const PlayerNumber p ); - void MenuDown( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuUp( PlayerNumber p ); + void MenuDown( PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index b82bd8c2cb..b5f545ba00 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -124,8 +124,8 @@ float PLAYER_OPTIONS_Y( int p ) { } } -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); @@ -261,7 +261,7 @@ ScreenSelectMusic::ScreenSelectMusic() m_soundChangeNotes.Load( THEME->GetPathTo("Sounds","select music change notes") ); m_soundLocked.Load( THEME->GetPathTo("Sounds","select music wheel locked") ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music intro") ); m_bMadeChoice = false; m_bGoToOptions = false; @@ -505,7 +505,7 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, const InputEventType } -void ScreenSelectMusic::EasierDifficulty( const PlayerNumber p ) +void ScreenSelectMusic::EasierDifficulty( PlayerNumber p ) { LOG->Trace( "ScreenSelectMusic::EasierDifficulty( %d )", p ); @@ -525,7 +525,7 @@ void ScreenSelectMusic::EasierDifficulty( const PlayerNumber p ) AfterNotesChange( p ); } -void ScreenSelectMusic::HarderDifficulty( const PlayerNumber p ) +void ScreenSelectMusic::HarderDifficulty( PlayerNumber p ) { LOG->Trace( "ScreenSelectMusic::HarderDifficulty( %d )", p ); @@ -568,10 +568,10 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM ) MenuStart(PLAYER_INVALID); } break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: if( m_bGoToOptions ) { SCREENMAN->SetNewScreen( "ScreenPlayerOptions" ); @@ -594,7 +594,7 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenSelectMusic::MenuLeft( const PlayerNumber p, const InputEventType type ) +void ScreenSelectMusic::MenuLeft( PlayerNumber p, const InputEventType type ) { if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_RIGHT) ) ) return; // ignore @@ -606,7 +606,7 @@ void ScreenSelectMusic::MenuLeft( const PlayerNumber p, const InputEventType typ } -void ScreenSelectMusic::MenuRight( const PlayerNumber p, const InputEventType type ) +void ScreenSelectMusic::MenuRight( PlayerNumber p, const InputEventType type ) { if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) ) ) return; // ignore @@ -617,7 +617,7 @@ void ScreenSelectMusic::MenuRight( const PlayerNumber p, const InputEventType ty m_MusicWheel.NextMusic(); } -void ScreenSelectMusic::MenuStart( const PlayerNumber p ) +void ScreenSelectMusic::MenuStart( PlayerNumber p ) { if( p != PLAYER_INVALID && INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) ) && @@ -674,11 +674,11 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p ) } if( bIsNew ) - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_NEW) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment new") ); else if( bIsHard ) - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_HARD) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment hard") ); else - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment general") ); TweenOffScreen(); @@ -704,7 +704,7 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p ) m_Menu.StopTimer(); - this->SendScreenMessage( SM_GoToNextState, 2.5f ); + this->SendScreenMessage( SM_GoToNextScreen, 2.5f ); } break; case TYPE_SECTION: @@ -719,14 +719,14 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p ) } -void ScreenSelectMusic::MenuBack( const PlayerNumber p ) +void ScreenSelectMusic::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } -void ScreenSelectMusic::AfterNotesChange( const PlayerNumber p ) +void ScreenSelectMusic::AfterNotesChange( PlayerNumber p ) { if( !GAMESTATE->IsPlayerEnabled(p) ) return; diff --git a/stepmania/src/ScreenSelectMusic.h b/stepmania/src/ScreenSelectMusic.h index 4a25229c10..3d0bab8d3b 100644 --- a/stepmania/src/ScreenSelectMusic.h +++ b/stepmania/src/ScreenSelectMusic.h @@ -39,16 +39,16 @@ public: void TweenOnScreen(); void TweenOffScreen(); - void MenuLeft( const PlayerNumber p, const InputEventType type ); - void MenuRight( const PlayerNumber p, const InputEventType type ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p, const InputEventType type ); + void MenuRight( PlayerNumber p, const InputEventType type ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); protected: - void EasierDifficulty( const PlayerNumber p ); - void HarderDifficulty( const PlayerNumber p ); + void EasierDifficulty( PlayerNumber p ); + void HarderDifficulty( PlayerNumber p ); - void AfterNotesChange( const PlayerNumber p ); + void AfterNotesChange( PlayerNumber p ); void AfterMusicChange(); void PlayMusicSample(); void SortOrderChanged(); diff --git a/stepmania/src/ScreenSelectStyle.cpp b/stepmania/src/ScreenSelectStyle.cpp index 173baa3690..a1ac373171 100644 --- a/stepmania/src/ScreenSelectStyle.cpp +++ b/stepmania/src/ScreenSelectStyle.cpp @@ -38,8 +38,8 @@ #define NEXT_SCREEN THEME->GetMetric("ScreenSelectStyle","NextScreen") -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); ScreenSelectStyle::ScreenSelectStyle() @@ -96,7 +96,7 @@ ScreenSelectStyle::ScreenSelectStyle() m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style intro") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") ); @@ -137,11 +137,11 @@ void ScreenSelectStyle::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: MenuStart(PLAYER_INVALID); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: MUSIC->Stop(); SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( NEXT_SCREEN ); break; } @@ -185,7 +185,7 @@ void ScreenSelectStyle::AfterChange() m_sprInfo.SetTweenZoomY( 1 ); } -void ScreenSelectStyle::MenuLeft( const PlayerNumber p ) +void ScreenSelectStyle::MenuLeft( PlayerNumber p ) { // search for a style to the left of the current selection that is enabled int iSwitchToStyleIndex = -1; // -1 means none found @@ -208,7 +208,7 @@ void ScreenSelectStyle::MenuLeft( const PlayerNumber p ) } -void ScreenSelectStyle::MenuRight( const PlayerNumber p ) +void ScreenSelectStyle::MenuRight( PlayerNumber p ) { // search for a style to the right of the current selection that is enabled int iSwitchToStyleIndex = -1; // -1 means none found @@ -230,7 +230,7 @@ void ScreenSelectStyle::MenuRight( const PlayerNumber p ) AfterChange(); } -void ScreenSelectStyle::MenuStart( const PlayerNumber p ) +void ScreenSelectStyle::MenuStart( PlayerNumber p ) { if( p!=PLAYER_INVALID && !GAMESTATE->m_bSideIsJoined[p] ) { @@ -243,23 +243,14 @@ void ScreenSelectStyle::MenuStart( const PlayerNumber p ) GAMESTATE->m_CurStyle = GetSelectedStyle(); - AnnouncerElement ae; - switch( GAMESTATE->m_CurStyle ) - { - case STYLE_PUMP_SINGLE: - case STYLE_DANCE_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break; - case STYLE_PUMP_VERSUS: - case STYLE_DANCE_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break; - case STYLE_PUMP_DOUBLE: - case STYLE_DANCE_DOUBLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE; break; - case STYLE_PUMP_COUPLE: - case STYLE_DANCE_COUPLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE; break; - case STYLE_DANCE_SOLO: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SOLO; break; - default: ASSERT(0); break; // invalid Style - } - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ae) ); + CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName; + if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") ); + else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") ); + else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") ); + else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") ); + else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") ); - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); m_soundSelect.PlayRandom(); @@ -268,13 +259,13 @@ void ScreenSelectStyle::MenuStart( const PlayerNumber p ) TweenOffScreen(); } -void ScreenSelectStyle::MenuBack( const PlayerNumber p ) +void ScreenSelectStyle::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); -// m_Fade.CloseWipingLeft( SM_GoToPrevState ); +// m_Fade.CloseWipingLeft( SM_GoToPrevScreen ); // TweenOffScreen(); } diff --git a/stepmania/src/ScreenSelectStyle.h b/stepmania/src/ScreenSelectStyle.h index 87561ea564..d954104e90 100644 --- a/stepmania/src/ScreenSelectStyle.h +++ b/stepmania/src/ScreenSelectStyle.h @@ -29,10 +29,10 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); diff --git a/stepmania/src/ScreenSelectStyle5th.cpp b/stepmania/src/ScreenSelectStyle5th.cpp index 5e0613b960..e6958f24ce 100644 --- a/stepmania/src/ScreenSelectStyle5th.cpp +++ b/stepmania/src/ScreenSelectStyle5th.cpp @@ -26,14 +26,13 @@ #define TIMER_SECONDS THEME->GetMetricI("ScreenSelectStyle5th","TimerSeconds") #define NEXT_SCREEN THEME->GetMetric("ScreenSelectStyle5th","NextScreen") -const CString DANCE_STYLES[] = { +const CString DANCE_STYLES[NUM_DANCE_STYLES] = { "single", "versus", "double", "couple", "solo", }; -const int NUM_DANCE_STYLES = sizeof(DANCE_STYLES)/sizeof(CString); const float PAD_X[NUM_STYLE_PADS] = { CENTER_X-250, @@ -107,8 +106,8 @@ const D3DXCOLOR COLOR_P1_NOT_SELECTED = COLOR_P1_SELECTED*0.5f + D3DXCOLOR(0,0,0 const D3DXCOLOR COLOR_P2_NOT_SELECTED = COLOR_P2_SELECTED*0.5f + D3DXCOLOR(0,0,0,0.5f); -const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); +const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2); const ScreenMessage SM_UpdateAnimations = ScreenMessage(SM_User + 3); const ScreenMessage SM_TweenExplanation2 = ScreenMessage(SM_User + 4); @@ -175,7 +174,7 @@ ScreenSelectStyle5th::ScreenSelectStyle5th() m_soundChange.Load( THEME->GetPathTo("Graphics","select style change") ); m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style intro") ); MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") ); @@ -217,11 +216,11 @@ void ScreenSelectStyle5th::HandleScreenMessage( const ScreenMessage SM ) case SM_MenuTimer: MenuStart(PLAYER_1); break; - case SM_GoToPrevState: + case SM_GoToPrevScreen: MUSIC->Stop(); SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( "ScreenSelectDifficulty" ); break; case SM_TweenExplanation2: @@ -243,7 +242,7 @@ void ScreenSelectStyle5th::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenSelectStyle5th::MenuLeft( const PlayerNumber p ) +void ScreenSelectStyle5th::MenuLeft( PlayerNumber p ) { if( m_iSelection == 0 ) // can't go left any further return; @@ -256,7 +255,7 @@ void ScreenSelectStyle5th::MenuLeft( const PlayerNumber p ) } -void ScreenSelectStyle5th::MenuRight( const PlayerNumber p ) +void ScreenSelectStyle5th::MenuRight( PlayerNumber p ) { if( m_iSelection == NUM_DANCE_STYLES-1 ) // can't go right any further return; @@ -268,37 +267,30 @@ void ScreenSelectStyle5th::MenuRight( const PlayerNumber p ) AfterChange(); } -void ScreenSelectStyle5th::MenuStart( const PlayerNumber p ) +void ScreenSelectStyle5th::MenuStart( PlayerNumber p ) { GAMESTATE->m_CurStyle = Style( m_iSelection ); GAMESTATE->m_MasterPlayerNumber = p; - AnnouncerElement ae; - switch( GAMESTATE->m_CurStyle ) - { - case STYLE_DANCE_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break; - case STYLE_DANCE_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break; - case STYLE_DANCE_DOUBLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE; break; - case STYLE_DANCE_COUPLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE; break; - case STYLE_DANCE_SOLO: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SOLO; break; - case STYLE_PUMP_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break; - case STYLE_PUMP_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break; - default: ASSERT(0); break; // invalid Style - } - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ae) ); + CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName; + if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") ); + else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") ); + else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") ); + else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") ); + else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") ); this->ClearMessageQueue(); TweenOffScreen(); - m_Menu.TweenOffScreenToMenu( SM_GoToNextState ); + m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); m_soundSelect.PlayRandom(); } -void ScreenSelectStyle5th::MenuBack( const PlayerNumber p ) +void ScreenSelectStyle5th::MenuBack( PlayerNumber p ) { MUSIC->Stop(); - m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true ); + m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } void ScreenSelectStyle5th::BeforeChange() diff --git a/stepmania/src/ScreenSelectStyle5th.h b/stepmania/src/ScreenSelectStyle5th.h index 998e1f37ef..4d2d210434 100644 --- a/stepmania/src/ScreenSelectStyle5th.h +++ b/stepmania/src/ScreenSelectStyle5th.h @@ -37,10 +37,10 @@ public: virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - void MenuLeft( const PlayerNumber p ); - void MenuRight( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); + void MenuLeft( PlayerNumber p ); + void MenuRight( PlayerNumber p ); + void MenuStart( PlayerNumber p ); + void MenuBack( PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); diff --git a/stepmania/src/ScreenStage.cpp b/stepmania/src/ScreenStage.cpp index a743710620..fe8bbae753 100644 --- a/stepmania/src/ScreenStage.cpp +++ b/stepmania/src/ScreenStage.cpp @@ -34,9 +34,12 @@ enum StageType // for use with the metric above STAGE_TYPE_EZ2 }; +StageType g_StageType; // cache for STAGE_TYPE because it's slow to look up + + const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1); const ScreenMessage SM_DoneFadingIn = ScreenMessage(SM_User + 2); -const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 3); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 3); enum StageMode @@ -51,8 +54,13 @@ enum StageMode ScreenStage::ScreenStage() { + g_StageType = (StageType)STAGE_TYPE; + MUSIC->Stop(); + // + // Init common graphics + // for( int i=0; i<4; i++ ) { m_sprNumbers[i].Load( THEME->GetPathTo("Graphics","stage numbers") ); @@ -81,6 +89,9 @@ ScreenStage::ScreenStage() else stage_mode = MODE_NORMAL; + // + // Play announcer + // switch( stage_mode ) { case MODE_NORMAL: @@ -88,41 +99,37 @@ ScreenStage::ScreenStage() const int iStageNo = GAMESTATE->GetStageIndex()+1; switch( iStageNo ) { - case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_1) ); break; - case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_2) ); break; - case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_3) ); break; - case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_4) ); break; - case 5: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_5) ); break; + case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 1") ); break; + case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 2") ); break; + case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 3") ); break; + case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 4") ); break; + case 5: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 5") ); break; default: ; break; // play nothing } } break; - case MODE_FINAL: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_FINAL) ); - break; - case MODE_EXTRA1: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_EXTRA1) ); - break; - case MODE_EXTRA2: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_EXTRA2) ); - break; - case MODE_ONI: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_ONI) ); - break; - case MODE_ENDLESS: - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_ENDLESS) ); - break; - default: - ASSERT(0); + case MODE_FINAL: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage final") ); break; + case MODE_EXTRA1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage extra1") ); break; + case MODE_EXTRA2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage extra2") ); break; + case MODE_ONI: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage oni") ); break; + case MODE_ENDLESS: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage endless") ); break; + default: ASSERT(0); } + + // Andy - + // Is all this stuff only supposed to be initializing in MODE_NORMAL? + // The final stage screens look goofy in TYPE_PUMP and TYPE_EZ2 because of this. + // I'm going to make changes, but feel free to correct anything I good up. + // - Chris + int ez2Final=0; // if we're 0 it's not a final stage. if we're 1 it is. // why do this? Ez2dancer uses NORMAL for it's final stage but just re-arranges // the elements. so the following takes us into NORMAL and just re-arranges stuff // the ez2Final is so that when we're in normal we can go and see if we're really // FINAL or not. at the end of normal, if we WERE FINAL, we set it back to final // hacky or what? =) - if( STAGE_TYPE == STAGE_TYPE_EZ2 && stage_mode == MODE_FINAL ) + if( g_StageType == STAGE_TYPE_EZ2 && stage_mode == MODE_FINAL ) { for( int i=0; i<4; i++ ) { @@ -183,7 +190,7 @@ ScreenStage::ScreenStage() // EZ2 TYPE DEFINITION // ///////////////////////// - if ( STAGE_TYPE == STAGE_TYPE_EZ2) // Initialize and manipulate existing graphics for Ez2dancer Screen Type + if ( g_StageType == STAGE_TYPE_EZ2) // Initialize and manipulate existing graphics for Ez2dancer Screen Type { for( i=0; iEnableZBuffer(); - - if ( STAGE_TYPE == STAGE_TYPE_MAX) // only DANCE uses the Z mask + switch( g_StageType ) + { + case STAGE_TYPE_MAX: + DISPLAY->EnableZBuffer(); m_quadMask.Draw(); - m_frameStage.Draw(); - - DISPLAY->DisableZBuffer(); - - m_Fade.Draw(); - - if ( STAGE_TYPE == STAGE_TYPE_PUMP) // only PUMP uses the song background on the stage screen + m_frameStage.Draw(); + DISPLAY->DisableZBuffer(); + break; + case STAGE_TYPE_PUMP: m_sprSongBackground.Draw(); + break; + case STAGE_TYPE_EZ2: + m_sprSongBackground.Draw(); + break; + default: + ASSERT(0); + } + + m_Fade.Draw(); } void ScreenStage::HandleScreenMessage( const ScreenMessage SM ) @@ -495,11 +508,11 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_StartFadingOut: - m_Fade.CloseWipingRight( SM_GoToNextState ); + m_Fade.CloseWipingRight( SM_GoToNextScreen ); break; case SM_DoneFadingIn: break; - case SM_GoToNextState: + case SM_GoToNextScreen: SCREENMAN->SetNewScreen( "ScreenGameplay" ); break; } diff --git a/stepmania/src/ScreenTextEntry.cpp b/stepmania/src/ScreenTextEntry.cpp index 74d1e7834e..c28c4f61c0 100644 --- a/stepmania/src/ScreenTextEntry.cpp +++ b/stepmania/src/ScreenTextEntry.cpp @@ -120,15 +120,15 @@ void ScreenTextEntry::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenTextEntry::MenuLeft( const PlayerNumber p ) +void ScreenTextEntry::MenuLeft( PlayerNumber p ) { } -void ScreenTextEntry::MenuRight( const PlayerNumber p ) +void ScreenTextEntry::MenuRight( PlayerNumber p ) { } -void ScreenTextEntry::MenuStart( const PlayerNumber p ) +void ScreenTextEntry::MenuStart( PlayerNumber p ) { m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight ); @@ -153,7 +153,7 @@ void ScreenTextEntry::MenuStart( const PlayerNumber p ) m_pOnOK( m_sAnswer ); } -void ScreenTextEntry::MenuBack( const PlayerNumber p ) +void ScreenTextEntry::MenuBack( PlayerNumber p ) { m_bCancelled = true; MenuStart(p); diff --git a/stepmania/src/ScreenTextEntry.h b/stepmania/src/ScreenTextEntry.h index cc44b24501..e347511dfb 100644 --- a/stepmania/src/ScreenTextEntry.h +++ b/stepmania/src/ScreenTextEntry.h @@ -30,10 +30,10 @@ public: virtual void HandleScreenMessage( const ScreenMessage SM ); protected: - virtual void MenuLeft( const PlayerNumber p ); - virtual void MenuRight( const PlayerNumber p ); - virtual void MenuStart( const PlayerNumber p ); - virtual void MenuBack( const PlayerNumber p ); + virtual void MenuLeft( PlayerNumber p ); + virtual void MenuRight( PlayerNumber p ); + virtual void MenuStart( PlayerNumber p ); + virtual void MenuBack( PlayerNumber p ); TransitionFade m_Fade; BitmapText m_textQuestion; diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index a9f34371c4..7aa2130912 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -150,10 +150,10 @@ ScreenTitleMenu::ScreenTitleMenu() this->AddSubActor( &m_Fade ); - SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_TITLE_MENU_GAME_NAME) ); + SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("title menu game name") ); - m_soundAttract.Load( ANNOUNCER->GetPathTo(ANNOUNCER_TITLE_MENU_ATTRACT) ); + m_soundAttract.Load( ANNOUNCER->GetPathTo("title menu attract") ); m_soundChange.Load( THEME->GetPathTo("Sounds","title menu change") ); m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") ); m_soundInvalid.Load( THEME->GetPathTo("Sounds","menu invalid") ); @@ -302,7 +302,7 @@ void ScreenTitleMenu::GainFocus( int iChoiceIndex ) m_textChoice[iChoiceIndex].SetEffectCamelion( 2.5f, color1, color2 ); } -void ScreenTitleMenu::MenuUp( const PlayerNumber p ) +void ScreenTitleMenu::MenuUp( PlayerNumber p ) { LoseFocus( m_TitleMenuChoice ); @@ -315,7 +315,7 @@ void ScreenTitleMenu::MenuUp( const PlayerNumber p ) } -void ScreenTitleMenu::MenuDown( const PlayerNumber p ) +void ScreenTitleMenu::MenuDown( PlayerNumber p ) { LoseFocus( m_TitleMenuChoice ); @@ -328,7 +328,7 @@ void ScreenTitleMenu::MenuDown( const PlayerNumber p ) } -void ScreenTitleMenu::MenuStart( const PlayerNumber p ) +void ScreenTitleMenu::MenuStart( PlayerNumber p ) { GAMESTATE->m_bSideIsJoined[p] = true; GAMESTATE->m_MasterPlayerNumber = p; @@ -380,7 +380,7 @@ void ScreenTitleMenu::MenuStart( const PlayerNumber p ) } } -void ScreenTitleMenu::MenuBack( const PlayerNumber p ) +void ScreenTitleMenu::MenuBack( PlayerNumber p ) { this->SendScreenMessage( SM_FadeToDemonstration, 0 ); } diff --git a/stepmania/src/ScreenTitleMenu.h b/stepmania/src/ScreenTitleMenu.h index 646ab838e7..adf1f07998 100644 --- a/stepmania/src/ScreenTitleMenu.h +++ b/stepmania/src/ScreenTitleMenu.h @@ -42,10 +42,10 @@ public: private: void GainFocus( int iChoiceIndex ); void LoseFocus( int iChoiceIndex ); - void MenuUp( const PlayerNumber p ); - void MenuDown( const PlayerNumber p ); - void MenuBack( const PlayerNumber p ); - void MenuStart( const PlayerNumber p ); + void MenuUp( PlayerNumber p ); + void MenuDown( PlayerNumber p ); + void MenuBack( PlayerNumber p ); + void MenuStart( PlayerNumber p ); TitleMenuChoice m_TitleMenuChoice; diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 985fbfb5dd..285972d4f4 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -25,20 +25,33 @@ SongManager* SONGMAN = NULL; // global and accessable from anywhere in our progr const CString g_sStatisticsFileName = "statistics.ini"; -D3DXCOLOR GROUP_COLORS[] = { -// D3DXCOLOR( 0.9f, 0.0f, 0.2f, 1 ), // red - D3DXCOLOR( 0.8f, 0.1f, 0.6f, 1 ), // pink - D3DXCOLOR( 0.5f, 0.3f, 0.7f, 1 ), // purple - D3DXCOLOR( 0.0f, 0.4f, 0.8f, 1 ), // sky blue - D3DXCOLOR( 0.0f, 0.6f, 0.6f, 1 ), // sea green - D3DXCOLOR( 0.1f, 0.7f, 0.3f, 1 ), // green - D3DXCOLOR( 0.8f, 0.6f, 0.0f, 1 ), // orange -}; -const int NUM_GROUP_COLORS = sizeof(GROUP_COLORS) / sizeof(D3DXCOLOR); +#define GROUP_COLOR_1 THEME->GetMetricC("SongManager","GroupColor1") +#define GROUP_COLOR_2 THEME->GetMetricC("SongManager","GroupColor2") +#define GROUP_COLOR_3 THEME->GetMetricC("SongManager","GroupColor3") +#define GROUP_COLOR_4 THEME->GetMetricC("SongManager","GroupColor4") +#define GROUP_COLOR_5 THEME->GetMetricC("SongManager","GroupColor5") +#define GROUP_COLOR_6 THEME->GetMetricC("SongManager","GroupColor6") +#define GROUP_COLOR_7 THEME->GetMetricC("SongManager","GroupColor7") +#define EXTRA_COLOR THEME->GetMetricC("SongManager","GroupColor7") + +const int NUM_GROUP_COLORS = 7; +D3DXCOLOR GROUP_COLORS[NUM_GROUP_COLORS]; + +D3DXCOLOR g_ExtraColor; SongManager::SongManager( void(*callback)() ) { + // Loading these theme metrics is slow, so only do it ever 20th time. + GROUP_COLORS[0] = GROUP_COLOR_1; + GROUP_COLORS[1] = GROUP_COLOR_2; + GROUP_COLORS[2] = GROUP_COLOR_3; + GROUP_COLORS[3] = GROUP_COLOR_4; + GROUP_COLORS[4] = GROUP_COLOR_5; + GROUP_COLORS[5] = GROUP_COLOR_6; + GROUP_COLORS[6] = GROUP_COLOR_7; + g_ExtraColor = EXTRA_COLOR; + InitSongArrayFromDisk( callback ); ReadStatisticsFromDisk(); @@ -363,6 +376,20 @@ D3DXCOLOR SongManager::GetGroupColor( const CString &sGroupName ) return GROUP_COLORS[i%NUM_GROUP_COLORS]; } +D3DXCOLOR SongManager::GetSongColor( Song* pSong ) +{ + ASSERT( pSong ); + for( int i=0; im_apNotes.GetSize(); i++ ) + { + Notes* pNotes = pSong->m_apNotes[i]; + if( pNotes->m_iMeter == 10 ) + return EXTRA_COLOR; + } + + return GetGroupColor( pSong->m_sGroupName ); +} + + void SongManager::GetSongsInGroup( const CString sGroupName, CArray &AddTo ) { for( int i=0; i 0 ) - return asPossibleElementFilePaths[0]; - else - { - ASSERT(0); - throw RageException( "Theme element '%s' could not be found in '%s' or '%s'.", - sAssetCategory+"\\"+sFileName, - GetThemeDirFromName(m_sCurThemeName), - GetThemeDirFromName(BASE_THEME_NAME) ); - } - - return ""; -} -*/ - CString ThemeManager::GetPathTo( CString sAssetCategory, CString sFileName ) { #ifdef _DEBUG diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index 5eec1928ad..593bdc86f9 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -16,205 +16,6 @@ class IniFile; -enum ThemeElement { -/* - GRAPHIC_ALL_MUSIC_BANNER, - GRAPHIC_ARROWS_LEFT, - GRAPHIC_ARROWS_RIGHT, - GRAPHIC_CAUTION, - GRAPHIC_GAMEPLAY_CLOSING_STAR, - GRAPHIC_EDIT_BACKGROUND, - GRAPHIC_EDIT_TOP_EDGE, - GRAPHIC_EDIT_SNAP_INDICATOR, - GRAPHIC_MUSIC_SCROLL_BACKGROUND, - GRAPHIC_FALLBACK_BACKGROUND, - "Graphics","fallback banner", - "Graphics","fallback cd title", - GRAPHIC_OPTIONS_CURSOR, - GRAPHIC_OPTIONS_UNDERLINE, - GRAPHIC_GAME_OPTIONS_BACKGROUND, - GRAPHIC_GAME_OPTIONS_TOP_EDGE, - GRAPHIC_GAME_OVER, - GRAPHIC_GAMEPLAY_CLEARED, - GRAPHIC_GAMEPLAY_COMBO, - GRAPHIC_GAMEPLAY_DANGER_BACKGROUND, - GRAPHIC_GAMEPLAY_DANGER_TEXT, - GRAPHIC_GAMEPLAY_DEMONSTRATION, - GRAPHIC_GAMEPLAY_FAILED, - GRAPHIC_GAMEPLAY_HOLD_JUDGEMENT, - GRAPHIC_GAMEPLAY_JUDGEMENT, - GRAPHIC_GAMEPLAY_READY, - GRAPHIC_GAMEPLAY_HERE_WE_GO, - GRAPHIC_GAMEPLAY_BOTTOM_FRAME, - GRAPHIC_GAMEPLAY_DIFFICULTY_BANNERS, - GRAPHIC_GAMEPLAY_TOP_FRAME, - GRAPHIC_GAMEPLAY_MIDDLE_FRAME, - GRAPHIC_GAMEPLAY_LIFEMETER_BAR, - GRAPHIC_GAMEPLAY_LIFEMETER_ONI, - GRAPHIC_GAMEPLAY_LIFEMETER_BATTERY, - GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_NORMAL, - GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_HOT, - GRAPHIC_GAMEPLAY_ONI_GAMEOVER, - GRAPHIC_GAMEPLAY_OPENING_STAR, - GRAPHIC_GRAPHIC_OPTIONS_BACKGROUND, - GRAPHIC_GRAPHIC_OPTIONS_TOP_EDGE, - GRAPHIC_KEEP_ALIVE, - GRAPHIC_MAP_CONTROLLERS_BACKGROUND, - GRAPHIC_MAP_CONTROLLERS_TOP_EDGE, - GRAPHIC_MENU_BOTTOM_EDGE, - GRAPHIC_MENU_STYLE_ICONS, - GRAPHIC_MUSIC_SORT_ICONS, - GRAPHIC_MUSIC_STATUS_ICONS, - GRAPHIC_PLAYER_OPTIONS_BACKGROUND, - GRAPHIC_PLAYER_OPTIONS_TOP_EDGE, - GRAPHIC_EVALUATION_BACKGROUND, - GRAPHIC_EVALUATION_BANNER_FRAME, - GRAPHIC_EVALUATION_BONUS_FRAME_P1, - GRAPHIC_EVALUATION_BONUS_FRAME_P2, - GRAPHIC_EVALUATION_STAGE_FRAME_P1, - GRAPHIC_EVALUATION_STAGE_FRAME_P2, - GRAPHIC_EVALUATION_GRADE_FRAME, - GRAPHIC_EVALUATION_GRADES, - GRAPHIC_EVALUATION_JUDGE_LABELS, - GRAPHIC_EVALUATION_SCORE_LABELS, - GRAPHIC_EVALUATION_SUMMARY_TOP_EDGE, - GRAPHIC_EVALUATION_TOP_EDGE, - GRAPHIC_SELECT_COURSE_INFO_FRAME, - GRAPHIC_SELECT_COURSE_TOP_EDGE, - GRAPHIC_SELECT_COURSE_BACKGROUND, - GRAPHIC_SELECT_COURSE_CONTENT_BAR, - GRAPHIC_SELECT_DIFFICULTY_ARROWS, - GRAPHIC_SELECT_DIFFICULTY_BACKGROUND, - GRAPHIC_SELECT_DIFFICULTY_EASY_HEADER, - GRAPHIC_SELECT_DIFFICULTY_EASY_PICTURE, - GRAPHIC_SELECT_DIFFICULTY_EXPLANATION, - GRAPHIC_SELECT_DIFFICULTY_HARD_HEADER, - GRAPHIC_SELECT_DIFFICULTY_HARD_PICTURE, - GRAPHIC_SELECT_DIFFICULTY_MEDIUM_HEADER, - GRAPHIC_SELECT_DIFFICULTY_MEDIUM_PICTURE, - GRAPHIC_SELECT_DIFFICULTY_ONI_HEADER, - GRAPHIC_SELECT_DIFFICULTY_ONI_PICTURE, - GRAPHIC_SELECT_DIFFICULTY_ENDLESS_HEADER, - GRAPHIC_SELECT_DIFFICULTY_ENDLESS_PICTURE, - GRAPHIC_SELECT_DIFFICULTY_OK, - GRAPHIC_SELECT_DIFFICULTY_TOP_EDGE, - GRAPHIC_SELECT_GAME_BACKGROUND, - GRAPHIC_SELECT_GAME_TOP_EDGE, - GRAPHIC_SELECT_GROUP_BACKGROUND, - GRAPHIC_SELECT_GROUP_BUTTON, - GRAPHIC_SELECT_GROUP_CONTENTS_HEADER, - GRAPHIC_SELECT_GROUP_EXPLANATION, - GRAPHIC_SELECT_GROUP_INFO_FRAME, - GRAPHIC_SELECT_GROUP_TOP_EDGE, - GRAPHIC_SELECT_MUSIC_BACKGROUND, - GRAPHIC_SELECT_MUSIC_DIFFICULTY_FRAME, - GRAPHIC_SELECT_MUSIC_DIFFICULTY_ICONS, - GRAPHIC_SELECT_MUSIC_INFO_FRAME, - GRAPHIC_SELECT_MUSIC_METER_FRAME, - GRAPHIC_SELECT_MUSIC_RADAR_BASE, - GRAPHIC_SELECT_MUSIC_RADAR_WORDS, - GRAPHIC_SELECT_MUSIC_ROULETTE_BANNER, - GRAPHIC_SELECT_MUSIC_SCORE_FRAME, - GRAPHIC_SELECT_MUSIC_SECTION_BAR, - GRAPHIC_SELECT_MUSIC_SCROLLBAR, - GRAPHIC_SELECT_MUSIC_SECTION_BANNER, - GRAPHIC_SELECT_MUSIC_SMALL_GRADES, - GRAPHIC_SELECT_MUSIC_SONG_BAR, - GRAPHIC_SELECT_MUSIC_SONG_HIGHLIGHT, - GRAPHIC_SELECT_MUSIC_TOP_EDGE, - GRAPHIC_SELECT_MUSIC_LONG_BALLOON, - GRAPHIC_SELECT_MUSIC_MARATHON_BALLOON, - GRAPHIC_SELECT_STYLE_BACKGROUND, - GRAPHIC_SELECT_STYLE_TOP_EDGE, - GRAPHIC_SELECT_STYLE_EXPLANATION, - GRAPHIC_SELECT_STYLE_ICONS, - GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_0, - GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_1, - GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_2, - GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_3, - GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_4, - GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_0, - GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_1, - GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_2, - GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_0, - GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_1, - GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_2, - GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_3, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_0, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_1, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_2, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_3, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_4, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_0, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_1, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_2, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_0, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_1, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_2, - GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_3, - GRAPHIC_SONG_OPTIONS_BACKGROUND, - GRAPHIC_SONG_OPTIONS_TOP_EDGE, - GRAPHIC_STAGE_ENDLESS, - GRAPHIC_STAGE_EXTRA1, - GRAPHIC_STAGE_EXTRA2, - GRAPHIC_STAGE_FINAL, - GRAPHIC_STAGE_NUMBERS, - GRAPHIC_STAGE_ONI, - GRAPHIC_STAGE_STAGE, - GRAPHIC_TITLE_MENU_BACKGROUND, - GRAPHIC_TITLE_MENU_LOGO_GAME_0, - GRAPHIC_TITLE_MENU_LOGO_GAME_1, - GRAPHIC_TITLE_MENU_LOGO_GAME_2, - - SOUND_ATTRACT_INSERT_COIN, - SOUND_EDIT_CHANGE_BPM, - SOUND_EDIT_CHANGE_FREEZE, - SOUND_EDIT_CHANGE_LINE, - SOUND_EDIT_CHANGE_SNAP, - SOUND_EDIT_SAVE, - SOUND_EVALUATION_EXTRA_STAGE, - SOUND_INSERT_COIN, - SOUND_GAMEPLAY_ASSIST_TICK, - SOUND_GAMEPLAY_FAILED, - SOUND_GAMEPLAY_ONI_GAIN_LIFE, - SOUND_GAMEPLAY_ONI_LOSE_LIFE, - SOUND_GAMEPLAY_ONI_DIE, - "Sounds","menu back", - SOUND_MENU_INVALID, - SOUND_MENU_MUSIC, - SOUND_MENU_PROMPT, - "Sounds","menu start", - SOUND_MENU_SWOOSH, - SOUND_MENU_TIMER, - SOUND_MUSIC_SCROLL_MUSIC, - SOUND_OPTION_CHANGE_COL, - SOUND_OPTION_CHANGE_ROW, - SOUND_SELECT_DIFFICULTY_CHANGE, - SOUND_SELECT_GROUP_CHANGE, - SOUND_SELECT_MUSIC_CHANGE_MUSIC, - SOUND_SELECT_MUSIC_CHANGE_SORT, - SOUND_SELECT_MUSIC_CHANGE_NOTES, - SOUND_SELECT_MUSIC_CHANGE_OPTIONS, - SOUND_SELECT_MUSIC_WHEEL_LOCKED, - SOUND_SELECT_MUSIC_SECTION_EXPAND, - SOUND_SELECT_STYLE_CHANGE, - SOUND_TITLE_MENU_CHANGE, - - "Fonts","header1", - "Fonts","Header2", - "Fonts","normal", - FONT_ITALIC, - FONT_COMBO_NUMBERS, - "Fonts","meter", - "Fonts","score numbers", - "Fonts","timer numbers", - "Fonts","text banner", - FONT_STAGE, -*/ - NUM_THEME_ELEMENTS // leave this at the end -}; - - class ThemeManager { public: @@ -227,7 +28,6 @@ public: void SwitchTheme( CString sThemeName ); CString GetCurThemeName() { return m_sCurThemeName; }; - CString GetPathTo( ThemeElement te ); // looks up the current theme in PREFSMAN CString GetPathTo( CString sAssetCategory, CString sFileName ); // looks up the current theme in PREFSMAN CString GetMetric( CString sScreenName, CString sValueName ); @@ -239,8 +39,6 @@ public: protected: void GetAllThemeNames( CStringArray& AddTo ); - CString GetPathTo( ThemeElement te, CString sThemeName ); - static CString GetThemeDirFromName( CString sThemeName ); CString GetElementDir( CString sThemeName ); static CString GetMetricsPathFromName( CString sThemeName );