From 0d8a5f16a1a3e6c35f5ea3a68b67b9290d25d35a Mon Sep 17 00:00:00 2001 From: Thad Ward Date: Sun, 7 Sep 2003 14:29:59 +0000 Subject: [PATCH] Fix the Default Sort metric. it wasn't being used to initially build the wheel, and then when you chaged the sort, played a song, and selected another group, the sort would suddenly pop back to the default, which wasn't being used as the default in the first place. --- stepmania/src/MusicWheel.cpp | 13 ++++++++++++- stepmania/src/ScreenSelectMusic.cpp | 8 -------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 2b56643e38..6b67b0c912 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -54,6 +54,9 @@ CachedThemeMetricI NUM_WHEEL_ITEMS_METRIC ("MusicWheel","NumWheelItems"); #define MENU_NAMES THEME->GetMetric ("MusicWheel","MenuNames") #define MENU_ACTIONS THEME->GetMetric ("MusicWheel","MenuActions") +// leaving this one under ScreenSelectMusic because that is the only place it takes effect anyway. +#define DEFAULT_SORT THEME->GetMetric ("ScreenSelectMusic","DefaultSort") + const int MAX_WHEEL_SOUND_SPEED = 15; @@ -155,7 +158,15 @@ MusicWheel::MusicWheel() case PLAY_MODE_ONI: GAMESTATE->m_SongSortOrder = SORT_ONI_COURSES; break; case PLAY_MODE_NONSTOP: GAMESTATE->m_SongSortOrder = SORT_NONSTOP_COURSES; break; case PLAY_MODE_ENDLESS: GAMESTATE->m_SongSortOrder = SORT_ENDLESS_COURSES; break; - default: GAMESTATE->m_SongSortOrder = SortOrder[0]; break; + default: + // If there is a default sort requested..use it. + SongSortOrder so; + so = StringToSongSortOrder(DEFAULT_SORT); + if( so != SORT_INVALID ) + GAMESTATE->m_SongSortOrder = so; + else + GAMESTATE->m_SongSortOrder = SortOrder[0]; + break; } } diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 010cb79364..848731206a 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -38,7 +38,6 @@ const int NUM_SCORE_DIGITS = 9; -#define DEFAULT_SORT THEME->GetMetric ("ScreenSelectMusic","DefaultSort") #define FOV THEME->GetMetricF("ScreenSelectMusic","FOV") #define BANNER_WIDTH THEME->GetMetricF("ScreenSelectMusic","BannerWidth") #define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectMusic","BannerHeight") @@ -88,7 +87,6 @@ ScreenSelectMusic::ScreenSelectMusic() : Screen("ScreenSelectMusic") if( GAMESTATE->m_PlayMode == PLAY_MODE_INVALID ) RageException::Throw( "The PlayMode has not been set. A theme must set the PlayMode before loading ScreenSelectMusic." ); - CodeDetector::RefreshCacheItems(); int p; @@ -248,12 +246,6 @@ ScreenSelectMusic::ScreenSelectMusic() : Screen("ScreenSelectMusic") m_fPlaySampleCountdown = 0; m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false; - // If there is a default sort requested..use it. - SongSortOrder so; - so = StringToSongSortOrder(DEFAULT_SORT); - if( so != SORT_INVALID ) - GAMESTATE->m_SongSortOrder = so; - UpdateOptionsDisplays(); AfterMusicChange();