diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 06c8e82250..92aa274a3e 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -468,7 +468,6 @@ MemoryCardIcons=1 Class=ScreenSelectMusic Fallback=ScreenWithMenuElements MusicWheelType=MusicWheel -DefaultSort=Preferred FOV=0 FOVCenterX=SCREEN_CENTER_X+0 FOVCenterY=SCREEN_CENTER_Y+0 @@ -4544,6 +4543,8 @@ Answer3Of3Text=CANCEL [GameState] UseNameBlacklist=0 +DefaultSort=Preferred +DefaultSong= [ComboGraph] NumbersY=0 diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index ef74678c88..bb9e3ff223 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -48,6 +48,20 @@ GameState* GAMESTATE = NULL; // global and accessable from anywhere in our progr ThemeMetric USE_NAME_BLACKLIST("GameState","UseNameBlacklist"); +ThemeMetric DEFAULT_SORT ("GameState","DefaultSort"); +SortOrder GetDefaultSort() +{ + return StringToSortOrder( DEFAULT_SORT ); +} +ThemeMetric DEFAULT_SONG ("GameState","DefaultSong"); +Song* GetDefaultSong() +{ + SongID sid; + sid.LoadFromDir( DEFAULT_SONG ); + return sid.ToSong(); +} + + GameState::GameState() : m_pCurStyle( MESSAGE_CURRENT_STYLE_CHANGED ), m_PreferredCourseDifficulty( MESSAGE_EDIT_PREFERRED_COURSE_DIFFICULTY_P1_CHANGED ), @@ -160,7 +174,7 @@ void GameState::Reset() m_PreferredCourseDifficulty[p].Set( DIFFICULTY_MEDIUM ); } m_SortOrder = SORT_INVALID; - m_PreferredSortOrder = SORT_INVALID; + m_PreferredSortOrder = GetDefaultSort(); m_PlayMode = PLAY_MODE_INVALID; m_bEditing = false; m_bDemonstrationOrJukebox = false; @@ -175,7 +189,7 @@ void GameState::Reset() m_iGameSeed = rand(); m_iStageSeed = rand(); - m_pCurSong.Set( NULL ); + m_pCurSong.Set( GetDefaultSong() ); m_pPreferredSong = NULL; FOREACH_PlayerNumber( p ) m_pCurSteps[p].Set( NULL ); diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index c58f251d4f..3cc8f637ca 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -28,9 +28,6 @@ #define NUM_WHEEL_ITEMS ((int)ceil(NUM_WHEEL_ITEMS_TO_DRAW+2)) -// leaving this one under ScreenSelectMusic because that is the only place it takes effect anyway. -ThemeMetric DEFAULT_SORT ("ScreenSelectMusic","DefaultSort"); - static CString SECTION_COLORS_NAME( size_t i ) { return ssprintf("SectionColor%d",int(i+1)); } static CString CHOICE_NAME( CString s ) { return ssprintf("Choice%s",s.c_str()); } @@ -75,14 +72,6 @@ SortOrder ForceAppropriateSort( PlayMode pm, SortOrder so ) break; } - // if no preferred sort, fall back to theme default - if( so == SORT_INVALID ) - { - so = StringToSortOrder( DEFAULT_SORT ); - ASSERT( so != SORT_INVALID ); - return so; - } - return so; } diff --git a/stepmania/src/PaneDisplay.cpp b/stepmania/src/PaneDisplay.cpp index 31219f72e8..fc5995cf5c 100644 --- a/stepmania/src/PaneDisplay.cpp +++ b/stepmania/src/PaneDisplay.cpp @@ -175,7 +175,6 @@ void PaneDisplay::SetContent( PaneContents c ) const Course *pCourse = GAMESTATE->m_pCurCourse; const Trail *pTrail = GAMESTATE->m_pCurTrail[m_PlayerNumber]; const Profile *pProfile = PROFILEMAN->IsPersistentProfile(m_PlayerNumber) ? PROFILEMAN->GetProfile(m_PlayerNumber) : NULL; - bool bIsEdit = pSteps && pSteps->GetDifficulty() == DIFFICULTY_EDIT; if( (g_Contents[c].req&NEED_NOTES) && !pSteps ) goto done; @@ -224,8 +223,6 @@ void PaneDisplay::SetContent( PaneContents c ) case SONG_MACHINE_HIGH_NAME: /* set val for color */ case SONG_MACHINE_HIGH_SCORE: CHECKPOINT; - if( bIsEdit ) - goto done; // no machine scores for edits val = PROFILEMAN->GetMachineProfile()->GetStepsHighScoreList(pSong,pSteps).GetTopScore().fPercentDP; break; diff --git a/stepmania/src/SongUtil.h b/stepmania/src/SongUtil.h index 12ca09e62e..0454aa8833 100644 --- a/stepmania/src/SongUtil.h +++ b/stepmania/src/SongUtil.h @@ -46,6 +46,7 @@ public: XNode* CreateNode() const; void LoadFromNode( const XNode* pNode ); + void LoadFromDir( CString _sDir ) { sDir = _sDir; } CString ToString() const; bool IsValid() const; };