fix wrong ROW_STEP options show on SSOM if switch to a course mode then back to a song mode
This commit is contained in:
@@ -897,6 +897,9 @@ void MusicWheel::Update( float fDeltaTime )
|
|||||||
|
|
||||||
m_iSelection = 0;
|
m_iSelection = 0;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Select the previously selected item
|
||||||
|
//
|
||||||
switch( GAMESTATE->m_SongSortOrder )
|
switch( GAMESTATE->m_SongSortOrder )
|
||||||
{
|
{
|
||||||
case SORT_PREFERRED:
|
case SORT_PREFERRED:
|
||||||
@@ -929,7 +932,9 @@ void MusicWheel::Update( float fDeltaTime )
|
|||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
// Change difficulty for sorts by meter
|
// Change difficulty for sorts by meter
|
||||||
|
//
|
||||||
Difficulty dc = DIFFICULTY_INVALID;
|
Difficulty dc = DIFFICULTY_INVALID;
|
||||||
switch( GAMESTATE->m_SongSortOrder )
|
switch( GAMESTATE->m_SongSortOrder )
|
||||||
{
|
{
|
||||||
@@ -939,9 +944,40 @@ void MusicWheel::Update( float fDeltaTime )
|
|||||||
case SORT_CHALLENGE_METER: dc = DIFFICULTY_CHALLENGE; break;
|
case SORT_CHALLENGE_METER: dc = DIFFICULTY_CHALLENGE; break;
|
||||||
}
|
}
|
||||||
if( dc != DIFFICULTY_INVALID )
|
if( dc != DIFFICULTY_INVALID )
|
||||||
|
{
|
||||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||||
if( GAMESTATE->IsPlayerEnabled(p) )
|
if( GAMESTATE->IsPlayerEnabled(p) )
|
||||||
GAMESTATE->m_PreferredDifficulty[p] = dc;
|
GAMESTATE->m_PreferredDifficulty[p] = dc;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Unselect the current song if this is a course mode.
|
||||||
|
// Unselect the current course if this is a song sort.
|
||||||
|
//
|
||||||
|
switch( GAMESTATE->m_SongSortOrder )
|
||||||
|
{
|
||||||
|
case SORT_PREFERRED:
|
||||||
|
case SORT_GROUP:
|
||||||
|
case SORT_TITLE:
|
||||||
|
case SORT_BPM:
|
||||||
|
case SORT_GRADE:
|
||||||
|
case SORT_ARTIST:
|
||||||
|
case SORT_MOST_PLAYED:
|
||||||
|
case SORT_ROULETTE:
|
||||||
|
case SORT_EASY_METER:
|
||||||
|
case SORT_MEDIUM_METER:
|
||||||
|
case SORT_HARD_METER:
|
||||||
|
case SORT_CHALLENGE_METER:
|
||||||
|
GAMESTATE->m_pCurCourse = NULL;
|
||||||
|
break;
|
||||||
|
case SORT_ALL_COURSES:
|
||||||
|
case SORT_NONSTOP_COURSES:
|
||||||
|
case SORT_ONI_COURSES:
|
||||||
|
case SORT_ENDLESS_COURSES:
|
||||||
|
GAMESTATE->m_pCurSong = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
|
SCREENMAN->PostMessageToTopScreen( SM_SongChanged, 0 );
|
||||||
RebuildMusicWheelItems();
|
RebuildMusicWheelItems();
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ void ScreenOptionsMaster::SetStep( OptionRowData &row, OptionRowHandler &hand )
|
|||||||
row.choices.push_back( "" );
|
row.choices.push_back( "" );
|
||||||
hand.ListEntries.push_back( ModeChoice() );
|
hand.ListEntries.push_back( ModeChoice() );
|
||||||
}
|
}
|
||||||
else if( GAMESTATE->m_pCurCourse ) // playing a course
|
else if( GAMESTATE->IsCourseMode() ) // playing a course
|
||||||
{
|
{
|
||||||
row.bOneChoiceForAllPlayers = PREFSMAN->m_bLockCourseDifficulties;
|
row.bOneChoiceForAllPlayers = PREFSMAN->m_bLockCourseDifficulties;
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ void ScreenOptionsMaster::SetStep( OptionRowData &row, OptionRowHandler &hand )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( GAMESTATE->m_pCurSong ) // playing a song
|
else // !GAMESTATE->IsCourseMode(), playing a song
|
||||||
{
|
{
|
||||||
vector<Steps*> vSteps;
|
vector<Steps*> vSteps;
|
||||||
GAMESTATE->m_pCurSong->GetSteps( vSteps, GAMESTATE->GetCurrentStyleDef()->m_StepsType );
|
GAMESTATE->m_pCurSong->GetSteps( vSteps, GAMESTATE->GetCurrentStyleDef()->m_StepsType );
|
||||||
@@ -148,10 +148,6 @@ void ScreenOptionsMaster::SetStep( OptionRowData &row, OptionRowHandler &hand )
|
|||||||
hand.ListEntries.push_back( mc );
|
hand.ListEntries.push_back( mc );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
row.choices.push_back( ENTRY_NAME("N/A") );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user