Added Swap Up/Down option to Edit Alter Menu.

This commit is contained in:
Kyzentun
2014-08-30 00:47:07 -06:00
parent ef2254a4c4
commit be64c240c3
5 changed files with 69 additions and 11 deletions
+1
View File
@@ -791,6 +791,7 @@ SuddenOffset=Sudden Offset
SuperShuffle=Cement Mixer
SoftShuffle=Soft Shuffle
Swap Sides=Swap Sides
Swap Up/Down=Swap Up/Down
Sync Machine=Sync Machine
Sync Song=Sync Song
Sync Tempo=Sync Tempo
+53
View File
@@ -1453,6 +1453,49 @@ static void GetTrackMapping( StepsType st, NoteDataUtil::TrackMapping tt, int Nu
break;
}
break;
case NoteDataUtil::swap_up_down:
switch(st)
{
case StepsType_dance_single:
case StepsType_dance_double:
case StepsType_dance_couple:
case StepsType_dance_routine:
iTakeFromTrack[0]= 0;
iTakeFromTrack[1]= 2;
iTakeFromTrack[2]= 1;
iTakeFromTrack[3]= 3;
iTakeFromTrack[4]= 4;
iTakeFromTrack[5]= 6;
iTakeFromTrack[6]= 5;
iTakeFromTrack[7]= 7;
break;
case StepsType_pump_single:
case StepsType_pump_double:
case StepsType_pump_couple:
case StepsType_pump_routine:
iTakeFromTrack[0]= 1;
iTakeFromTrack[1]= 0;
iTakeFromTrack[2]= 2;
iTakeFromTrack[3]= 4;
iTakeFromTrack[4]= 3;
iTakeFromTrack[5]= 6;
iTakeFromTrack[6]= 5;
iTakeFromTrack[7]= 7;
iTakeFromTrack[8]= 9;
iTakeFromTrack[9]= 8;
break;
case StepsType_pump_halfdouble:
iTakeFromTrack[0]= 0;
iTakeFromTrack[1]= 2;
iTakeFromTrack[2]= 1;
iTakeFromTrack[3]= 4;
iTakeFromTrack[4]= 3;
iTakeFromTrack[5]= 5;
break;
default:
break;
}
break;
default:
ASSERT(0);
}
@@ -2221,6 +2264,16 @@ void NoteDataUtil::ShiftRight( NoteData &inout )
ShiftTracks( inout, +1 );
}
void NoteDataUtil::SwapUpDown(NoteData& inout, StepsType st)
{
int TakeFrom[MAX_NOTE_TRACKS];
GetTrackMapping(st, NoteDataUtil::swap_up_down, inout.GetNumTracks(), TakeFrom);
NoteData tempND;
tempND.LoadTransformed(inout, inout.GetNumTracks(), TakeFrom);
inout.CopyAll(tempND);
inout.RevalidateATIs(vector<int>(), false);
}
struct ValidRow
{
+2
View File
@@ -124,6 +124,7 @@ namespace NoteDataUtil
soft_shuffle,
super_shuffle,
stomp,
swap_up_down,
NUM_TRACK_MAPPINGS
};
void Turn( NoteData &inout, StepsType st, TrackMapping tt, int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW );
@@ -165,6 +166,7 @@ namespace NoteDataUtil
void ShiftTracks( NoteData &inout, int iShiftBy );
void ShiftLeft( NoteData &inout );
void ShiftRight( NoteData &inout );
void SwapUpDown( NoteData &inout, StepsType st );
void SnapToNearestNoteType( NoteData &inout, NoteType nt1, NoteType nt2, int iStartIndex, int iEndIndex );
+2 -1
View File
@@ -616,7 +616,7 @@ static MenuDef g_AlterMenu(
MenuRowDef(ScreenEdit::alter, "Alter", true,
EditMode_Practice, true, true, 0, "Autogen To Fill Width","Backwards","Swap Sides",
"Copy Left To Right","Copy Right To Left","Clear Left","Clear Right",
"Collapse To One","Collapse Left","Shift Left","Shift Right" ),
"Collapse To One","Collapse Left","Shift Left","Shift Right", "Swap Up/Down" ),
MenuRowDef(ScreenEdit::tempo, "Tempo", true,
EditMode_Full, true, true, 0, "Compress 2x","Compress 3->2",
"Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" ),
@@ -4676,6 +4676,7 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector<int> &iAn
case collapse_left: NoteDataUtil::CollapseLeft( m_Clipboard ); break;
case shift_left: NoteDataUtil::ShiftLeft( m_Clipboard ); break;
case shift_right: NoteDataUtil::ShiftRight( m_Clipboard ); break;
case swap_up_down: NoteDataUtil::SwapUpDown(m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType); break;
}
HandleAreaMenuChoice( paste_at_begin_marker, false );
+1
View File
@@ -501,6 +501,7 @@ public:
collapse_left,
shift_left,
shift_right,
swap_up_down,
NUM_ALTER_TYPES
};
enum TempoType