simplify
This commit is contained in:
@@ -707,76 +707,66 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn )
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// a song was selected
|
// a song was selected
|
||||||
switch( m_MusicWheel.GetSelectedType() )
|
if( m_MusicWheel.GetSelectedSong() != NULL )
|
||||||
{
|
{
|
||||||
case TYPE_SONG:
|
const bool bIsNew = PROFILEMAN->IsSongNew( m_MusicWheel.GetSelectedSong() );
|
||||||
case TYPE_PORTAL:
|
bool bIsHard = false;
|
||||||
|
FOREACH_HumanPlayer( p )
|
||||||
{
|
{
|
||||||
const bool bIsNew = PROFILEMAN->IsSongNew( m_MusicWheel.GetSelectedSong() );
|
if( GAMESTATE->m_pCurSteps[p] && GAMESTATE->m_pCurSteps[p]->GetMeter() >= 10 )
|
||||||
bool bIsHard = false;
|
bIsHard = true;
|
||||||
FOREACH_HumanPlayer( p )
|
|
||||||
{
|
|
||||||
if( GAMESTATE->m_pCurSteps[p] && GAMESTATE->m_pCurSteps[p]->GetMeter() >= 10 )
|
|
||||||
bIsHard = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* See if this song is a repeat. If we're in event mode, only check the last five songs. */
|
|
||||||
bool bIsRepeat = false;
|
|
||||||
int i = 0;
|
|
||||||
if( GAMESTATE->IsEventMode() )
|
|
||||||
i = max( 0, int(STATSMAN->m_vPlayedStageStats.size())-5 );
|
|
||||||
for( ; i < (int)STATSMAN->m_vPlayedStageStats.size(); ++i )
|
|
||||||
if( STATSMAN->m_vPlayedStageStats[i].vpPlayedSongs.back() == m_MusicWheel.GetSelectedSong() )
|
|
||||||
bIsRepeat = true;
|
|
||||||
|
|
||||||
/* Don't complain about repeats if the user didn't get to pick. */
|
|
||||||
if( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage )
|
|
||||||
bIsRepeat = false;
|
|
||||||
|
|
||||||
if( bIsRepeat )
|
|
||||||
SOUND->PlayOnceFromAnnouncer( "select music comment repeat" );
|
|
||||||
else if( bIsNew )
|
|
||||||
SOUND->PlayOnceFromAnnouncer( "select music comment new" );
|
|
||||||
else if( bIsHard )
|
|
||||||
SOUND->PlayOnceFromAnnouncer( "select music comment hard" );
|
|
||||||
else
|
|
||||||
SOUND->PlayOnceFromAnnouncer( "select music comment general" );
|
|
||||||
|
|
||||||
m_bMadeChoice = true;
|
|
||||||
|
|
||||||
/* If we're in event mode, we may have just played a course (putting us
|
|
||||||
* in course mode). Make sure we're in a single song mode. */
|
|
||||||
if( GAMESTATE->IsCourseMode() )
|
|
||||||
GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR );
|
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
|
|
||||||
case TYPE_COURSE:
|
/* See if this song is a repeat. If we're in event mode, only check the last five songs. */
|
||||||
|
bool bIsRepeat = false;
|
||||||
|
int i = 0;
|
||||||
|
if( GAMESTATE->IsEventMode() )
|
||||||
|
i = max( 0, int(STATSMAN->m_vPlayedStageStats.size())-5 );
|
||||||
|
for( ; i < (int)STATSMAN->m_vPlayedStageStats.size(); ++i )
|
||||||
|
if( STATSMAN->m_vPlayedStageStats[i].vpPlayedSongs.back() == m_MusicWheel.GetSelectedSong() )
|
||||||
|
bIsRepeat = true;
|
||||||
|
|
||||||
|
/* Don't complain about repeats if the user didn't get to pick. */
|
||||||
|
if( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage )
|
||||||
|
bIsRepeat = false;
|
||||||
|
|
||||||
|
if( bIsRepeat )
|
||||||
|
SOUND->PlayOnceFromAnnouncer( "select music comment repeat" );
|
||||||
|
else if( bIsNew )
|
||||||
|
SOUND->PlayOnceFromAnnouncer( "select music comment new" );
|
||||||
|
else if( bIsHard )
|
||||||
|
SOUND->PlayOnceFromAnnouncer( "select music comment hard" );
|
||||||
|
else
|
||||||
|
SOUND->PlayOnceFromAnnouncer( "select music comment general" );
|
||||||
|
|
||||||
|
m_bMadeChoice = true;
|
||||||
|
|
||||||
|
/* If we're in event mode, we may have just played a course (putting us
|
||||||
|
* in course mode). Make sure we're in a single song mode. */
|
||||||
|
if( GAMESTATE->IsCourseMode() )
|
||||||
|
GAMESTATE->m_PlayMode.Set( PLAY_MODE_REGULAR );
|
||||||
|
}
|
||||||
|
else if( m_MusicWheel.GetSelectedCourse() != NULL )
|
||||||
|
{
|
||||||
|
SOUND->PlayOnceFromAnnouncer( "select course comment general" );
|
||||||
|
|
||||||
|
Course *pCourse = m_MusicWheel.GetSelectedCourse();
|
||||||
|
ASSERT( pCourse );
|
||||||
|
GAMESTATE->m_PlayMode.Set( pCourse->GetPlayMode() );
|
||||||
|
|
||||||
|
// apply #LIVES
|
||||||
|
if( pCourse->m_iLives != -1 )
|
||||||
{
|
{
|
||||||
SOUND->PlayOnceFromAnnouncer( "select course comment general" );
|
SO_GROUP_ASSIGN( GAMESTATE->m_SongOptions, ModsLevel_Stage, m_LifeType, SongOptions::LIFE_BATTERY );
|
||||||
|
SO_GROUP_ASSIGN( GAMESTATE->m_SongOptions, ModsLevel_Stage, m_iBatteryLives, pCourse->m_iLives );
|
||||||
Course *pCourse = m_MusicWheel.GetSelectedCourse();
|
|
||||||
ASSERT( pCourse );
|
|
||||||
GAMESTATE->m_PlayMode.Set( pCourse->GetPlayMode() );
|
|
||||||
|
|
||||||
// apply #LIVES
|
|
||||||
if( pCourse->m_iLives != -1 )
|
|
||||||
{
|
|
||||||
SO_GROUP_ASSIGN( GAMESTATE->m_SongOptions, ModsLevel_Stage, m_LifeType, SongOptions::LIFE_BATTERY );
|
|
||||||
SO_GROUP_ASSIGN( GAMESTATE->m_SongOptions, ModsLevel_Stage, m_iBatteryLives, pCourse->m_iLives );
|
|
||||||
}
|
|
||||||
|
|
||||||
m_bMadeChoice = true;
|
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case TYPE_SECTION:
|
m_bMadeChoice = true;
|
||||||
case TYPE_ROULETTE:
|
}
|
||||||
case TYPE_RANDOM:
|
else
|
||||||
case TYPE_SORT:
|
{
|
||||||
/* We havn't made a selection yet. */
|
/* We havn't made a selection yet. */
|
||||||
return;
|
return;
|
||||||
default:
|
|
||||||
ASSERT(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SCREENMAN->PlayStartSound();
|
SCREENMAN->PlayStartSound();
|
||||||
|
|||||||
Reference in New Issue
Block a user