From f34705a49512bf8983e3c28ffc1efb3dd989d897 Mon Sep 17 00:00:00 2001 From: Chris Gomez Date: Mon, 3 Feb 2003 04:50:37 +0000 Subject: [PATCH] Add a new sort type (SORT_GROUP_NOHEADER) which is the default and is like all music but doesn't display section headers. Make it the default for more arcade-like behavior. --- stepmania/src/GameConstantsAndTypes.h | 6 ++++-- stepmania/src/GameState.cpp | 7 +++++-- stepmania/src/MusicSortDisplay.cpp | 6 ++++-- stepmania/src/MusicWheel.cpp | 11 +++++++++-- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/stepmania/src/GameConstantsAndTypes.h b/stepmania/src/GameConstantsAndTypes.h index b662ad50bd..dd72922655 100644 --- a/stepmania/src/GameConstantsAndTypes.h +++ b/stepmania/src/GameConstantsAndTypes.h @@ -7,8 +7,9 @@ Desc: Things that are used in many places and don't change often. - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. Chris Danford + Chris Gomez ----------------------------------------------------------------------------- */ @@ -107,7 +108,8 @@ RageColor PlayerToColor( PlayerNumber pn ); RageColor PlayerToColor( int p ); -enum SongSortOrder { +enum SongSortOrder { + SORT_GROUP_NOHEADER, SORT_GROUP, SORT_TITLE, SORT_BPM, diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 2086ed7f56..2fd7659640 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -5,8 +5,9 @@ Desc: See Header. - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. Chris Danford + Chris Gomez ----------------------------------------------------------------------------- */ @@ -61,7 +62,9 @@ void GameState::Reset() m_sPreferredGroup = ""; for( p=0; pm_bMusicWheelUsesSections ? SORT_GROUP_NOHEADER : SORT_GROUP); m_PlayMode = PLAY_MODE_INVALID; m_bEditing = false; m_bDemonstration = false; diff --git a/stepmania/src/MusicSortDisplay.cpp b/stepmania/src/MusicSortDisplay.cpp index cc6ac1dd08..dc443b06b3 100644 --- a/stepmania/src/MusicSortDisplay.cpp +++ b/stepmania/src/MusicSortDisplay.cpp @@ -5,8 +5,9 @@ Desc: A graphic displayed in the MusicSortDisplay during Dancing. - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. Chris Danford + Chris Gomez ----------------------------------------------------------------------------- */ @@ -20,7 +21,7 @@ MusicSortDisplay::MusicSortDisplay() { - Load( THEME->GetPathTo("Graphics","music sort icons 1x4") ); + Load( THEME->GetPathTo("Graphics","music sort icons 1x5") ); StopAnimating(); } @@ -28,6 +29,7 @@ void MusicSortDisplay::Set( SongSortOrder so ) { switch( so ) { + case SORT_GROUP_NOHEADER: case SORT_GROUP: case SORT_TITLE: case SORT_BPM: diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 967d47c5d4..3a3112cbb7 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -5,8 +5,9 @@ Desc: See header. - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. Chris Danford + Chris Gomez ----------------------------------------------------------------------------- */ @@ -521,6 +522,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas // sort the songs switch( so ) { + case SORT_GROUP_NOHEADER: case SORT_GROUP: case SORT_ROULETTE: SortSongPointerArrayByGroup( arraySongs ); @@ -553,6 +555,7 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas bool bUseSections = false; switch( so ) { + case SORT_GROUP_NOHEADER: bUseSections = false; break; case SORT_MOST_PLAYED: bUseSections = false; break; case SORT_BPM: bUseSections = false; break; case SORT_GROUP: bUseSections = GAMESTATE->m_sPreferredGroup == "ALL MUSIC"; break; @@ -827,7 +830,11 @@ void MusicWheel::Update( float fDeltaTime ) CString sPrevSelectedSection = m_CurWheelItemData[m_iSelection]->m_sSectionName; // change the sort order - GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS ); + if(!PREFSMAN->m_bMusicWheelUsesSections && ( SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS) == SongSortOrder(SORT_GROUP_NOHEADER) )) + GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+2) % NUM_SORT_ORDERS); + else + GAMESTATE->m_SongSortOrder = SongSortOrder( (GAMESTATE->m_SongSortOrder+1) % NUM_SORT_ORDERS ); + SCREENMAN->SendMessageToTopScreen( SM_SortOrderChanged, 0 ); SetOpenGroup(GetSectionNameFromSongAndSort( pPrevSelectedSong, GAMESTATE->m_SongSortOrder ));