diff --git a/stepmania/src/Banner.h b/stepmania/src/Banner.h index e07bf19fba..c840b4f44a 100644 --- a/stepmania/src/Banner.h +++ b/stepmania/src/Banner.h @@ -38,6 +38,9 @@ public: bool LoadFromGroup( CString sGroupName ); bool LoadRoulette(); + inline void SetScrolling( bool bScroll ) { m_bScrolling = bScroll; }; + inline bool IsScrolling() { return m_bScrolling; }; + protected: bool m_bScrolling; float m_fPercentScrolling; diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index 8691e69e66..e64120cb4b 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -152,7 +152,7 @@ enum NotesType NOTES_TYPE_DANCE_COUPLE, NOTES_TYPE_DANCE_SOLO, NOTES_TYPE_PUMP_SINGLE, - NOTES_TYPE_PUMP_VERSUS, + NOTES_TYPE_PUMP_DOUBLE, NUM_NOTES_TYPES // leave this at the end }; @@ -165,6 +165,7 @@ inline int NotesTypeToNumColumns( NotesType nt ) case NOTES_TYPE_DANCE_COUPLE: return 8; case NOTES_TYPE_DANCE_SOLO: return 6; case NOTES_TYPE_PUMP_SINGLE: return 5; + case NOTES_TYPE_PUMP_DOUBLE: return 10; default: ASSERT(0); return -1; // invalid NotesType } } @@ -176,6 +177,7 @@ inline NotesType StringToNotesType( CString sNotesType ) else if( sNotesType == "dance-couple" ) return NOTES_TYPE_DANCE_COUPLE; else if( sNotesType == "dance-solo" ) return NOTES_TYPE_DANCE_SOLO; else if( sNotesType == "pump-single" ) return NOTES_TYPE_PUMP_SINGLE; + else if( sNotesType == "pump-double" ) return NOTES_TYPE_PUMP_DOUBLE; else ASSERT(0); return NOTES_TYPE_DANCE_SINGLE; // invalid NotesType } @@ -188,6 +190,7 @@ inline CString NotesTypeToString( NotesType nt ) case NOTES_TYPE_DANCE_COUPLE: return "dance-couple"; case NOTES_TYPE_DANCE_SOLO: return "dance-solo"; case NOTES_TYPE_PUMP_SINGLE: return "pump-single"; + case NOTES_TYPE_PUMP_DOUBLE: return "pump-double"; default: ASSERT(0); return ""; // invalid NotesType } } @@ -211,7 +214,7 @@ enum PlayerNumber { PLAYER_NONE }; -inline D3DXCOLOR PlayerToColor( PlayerNumber p ) +inline D3DXCOLOR PlayerToColor( const PlayerNumber p ) { switch( p ) { @@ -239,7 +242,8 @@ enum Game { GAME_DANCE, GAME_PUMP, - NUM_GAMES // leave this at the end + NUM_GAMES, // leave this at the end + GAME_NONE, }; enum Style @@ -252,7 +256,9 @@ enum Style STYLE_DANCE_SOLO_VERSUS, STYLE_PUMP_SINGLE, STYLE_PUMP_VERSUS, - NUM_STYLES // leave this at the end + STYLE_PUMP_DOUBLE, + NUM_STYLES, // leave this at the end + STYLE_NONE, }; inline Game StyleToGame( Style s ) @@ -268,6 +274,7 @@ inline Game StyleToGame( Style s ) return GAME_DANCE; case STYLE_PUMP_SINGLE: case STYLE_PUMP_VERSUS: + case STYLE_PUMP_DOUBLE: return GAME_PUMP; default: ASSERT(0); // invalid Style diff --git a/stepmania/src/GameDef.cpp b/stepmania/src/GameDef.cpp index eead252c94..ea626fb398 100644 --- a/stepmania/src/GameDef.cpp +++ b/stepmania/src/GameDef.cpp @@ -87,6 +87,12 @@ void GameDef::GetSkinNames( CStringArray &AddTo ) { CString sBaseSkinFolder = "Skins\\" + CString(m_szName) + "\\"; GetDirListing( sBaseSkinFolder + "*.*", AddTo, true ); + + // strip out "CVS" + for( int i=AddTo.GetSize()-1; i>=0; i-- ) + if( 0 == stricmp("cvs", AddTo[i]) ) + AddTo.RemoveAt( i ); + if( AddTo.GetSize() == 0 ) FatalError( "The folder '%s' must contain at least one skin.", sBaseSkinFolder ); } diff --git a/stepmania/src/GameManager.cpp b/stepmania/src/GameManager.cpp index 290d81dfbd..31f8f77300 100644 --- a/stepmania/src/GameManager.cpp +++ b/stepmania/src/GameManager.cpp @@ -91,34 +91,6 @@ GameDef g_GameDefs[NUM_GAMES] = }; -StyleDef g_StyleDefSingle = - { // STYLE_DANCE_SINGLE - "dance-single", // m_szName - NOTES_TYPE_DANCE_SINGLE, // m_NotesType - StyleDef::ONE_PLAYER_USES_ONE_SIDE, // m_StyleType - { 160, 480 }, // m_iCenterX - 4, // m_iColsPerPlayer - { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; - { // PLAYER_1 - { TRACK_1, INSTRUMENT_1, DANCE_BUTTON_LEFT, -DANCE_COL_SPACING*1.5f }, - { TRACK_2, INSTRUMENT_1, DANCE_BUTTON_DOWN, -DANCE_COL_SPACING*0.5f }, - { TRACK_3, INSTRUMENT_1, DANCE_BUTTON_UP, +DANCE_COL_SPACING*0.5f }, - { TRACK_4, INSTRUMENT_1, DANCE_BUTTON_RIGHT, +DANCE_COL_SPACING*1.5f }, - }, - { // PLAYER_2 - { TRACK_1, INSTRUMENT_2, DANCE_BUTTON_LEFT, -DANCE_COL_SPACING*1.5f }, - { TRACK_2, INSTRUMENT_2, DANCE_BUTTON_DOWN, -DANCE_COL_SPACING*0.5f }, - { TRACK_3, INSTRUMENT_2, DANCE_BUTTON_UP, +DANCE_COL_SPACING*0.5f }, - { TRACK_4, INSTRUMENT_2, DANCE_BUTTON_RIGHT, +DANCE_COL_SPACING*1.5f }, - }, - }, - { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; - 0, 1, 2, 3 - }, - }; - - - StyleDef g_StyleDefs[NUM_STYLES] = { @@ -334,12 +306,49 @@ StyleDef g_StyleDefs[NUM_STYLES] = 0,2,4,1,3 }, }, + { // PUMP_STYLE_DOUBLE + "pump-double", // m_szName + NOTES_TYPE_PUMP_SINGLE, // m_NotesType + StyleDef::ONE_PLAYER_USES_TWO_SIDES, // m_StyleType + { 160, 480 }, // m_iCenterX + 10, // m_iColsPerPlayer + { // m_ColumnInfo[NUM_PLAYERS][MAX_COLS_PER_PLAYER]; + { // PLAYER_1 + { TRACK_1, INSTRUMENT_1, PUMP_BUTTON_DOWNLEFT, -PUMP_COL_SPACING*4.5f }, + { TRACK_2, INSTRUMENT_1, PUMP_BUTTON_UPLEFT, -PUMP_COL_SPACING*3.5f }, + { TRACK_3, INSTRUMENT_1, PUMP_BUTTON_CENTER, -PUMP_COL_SPACING*2.5f }, + { TRACK_4, INSTRUMENT_1, PUMP_BUTTON_UPRIGHT, -PUMP_COL_SPACING*1.5f }, + { TRACK_5, INSTRUMENT_1, PUMP_BUTTON_DOWNRIGHT, -PUMP_COL_SPACING*0.5f }, + { TRACK_6, INSTRUMENT_2, PUMP_BUTTON_DOWNLEFT, +PUMP_COL_SPACING*0.5f }, + { TRACK_7, INSTRUMENT_2, PUMP_BUTTON_UPLEFT, +PUMP_COL_SPACING*1.5f }, + { TRACK_8, INSTRUMENT_2, PUMP_BUTTON_CENTER, +PUMP_COL_SPACING*2.5f }, + { TRACK_9, INSTRUMENT_2, PUMP_BUTTON_UPRIGHT, +PUMP_COL_SPACING*3.5f }, + { TRACK_10, INSTRUMENT_2, PUMP_BUTTON_DOWNRIGHT, +PUMP_COL_SPACING*4.5f }, + }, + { // PLAYER_2 + { TRACK_1, INSTRUMENT_1, PUMP_BUTTON_DOWNLEFT, -PUMP_COL_SPACING*4.5f }, + { TRACK_2, INSTRUMENT_1, PUMP_BUTTON_UPLEFT, -PUMP_COL_SPACING*3.5f }, + { TRACK_3, INSTRUMENT_1, PUMP_BUTTON_CENTER, -PUMP_COL_SPACING*2.5f }, + { TRACK_4, INSTRUMENT_1, PUMP_BUTTON_UPRIGHT, -PUMP_COL_SPACING*1.5f }, + { TRACK_5, INSTRUMENT_1, PUMP_BUTTON_DOWNRIGHT, -PUMP_COL_SPACING*0.5f }, + { TRACK_6, INSTRUMENT_2, PUMP_BUTTON_DOWNLEFT, +PUMP_COL_SPACING*0.5f }, + { TRACK_7, INSTRUMENT_2, PUMP_BUTTON_UPLEFT, +PUMP_COL_SPACING*1.5f }, + { TRACK_8, INSTRUMENT_2, PUMP_BUTTON_CENTER, +PUMP_COL_SPACING*2.5f }, + { TRACK_9, INSTRUMENT_2, PUMP_BUTTON_UPRIGHT, +PUMP_COL_SPACING*3.5f }, + { TRACK_10, INSTRUMENT_2, PUMP_BUTTON_DOWNRIGHT, +PUMP_COL_SPACING*4.5f }, + }, + }, + { // m_iColumnDrawOrder[MAX_COLS_PER_PLAYER]; + 0,2,4,1,3,5,7,9,6,8 + }, + }, }; GameManager::GameManager() { - m_CurStyle = STYLE_DANCE_SINGLE; + m_CurGame = GAME_DANCE; + m_CurStyle = STYLE_NONE; CStringArray asSkinNames; GetSkinNames( asSkinNames ); @@ -350,14 +359,9 @@ GameManager::GameManager() } -Game GameManager::GetCurrentGame() -{ - return StyleToGame( m_CurStyle ); -} - GameDef* GameManager::GetCurrentGameDef() { - return &g_GameDefs[ GetCurrentGame() ]; + return &g_GameDefs[ m_CurGame ]; } StyleDef* GameManager::GetCurrentStyleDef() diff --git a/stepmania/src/GameManager.h b/stepmania/src/GameManager.h index 6aa8263471..a4ee7db568 100644 --- a/stepmania/src/GameManager.h +++ b/stepmania/src/GameManager.h @@ -22,12 +22,12 @@ class GameManager public: GameManager(); + Game m_CurGame; Style m_CurStyle; NotesType m_CurNotesType; // only used in Edit CString m_sCurrentSkin[NUM_PLAYERS]; PlayerNumber m_sMasterPlayerNumber; - Game GetCurrentGame(); // inferred from m_CurStyle GameDef* GetCurrentGameDef(); StyleDef* GetCurrentStyleDef(); diff --git a/stepmania/src/MenuElements.cpp b/stepmania/src/MenuElements.cpp index ec52b9edf5..8673f291a1 100644 --- a/stepmania/src/MenuElements.cpp +++ b/stepmania/src/MenuElements.cpp @@ -24,12 +24,20 @@ const float HELP_X = CENTER_X; const float HELP_Y = SCREEN_HEIGHT-28; +const float STYLE_LOCAL_X = 160; +const float STYLE_LOCAL_Y = 6; + const float TIMER_LOCAL_X = 270; const float TIMER_LOCAL_Y = 0; +const float CREDIT_X[NUM_PLAYERS] = {160,480}; +const float CREDIT_Y[NUM_PLAYERS] = {SCREEN_BOTTOM-20, SCREEN_BOTTOM-20}; + + MenuElements::MenuElements() { m_frameTopBar.AddActor( &m_sprTopEdge ); + m_frameTopBar.AddActor( &m_sprStyleIcon ); m_frameTopBar.AddActor( &m_MenuTimer ); m_frameBottomBar.AddActor( &m_sprBottomEdge ); @@ -38,6 +46,8 @@ MenuElements::MenuElements() this->AddActor( &m_frameTopBar ); this->AddActor( &m_frameBottomBar ); this->AddActor( &m_textHelp ); + for( int p=0; pAddActor( &m_sprCreditInfo[p] ); } void MenuElements::Load( CString sBackgroundPath, CString sTopEdgePath, CString sHelpText ) @@ -53,6 +63,11 @@ void MenuElements::Load( CString sBackgroundPath, CString sTopEdgePath, CString m_sprTopEdge.Load( sTopEdgePath ); m_sprTopEdge.TurnShadowOff(); + + m_sprStyleIcon.Load( THEME->GetPathTo(GRAPHIC_MENU_STYLE_ICONS) ); + m_sprStyleIcon.StopAnimating(); + m_sprStyleIcon.SetXY( STYLE_LOCAL_X, STYLE_LOCAL_Y ); + m_sprStyleIcon.SetZ( -1 ); m_MenuTimer.SetXY( TIMER_LOCAL_X, TIMER_LOCAL_Y ); m_MenuTimer.SetZ( -1 ); @@ -70,6 +85,15 @@ void MenuElements::Load( CString sBackgroundPath, CString sTopEdgePath, CString m_textHelp.SetEffectBlinking(); m_textHelp.SetShadowLength( 2 ); + for( int p=0; pGetPathTo(FONT_NORMAL) ); + m_sprCreditInfo[p].SetXY( CREDIT_X[p], CREDIT_Y[p] ); + m_sprCreditInfo[p].SetZ( -1 ); + m_sprCreditInfo[p].SetText( "FREE PLAY" ); + m_sprCreditInfo[p].SetZoom( 0.5f ); + m_sprCreditInfo[p].TurnShadowOff(); + } m_soundSwoosh.Load( THEME->GetPathTo(SOUND_MENU_SWOOSH) ); m_soundBack.Load( THEME->GetPathTo(SOUND_MENU_BACK) ); diff --git a/stepmania/src/MenuElements.h b/stepmania/src/MenuElements.h index 3770cf8223..62c5d9bde7 100644 --- a/stepmania/src/MenuElements.h +++ b/stepmania/src/MenuElements.h @@ -52,11 +52,10 @@ protected: void SetTopEdgeOffScreen(); - Sprite m_sprBG; - // stuff in the top bar ActorFrame m_frameTopBar; Sprite m_sprTopEdge; + Sprite m_sprStyleIcon; MenuTimer m_MenuTimer; // stuff in the bottom bar @@ -64,7 +63,9 @@ protected: Sprite m_sprBottomEdge; // stuff in the main frame + Sprite m_sprBG; BitmapText m_textHelp; + BitmapText m_sprCreditInfo[NUM_PLAYERS]; RageSoundSample m_soundSwoosh; diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 5c79cdebe3..e4c0a0bd0f 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -266,9 +266,9 @@ MusicWheel::MusicWheel() this->AddActor( &m_ScrollBar ); - m_soundChangeMusic.Load( THEME->GetPathTo(SOUND_SWITCH_MUSIC), 10 ); - m_soundChangeSort.Load( THEME->GetPathTo(SOUND_SWITCH_SORT) ); - m_soundExpand.Load( THEME->GetPathTo(SOUND_EXPAND) ); + m_soundChangeMusic.Load( THEME->GetPathTo(SOUND_SELECT_MUSIC_CHANGE_MUSIC), 10 ); + m_soundChangeSort.Load( THEME->GetPathTo(SOUND_SELECT_MUSIC_CHANGE_SORT) ); + m_soundExpand.Load( THEME->GetPathTo(SOUND_SELECT_MUSIC_SECTION_EXPAND) ); // init m_mapGroupNameToBannerColor diff --git a/stepmania/src/RageInput.cpp b/stepmania/src/RageInput.cpp index 878783820b..a9409fe830 100644 --- a/stepmania/src/RageInput.cpp +++ b/stepmania/src/RageInput.cpp @@ -224,7 +224,7 @@ bool DeviceInput::fromString( const CString &s ) //----------------------------------------------------------------------------- -// Name: EnumJoysticksCallMenuBack( PlayerNumber p ) +// Name: EnumJoysticksCallMenuBack( const 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. //----------------------------------------------------------------------------- @@ -254,7 +254,7 @@ BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance, //----------------------------------------------------------------------------- -// Name: EnumAxesCallMenuBack( PlayerNumber p ) +// Name: EnumAxesCallMenuBack( const PlayerNumber p ) // Desc: Callback function for enumerating the axes on a joystick //----------------------------------------------------------------------------- BOOL CALLBACK EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, diff --git a/stepmania/src/RageTexture.cpp b/stepmania/src/RageTexture.cpp index a729f58ab0..795d5ab8d8 100644 --- a/stepmania/src/RageTexture.cpp +++ b/stepmania/src/RageTexture.cpp @@ -15,6 +15,7 @@ //----------------------------------------------------------------------------- #include "RageTexture.h" #include "RageUtil.h" +#include //----------------------------------------------------------------------------- @@ -76,7 +77,6 @@ void RageTexture::CreateFrameRects() } } -#include "string.h" void RageTexture::GetFrameDimensionsFromFileName( CString sPath, int* piFramesWide, int* piFramesHigh ) const { *piFramesWide = *piFramesHigh = 1; // set default values in case we don't find the dimension in the file name @@ -109,83 +109,3 @@ void RageTexture::GetFrameDimensionsFromFileName( CString sPath, int* piFramesWi } } - -CString RageTexture::GetCacheFilePath() -{ - ULONG hash = GetHashForString( m_sFilePath ); - return ssprintf( "Cache\\%u.texinfo", hash ); -} - -const int FILE_CACHE_VERSION = 10; // increment this when the cache file format changes - -void RageTexture::SaveToCacheFile() -{ - LOG->WriteLine( "RageBitmapTexture::SaveToCacheFile()" ); - - CString sCacheFilePath = GetCacheFilePath(); - - FILE* file = fopen( sCacheFilePath, "w" ); - ASSERT( file != NULL ); - if( file == NULL ) - return; - - WriteIntToFile( file, FILE_CACHE_VERSION ); - WriteUlongToFile( file, GetHashForFile(m_sFilePath) ); - WriteStringToFile( file, m_sFilePath ); - WriteIntToFile( file, m_iSourceWidth ); - WriteIntToFile( file, m_iSourceHeight ); - WriteIntToFile( file, m_iTextureWidth ); - WriteIntToFile( file, m_iTextureHeight ); - WriteIntToFile( file, m_iImageWidth ); - WriteIntToFile( file, m_iImageHeight ); - WriteIntToFile( file, m_iFramesWide ); - WriteIntToFile( file, m_iFramesHigh ); - WriteIntToFile( file, m_TextureFormat ); - - fclose( file ); -} - -bool RageTexture::LoadFromCacheFile() -{ - LOG->WriteLine( "Song::LoadFromCacheFile()" ); - - CString sCacheFilePath = GetCacheFilePath(); - - LOG->WriteLine( "cache file is '%s'.", sCacheFilePath ); - - FILE* file = fopen( sCacheFilePath, "r" ); - if( file == NULL ) - return false; - - int iCacheVersion; - ReadIntFromFile( file, iCacheVersion ); - if( iCacheVersion != FILE_CACHE_VERSION ) - { - LOG->WriteLine( "Cache file versions don't match '%s'.", sCacheFilePath ); - fclose( file ); - return false; - } - - ULONG hash; - ReadUlongFromFile( file, hash ); - if( hash != GetHashForFile(m_sFilePath) ) - { - LOG->WriteLine( "Cache file is out of date.", sCacheFilePath ); - fclose( file ); - return false; - } - - ReadStringFromFile( file, m_sFilePath ); - ReadIntFromFile( file, m_iSourceWidth ); - ReadIntFromFile( file, m_iSourceHeight ); - ReadIntFromFile( file, m_iTextureWidth ); - ReadIntFromFile( file, m_iTextureHeight ); - ReadIntFromFile( file, m_iImageWidth ); - ReadIntFromFile( file, m_iImageHeight ); - ReadIntFromFile( file, m_iFramesWide ); - ReadIntFromFile( file, m_iFramesHigh ); - ReadIntFromFile( file, (int&)m_TextureFormat ); - - fclose( file ); - return true; -} diff --git a/stepmania/src/RageTexture.h b/stepmania/src/RageTexture.h index 45d4eef1a7..811f720b4e 100644 --- a/stepmania/src/RageTexture.h +++ b/stepmania/src/RageTexture.h @@ -88,10 +88,6 @@ protected: virtual void CreateFrameRects(); virtual void GetFrameDimensionsFromFileName( CString sPath, int* puFramesWide, int* puFramesHigh ) const; - virtual CString GetCacheFilePath(); - virtual bool LoadFromCacheFile(); - virtual void SaveToCacheFile(); - CString m_sFilePath; LPDIRECT3DDEVICE8 m_pd3dDevice; diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index 0ca30cd673..ef0c972b8b 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -49,17 +49,15 @@ void Screen::Input( const DeviceInput& DeviceI, const InputEventType type, const // default input handler used by most menus if( !MenuI.IsValid() ) return; - if( type != IET_FIRST_PRESS ) - return; switch( MenuI.button ) { - case MENU_BUTTON_UP: this->MenuUp( MenuI.player ); return; - case MENU_BUTTON_DOWN: this->MenuDown( MenuI.player ); return; - case MENU_BUTTON_LEFT: this->MenuLeft( MenuI.player ); return; - case MENU_BUTTON_RIGHT: this->MenuRight( MenuI.player ); return; - case MENU_BUTTON_BACK: this->MenuBack( MenuI.player ); return; - case MENU_BUTTON_START: this->MenuStart( MenuI.player ); return; + case MENU_BUTTON_UP: this->MenuUp( MenuI.player, type ); return; + case MENU_BUTTON_DOWN: this->MenuDown( MenuI.player, type ); return; + case MENU_BUTTON_LEFT: this->MenuLeft( MenuI.player, type ); return; + case MENU_BUTTON_RIGHT: this->MenuRight( MenuI.player, type ); return; + case MENU_BUTTON_BACK: this->MenuBack( MenuI.player, type ); return; + case MENU_BUTTON_START: this->MenuStart( MenuI.player, type ); return; } } diff --git a/stepmania/src/Screen.h b/stepmania/src/Screen.h index ce45e38a90..7bf802b9bc 100644 --- a/stepmania/src/Screen.h +++ b/stepmania/src/Screen.h @@ -50,12 +50,18 @@ protected: public: // let subclass override if they want - 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 ) {}; + virtual void MenuUp( const PlayerNumber p, const InputEventType type ) { MenuUp(p); }; + virtual void MenuDown( const PlayerNumber p, const InputEventType type ) { MenuDown(p); }; + virtual void MenuLeft( const PlayerNumber p, const InputEventType type ) { MenuLeft(p); }; + virtual void MenuRight( const PlayerNumber p, const InputEventType type ) { MenuRight(p); }; + virtual void MenuStart( const PlayerNumber p, const InputEventType type ) { MenuStart(p); }; + virtual void MenuBack( const PlayerNumber p, const InputEventType type ) { MenuBack(p); }; + 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 ) {}; }; diff --git a/stepmania/src/ScreenCaution.cpp b/stepmania/src/ScreenCaution.cpp index 1b6024e5b3..8aae7f4c9a 100644 --- a/stepmania/src/ScreenCaution.cpp +++ b/stepmania/src/ScreenCaution.cpp @@ -62,7 +62,7 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenCaution::MenuStart( PlayerNumber p ) +void ScreenCaution::MenuStart( const PlayerNumber p ) { m_Wipe.CloseWipingRight( SM_GoToSelectMusic ); } diff --git a/stepmania/src/ScreenCaution.h b/stepmania/src/ScreenCaution.h index b967d8c5e7..8371565b5d 100644 --- a/stepmania/src/ScreenCaution.h +++ b/stepmania/src/ScreenCaution.h @@ -27,6 +27,6 @@ public: TransitionFade m_Wipe; protected: - void MenuStart( PlayerNumber p ); + void MenuStart( const PlayerNumber p ); }; diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 6b2c6bcecd..38a64e8e57 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -142,7 +142,7 @@ ScreenEdit::ScreenEdit() m_soundChangeLine.Load( THEME->GetPathTo(SOUND_EDIT_CHANGE_LINE) ); m_soundChangeSnap.Load( THEME->GetPathTo(SOUND_EDIT_CHANGE_SNAP) ); m_soundMarker.Load( THEME->GetPathTo(SOUND_EDIT_CHANGE_SNAP) ); - m_soundInvalid.Load( THEME->GetPathTo(SOUND_INVALID) ); + m_soundInvalid.Load( THEME->GetPathTo(SOUND_MENU_INVALID) ); m_soundMusic.Load( m_pSong->GetMusicPath() ); m_soundMusic.SetPlaybackRate( 0.5f ); diff --git a/stepmania/src/ScreenEditMenu.cpp b/stepmania/src/ScreenEditMenu.cpp index d1ebfd09c4..2cb36fdc02 100644 --- a/stepmania/src/ScreenEditMenu.cpp +++ b/stepmania/src/ScreenEditMenu.cpp @@ -105,8 +105,8 @@ ScreenEditMenu::ScreenEditMenu() this->AddActor( &m_Fade); - m_soundChangeMusic.Load( THEME->GetPathTo(SOUND_SWITCH_MUSIC) ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_soundChangeMusic.Load( THEME->GetPathTo(SOUND_SELECT_MUSIC_CHANGE_MUSIC) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); MUSIC->Load( THEME->GetPathTo(SOUND_MENU_MUSIC) ); MUSIC->Play( true ); @@ -173,7 +173,7 @@ void ScreenEditMenu::OnGroupChange() { m_iSelectedGroup = clamp( m_iSelectedGroup, 0, m_sGroups.GetSize()-1 ); - m_textGroup.SetText( GetSelectedGroup() ); + m_textGroup.SetText( SONGMAN->ShortenGroupName(GetSelectedGroup()) ); // reload songs m_pSongs.RemoveAll(); @@ -218,7 +218,7 @@ void ScreenEditMenu::OnStepsChange() } -void ScreenEditMenu::MenuUp( PlayerNumber p ) +void ScreenEditMenu::MenuUp( const PlayerNumber p ) { if( m_SelectedRow == 0 ) // can't go up any further return; @@ -228,7 +228,7 @@ void ScreenEditMenu::MenuUp( PlayerNumber p ) AfterRowChange(); } -void ScreenEditMenu::MenuDown( PlayerNumber p ) +void ScreenEditMenu::MenuDown( const PlayerNumber p ) { if( m_SelectedRow == NUM_ROWS-1 ) // can't go down any further return; @@ -238,7 +238,7 @@ void ScreenEditMenu::MenuDown( PlayerNumber p ) AfterRowChange(); } -void ScreenEditMenu::MenuLeft( PlayerNumber p ) +void ScreenEditMenu::MenuLeft( const PlayerNumber p ) { switch( m_SelectedRow ) { @@ -271,7 +271,7 @@ void ScreenEditMenu::MenuLeft( PlayerNumber p ) } } -void ScreenEditMenu::MenuRight( PlayerNumber p ) +void ScreenEditMenu::MenuRight( const PlayerNumber p ) { switch( m_SelectedRow ) { @@ -304,7 +304,7 @@ void ScreenEditMenu::MenuRight( PlayerNumber p ) } } -void ScreenEditMenu::MenuStart( PlayerNumber p ) +void ScreenEditMenu::MenuStart( const PlayerNumber p ) { m_Menu.TweenAllOffScreen(); @@ -319,7 +319,7 @@ void ScreenEditMenu::MenuStart( PlayerNumber p ) m_Fade.CloseWipingRight( SM_GoToNextState ); } -void ScreenEditMenu::MenuBack( PlayerNumber p ) +void ScreenEditMenu::MenuBack( const PlayerNumber p ) { m_Menu.TweenAllOffScreen(); diff --git a/stepmania/src/ScreenEditMenu.h b/stepmania/src/ScreenEditMenu.h index 8b54cc4360..db45bb9e52 100644 --- a/stepmania/src/ScreenEditMenu.h +++ b/stepmania/src/ScreenEditMenu.h @@ -46,12 +46,12 @@ private: NotesType GetSelectedNotesType() { return m_CurNotesType; }; Notes* GetSelectedNotes() { return m_pNotess[m_iSelectedNotes]; }; - void MenuUp( PlayerNumber p ); - void MenuDown( PlayerNumber p ); - void MenuLeft( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void MenuBack( PlayerNumber p ); - void MenuStart( PlayerNumber p ); + void MenuUp( const PlayerNumber p ); + void MenuDown( const PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); enum SelectedRow { ROW_GROUP, ROW_SONG, ROW_NOTES_TYPE, ROW_STEPS, NUM_ROWS }; diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 83031c865e..21952ce051 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -179,7 +179,7 @@ ScreenGameplay::ScreenGameplay() m_soundMusic.Load( m_pSong->GetMusicPath() ); - m_soundFail.Load( THEME->GetPathTo(SOUND_FAILED) ); + m_soundFail.Load( THEME->GetPathTo(SOUND_GAMEPLAY_FAILED) ); m_announcerReady.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_READY) ); m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_NORMAL) ); m_announcerGood.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_GOOD) ); @@ -187,8 +187,7 @@ ScreenGameplay::ScreenGameplay() m_announcerCleared.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_CLEARED) ); m_announcerFailComment.Load(ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_FAILED) ); - m_soundAssistTick.Load( THEME->GetPathTo(SOUND_ASSIST) ); - + m_soundAssistTick.Load( THEME->GetPathTo(SOUND_GAMEPLAY_ASSIST_TICK) ); // Send some messages every have second to we can get the introduction rolling @@ -196,7 +195,6 @@ ScreenGameplay::ScreenGameplay() this->SendScreenMessage( ScreenMessage(SM_User+i), i/2.0f ); - m_StarWipe.SetClosed(); } diff --git a/stepmania/src/ScreenMusicScroll.cpp b/stepmania/src/ScreenMusicScroll.cpp index b55a6d7156..2b151697c4 100644 --- a/stepmania/src/ScreenMusicScroll.cpp +++ b/stepmania/src/ScreenMusicScroll.cpp @@ -157,7 +157,7 @@ ScreenMusicScroll::ScreenMusicScroll() this->AddActor( &m_Fade ); - m_soundMusic.Load( THEME->GetPathTo(SOUND_ENDING_MUSIC) ); + m_soundMusic.Load( THEME->GetPathTo(SOUND_MUSIC_SCROLL_MUSIC) ); m_Fade.OpenWipingRight(); m_soundMusic.Play( true ); @@ -213,12 +213,12 @@ void ScreenMusicScroll::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenMusicScroll::MenuStart( PlayerNumber p ) +void ScreenMusicScroll::MenuStart( const PlayerNumber p ) { m_Fade.CloseWipingRight( SM_GoToNextState ); } -void ScreenMusicScroll::MenuBack( PlayerNumber p ) +void ScreenMusicScroll::MenuBack( const PlayerNumber p ) { MenuStart( p ); } diff --git a/stepmania/src/ScreenMusicScroll.h b/stepmania/src/ScreenMusicScroll.h index 282f3a7209..1e0c0f8fc1 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( PlayerNumber p ); - void MenuBack( PlayerNumber p ); + void MenuStart( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); private: diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 21947bd436..845baf2fa5 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -41,11 +41,12 @@ ScreenOptions::ScreenOptions( CString sBackgroundPath, CString sTopEdgePath ) { LOG->WriteLine( "ScreenOptions::ScreenOptions()" ); - m_SoundChange.Load( THEME->GetPathTo(SOUND_SELECT) ); - m_SoundNext.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_SoundChangeCol.Load( THEME->GetPathTo(SOUND_OPTION_CHANGE_COL) ); + m_SoundChangeRow.Load( THEME->GetPathTo(SOUND_OPTION_CHANGE_ROW) ); + m_SoundNext.Load( THEME->GetPathTo(SOUND_MENU_START) ); m_Menu.Load( - "Themes\\default\\Graphics\\_shared background.png", + sBackgroundPath, sTopEdgePath, ssprintf("%s %s to change line %s %s to select between options then press NEXT", CString(char(3)), CString(char(4)), CString(char(1)), CString(char(2)) ) ); @@ -292,7 +293,7 @@ void ScreenOptions::OnChange() } -void ScreenOptions::MenuBack( PlayerNumber p ) +void ScreenOptions::MenuBack( const PlayerNumber p ) { Screen::MenuBack( p ); @@ -302,7 +303,7 @@ void ScreenOptions::MenuBack( PlayerNumber p ) } -void ScreenOptions::MenuStart( PlayerNumber p ) +void ScreenOptions::MenuStart( const PlayerNumber p ) { Screen::MenuStart( p ); @@ -312,95 +313,107 @@ void ScreenOptions::MenuStart( PlayerNumber p ) m_Wipe.CloseWipingRight( SM_GoToNextState ); } -void ScreenOptions::MenuLeft( PlayerNumber p ) +void ScreenOptions::MenuLeft( const PlayerNumber p ) { + PlayerNumber pn = p; + switch( m_InputMode ) { case INPUTMODE_P1_ONLY: - if( p != PLAYER_1 ) + if( pn != PLAYER_1 ) return; case INPUTMODE_BOTH: - p = PLAYER_1; + pn = PLAYER_1; break; case INPUTMODE_2PLAYERS: break; // fall through } - int iCurRow = m_iCurrentRow[p]; - if( m_iSelectedOption[p][iCurRow] == 0 ) // can't go left any more + int iCurRow = m_iCurrentRow[pn]; + if( m_iSelectedOption[pn][iCurRow] == 0 ) // can't go left any more return; - m_iSelectedOption[p][iCurRow]--; + m_SoundChangeCol.PlayRandom(); + m_iSelectedOption[pn][iCurRow]--; - TweenHighlight( p ); + TweenHighlight( pn ); OnChange(); } -void ScreenOptions::MenuRight( PlayerNumber p ) +void ScreenOptions::MenuRight( const PlayerNumber p ) { + PlayerNumber pn = p; + switch( m_InputMode ) { case INPUTMODE_P1_ONLY: - if( p != PLAYER_1 ) + if( pn != PLAYER_1 ) return; case INPUTMODE_BOTH: - p = PLAYER_1; + pn = PLAYER_1; break; case INPUTMODE_2PLAYERS: break; // fall through } - int iCurRow = m_iCurrentRow[p]; - if( m_iSelectedOption[p][iCurRow] == m_OptionLineData[iCurRow].iNumOptions-1 ) // can't go right any more + int iCurRow = m_iCurrentRow[pn]; + if( m_iSelectedOption[pn][iCurRow] == m_OptionLineData[iCurRow].iNumOptions-1 ) // can't go right any more return; - m_iSelectedOption[p][iCurRow]++; + m_SoundChangeCol.PlayRandom(); + m_iSelectedOption[pn][iCurRow]++; - TweenHighlight( p ); + TweenHighlight( pn ); OnChange(); } -void ScreenOptions::MenuUp( PlayerNumber p ) +void ScreenOptions::MenuUp( const PlayerNumber p ) { + PlayerNumber pn = p; + switch( m_InputMode ) { case INPUTMODE_P1_ONLY: return; case INPUTMODE_BOTH: - p = PLAYER_1; + pn = PLAYER_1; break; case INPUTMODE_2PLAYERS: break; // fall through } - if( m_iCurrentRow[p] == 0 ) - m_iCurrentRow[p] = m_iNumOptionLines-1; // wrap around + m_SoundChangeRow.PlayRandom(); + if( m_iCurrentRow[pn] == 0 ) + m_iCurrentRow[pn] = m_iNumOptionLines-1; // wrap around else - m_iCurrentRow[p]--; + m_iCurrentRow[pn]--; - TweenHighlight( p ); + TweenHighlight( pn ); OnChange(); } -void ScreenOptions::MenuDown( PlayerNumber p ) +void ScreenOptions::MenuDown( const PlayerNumber p ) { + PlayerNumber pn = p; + switch( m_InputMode ) { case INPUTMODE_P1_ONLY: return; case INPUTMODE_BOTH: - p = PLAYER_1; + pn = PLAYER_1; break; case INPUTMODE_2PLAYERS: break; // fall through } - if( m_iCurrentRow[p] == m_iNumOptionLines-1 ) - m_iCurrentRow[p] = 0; // wrap around + m_SoundChangeRow.PlayRandom(); + if( m_iCurrentRow[pn] == m_iNumOptionLines-1 ) + m_iCurrentRow[pn] = 0; // wrap around else - m_iCurrentRow[p]++; + m_iCurrentRow[pn]++; - TweenHighlight( p ); + TweenHighlight( pn ); OnChange(); } diff --git a/stepmania/src/ScreenOptions.h b/stepmania/src/ScreenOptions.h index 28b9085c5e..18fbb1cc8e 100644 --- a/stepmania/src/ScreenOptions.h +++ b/stepmania/src/ScreenOptions.h @@ -55,16 +55,16 @@ protected: void TweenHighlight( PlayerNumber player_no ); void OnChange(); - void MenuBack( PlayerNumber p ); - void MenuStart( PlayerNumber p ); + void MenuBack( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); virtual void GoToNextState() = 0; virtual void GoToPrevState() = 0; - void MenuLeft( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void MenuUp( PlayerNumber p ); - void MenuDown( PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void MenuUp( const PlayerNumber p ); + void MenuDown( const PlayerNumber p ); InputMode m_InputMode; @@ -82,7 +82,8 @@ protected: Quad m_OptionUnderline[NUM_PLAYERS][MAX_OPTION_LINES]; Quad m_SelectionHighlight[NUM_PLAYERS]; - RandomSample m_SoundChange; + RandomSample m_SoundChangeCol; + RandomSample m_SoundChangeRow; RandomSample m_SoundNext; TransitionInvisible m_Wipe; diff --git a/stepmania/src/ScreenPrompt.cpp b/stepmania/src/ScreenPrompt.cpp index ed5cb0f651..e9f1b5f31b 100644 --- a/stepmania/src/ScreenPrompt.cpp +++ b/stepmania/src/ScreenPrompt.cpp @@ -88,7 +88,7 @@ ScreenPrompt::ScreenPrompt( CString sText, PromptType pt, bool* pbAnswer ) m_textAnswer[*m_pbAnswer].SetEffectGlowing(); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); } void ScreenPrompt::Update( float fDeltaTime ) @@ -125,7 +125,7 @@ void ScreenPrompt::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenPrompt::MenuLeft( PlayerNumber p ) +void ScreenPrompt::MenuLeft( const PlayerNumber p ) { if( m_PromptType == PROMPT_OK ) return; @@ -133,7 +133,7 @@ void ScreenPrompt::MenuLeft( PlayerNumber p ) MenuRight( p ); } -void ScreenPrompt::MenuRight( PlayerNumber p ) +void ScreenPrompt::MenuRight( const PlayerNumber p ) { if( m_PromptType == PROMPT_OK ) return; @@ -148,7 +148,7 @@ void ScreenPrompt::MenuRight( PlayerNumber p ) } -void ScreenPrompt::MenuStart( PlayerNumber p ) +void ScreenPrompt::MenuStart( const PlayerNumber p ) { m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight ); @@ -175,7 +175,7 @@ void ScreenPrompt::MenuStart( PlayerNumber p ) m_soundSelect.PlayRandom(); } -void ScreenPrompt::MenuBack( PlayerNumber p ) +void ScreenPrompt::MenuBack( const PlayerNumber p ) { } diff --git a/stepmania/src/ScreenPrompt.h b/stepmania/src/ScreenPrompt.h index a1ff65a723..5081b507b7 100644 --- a/stepmania/src/ScreenPrompt.h +++ b/stepmania/src/ScreenPrompt.h @@ -31,10 +31,10 @@ public: virtual void HandleScreenMessage( const ScreenMessage SM ); protected: - void MenuLeft( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void MenuBack( PlayerNumber p ); - void MenuStart( PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); TransitionFade m_Fade; diff --git a/stepmania/src/ScreenSandbox.cpp b/stepmania/src/ScreenSandbox.cpp index 57dbd78bcc..31b9faa4f0 100644 --- a/stepmania/src/ScreenSandbox.cpp +++ b/stepmania/src/ScreenSandbox.cpp @@ -22,7 +22,7 @@ ScreenSandbox::ScreenSandbox() { - m_sound.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_sound.Load( THEME->GetPathTo(SOUND_MENU_START) ); m_sound.Play(); //this->AddActor( &m_spr ); diff --git a/stepmania/src/ScreenSelectDifficulty.cpp b/stepmania/src/ScreenSelectDifficulty.cpp index 26d6dcee6a..be7df4103d 100644 --- a/stepmania/src/ScreenSelectDifficulty.cpp +++ b/stepmania/src/ScreenSelectDifficulty.cpp @@ -133,7 +133,7 @@ ScreenSelectDifficulty::ScreenSelectDifficulty() this->AddActor( &m_Fade ); m_soundChange.Load( THEME->GetPathTo(SOUND_SELECT_DIFFICULTY_CHANGE) ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_INTRO) ); @@ -200,7 +200,7 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenSelectDifficulty::MenuLeft( PlayerNumber p ) +void ScreenSelectDifficulty::MenuLeft( const PlayerNumber p ) { if( m_iSelection[p] == 0 ) // can't go left any more return; @@ -221,7 +221,7 @@ void ScreenSelectDifficulty::MenuLeft( PlayerNumber p ) } -void ScreenSelectDifficulty::MenuRight( PlayerNumber p ) +void ScreenSelectDifficulty::MenuRight( const PlayerNumber p ) { if( m_iSelection[p] == 2 ) // can't go right any more return; @@ -285,7 +285,7 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn ) this->SendScreenMessage( SM_StartTweeningOffScreen, 0.7f ); } -void ScreenSelectDifficulty::MenuBack( PlayerNumber p ) +void ScreenSelectDifficulty::MenuBack( const PlayerNumber p ) { m_Fade.CloseWipingLeft( SM_GoToPrevState ); diff --git a/stepmania/src/ScreenSelectDifficulty.h b/stepmania/src/ScreenSelectDifficulty.h index 48eb14b8fd..fb7e3781ac 100644 --- a/stepmania/src/ScreenSelectDifficulty.h +++ b/stepmania/src/ScreenSelectDifficulty.h @@ -28,10 +28,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( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void MenuStart( PlayerNumber p ); - void MenuBack( PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); diff --git a/stepmania/src/ScreenSelectGame.cpp b/stepmania/src/ScreenSelectGame.cpp index 282bca53db..125854e489 100644 --- a/stepmania/src/ScreenSelectGame.cpp +++ b/stepmania/src/ScreenSelectGame.cpp @@ -66,7 +66,7 @@ ScreenSelectGame::ScreenSelectGame() : void ScreenSelectGame::ImportOptions() { - m_iSelectedOption[0][SG_GAME] = GAMEMAN->GetCurrentGame(); + m_iSelectedOption[0][SG_GAME] = GAMEMAN->m_CurGame; } void ScreenSelectGame::ExportOptions() diff --git a/stepmania/src/ScreenSelectGroup.cpp b/stepmania/src/ScreenSelectGroup.cpp index a629663889..4f3c58f5fe 100644 --- a/stepmania/src/ScreenSelectGroup.cpp +++ b/stepmania/src/ScreenSelectGroup.cpp @@ -115,8 +115,8 @@ ScreenSelectGroup::ScreenSelectGroup() m_Fade.SetZ( -2 ); this->AddActor( &m_Fade ); - m_soundChange.Load( THEME->GetPathTo(SOUND_SELECT_DIFFICULTY_CHANGE) ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_soundChange.Load( THEME->GetPathTo(SOUND_SELECT_GROUP_CHANGE) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_INTRO) ); @@ -237,17 +237,17 @@ void ScreenSelectGroup::AfterChange() } -void ScreenSelectGroup::MenuLeft( PlayerNumber p ) +void ScreenSelectGroup::MenuLeft( const PlayerNumber p ) { MenuUp( p ); } -void ScreenSelectGroup::MenuRight( PlayerNumber p ) +void ScreenSelectGroup::MenuRight( const PlayerNumber p ) { MenuDown( p ); } -void ScreenSelectGroup::MenuUp( PlayerNumber p ) +void ScreenSelectGroup::MenuUp( const PlayerNumber p ) { if( m_bChosen ) return; @@ -264,7 +264,7 @@ void ScreenSelectGroup::MenuUp( PlayerNumber p ) } -void ScreenSelectGroup::MenuDown( PlayerNumber p ) +void ScreenSelectGroup::MenuDown( const PlayerNumber p ) { if( m_bChosen ) return; @@ -278,7 +278,7 @@ void ScreenSelectGroup::MenuDown( PlayerNumber p ) m_soundChange.PlayRandom(); } -void ScreenSelectGroup::MenuStart( PlayerNumber p ) +void ScreenSelectGroup::MenuStart( const PlayerNumber p ) { m_soundSelect.PlayRandom(); m_bChosen = true; @@ -296,7 +296,7 @@ void ScreenSelectGroup::MenuStart( PlayerNumber p ) this->SendScreenMessage( SM_StartFadingOut, 0.8f ); } -void ScreenSelectGroup::MenuBack( PlayerNumber p ) +void ScreenSelectGroup::MenuBack( const PlayerNumber p ) { m_Fade.CloseWipingLeft( SM_GoToPrevState ); diff --git a/stepmania/src/ScreenSelectGroup.h b/stepmania/src/ScreenSelectGroup.h index a1e25fffea..ca4f303167 100644 --- a/stepmania/src/ScreenSelectGroup.h +++ b/stepmania/src/ScreenSelectGroup.h @@ -35,12 +35,12 @@ public: void BeforeChange(); void AfterChange(); - 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 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 TweenOffScreen(); void TweenOnScreen(); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 915bba5b28..cc70c802c7 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -119,8 +119,8 @@ ScreenSelectMusic::ScreenSelectMusic() this->AddActor( &m_textHoldForOptions ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); - m_soundChangeNotes.Load( THEME->GetPathTo(SOUND_SWITCH_STEPS) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); + m_soundChangeNotes.Load( THEME->GetPathTo(SOUND_SELECT_MUSIC_CHANGE_NOTES) ); SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_INTRO) ); @@ -246,7 +246,7 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, const InputEventType } -void ScreenSelectMusic::EasierDifficulty( PlayerNumber p ) +void ScreenSelectMusic::EasierDifficulty( const PlayerNumber p ) { LOG->WriteLine( "ScreenSelectMusic::EasierDifficulty( %d )", p ); @@ -263,7 +263,7 @@ void ScreenSelectMusic::EasierDifficulty( PlayerNumber p ) AfterNotesChange( p ); } -void ScreenSelectMusic::HarderDifficulty( PlayerNumber p ) +void ScreenSelectMusic::HarderDifficulty( const PlayerNumber p ) { LOG->WriteLine( "ScreenSelectMusic::HarderDifficulty( %d )", p ); @@ -323,7 +323,7 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenSelectMusic::MenuLeft( PlayerNumber p ) +void ScreenSelectMusic::MenuLeft( const PlayerNumber p ) { m_MusicWheel.PrevMusic(); @@ -331,14 +331,14 @@ void ScreenSelectMusic::MenuLeft( PlayerNumber p ) } -void ScreenSelectMusic::MenuRight( PlayerNumber p ) +void ScreenSelectMusic::MenuRight( const PlayerNumber p ) { m_MusicWheel.NextMusic(); AfterMusicChange(); } -void ScreenSelectMusic::MenuStart( PlayerNumber p ) +void ScreenSelectMusic::MenuStart( const PlayerNumber p ) { // this needs to check whether valid Notes are selected! m_MusicWheel.Select(); @@ -398,7 +398,7 @@ void ScreenSelectMusic::MenuStart( PlayerNumber p ) } -void ScreenSelectMusic::MenuBack( PlayerNumber p ) +void ScreenSelectMusic::MenuBack( const PlayerNumber p ) { Screen::MenuBack( p ); @@ -409,7 +409,7 @@ void ScreenSelectMusic::MenuBack( PlayerNumber p ) TweenOffScreen(); } -void ScreenSelectMusic::AfterNotesChange( PlayerNumber p ) +void ScreenSelectMusic::AfterNotesChange( const PlayerNumber p ) { if( !GAMEMAN->IsPlayerEnabled(p) ) return; diff --git a/stepmania/src/ScreenSelectMusic.h b/stepmania/src/ScreenSelectMusic.h index 2eba82e655..f17094ef2b 100644 --- a/stepmania/src/ScreenSelectMusic.h +++ b/stepmania/src/ScreenSelectMusic.h @@ -37,15 +37,15 @@ public: void TweenOnScreen(); void TweenOffScreen(); - void MenuLeft( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void EasierDifficulty( PlayerNumber p ); - void HarderDifficulty( PlayerNumber p ); - void MenuStart( PlayerNumber p ); - void MenuBack( PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void EasierDifficulty( const PlayerNumber p ); + void HarderDifficulty( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); protected: - void AfterNotesChange( PlayerNumber p ); + void AfterNotesChange( const PlayerNumber p ); void AfterMusicChange(); void PlayMusicSample(); diff --git a/stepmania/src/ScreenSelectStyle.cpp b/stepmania/src/ScreenSelectStyle.cpp index e54cfef980..7ad40ec467 100644 --- a/stepmania/src/ScreenSelectStyle.cpp +++ b/stepmania/src/ScreenSelectStyle.cpp @@ -25,174 +25,56 @@ #include "AnnouncerManager.h" -const CString DANCE_STYLES[] = { - "single", - "versus", - "double", - "couple", - "solo", -}; -const int NUM_DANCE_STYLES = sizeof(DANCE_STYLES)/sizeof(CString); +const float ICONS_START_X = SCREEN_LEFT + 60; +const float ICONS_SPACING_X = 76; +const float ICON_Y = SCREEN_TOP + 100; -const float PAD_X[NUM_STYLE_PADS] = { - CENTER_X-250, - CENTER_X-125, - CENTER_X-20, - CENTER_X+125, - CENTER_X+250, -}; -const float PAD_Y[NUM_STYLE_PADS] = { - CENTER_Y+60, - CENTER_Y-30, - CENTER_Y+70, - CENTER_Y-30, - CENTER_Y+60, -}; -const float DANCER_X[NUM_STYLE_DANCERS] = { - PAD_X[0], - PAD_X[1]-35, - PAD_X[1]+35, - PAD_X[2], - PAD_X[3]-35, - PAD_X[3]+35, - PAD_X[4], -}; -const float DANCER_Y[NUM_STYLE_DANCERS] = { - PAD_Y[0], - PAD_Y[1]+20, - PAD_Y[1]-20, - PAD_Y[2], - PAD_Y[3]+20, - PAD_Y[3]-20, - PAD_Y[4], -}; +const float EXPLANATION_X = SCREEN_RIGHT - 160; +const float EXPLANATION_Y = CENTER_Y; -CString TEXT_EXPLANATION1[NUM_DANCE_STYLES] = { - "1 Player", - "2 Players", - "1 Player", - "2 Players", - "1 Player" -}; -CString TEXT_EXPLANATION2[NUM_DANCE_STYLES] = { - "Dance using 4 panels on one pad", - "Each uses 4 panels on one pad", - "Dance using 8 panels on two pads", - "Each uses 4 panels on one pad", - "Dance using 6 panels on one pad" -}; +const float INFO_X = SCREEN_RIGHT - 160; +const float INFO_Y = CENTER_Y+200; -const float EXPLANATION1_ZOOM_X = 0.8f; -const float EXPLANATION1_ZOOM_Y = 1; -const float EXPLANATION2_ZOOM_X = 0.5f; -const float EXPLANATION2_ZOOM_Y = 0.7f; - -const float ICON_X = 120; -const float ICON_Y = SCREEN_HEIGHT - 70; - -const float EXPLANATION1_X = ICON_X+110; -const float EXPLANATION1_Y = ICON_Y-16; -const float EXPLANATION2_X = EXPLANATION1_X; -const float EXPLANATION2_Y = ICON_Y+16; - -const float HELP_X = CENTER_X; -const float HELP_Y = SCREEN_HEIGHT-20; - -const float TWEEN_TIME = 0.35f; - -const D3DXCOLOR COLOR_P1_SELECTED = D3DXCOLOR(0.4f,1.0f,0.8f,1); -const D3DXCOLOR COLOR_P2_SELECTED = D3DXCOLOR(1.0f,0.5f,0.2f,1); -const D3DXCOLOR COLOR_P1_NOT_SELECTED = COLOR_P1_SELECTED*0.5f + D3DXCOLOR(0,0,0,0.5f); -const D3DXCOLOR COLOR_P2_NOT_SELECTED = COLOR_P2_SELECTED*0.5f + D3DXCOLOR(0,0,0,0.5f); +const float PREVIEW_X = SCREEN_LEFT + 160; +const float PREVIEW_Y = CENTER_Y; const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1); const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2); -const ScreenMessage SM_UpdateAnimations = ScreenMessage(SM_User + 3); -const ScreenMessage SM_TweenExplanation2 = ScreenMessage(SM_User + 4); ScreenSelectStyle::ScreenSelectStyle() { LOG->WriteLine( "ScreenSelectStyle::ScreenSelectStyle()" ); - m_iSelection = 0; // single - - - for( int i=0; iGetPathTo(GRAPHIC_PAD_SINGLE); - break; - case 4: - sPadGraphicPath = THEME->GetPathTo(GRAPHIC_PAD_SOLO); - break; - case 1: - case 2: - case 3: - sPadGraphicPath = THEME->GetPathTo(GRAPHIC_PAD_DOUBLE); - break; - } - - m_sprPad[i].Load( sPadGraphicPath ); - m_sprPad[i].SetXY( PAD_X[i], PAD_Y[i] ); - m_sprPad[i].SetZoom( 1 ); - this->AddActor( &m_sprPad[i] ); + Style style = (Style)s; + if( StyleToGame(style) == GAMEMAN->m_CurGame ) // games match + m_aPossibleStyles.Add( style ); } + m_iSelection = 0; - for( i=0; iGetPathTo(GRAPHIC_DANCER_P1); colorDiffuse = COLOR_P1_SELECTED; SetX(-0.1f); break; - case 1: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P1); colorDiffuse = COLOR_P1_NOT_SELECTED; SetX(-0.1f); break; - case 2: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P2); colorDiffuse = COLOR_P2_NOT_SELECTED; SetX( 0.0f); break; - case 3: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P1); colorDiffuse = COLOR_P1_NOT_SELECTED; SetX(-0.1f); break; - case 4: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P1); colorDiffuse = COLOR_P1_NOT_SELECTED; SetX(-0.1f); break; - case 5: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P2); colorDiffuse = COLOR_P2_NOT_SELECTED; SetX( 0.0f); break; - case 6: sDancerGraphicPath = THEME->GetPathTo(GRAPHIC_DANCER_P1); colorDiffuse = COLOR_P1_NOT_SELECTED; SetX(-0.1f); break; - } - - m_sprDancer[i].Load( sDancerGraphicPath ); - m_sprDancer[i].SetDiffuseColor( colorDiffuse ); - m_sprDancer[i].SetVertAlign( Actor::align_top ); - m_sprDancer[i].SetXY( DANCER_X[i], DANCER_Y[i] ); - m_sprDancer[i].SetZoom( 2 ); - m_sprDancer[i].StopAnimating(); - this->AddActor( &m_sprDancer[i] ); + Style style = m_aPossibleStyles[i]; + m_sprIcon[i].Load( THEME->GetPathTo(GRAPHIC_SELECT_STYLE_ICONS) ); + m_sprIcon[i].StopAnimating(); + m_sprIcon[i].SetState( style ); + m_sprIcon[i].SetXY( ICONS_START_X + ICONS_SPACING_X*i, ICON_Y ); + this->AddActor( &m_sprIcon[i] ); } - - m_sprStyleIcon.Load( THEME->GetPathTo(GRAPHIC_STYLE_ICONS) ); - m_sprStyleIcon.TurnShadowOff(); - m_sprStyleIcon.StopAnimating(); - m_sprStyleIcon.SetXY( ICON_X, ICON_Y ); - this->AddActor( &m_sprStyleIcon ); - - - m_textExplanation1.Load( THEME->GetPathTo(FONT_HEADER1) ); - m_textExplanation1.SetDiffuseColor( D3DXCOLOR(0,0.7f,0,1) ); - m_textExplanation1.SetXY( EXPLANATION1_X, EXPLANATION1_Y ); - m_textExplanation1.SetZ( -1 ); - m_textExplanation1.SetZoomX( EXPLANATION1_ZOOM_X ); - m_textExplanation1.SetZoomY( EXPLANATION1_ZOOM_Y ); - m_textExplanation1.SetHorizAlign( BitmapText::align_left ); - this->AddActor( &m_textExplanation1 ); - - m_textExplanation2.Load( THEME->GetPathTo(FONT_HEADER1) ); - m_textExplanation2.SetDiffuseColor( D3DXCOLOR(0,0.7f,0,1) ); - m_textExplanation2.SetXY( EXPLANATION2_X, EXPLANATION2_Y ); - m_textExplanation2.SetZ( -1 ); - m_textExplanation2.SetZoomX( EXPLANATION2_ZOOM_X ); - m_textExplanation2.SetZoomY( EXPLANATION2_ZOOM_Y ); - m_textExplanation2.SetHorizAlign( BitmapText::align_left ); - this->AddActor( &m_textExplanation2 ); + m_sprExplanation.Load( THEME->GetPathTo(GRAPHIC_SELECT_STYLE_EXPLANATION) ); + m_sprExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y ); + this->AddActor( &m_sprExplanation ); + + m_sprPreview.SetXY( PREVIEW_X, PREVIEW_Y ); + this->AddActor( &m_sprPreview ); + + m_sprInfo.SetXY( INFO_X, INFO_Y ); + this->AddActor( &m_sprInfo ); m_Menu.Load( THEME->GetPathTo(GRAPHIC_SELECT_STYLE_BACKGROUND), @@ -204,8 +86,8 @@ ScreenSelectStyle::ScreenSelectStyle() m_Fade.SetZ( -2 ); this->AddActor( &m_Fade ); - m_soundChange.Load( THEME->GetPathTo(SOUND_SWITCH_STYLE) ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); + m_soundChange.Load( THEME->GetPathTo(SOUND_SELECT_STYLE_CHANGE) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) ); @@ -218,6 +100,7 @@ ScreenSelectStyle::ScreenSelectStyle() } m_soundChange.PlayRandom(); + AfterChange(); TweenOnScreen(); m_Menu.TweenAllOnScreen(); } @@ -226,7 +109,6 @@ ScreenSelectStyle::ScreenSelectStyle() ScreenSelectStyle::~ScreenSelectStyle() { LOG->WriteLine( "ScreenSelectStyle::~ScreenSelectStyle()" ); - } void ScreenSelectStyle::DrawPrimitives() @@ -262,54 +144,60 @@ void ScreenSelectStyle::HandleScreenMessage( const ScreenMessage SM ) case SM_GoToNextState: SCREENMAN->SetNewScreen( new ScreenSelectDifficulty ); break; - case SM_TweenExplanation2: - m_textExplanation2.BeginTweening( 0.7f ); - m_textExplanation2.SetTweenZoomX( EXPLANATION2_ZOOM_X ); - break; - case SM_UpdateAnimations: - for( int i=0; iGetPathTo(te) ); + m_sprPreview.SetZoomX( 0 ); + m_sprPreview.BeginTweening( 0.3f, Actor::TWEEN_BOUNCE_END ); + m_sprPreview.SetTweenZoomX( 1 ); + + te = (ThemeElement)(GRAPHIC_SELECT_STYLE_INFO_0+GetSelectedStyle()); + m_sprInfo.Load( THEME->GetPathTo(te) ); + m_sprInfo.SetZoomY( 0 ); + m_sprInfo.BeginTweening( 0.3f, Actor::TWEEN_BOUNCE_END ); + m_sprInfo.SetTweenZoomY( 1 ); +} + +void ScreenSelectStyle::MenuLeft( const PlayerNumber p ) { if( m_iSelection == 0 ) // can't go left any further return; BeforeChange(); - m_iSelection = m_iSelection - 1; - m_soundChange.Stop(); + m_iSelection--; m_soundChange.PlayRandom(); AfterChange(); } -void ScreenSelectStyle::MenuRight( PlayerNumber p ) +void ScreenSelectStyle::MenuRight( const PlayerNumber p ) { - if( m_iSelection == NUM_DANCE_STYLES-1 ) // can't go right any further + if( m_iSelection == m_aPossibleStyles.GetSize()-1 ) // can't go right any further return; BeforeChange(); - m_iSelection = m_iSelection + 1; - m_soundChange.Stop(); + m_iSelection++; m_soundChange.PlayRandom(); AfterChange(); } -void ScreenSelectStyle::MenuStart( PlayerNumber p ) +void ScreenSelectStyle::MenuStart( const PlayerNumber p ) { - GAMEMAN->m_CurStyle = Style( m_iSelection ); GAMEMAN->m_sMasterPlayerNumber = p; + GAMEMAN->m_CurStyle = GetSelectedStyle(); AnnouncerElement ae; switch( GAMEMAN->m_CurStyle ) @@ -326,8 +214,6 @@ void ScreenSelectStyle::MenuStart( PlayerNumber p ) } SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ae) ); - this->ClearMessageQueue(); - m_Menu.TweenTopEdgeOffScreen(); m_soundSelect.PlayRandom(); @@ -337,7 +223,7 @@ void ScreenSelectStyle::MenuStart( PlayerNumber p ) TweenOffScreen(); } -void ScreenSelectStyle::MenuBack( PlayerNumber p ) +void ScreenSelectStyle::MenuBack( const PlayerNumber p ) { MUSIC->Stop(); @@ -348,167 +234,50 @@ void ScreenSelectStyle::MenuBack( PlayerNumber p ) TweenOffScreen(); } -void ScreenSelectStyle::BeforeChange() -{ - switch( m_iSelection ) - { - case 0: - m_sprDancer[0].BeginTweening( TWEEN_TIME ); - m_sprDancer[0].SetTweenDiffuseColor( COLOR_P1_NOT_SELECTED ); - break; - case 1: - m_sprDancer[1].BeginTweening( TWEEN_TIME ); - m_sprDancer[1].SetTweenDiffuseColor( COLOR_P1_NOT_SELECTED ); - m_sprDancer[2].BeginTweening( TWEEN_TIME ); - m_sprDancer[2].SetTweenDiffuseColor( COLOR_P2_NOT_SELECTED ); - break; - case 2: - m_sprDancer[3].BeginTweening( TWEEN_TIME ); - m_sprDancer[3].SetTweenDiffuseColor( COLOR_P1_NOT_SELECTED ); - break; - case 3: - m_sprDancer[4].BeginTweening( TWEEN_TIME ); - m_sprDancer[4].SetTweenDiffuseColor( COLOR_P1_NOT_SELECTED ); - m_sprDancer[5].BeginTweening( TWEEN_TIME ); - m_sprDancer[5].SetTweenDiffuseColor( COLOR_P2_NOT_SELECTED ); - break; - case 4: - m_sprDancer[6].BeginTweening( TWEEN_TIME ); - m_sprDancer[6].SetTweenDiffuseColor( COLOR_P1_NOT_SELECTED ); - break; - } - - -} - -void ScreenSelectStyle::AfterChange() -{ - this->ClearMessageQueue(); - - m_textExplanation1.SetText( TEXT_EXPLANATION1[m_iSelection] ); - m_textExplanation1.SetZoomX( 0 ); - m_textExplanation1.BeginTweening( 0.6f ); - m_textExplanation1.SetTweenZoomX( EXPLANATION1_ZOOM_X ); - - m_textExplanation2.SetText( TEXT_EXPLANATION2[m_iSelection] ); - m_textExplanation2.StopTweening(); - m_textExplanation2.SetZoomX( 0 ); - - switch( m_iSelection ) - { - case 0: - m_sprPad[0].BeginTweening( TWEEN_TIME ); - m_sprPad[0].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) ); - m_sprDancer[0].BeginTweening( TWEEN_TIME ); - m_sprDancer[0].SetTweenDiffuseColor( COLOR_P1_SELECTED ); - m_sprDancer[0].StartAnimating(); - m_sprStyleIcon.SetState( 0 ); - break; - case 1: - m_sprPad[1].BeginTweening( TWEEN_TIME ); - m_sprPad[1].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) ); - m_sprDancer[1].BeginTweening( TWEEN_TIME ); - m_sprDancer[1].SetTweenDiffuseColor( COLOR_P1_SELECTED ); - m_sprDancer[1].StartAnimating(); - m_sprDancer[2].BeginTweening( TWEEN_TIME ); - m_sprDancer[2].SetTweenDiffuseColor( COLOR_P2_SELECTED ); - m_sprDancer[2].StartAnimating(); - m_sprStyleIcon.SetState( 1 ); - break; - case 2: - m_sprPad[2].BeginTweening( TWEEN_TIME ); - m_sprPad[2].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) ); - m_sprDancer[3].BeginTweening( TWEEN_TIME ); - m_sprDancer[3].SetTweenDiffuseColor( COLOR_P1_SELECTED ); - m_sprDancer[3].StartAnimating(); - m_sprStyleIcon.SetState( 2 ); - break; - case 3: - m_sprPad[3].BeginTweening( TWEEN_TIME ); - m_sprPad[3].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) ); - m_sprDancer[4].BeginTweening( TWEEN_TIME ); - m_sprDancer[4].SetTweenDiffuseColor( COLOR_P1_SELECTED ); - m_sprDancer[4].StartAnimating(); - m_sprDancer[5].BeginTweening( TWEEN_TIME ); - m_sprDancer[5].SetTweenDiffuseColor( COLOR_P2_SELECTED ); - m_sprDancer[5].StartAnimating(); - m_sprStyleIcon.SetState( 3 ); - break; - case 4: - m_sprPad[4].BeginTweening( TWEEN_TIME ); - m_sprPad[4].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) ); - m_sprDancer[6].BeginTweening( TWEEN_TIME ); - m_sprDancer[6].SetTweenDiffuseColor( COLOR_P1_SELECTED ); - m_sprDancer[6].StartAnimating(); - m_sprStyleIcon.SetState( 4 ); - break; - } - - this->SendScreenMessage( SM_TweenExplanation2, 1 ); - this->SendScreenMessage( SM_UpdateAnimations, TWEEN_TIME ); -} void ScreenSelectStyle::TweenOffScreen() { - for( int i=0; iSendScreenMessage( SM_TweenExplanation2, 1 ); - this->SendScreenMessage( SM_UpdateAnimations, TWEEN_TIME ); + fOriginalZoom = m_sprPreview.GetZoomY(); + m_sprPreview.SetZoomY( 0 ); + m_sprPreview.BeginTweening( MENU_ELEMENTS_TWEEN_TIME ); + m_sprPreview.SetTweenZoomY( fOriginalZoom ); + fOriginalZoom = m_sprInfo.GetZoomY(); + m_sprInfo.SetZoomY( 0 ); + m_sprInfo.BeginTweening( MENU_ELEMENTS_TWEEN_TIME ); + m_sprInfo.SetTweenZoomY( fOriginalZoom ); } diff --git a/stepmania/src/ScreenSelectStyle.h b/stepmania/src/ScreenSelectStyle.h index 9058d9d4e5..5d78f476f7 100644 --- a/stepmania/src/ScreenSelectStyle.h +++ b/stepmania/src/ScreenSelectStyle.h @@ -19,10 +19,6 @@ #include "MenuElements.h" -const int NUM_STYLE_DANCERS = 7; // single, versus dancers, double, couple dancers, solo -const int NUM_STYLE_PADS = 5; - - class ScreenSelectStyle : public Screen { public: @@ -33,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( PlayerNumber p ); - void MenuRight( PlayerNumber p ); - void MenuStart( PlayerNumber p ); - void MenuBack( PlayerNumber p ); + void MenuLeft( const PlayerNumber p ); + void MenuRight( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); void TweenOffScreen(); void TweenOnScreen(); @@ -46,20 +42,18 @@ private: MenuElements m_Menu; - Sprite m_sprDancer[NUM_STYLE_DANCERS]; - Sprite m_sprPad[NUM_STYLE_PADS]; - - Sprite m_sprStyleIcon; - - BitmapText m_textExplanation1; - BitmapText m_textExplanation2; - Quad m_rectCursor; + Sprite m_sprIcon[NUM_STYLES]; + Sprite m_sprExplanation; + Sprite m_sprPreview; + Sprite m_sprInfo; RandomSample m_soundChange; RandomSample m_soundSelect; - int m_iSelection; + int m_iSelection; + CArray m_aPossibleStyles; + Style GetSelectedStyle() { return m_aPossibleStyles[m_iSelection]; }; TransitionKeepAlive m_Fade; }; diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index c481d2bca9..12f999f5c5 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -80,7 +80,7 @@ ScreenTitleMenu::ScreenTitleMenu() m_sprLogo.SetAddColor( D3DXCOLOR(1,1,1,1) ); m_sprLogo.SetZoomY( 0 ); m_sprLogo.BeginTweeningQueued( 0.5f ); - m_sprLogo.BeginTweeningQueued( 0.5f ); + m_sprLogo.BeginTweeningQueued( 0.5f, Actor::TWEEN_BOUNCE_END ); m_sprLogo.SetEffectGlowing(1, D3DXCOLOR(1,1,1,0.1f), D3DXCOLOR(1,1,1,0.3f) ); m_sprLogo.SetTweenZoom( 1 ); this->AddActor( &m_sprLogo ); @@ -128,9 +128,9 @@ ScreenTitleMenu::ScreenTitleMenu() SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_TITLE_MENU_GAME_NAME) ); - m_soundChange.Load( THEME->GetPathTo(SOUND_TITLE_CHANGE) ); - m_soundSelect.Load( THEME->GetPathTo(SOUND_SELECT) ); - m_soundInvalid.Load( THEME->GetPathTo(SOUND_INVALID) ); + m_soundChange.Load( THEME->GetPathTo(SOUND_TITLE_MENU_CHANGE) ); + m_soundSelect.Load( THEME->GetPathTo(SOUND_MENU_START) ); + m_soundInvalid.Load( THEME->GetPathTo(SOUND_MENU_INVALID) ); for( i=0; i<3000; i++ ) this->SendScreenMessage( SM_PlayAttract, (float)15+i*15 ); @@ -237,7 +237,7 @@ void ScreenTitleMenu::GainFocus( int iChoiceIndex ) m_textChoice[iChoiceIndex].SetEffectCamelion( 2.5f, D3DXCOLOR(0.5f,1,0.5f,1), D3DXCOLOR(0.3f,0.6f,0.3f,1) ); } -void ScreenTitleMenu::MenuUp( PlayerNumber p ) +void ScreenTitleMenu::MenuUp( const PlayerNumber p ) { LoseFocus( m_TitleMenuChoice ); @@ -250,7 +250,7 @@ void ScreenTitleMenu::MenuUp( PlayerNumber p ) } -void ScreenTitleMenu::MenuDown( PlayerNumber p ) +void ScreenTitleMenu::MenuDown( const PlayerNumber p ) { LoseFocus( m_TitleMenuChoice ); @@ -263,7 +263,7 @@ void ScreenTitleMenu::MenuDown( PlayerNumber p ) } -void ScreenTitleMenu::MenuStart( PlayerNumber p ) +void ScreenTitleMenu::MenuStart( const PlayerNumber p ) { switch( m_TitleMenuChoice ) @@ -317,7 +317,7 @@ void ScreenTitleMenu::MenuStart( PlayerNumber p ) } } -void ScreenTitleMenu::MenuBack( PlayerNumber p ) +void ScreenTitleMenu::MenuBack( const PlayerNumber p ) { //m_Fade.CloseWipingLeft( SM_GoToIntroCovers ); } diff --git a/stepmania/src/ScreenTitleMenu.h b/stepmania/src/ScreenTitleMenu.h index 959a53e71b..35d4d6dcd7 100644 --- a/stepmania/src/ScreenTitleMenu.h +++ b/stepmania/src/ScreenTitleMenu.h @@ -44,10 +44,10 @@ public: private: void GainFocus( int iChoiceIndex ); void LoseFocus( int iChoiceIndex ); - void MenuUp( PlayerNumber p ); - void MenuDown( PlayerNumber p ); - void MenuBack( PlayerNumber p ); - void MenuStart( PlayerNumber p ); + void MenuUp( const PlayerNumber p ); + void MenuDown( const PlayerNumber p ); + void MenuBack( const PlayerNumber p ); + void MenuStart( const PlayerNumber p ); TitleMenuChoice m_TitleMenuChoice; diff --git a/stepmania/src/ScrollBar.cpp b/stepmania/src/ScrollBar.cpp index 583169c8aa..f89fd29a1b 100644 --- a/stepmania/src/ScrollBar.cpp +++ b/stepmania/src/ScrollBar.cpp @@ -19,25 +19,25 @@ const float BAR_HEIGHT = 376; ScrollBar::ScrollBar() { - m_sprBackground.Load( THEME->GetPathTo(GRAPHIC_SCROLLBAR_PARTS) ); + m_sprBackground.Load( THEME->GetPathTo(GRAPHIC_SELECT_MUSIC_SCROLLBAR) ); m_sprBackground.StopAnimating(); m_sprBackground.SetState( 2 ); m_sprBackground.SetZoomY( BAR_HEIGHT/m_sprBackground.GetUnzoomedHeight() ); this->AddActor( &m_sprBackground ); - m_sprTopButton.Load( THEME->GetPathTo(GRAPHIC_SCROLLBAR_PARTS) ); + m_sprTopButton.Load( THEME->GetPathTo(GRAPHIC_SELECT_MUSIC_SCROLLBAR) ); m_sprTopButton.StopAnimating(); m_sprTopButton.SetState( 0 ); m_sprTopButton.SetY( -BAR_HEIGHT/2 ); this->AddActor( &m_sprTopButton ); - m_sprBottomButton.Load( THEME->GetPathTo(GRAPHIC_SCROLLBAR_PARTS) ); + m_sprBottomButton.Load( THEME->GetPathTo(GRAPHIC_SELECT_MUSIC_SCROLLBAR) ); m_sprBottomButton.StopAnimating(); m_sprBottomButton.SetState( 3 ); m_sprBottomButton.SetY( BAR_HEIGHT/2 ); this->AddActor( &m_sprBottomButton ); - m_sprScrollThumb.Load( THEME->GetPathTo(GRAPHIC_SCROLLBAR_PARTS) ); + m_sprScrollThumb.Load( THEME->GetPathTo(GRAPHIC_SELECT_MUSIC_SCROLLBAR) ); m_sprScrollThumb.StopAnimating(); m_sprScrollThumb.SetState( 1 ); m_sprScrollThumb.SetY( CENTER_Y ); diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 1b24481c35..1bac636174 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -39,7 +39,7 @@ RSC=rc.exe # PROP Use_MFC 1 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "../" -# PROP Intermediate_Dir "../Release-StackTrace" +# PROP Intermediate_Dir "../Release-VC6" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c @@ -53,7 +53,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo /o"../StepMania-StackTrace.bsc" LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /out:"../StepMania-StackTrace.exe" +# ADD LINK32 /nologo /subsystem:windows /debug /machine:I386 /out:"../StepMania-VC6.exe" !ELSEIF "$(CFG)" == "StepMania - Win32 Debug" @@ -832,6 +832,14 @@ SOURCE=.\ScreenGameOptions.h # End Source File # Begin Source File +SOURCE=.\ScreenGameOver.cpp +# End Source File +# Begin Source File + +SOURCE=.\ScreenGameOver.h +# End Source File +# Begin Source File + SOURCE=.\ScreenGameplay.cpp # End Source File # Begin Source File @@ -840,14 +848,6 @@ SOURCE=.\ScreenGameplay.h # End Source File # Begin Source File -SOURCE=.\ScreenGraphicOptions.cpp -# End Source File -# Begin Source File - -SOURCE=.\ScreenGraphicOptions.h -# End Source File -# Begin Source File - SOURCE=.\ScreenManager.cpp # End Source File # Begin Source File @@ -884,14 +884,6 @@ SOURCE=.\ScreenOptions.h # End Source File # Begin Source File -SOURCE=.\ScreenOptionsType2.cpp -# End Source File -# Begin Source File - -SOURCE=.\ScreenOptionsType2.h -# End Source File -# Begin Source File - SOURCE=.\ScreenPlayerOptions.cpp # End Source File # Begin Source File diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj index 7db2792f41..d730ddf1e2 100644 --- a/stepmania/src/StepMania.vcproj +++ b/stepmania/src/StepMania.vcproj @@ -212,12 +212,6 @@ - - - - @@ -272,6 +266,12 @@ + + + + diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 8fb220ac12..10d2372eac 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -116,6 +116,7 @@ CString ThemeManager::GetPathTo( ThemeElement te ) case GRAPHIC_LIFEMETER_FRAME: sAssetPrefix = "Graphics\\Life Meter Frame"; break; case GRAPHIC_LIFEMETER_PILLS: sAssetPrefix = "Graphics\\life meter pills 17x1"; break; case GRAPHIC_MENU_BOTTOM_EDGE: sAssetPrefix = "Graphics\\menu bottom edge"; break; + case GRAPHIC_MENU_STYLE_ICONS: sAssetPrefix = "Graphics\\menu style icons"; break; case GRAPHIC_MUSIC_SCROLL_BACKGROUND: sAssetPrefix = "Graphics\\music scroll background"; break; case GRAPHIC_MUSIC_SORT_ICONS: sAssetPrefix = "Graphics\\music sort icons 1x4"; break; case GRAPHIC_MUSIC_STATUS_ICONS: sAssetPrefix = "Graphics\\music status icons 1x4"; break; @@ -133,7 +134,6 @@ CString ThemeManager::GetPathTo( ThemeElement te ) case GRAPHIC_RESULTS_JUDGE_LABELS: sAssetPrefix = "Graphics\\results judge labels 1x6"; break; case GRAPHIC_RESULTS_SCORE_LABELS: sAssetPrefix = "Graphics\\results score labels 1x2"; break; case GRAPHIC_RESULTS_TOP_EDGE: sAssetPrefix = "Graphics\\results top edge"; break; - case GRAPHIC_SCROLLBAR_PARTS: sAssetPrefix = "Graphics\\scrollbar parts"; break; case GRAPHIC_SELECT_DIFFICULTY_ARROW_P1: sAssetPrefix = "Graphics\\select difficulty arrow p1"; break; case GRAPHIC_SELECT_DIFFICULTY_ARROW_P2: sAssetPrefix = "Graphics\\select difficulty arrow p2"; break; case GRAPHIC_SELECT_DIFFICULTY_BACKGROUND: sAssetPrefix = "Graphics\\select difficulty background"; break; @@ -162,6 +162,7 @@ CString ThemeManager::GetPathTo( ThemeElement te ) case GRAPHIC_SELECT_MUSIC_RADAR_BASE: sAssetPrefix = "Graphics\\select music radar base"; break; case GRAPHIC_SELECT_MUSIC_RADAR_WORDS: sAssetPrefix = "Graphics\\select music radar words 1x5"; break; case GRAPHIC_SELECT_MUSIC_ROULETTE_BANNER: sAssetPrefix = "Graphics\\select music roulette banner"; break; + case GRAPHIC_SELECT_MUSIC_SCROLLBAR: sAssetPrefix = "Graphics\\select music scrollbar"; break; case GRAPHIC_SELECT_MUSIC_SCORE_FRAME: sAssetPrefix = "Graphics\\select music score frame"; break; case GRAPHIC_SELECT_MUSIC_SECTION_BANNER: sAssetPrefix = "Graphics\\select music section banner"; break; case GRAPHIC_SELECT_MUSIC_SECTION_BAR: sAssetPrefix = "Graphics\\select music section bar"; break; @@ -170,45 +171,68 @@ CString ThemeManager::GetPathTo( ThemeElement te ) case GRAPHIC_SELECT_MUSIC_SONG_HIGHLIGHT: sAssetPrefix = "Graphics\\select music song highlight"; break; case GRAPHIC_SELECT_MUSIC_TOP_EDGE: sAssetPrefix = "Graphics\\select music top edge"; break; case GRAPHIC_SELECT_STYLE_BACKGROUND: sAssetPrefix = "Graphics\\select Style background"; break; + case GRAPHIC_SELECT_STYLE_EXPLANATION: sAssetPrefix = "Graphics\\select Style explanation"; break; case GRAPHIC_SELECT_STYLE_TOP_EDGE: sAssetPrefix = "Graphics\\select Style top edge"; break; + case GRAPHIC_SELECT_STYLE_ICONS: sAssetPrefix = "Graphics\\select Style icons"; break; + case GRAPHIC_SELECT_STYLE_INFO_0: sAssetPrefix = "Graphics\\select style info 0"; break; + case GRAPHIC_SELECT_STYLE_INFO_1: sAssetPrefix = "Graphics\\select style info 1"; break; + case GRAPHIC_SELECT_STYLE_INFO_2: sAssetPrefix = "Graphics\\select style info 2"; break; + case GRAPHIC_SELECT_STYLE_INFO_3: sAssetPrefix = "Graphics\\select style info 3"; break; + case GRAPHIC_SELECT_STYLE_INFO_4: sAssetPrefix = "Graphics\\select style info 4"; break; + case GRAPHIC_SELECT_STYLE_INFO_5: sAssetPrefix = "Graphics\\select style info 5"; break; + case GRAPHIC_SELECT_STYLE_INFO_6: sAssetPrefix = "Graphics\\select style info 6"; break; + case GRAPHIC_SELECT_STYLE_INFO_7: sAssetPrefix = "Graphics\\select style info 7"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_0: sAssetPrefix = "Graphics\\select style preview 0"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_1: sAssetPrefix = "Graphics\\select style preview 1"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_2: sAssetPrefix = "Graphics\\select style preview 2"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_3: sAssetPrefix = "Graphics\\select style preview 3"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_4: sAssetPrefix = "Graphics\\select style preview 4"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_5: sAssetPrefix = "Graphics\\select style preview 5"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_6: sAssetPrefix = "Graphics\\select style preview 6"; break; + case GRAPHIC_SELECT_STYLE_PREVIEW_7: sAssetPrefix = "Graphics\\select style preview 7"; break; case GRAPHIC_SONG_OPTIONS_BACKGROUND: sAssetPrefix = "Graphics\\song options background"; break; case GRAPHIC_SONG_OPTIONS_TOP_EDGE: sAssetPrefix = "Graphics\\song options top edge"; break; case GRAPHIC_STAGE_UNDERSCORE: sAssetPrefix = "Graphics\\stage underscore"; break; case GRAPHIC_STEPS_DESCRIPTION: sAssetPrefix = "Graphics\\Steps description 1x8"; break; - case GRAPHIC_STYLE_ICONS: sAssetPrefix = "Graphics\\Style icons 1x5"; break; case GRAPHIC_SYNCHRONIZE_BACKGROUND: sAssetPrefix = "Graphics\\synchronize background"; break; case GRAPHIC_SYNCHRONIZE_TOP_EDGE: sAssetPrefix = "Graphics\\synchronize top edge"; break; case GRAPHIC_TITLE_MENU_BACKGROUND: sAssetPrefix = "Graphics\\title menu background"; break; case GRAPHIC_TITLE_MENU_LOGO: sAssetPrefix = "Graphics\\title menu logo"; break; - case SOUND_FAILED: sAssetPrefix = "Sounds\\failed"; break; - case SOUND_ASSIST: sAssetPrefix = "Sounds\\Assist"; break; - case SOUND_SELECT: sAssetPrefix = "Sounds\\select"; break; - case SOUND_SWITCH_STYLE: sAssetPrefix = "Sounds\\switch Style"; break; - case SOUND_SWITCH_MUSIC: sAssetPrefix = "Sounds\\switch music"; break; - case SOUND_SWITCH_SORT: sAssetPrefix = "Sounds\\switch sort"; break; - case SOUND_EXPAND: sAssetPrefix = "Sounds\\expand"; break; - case SOUND_SWITCH_STEPS: sAssetPrefix = "Sounds\\switch Steps"; break; - case SOUND_TITLE_CHANGE: sAssetPrefix = "Sounds\\title change"; break; - case SOUND_MENU_SWOOSH: sAssetPrefix = "Sounds\\menu swoosh"; break; - case SOUND_MENU_BACK: sAssetPrefix = "Sounds\\menu back"; break; - case SOUND_INVALID: sAssetPrefix = "Sounds\\invalid"; break; - case SOUND_EDIT_CHANGE_LINE: sAssetPrefix = "Sounds\\edit change line"; break; - case SOUND_EDIT_CHANGE_SNAP: sAssetPrefix = "Sounds\\edit change snap"; break; - case SOUND_SELECT_DIFFICULTY_CHANGE: sAssetPrefix = "Sounds\\select difficulty change"; break; - case SOUND_SELECT_MODE_CHANGE: sAssetPrefix = "Sounds\\select mode change"; break; - case SOUND_MENU_MUSIC: sAssetPrefix = "Sounds\\menu music"; break; - case SOUND_ENDING_MUSIC: sAssetPrefix = "Sounds\\ending music"; break; + case SOUND_EDIT_CHANGE_LINE: sAssetPrefix = "Sounds\\edit change line"; break; + case SOUND_EDIT_CHANGE_SNAP: sAssetPrefix = "Sounds\\edit change snap"; break; + case SOUND_GAMEPLAY_ASSIST_TICK: sAssetPrefix = "Sounds\\gameplay assist tick"; break; + case SOUND_GAMEPLAY_FAILED: sAssetPrefix = "Sounds\\gameplay failed"; break; + case SOUND_INTRO_BREAK: sAssetPrefix = "Sounds\\intro break"; break; + case SOUND_MENU_BACK: sAssetPrefix = "Sounds\\menu back"; break; + case SOUND_MENU_INVALID: sAssetPrefix = "Sounds\\menu invalid"; break; + case SOUND_MENU_MUSIC: sAssetPrefix = "Sounds\\menu music"; break; + case SOUND_MENU_PROMPT: sAssetPrefix = "Sounds\\menu prompt"; break; + case SOUND_MENU_START: sAssetPrefix = "Sounds\\menu start"; break; + case SOUND_MENU_SWOOSH: sAssetPrefix = "Sounds\\menu swoosh"; break; + case SOUND_MUSIC_SCROLL_MUSIC: sAssetPrefix = "Sounds\\music scroll music"; break; + case SOUND_OPTION_CHANGE_COL: sAssetPrefix = "Sounds\\option change col"; break; + case SOUND_OPTION_CHANGE_ROW: sAssetPrefix = "Sounds\\option change row"; break; + case SOUND_RESULTS_FLY_OFF: sAssetPrefix = "Sounds\\results fly off"; break; + case SOUND_RESULTS_SCORE_TICK: sAssetPrefix = "Sounds\\results score tick"; break; + case SOUND_SELECT_DIFFICULTY_CHANGE: sAssetPrefix = "Sounds\\select difficulty change"; break; + case SOUND_SELECT_GROUP_CHANGE: sAssetPrefix = "Sounds\\select group change"; break; + case SOUND_SELECT_MUSIC_SECTION_EXPAND: sAssetPrefix = "Sounds\\select music section expand"; break; + case SOUND_SELECT_MUSIC_CHANGE_MUSIC: sAssetPrefix = "Sounds\\select music change music"; break; + case SOUND_SELECT_MUSIC_CHANGE_SORT: sAssetPrefix = "Sounds\\select music change sort"; break; + case SOUND_SELECT_MUSIC_CHANGE_NOTES: sAssetPrefix = "Sounds\\select music change notes"; break; + case SOUND_SELECT_STYLE_CHANGE: sAssetPrefix = "Sounds\\select style change"; break; + case SOUND_TITLE_MENU_CHANGE: sAssetPrefix = "Sounds\\title menu change"; break; case FONT_HEADER1: sAssetPrefix = "Fonts\\Header1"; break; case FONT_HEADER2: sAssetPrefix = "Fonts\\Header2"; break; - case FONT_NORMAL: sAssetPrefix = "Fonts\\Normal"; break; - case FONT_COMBO_NUMBERS: sAssetPrefix = "Fonts\\Combo Numbers"; break; - case FONT_METER: sAssetPrefix = "Fonts\\Meter"; break; - case FONT_SCORE_NUMBERS: sAssetPrefix = "Fonts\\Score Numbers"; break; - case FONT_TIMER_NUMBERS: sAssetPrefix = "Fonts\\Timer Numbers"; break; + case FONT_NORMAL: sAssetPrefix = "Fonts\\Normal"; break; + case FONT_COMBO_NUMBERS: sAssetPrefix = "Fonts\\Combo Numbers"; break; + case FONT_METER: sAssetPrefix = "Fonts\\Meter"; break; + case FONT_SCORE_NUMBERS: sAssetPrefix = "Fonts\\Score Numbers"; break; + case FONT_TIMER_NUMBERS: sAssetPrefix = "Fonts\\Timer Numbers"; break; case FONT_TEXT_BANNER: sAssetPrefix = "Fonts\\Text Banner"; break; - case FONT_STAGE: sAssetPrefix = "Fonts\\stage"; break; + case FONT_STAGE: sAssetPrefix = "Fonts\\stage"; break; default: ASSERT(0); // Unhandled theme element } diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index d7a612bf2e..be4366543a 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -49,6 +49,7 @@ enum ThemeElement { GRAPHIC_LIFEMETER_FRAME, GRAPHIC_LIFEMETER_PILLS, GRAPHIC_MENU_BOTTOM_EDGE, + GRAPHIC_MENU_STYLE_ICONS, GRAPHIC_MUSIC_SORT_ICONS, GRAPHIC_MUSIC_STATUS_ICONS, GRAPHIC_GAMEPLAY_OPENING_STAR, @@ -66,7 +67,6 @@ enum ThemeElement { GRAPHIC_RESULTS_JUDGE_LABELS, GRAPHIC_RESULTS_SCORE_LABELS, GRAPHIC_RESULTS_TOP_EDGE, - GRAPHIC_SCROLLBAR_PARTS, GRAPHIC_SELECT_DIFFICULTY_ARROW_P1, GRAPHIC_SELECT_DIFFICULTY_ARROW_P2, GRAPHIC_SELECT_DIFFICULTY_BACKGROUND, @@ -97,6 +97,7 @@ enum ThemeElement { 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, @@ -104,34 +105,57 @@ enum ThemeElement { GRAPHIC_SELECT_MUSIC_TOP_EDGE, GRAPHIC_SELECT_STYLE_BACKGROUND, GRAPHIC_SELECT_STYLE_TOP_EDGE, + GRAPHIC_SELECT_STYLE_EXPLANATION, + GRAPHIC_SELECT_STYLE_ICONS, + GRAPHIC_SELECT_STYLE_INFO_0, + GRAPHIC_SELECT_STYLE_INFO_1, + GRAPHIC_SELECT_STYLE_INFO_2, + GRAPHIC_SELECT_STYLE_INFO_3, + GRAPHIC_SELECT_STYLE_INFO_4, + GRAPHIC_SELECT_STYLE_INFO_5, + GRAPHIC_SELECT_STYLE_INFO_6, + GRAPHIC_SELECT_STYLE_INFO_7, + GRAPHIC_SELECT_STYLE_PREVIEW_0, + GRAPHIC_SELECT_STYLE_PREVIEW_1, + GRAPHIC_SELECT_STYLE_PREVIEW_2, + GRAPHIC_SELECT_STYLE_PREVIEW_3, + GRAPHIC_SELECT_STYLE_PREVIEW_4, + GRAPHIC_SELECT_STYLE_PREVIEW_5, + GRAPHIC_SELECT_STYLE_PREVIEW_6, + GRAPHIC_SELECT_STYLE_PREVIEW_7, GRAPHIC_SONG_OPTIONS_BACKGROUND, GRAPHIC_SONG_OPTIONS_TOP_EDGE, GRAPHIC_STAGE_UNDERSCORE, GRAPHIC_STEPS_DESCRIPTION, - GRAPHIC_STYLE_ICONS, GRAPHIC_SYNCHRONIZE_BACKGROUND, GRAPHIC_SYNCHRONIZE_TOP_EDGE, GRAPHIC_TITLE_MENU_BACKGROUND, GRAPHIC_TITLE_MENU_LOGO, - SOUND_FAILED, - SOUND_ASSIST, - SOUND_SELECT, - SOUND_SWITCH_STYLE, - SOUND_SWITCH_MUSIC, - SOUND_SWITCH_SORT, - SOUND_EXPAND, - SOUND_SWITCH_STEPS, - SOUND_TITLE_CHANGE, - SOUND_MENU_SWOOSH, - SOUND_MENU_BACK, - SOUND_INVALID, SOUND_EDIT_CHANGE_LINE, SOUND_EDIT_CHANGE_SNAP, - SOUND_SELECT_DIFFICULTY_CHANGE, - SOUND_SELECT_MODE_CHANGE, - SOUND_ENDING_MUSIC, + SOUND_GAMEPLAY_ASSIST_TICK, + SOUND_GAMEPLAY_FAILED, + SOUND_INTRO_BREAK, + SOUND_MENU_BACK, + SOUND_MENU_INVALID, SOUND_MENU_MUSIC, + SOUND_MENU_PROMPT, + SOUND_MENU_START, + SOUND_MENU_SWOOSH, + SOUND_MUSIC_SCROLL_MUSIC, + SOUND_OPTION_CHANGE_COL, + SOUND_OPTION_CHANGE_ROW, + SOUND_RESULTS_FLY_OFF, + SOUND_RESULTS_SCORE_TICK, + SOUND_SELECT_DIFFICULTY_CHANGE, + SOUND_SELECT_GROUP_CHANGE, + SOUND_SELECT_MUSIC_SECTION_EXPAND, + SOUND_SELECT_MUSIC_CHANGE_MUSIC, + SOUND_SELECT_MUSIC_CHANGE_SORT, + SOUND_SELECT_MUSIC_CHANGE_NOTES, + SOUND_SELECT_STYLE_CHANGE, + SOUND_TITLE_MENU_CHANGE, FONT_HEADER1, FONT_HEADER2,