diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 757f1377ea..6785197f3f 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,16 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +================================================================================ +StepMania 5.0 ????????? | 20110??? +-------------------------------------------------------------------------------- + +2011/05/31 +---------- +* [Player] Added the BattleRaveMirror metric. This determines if Battle and + Rave mode will have the two players with mirrored charts or not. By default, + this is set to true, preserving the ITG style behavior. [Wolfman2000] + ================================================================================ StepMania 5.0 Preview 1 | 20110529 -------------------------------------------------------------------------------- diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index ef5587c558..1c5d45139a 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1080,6 +1080,7 @@ PercentUntilColorCombo=0.25 ComboStoppedAt=50 AttackRunTimeRandom=6 AttackRunTimeMine=7 +BattleRaveMirror=true [PlayerOptions] RandomSpeedChance=0.2 diff --git a/src/Player.cpp b/src/Player.cpp index 6a9def4af2..5caa7b5a65 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -198,6 +198,9 @@ ThemeMetric COMBO_STOPPED_AT ( "Player", "ComboStoppedAt" ); ThemeMetric ATTACK_RUN_TIME_RANDOM ( "Player", "AttackRunTimeRandom" ); ThemeMetric ATTACK_RUN_TIME_MINE ( "Player", "AttackRunTimeMine" ); +/** @brief Will battle modes have their steps mirrored or kept the same? */ +ThemeMetric BATTLE_RAVE_MIRROR ( "Player", "BattleRaveMirror" ); + float Player::GetWindowSeconds( TimingWindow tw ) { float fSecs = m_fTimingWindowSeconds[tw]; @@ -558,23 +561,26 @@ void Player::Load() StepsType st = GAMESTATE->GetCurrentStyle()->m_StepsType; NoteDataUtil::TransformNoteData( m_NoteData, m_pPlayerState->m_PlayerOptions.GetStage(), st ); - // shuffle either p1 or p2 - static int count = 0; - switch( count ) + if (BATTLE_RAVE_MIRROR) { - case 0: - case 3: - NoteDataUtil::Turn( m_NoteData, st, NoteDataUtil::left); - break; - case 1: - case 2: - NoteDataUtil::Turn( m_NoteData, st, NoteDataUtil::right); - break; - default: - ASSERT(0); + // shuffle either p1 or p2 + static int count = 0; + switch( count ) + { + case 0: + case 3: + NoteDataUtil::Turn( m_NoteData, st, NoteDataUtil::left); + break; + case 1: + case 2: + NoteDataUtil::Turn( m_NoteData, st, NoteDataUtil::right); + break; + default: + ASSERT(0); + } + count++; + count %= 4; } - count++; - count %= 4; } break; }