split SORT_MENU into SORT_SORT_MENU and SORT_MODE_MENU

This commit is contained in:
Chris Danford
2004-01-11 08:15:44 +00:00
parent f2769a19b5
commit 5b08f9dae2
8 changed files with 75 additions and 45 deletions
+8 -4
View File
@@ -2705,8 +2705,10 @@ ShowRandom=1
Use3D=0 Use3D=0
Wheel3DRadius=200 # Possibly safe defaults? Wheel3DRadius=200 # Possibly safe defaults?
CirclePercent=0.5 CirclePercent=0.5
MenuNames=GROUP:TITLE:BPM:PLAYERS' BEST:TOP GRADE:ARTIST:EASY METER:MEDIUM METER:HARD METER SortMenuNames=GROUP:TITLE:BPM:PLAYERS' BEST:TOP GRADE:ARTIST:EASY METER:MEDIUM METER:HARD METER
MenuActions=sort,GROUP:sort,TITLE:sort,BPM:sort,PLAYERS BEST:sort,TOP GRADE:sort,ARTIST:sort,EASY METER:sort,MEDIUM METER:sort,HARD METER SortMenuActions=sort,GROUP:sort,TITLE:sort,BPM:sort,PLAYERS BEST:sort,TOP GRADE:sort,ARTIST:sort,EASY METER:sort,MEDIUM METER:sort,HARD METER
ModeMenuNames=GROUP
ModeMenuActions=sort,GROUP
[LifeMeterBar] [LifeMeterBar]
MeterWidth=260 MeterWidth=260
@@ -3000,8 +3002,10 @@ NextSort1=MenuLeft-MenuRight-Start
NextSort2=MenuLeft+MenuRight NextSort2=MenuLeft+MenuRight
NextSort3=Left-Right-Start NextSort3=Left-Right-Start
NextSort4=Left+Right NextSort4=Left+Right
Menu1=Up,Down,Up,Down SortMenu1=Up,Down,Up,Down
Menu2=MenuUp,MenuDown,MenuUp,MenuDown SortMenu2=MenuUp,MenuDown,MenuUp,MenuDown
ModeMenu1=
ModeMenu2=
Mirror=Up,Left,Right,Left,Right Mirror=Up,Left,Right,Left,Right
Left=Up,Down,Right,Left Left=Up,Down,Right,Left
Right=Up,Down,Left,Right Right=Up,Down,Left,Right
+11 -4
View File
@@ -31,8 +31,10 @@ const CString g_sCodeNames[CodeDetector::NUM_CODES] = {
"NextSort2", "NextSort2",
"NextSort3", "NextSort3",
"NextSort4", "NextSort4",
"Menu1", "SortMenu1",
"Menu2", "SortMenu2",
"ModeMenu1",
"ModeMenu2",
"Mirror", "Mirror",
"Left", "Left",
"Right", "Right",
@@ -214,9 +216,14 @@ bool CodeDetector::EnteredNextSort( GameController controller )
EnteredCode(controller,CODE_NEXT_SORT4); EnteredCode(controller,CODE_NEXT_SORT4);
} }
bool CodeDetector::EnteredMenu( GameController controller ) bool CodeDetector::EnteredSortMenu( GameController controller )
{ {
return EnteredCode(controller,CODE_MENU1) || EnteredCode(controller,CODE_MENU2); return EnteredCode(controller,CODE_SORT_MENU1) || EnteredCode(controller,CODE_SORT_MENU2);
}
bool CodeDetector::EnteredModeMenu( GameController controller )
{
return EnteredCode(controller,CODE_MODE_MENU1) || EnteredCode(controller,CODE_MODE_MENU2);
} }
#define TOGGLE(v,a,b) if(v!=a) v=a; else v=b; #define TOGGLE(v,a,b) if(v!=a) v=a; else v=b;
+6 -3
View File
@@ -25,8 +25,10 @@ public:
CODE_NEXT_SORT2, CODE_NEXT_SORT2,
CODE_NEXT_SORT3, CODE_NEXT_SORT3,
CODE_NEXT_SORT4, CODE_NEXT_SORT4,
CODE_MENU1, CODE_SORT_MENU1,
CODE_MENU2, CODE_SORT_MENU2,
CODE_MODE_MENU1,
CODE_MODE_MENU2,
CODE_MIRROR, CODE_MIRROR,
CODE_LEFT, CODE_LEFT,
CODE_RIGHT, CODE_RIGHT,
@@ -61,7 +63,8 @@ public:
static bool EnteredEasierDifficulty( GameController controller ); static bool EnteredEasierDifficulty( GameController controller );
static bool EnteredHarderDifficulty( GameController controller ); static bool EnteredHarderDifficulty( GameController controller );
static bool EnteredNextSort( GameController controller ); static bool EnteredNextSort( GameController controller );
static bool EnteredMenu( GameController controller ); static bool EnteredSortMenu( GameController controller );
static bool EnteredModeMenu( GameController controller );
static bool DetectAndAdjustMusicOptions( GameController controller ); static bool DetectAndAdjustMusicOptions( GameController controller );
static bool EnteredCode( GameController controller, Code code ); static bool EnteredCode( GameController controller, Code code );
static bool EnteredNextBannerGroup( GameController controller ); static bool EnteredNextBannerGroup( GameController controller );
+2 -1
View File
@@ -136,7 +136,8 @@ enum SongSortOrder {
SORT_EASY_METER, SORT_EASY_METER,
SORT_MEDIUM_METER, SORT_MEDIUM_METER,
SORT_HARD_METER, SORT_HARD_METER,
SORT_MENU, SORT_SORT_MENU,
SORT_MODE_MENU,
SORT_ALL_COURSES, SORT_ALL_COURSES,
SORT_NONSTOP_COURSES, SORT_NONSTOP_COURSES,
SORT_ONI_COURSES, SORT_ONI_COURSES,
+29 -27
View File
@@ -56,8 +56,10 @@ CachedThemeMetricF CIRCLE_PERCENT ("MusicWheel","CirclePercent");
CachedThemeMetricB USE_3D ("MusicWheel","Use3D"); CachedThemeMetricB USE_3D ("MusicWheel","Use3D");
CachedThemeMetricI NUM_WHEEL_ITEMS_METRIC ("MusicWheel","NumWheelItems"); CachedThemeMetricI NUM_WHEEL_ITEMS_METRIC ("MusicWheel","NumWheelItems");
#define NUM_WHEEL_ITEMS min( MAX_WHEEL_ITEMS, (int) NUM_WHEEL_ITEMS_METRIC ) #define NUM_WHEEL_ITEMS min( MAX_WHEEL_ITEMS, (int) NUM_WHEEL_ITEMS_METRIC )
#define MENU_NAMES THEME->GetMetric ("MusicWheel","MenuNames") #define SORT_MENU_NAMES THEME->GetMetric ("MusicWheel","SortMenuNames")
#define MENU_ACTIONS THEME->GetMetric ("MusicWheel","MenuActions") #define SORT_MENU_ACTIONS THEME->GetMetric ("MusicWheel","SortMenuActions")
#define MODE_MENU_NAMES THEME->GetMetric ("MusicWheel","ModeMenuNames")
#define MODE_MENU_ACTIONS THEME->GetMetric ("MusicWheel","ModeMenuActions")
#define WHEEL_ITEM_ON_DELAY_CENTER THEME->GetMetricF("MusicWheel","WheelItemOnDelayCenter") #define WHEEL_ITEM_ON_DELAY_CENTER THEME->GetMetricF("MusicWheel","WheelItemOnDelayCenter")
#define WHEEL_ITEM_ON_DELAY_OFFSET THEME->GetMetricF("MusicWheel","WheelItemOnDelayOffset") #define WHEEL_ITEM_ON_DELAY_OFFSET THEME->GetMetricF("MusicWheel","WheelItemOnDelayOffset")
#define WHEEL_ITEM_OFF_DELAY_CENTER THEME->GetMetricF("MusicWheel","WheelItemOffDelayCenter") #define WHEEL_ITEM_OFF_DELAY_CENTER THEME->GetMetricF("MusicWheel","WheelItemOffDelayCenter")
@@ -76,8 +78,8 @@ static const SongSortOrder SortOrder[] =
SORT_BPM, SORT_BPM,
SORT_MOST_PLAYED, SORT_MOST_PLAYED,
SORT_ARTIST, SORT_ARTIST,
SORT_INVALID
}; };
// use ARRAYSIZE(SortOrder)
MusicWheel::MusicWheel() MusicWheel::MusicWheel()
@@ -377,10 +379,12 @@ void MusicWheel::BuildWheelItemDatas( vector<WheelItemData> &arrayWheelItemDatas
switch( so ) switch( so )
{ {
case SORT_MENU: case SORT_SORT_MENU:
case SORT_MODE_MENU:
{ {
arrayWheelItemDatas.clear(); // clear out the previous wheel items arrayWheelItemDatas.clear(); // clear out the previous wheel items
CString sNames = MENU_NAMES, sActions = MENU_ACTIONS; CString sNames = so==SORT_SORT_MENU ? SORT_MENU_NAMES : MODE_MENU_NAMES;
CString sActions = so==SORT_SORT_MENU ? SORT_MENU_ACTIONS : MODE_MENU_ACTIONS;
vector<CString> Names, Actions; vector<CString> Names, Actions;
split( sNames, ":", Names ); split( sNames, ":", Names );
split( sActions, ":", Actions ); split( sActions, ":", Actions );
@@ -910,7 +914,8 @@ void MusicWheel::Update( float fDeltaTime )
if( GAMESTATE->m_pCurSong ) if( GAMESTATE->m_pCurSong )
SelectSong( GAMESTATE->m_pCurSong ); SelectSong( GAMESTATE->m_pCurSong );
break; break;
case SORT_MENU: case SORT_SORT_MENU:
case SORT_MODE_MENU:
SelectSort( m_LastSongSortOrder ); SelectSort( m_LastSongSortOrder );
break; break;
default: default:
@@ -1139,29 +1144,26 @@ bool MusicWheel::ChangeSort( SongSortOrder new_so ) // return true if change suc
bool MusicWheel::NextSort() // return true if change successful bool MusicWheel::NextSort() // return true if change successful
{ {
/* Is the current sort in the default sort order? */ // don't allow NextSort when on the sort menu or mode menu
int cur = 0; switch( GAMESTATE->m_SongSortOrder )
while( SortOrder[cur] != SORT_INVALID && SortOrder[cur] != GAMESTATE->m_SongSortOrder )
++cur;
SongSortOrder so;
if( SortOrder[cur] == SORT_INVALID )
{ {
/* It isn't, which means we're either in the sort menu or in a sort selected case SORT_SORT_MENU:
* from the sort menu. If we're in the sort menu, return to the first sort. case SORT_MODE_MENU:
* Otherwise, return to the sort menu. */ return false;
if( GAMESTATE->m_SongSortOrder == SORT_MENU )
so = SortOrder[0];
else
so = SORT_MENU;
} else {
++cur;
if( SortOrder[cur] == SORT_INVALID )
cur = 0;
so = SortOrder[cur];
} }
return ChangeSort( so ); // find the index of the current sort
int cur = 0;
while( cur < ARRAYSIZE(SortOrder) && SortOrder[cur] != GAMESTATE->m_SongSortOrder )
++cur;
// move to the next sort with wrapping
++cur;
wrap( cur, ARRAYSIZE(SortOrder) );
// apply new sort
SongSortOrder soNew = SortOrder[cur];
return ChangeSort( soNew );
} }
bool MusicWheel::Select() // return true if this selection ends the screen bool MusicWheel::Select() // return true if this selection ends the screen
@@ -1283,7 +1285,7 @@ void MusicWheel::SetOpenGroup(CString group, SongSortOrder so)
// //
// Try to select the item that was selected before chaning groups // Try to select the item that was selected before changing groups
// //
m_iSelection = 0; m_iSelection = 0;
+2 -1
View File
@@ -350,7 +350,8 @@ PaneModes PaneDisplay::GetMode() const
case SORT_ONI_COURSES: case SORT_ONI_COURSES:
case SORT_ENDLESS_COURSES: case SORT_ENDLESS_COURSES:
return PANEMODE_COURSE; return PANEMODE_COURSE;
case SORT_MENU: case SORT_SORT_MENU:
case SORT_MODE_MENU:
return m_CurMode; // leave it return m_CurMode; // leave it
default: default:
return PANEMODE_SONG; return PANEMODE_SONG;
+15 -4
View File
@@ -597,9 +597,12 @@ void ScreenSelectMusic::TweenScoreOnAndOffAfterChangeSort()
case SORT_ENDLESS_COURSES: case SORT_ENDLESS_COURSES:
EnterCourseDisplayMode(); EnterCourseDisplayMode();
break; break;
case SORT_SORT_MENU:
case SORT_MODE_MENU:
// do nothing
break;
default: default:
if( GAMESTATE->m_SongSortOrder != SORT_MENU ) ExitCourseDisplayMode();
ExitCourseDisplayMode();
break; break;
} }
} }
@@ -708,12 +711,20 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type,
HarderDifficulty( pn ); HarderDifficulty( pn );
return; return;
} }
if( CodeDetector::EnteredMenu(GameI.controller) ) if( CodeDetector::EnteredSortMenu(GameI.controller) )
{ {
if( ( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage ) || GAMESTATE->IsExtraStage2() ) if( ( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage ) || GAMESTATE->IsExtraStage2() )
m_soundLocked.Play(); m_soundLocked.Play();
else else
m_MusicWheel.ChangeSort( SORT_MENU ); m_MusicWheel.ChangeSort( SORT_SORT_MENU );
return;
}
if( CodeDetector::EnteredModeMenu(GameI.controller) )
{
if( ( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage ) || GAMESTATE->IsExtraStage2() )
m_soundLocked.Play();
else
m_MusicWheel.ChangeSort( SORT_MODE_MENU );
return; return;
} }
if( CodeDetector::EnteredNextSort(GameI.controller) ) if( CodeDetector::EnteredNextSort(GameI.controller) )
+2 -1
View File
@@ -1463,7 +1463,8 @@ CString GetSectionNameFromSongAndSort( const Song* pSong, SongSortOrder so )
return ssprintf("%02d", pNotes->GetMeter() ); return ssprintf("%02d", pNotes->GetMeter() );
return "N/A"; return "N/A";
} }
case SORT_MENU: case SORT_SORT_MENU:
case SORT_MODE_MENU:
return ""; return "";
case SORT_ALL_COURSES: case SORT_ALL_COURSES:
case SORT_NONSTOP_COURSES: case SORT_NONSTOP_COURSES: