diff --git a/stepmania/src/NoteDataUtil.cpp b/stepmania/src/NoteDataUtil.cpp index ae9669f5d1..2baee208f1 100644 --- a/stepmania/src/NoteDataUtil.cpp +++ b/stepmania/src/NoteDataUtil.cpp @@ -15,6 +15,7 @@ #include "RageLog.h" #include "PlayerOptions.h" #include "song.h" +#include "GameState.h" NoteType NoteDataUtil::GetSmallestNoteTypeForMeasure( const NoteData &n, int iMeasureIndex ) { @@ -527,17 +528,32 @@ static void GetTrackMapping( StepsType st, NoteDataUtil::TrackMapping tt, int Nu case NoteDataUtil::shuffle: case NoteDataUtil::super_shuffle: // use shuffle code to mix up HoldNotes without creating impossible patterns { + // TRICKY: Shuffle so that both player get the same shuffle mapping + // in the same round. + int iShuffleSeed = GAMESTATE->m_iRoundSeed; +reshuffle: + RandomGen rnd( iShuffleSeed ); + vector aiTracksLeftToMap; for( t=0; t