split SORT_MENU into SORT_SORT_MENU and SORT_MODE_MENU
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) )
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user