never set FailMode harder than pref
This commit is contained in:
@@ -487,32 +487,32 @@ void ScreenSelectMusic::AdjustOptions()
|
|||||||
* player changes to a mode easier than the preference setting, we might
|
* player changes to a mode easier than the preference setting, we might
|
||||||
* reset it to the preference later. XXX */
|
* reset it to the preference later. XXX */
|
||||||
|
|
||||||
// Note all these if()s are mutually exclusive.
|
/* Never set the FailType harder than the preference. */
|
||||||
/* No; the second if overrides the first, and the third overrides the first
|
SongOptions::FailType ft = SongOptions::FAIL_ARCADE;
|
||||||
* two. */
|
|
||||||
|
|
||||||
/* Easy and beginner are never harder than FAIL_END_OF_SONG. */
|
/* Easy and beginner are never harder than FAIL_END_OF_SONG. */
|
||||||
if(dc <= DIFFICULTY_EASY)
|
if(dc <= DIFFICULTY_EASY)
|
||||||
GAMESTATE->m_SongOptions.m_FailType = SongOptions::FAIL_END_OF_SONG;
|
ft = SongOptions::FAIL_END_OF_SONG;
|
||||||
|
|
||||||
/* If beginner's steps were chosen, and this is the first stage,
|
/* If beginner's steps were chosen, and this is the first stage,
|
||||||
* turn off failure completely--always give a second try. */
|
* turn off failure completely--always give a second try. */
|
||||||
if(dc == DIFFICULTY_BEGINNER &&
|
if(dc == DIFFICULTY_BEGINNER &&
|
||||||
!PREFSMAN->m_bEventMode && /* stage index is meaningless in event mode */
|
!PREFSMAN->m_bEventMode && /* stage index is meaningless in event mode */
|
||||||
GAMESTATE->m_iCurrentStageIndex == 0)
|
GAMESTATE->m_iCurrentStageIndex == 0)
|
||||||
GAMESTATE->m_SongOptions.m_FailType = SongOptions::FAIL_OFF;
|
ft = SongOptions::FAIL_OFF;
|
||||||
|
// Redundant. -Chris
|
||||||
|
// else if(GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2())
|
||||||
|
// {
|
||||||
|
// /* Extra stage. We need to make sure we undo any changes above from
|
||||||
|
// * previous rounds; eg. where one player is on beginner and the other
|
||||||
|
// * is on hard, we've changed the fail mode in previous rounds and we
|
||||||
|
// * want to reset it for the extra stage.
|
||||||
|
// *
|
||||||
|
// * Besides, extra stage should probably always be FAIL_ARCADE anyway,
|
||||||
|
// * unless the extra stage course says otherwise. */
|
||||||
|
// ft = SongOptions::FAIL_ARCADE;
|
||||||
|
// }
|
||||||
|
|
||||||
if(GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2())
|
GAMESTATE->m_SongOptions.m_FailType = max( ft, GAMESTATE->m_SongOptions.m_FailType );
|
||||||
{
|
|
||||||
/* Extra stage. We need to make sure we undo any changes above from
|
|
||||||
* previous rounds; eg. where one player is on beginner and the other
|
|
||||||
* is on hard, we've changed the fail mode in previous rounds and we
|
|
||||||
* want to reset it for the extra stage.
|
|
||||||
*
|
|
||||||
* Besides, extra stage should probably always be FAIL_ARCADE anyway,
|
|
||||||
* unless the extra stage course says otherwise. */
|
|
||||||
GAMESTATE->m_SongOptions.m_FailType = SongOptions::FAIL_ARCADE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
|
void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
|
||||||
|
|||||||
Reference in New Issue
Block a user