add "nojumps"

This commit is contained in:
Chris Danford
2004-01-11 06:34:30 +00:00
parent 22039a350f
commit e2136499e1
8 changed files with 26 additions and 9 deletions
+4 -3
View File
@@ -4056,13 +4056,14 @@ Scroll,2=mod,reverse;name,Reverse
Scroll,3=mod,split;name,Split
Scroll,4=mod,alternate;name,Alternate
Holds=5
HoldsDefault=mod,no noholds,no planted,no twister,no nohands
Holds=6
HoldsDefault=mod,no noholds,no planted,no twister,no nojumps,no nohands
Holds,1=mod,noholds;name,Off
Holds,2=name,On
Holds,3=mod,planted;name,Planted
Holds,4=mod,twister;name,Twister
Holds,5=mod,nohands;name,NoHands
Holds,5=mod,nojumps;name,NoJumps
Holds,6=mod,nohands;name,NoHands
Mines=3
MinesDefault=mod,no nomines,no mines
+12 -2
View File
@@ -369,7 +369,7 @@ void NoteDataUtil::RemoveHoldNotes(NoteData &in, float fStartBeat, float fEndBea
}
void NoteDataUtil::RemoveHands(NoteData &in, float fStartBeat, float fEndBeat)
void NoteDataUtil::RemoveSimultaneousNotes(NoteData &in, int iMaxSimultaneous, float fStartBeat, float fEndBeat)
{
int iStartIndex = BeatToNoteRow( fStartBeat );
int iEndIndex = BeatToNoteRow( fEndBeat );
@@ -385,7 +385,7 @@ void NoteDataUtil::RemoveHands(NoteData &in, float fStartBeat, float fEndBeat)
// remove the first tap note or the first hold note that starts on this row
int iTotalTracksPressed = in.GetNumTracksWithTap(r) + viTracksHeld.size();
int iTracksToRemove = max( 0, iTotalTracksPressed - 2 );
int iTracksToRemove = max( 0, iTotalTracksPressed - iMaxSimultaneous );
for( int t=0; iTracksToRemove>0 && t<in.GetNumTracks(); t++ )
{
if( in.GetTapNote(t,r) == TAP_TAP )
@@ -410,6 +410,15 @@ void NoteDataUtil::RemoveHands(NoteData &in, float fStartBeat, float fEndBeat)
}
}
void NoteDataUtil::RemoveJumps( NoteData &in, float fStartBeat, float fEndBeat )
{
RemoveSimultaneousNotes(in,1);
}
void NoteDataUtil::RemoveHands( NoteData &in, float fStartBeat, float fEndBeat )
{
RemoveSimultaneousNotes(in,2);
}
void NoteDataUtil::RemoveMines(NoteData &in, float fStartBeat, float fEndBeat )
{
@@ -1342,6 +1351,7 @@ void NoteDataUtil::TransformNoteData( NoteData &nd, const PlayerOptions &po, Ste
if( po.m_bTransforms[PlayerOptions::TRANSFORM_PLANTED] ) NoteDataUtil::Planted(nd, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_STOMP] ) NoteDataUtil::Stomp(nd, st, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_TWISTER] ) NoteDataUtil::Twister(nd, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_NOJUMPS] ) NoteDataUtil::RemoveJumps(nd, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_NOHANDS] ) NoteDataUtil::RemoveHands(nd, fStartBeat, fEndBeat);
}
+2
View File
@@ -40,6 +40,8 @@ namespace NoteDataUtil
float GetRadarValue( const NoteData &in, RadarCategory rv, float fSongSeconds );
void RemoveHoldNotes( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void RemoveSimultaneousNotes( NoteData &in, int iMaxSimultaneous, float fStartBeat = 0, float fEndBeat = 99999 );
void RemoveJumps( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void RemoveHands( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void RemoveMines( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
enum TrackMapping { left, right, mirror, shuffle, super_shuffle, stomp, NUM_TRACK_MAPPINGS };
+2
View File
@@ -156,6 +156,7 @@ CString PlayerOptions::GetString() const
if( m_bTransforms[TRANSFORM_PLANTED] ) sReturn += "Planted, ";
if( m_bTransforms[TRANSFORM_STOMP] ) sReturn += "Stomp, ";
if( m_bTransforms[TRANSFORM_TWISTER] ) sReturn += "Twister, ";
if( m_bTransforms[TRANSFORM_NOJUMPS] ) sReturn += "NoJumps, ";
if( m_bTransforms[TRANSFORM_NOHANDS] ) sReturn += "NoHands, ";
if( m_bTimingAssist ) sReturn += "TimingAssist, ";
@@ -282,6 +283,7 @@ void PlayerOptions::FromString( CString sOptions )
else if( sBit == "planted" ) m_bTransforms[TRANSFORM_PLANTED] = on;
else if( sBit == "stomp" ) m_bTransforms[TRANSFORM_STOMP] = on;
else if( sBit == "twister" ) m_bTransforms[TRANSFORM_TWISTER] = on;
else if( sBit == "nojumps" ) m_bTransforms[TRANSFORM_NOJUMPS] = on;
else if( sBit == "nohands" ) m_bTransforms[TRANSFORM_NOHANDS] = on;
else if( sBit == "reverse" ) SET_FLOAT( fScrolls[SCROLL_REVERSE] )
else if( sBit == "split" ) SET_FLOAT( fScrolls[SCROLL_SPLIT] )
+1
View File
@@ -73,6 +73,7 @@ struct PlayerOptions
TRANSFORM_PLANTED,
TRANSFORM_STOMP,
TRANSFORM_TWISTER,
TRANSFORM_NOJUMPS,
TRANSFORM_NOHANDS,
NUM_TRANSFORMS
};
+2 -1
View File
@@ -161,7 +161,7 @@ static const MenuRow g_AreaMenuItems[] =
{ "Clear", true, 0, { NULL } },
{ "Quantize", true, 0, { "4TH","8TH","12TH","16TH","24TH","32ND","48TH","64TH" } },
{ "Turn", true, 0, { "Left","Right","Mirror","Shuffle","Super Shuffle" } },
{ "Transform", true, 0, { "NoHolds","NoMines","Little","Wide","Big","Quick","Skippy","Mines","Echo","Planted","Stomp","Twister","NoHands" } },
{ "Transform", true, 0, { "NoHolds","NoMines","Little","Wide","Big","Quick","Skippy","Mines","Echo","Planted","Stomp","Twister","NoJumps","NoHands" } },
{ "Alter", true, 0, { "Backwards","Swap Sides","Copy Left To Right","Copy Right To Left","Clear Left","Clear Right","Collapse To One","Collapse Left","Shift Left","Shift Right" } },
{ "Tempo", true, 0, { "Compress 2x","Compress 3->2","Compress 4->3","Expand 3->4","Expand 2->3","Expand 2x" } },
{ "Play selection", true, 0, { NULL } },
@@ -1588,6 +1588,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
case planted: NoteDataUtil::Planted( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case stomp: NoteDataUtil::Stomp( m_NoteFieldEdit, st, fBeginBeat, fEndBeat ); break;
case twister: NoteDataUtil::Twister( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case nojumps: NoteDataUtil::RemoveJumps( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case nohands: NoteDataUtil::RemoveHands( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
default: ASSERT(0);
}
+1 -1
View File
@@ -133,7 +133,7 @@ public:
};
void HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers );
enum TurnType { left, right, mirror, shuffle, super_shuffle, NUM_TURN_TYPES };
enum TransformType { noholds, nomines, little, wide, big, quick, skippy, mines, echo, planted, stomp, twister, nohands, NUM_TRANSFORM_TYPES };
enum TransformType { noholds, nomines, little, wide, big, quick, skippy, mines, echo, planted, stomp, twister, nojumps, nohands, NUM_TRANSFORM_TYPES };
enum AlterType { backwards, swap_sides, copy_left_to_right, copy_right_to_left, clear_left, clear_right, collapse_to_one, collapse_left, shift_left, shift_right, NUM_ALTER_TYPES };
// MD 11/02/03 - added additional tempo adjusts which make "sense"
enum TempoType { compress_2x, compress_3_2, compress_4_3, expand_4_3, expand_3_2, expand_2x, NUM_TEMPO_TYPES };
+2 -2
View File
@@ -586,8 +586,8 @@ void ScreenOptionsMaster::ExportOptions()
const OptionRowHandler &hand = OptionRowHandlers[row];
if( hand.type == ROW_LIST )
{
const int sel = m_Rows[row]->GetOneSharedSelection();
const ModeChoice &mc = hand.ListEntries[sel];
const int choice = m_Rows[row]->m_iChoiceWithFocus[0];
const ModeChoice &mc = hand.ListEntries[choice];
if( mc.m_sScreen != "" )
m_NextScreen = mc.m_sScreen;
}