More accurate left, right, and mirror pump mods.

BIG thanks to Hudson Felker and Bill Shillito.
This commit is contained in:
Jason Felds
2011-10-04 00:53:33 -04:00
parent 6c9a53a607
commit b69521c3c6
2 changed files with 65 additions and 11 deletions
+60 -11
View File
@@ -1161,16 +1161,16 @@ static void GetTrackMapping( StepsType st, NoteDataUtil::TrackMapping tt, int Nu
break;
case StepsType_pump_single:
case StepsType_pump_couple:
iTakeFromTrack[0] = 3;
iTakeFromTrack[1] = 4;
iTakeFromTrack[0] = 1;
iTakeFromTrack[1] = 3;
iTakeFromTrack[2] = 2;
iTakeFromTrack[3] = 0;
iTakeFromTrack[4] = 1;
iTakeFromTrack[5] = 8;
iTakeFromTrack[6] = 9;
iTakeFromTrack[3] = 4;
iTakeFromTrack[4] = 0;
iTakeFromTrack[5] = 6;
iTakeFromTrack[6] = 8;
iTakeFromTrack[7] = 7;
iTakeFromTrack[8] = 5;
iTakeFromTrack[9] = 6;
iTakeFromTrack[8] = 9;
iTakeFromTrack[9] = 5;
break;
case StepsType_pump_halfdouble:
iTakeFromTrack[0] = 2;
@@ -1209,9 +1209,58 @@ static void GetTrackMapping( StepsType st, NoteDataUtil::TrackMapping tt, int Nu
break;
case NoteDataUtil::mirror:
for( int t=0; t<NumTracks; t++ )
iTakeFromTrack[t] = NumTracks-t-1;
break;
{
switch (st)
{
case StepsType_pump_single:
case StepsType_pump_couple:
{
iTakeFromTrack[0] = 3;
iTakeFromTrack[1] = 4;
iTakeFromTrack[2] = 2;
iTakeFromTrack[3] = 0;
iTakeFromTrack[4] = 1;
iTakeFromTrack[5] = 8;
iTakeFromTrack[6] = 9;
iTakeFromTrack[7] = 2;
iTakeFromTrack[8] = 5;
iTakeFromTrack[9] = 6;
break;
}
case StepsType_pump_double:
case StepsType_pump_routine:
{
iTakeFromTrack[0] = 8;
iTakeFromTrack[1] = 9;
iTakeFromTrack[2] = 7;
iTakeFromTrack[3] = 5;
iTakeFromTrack[4] = 6;
iTakeFromTrack[5] = 3;
iTakeFromTrack[6] = 4;
iTakeFromTrack[7] = 2;
iTakeFromTrack[8] = 0;
iTakeFromTrack[9] = 1;
break;
}
case StepsType_pump_halfdouble:
{
iTakeFromTrack[0] = 5;
iTakeFromTrack[1] = 3;
iTakeFromTrack[2] = 4;
iTakeFromTrack[3] = 1;
iTakeFromTrack[4] = 2;
iTakeFromTrack[5] = 0;
break;
}
default:
{
for( int t=0; t<NumTracks; t++ )
iTakeFromTrack[t] = NumTracks-t-1;
break;
}
}
break;
}
case NoteDataUtil::shuffle:
case NoteDataUtil::super_shuffle: // use shuffle code to mix up HoldNotes without creating impossible patterns
{