change Twister to "max 3 holds at once"

add Floored, "max 2 holds at once"
This commit is contained in:
Chris Danford
2004-08-29 21:26:52 +00:00
parent d59247c03e
commit abe10501f7
6 changed files with 19 additions and 8 deletions
+6 -1
View File
@@ -1156,10 +1156,14 @@ void NoteDataUtil::Planted( NoteData &in, float fStartBeat, float fEndBeat )
{
ConvertTapsToHolds( in, 1, fStartBeat, fEndBeat );
}
void NoteDataUtil::Twister( NoteData &in, float fStartBeat, float fEndBeat )
void NoteDataUtil::Floored( NoteData &in, float fStartBeat, float fEndBeat )
{
ConvertTapsToHolds( in, 2, fStartBeat, fEndBeat );
}
void NoteDataUtil::Twister( NoteData &in, float fStartBeat, float fEndBeat )
{
ConvertTapsToHolds( in, 3, fStartBeat, fEndBeat );
}
void NoteDataUtil::ConvertTapsToHolds( NoteData &in, int iSimultaneousHolds, float fStartBeat, float fEndBeat )
{
// Convert all taps to freezes.
@@ -1599,6 +1603,7 @@ void NoteDataUtil::TransformNoteData( NoteData &nd, const PlayerOptions &po, Ste
// transforms wouldn't do anything because tap-adding transforms skip areas
// where there's a hold.
if( po.m_bTransforms[PlayerOptions::TRANSFORM_PLANTED] ) NoteDataUtil::Planted(nd, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_FLOORED] ) NoteDataUtil::Floored(nd, fStartBeat, fEndBeat);
if( po.m_bTransforms[PlayerOptions::TRANSFORM_TWISTER] ) NoteDataUtil::Twister(nd, fStartBeat, fEndBeat);
// Apply turns and shuffles last to that they affect inserts.
+2 -1
View File
@@ -56,8 +56,9 @@ namespace NoteDataUtil
float fEndBeat = 99999 );
void AddMines( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void Echo( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void Planted( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void Stomp( NoteData &in, StepsType st, float fStartBeat = 0, float fEndBeat = 99999 );
void Planted( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void Floored( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void Twister( NoteData &in, float fStartBeat = 0, float fEndBeat = 99999 );
void ConvertTapsToHolds( NoteData &in, int iSimultaneousHolds, float fStartBeat = 0, float fEndBeat = 99999 );
+5 -2
View File
@@ -147,8 +147,9 @@ CString PlayerOptions::GetString() const
if( m_bTransforms[TRANSFORM_SKIPPY] ) sReturn += "Skippy, ";
if( m_bTransforms[TRANSFORM_MINES] ) sReturn += "Mines, ";
if( m_bTransforms[TRANSFORM_ECHO] ) sReturn += "Echo, ";
if( m_bTransforms[TRANSFORM_PLANTED] ) sReturn += "Planted, ";
if( m_bTransforms[TRANSFORM_STOMP] ) sReturn += "Stomp, ";
if( m_bTransforms[TRANSFORM_PLANTED] ) sReturn += "Planted, ";
if( m_bTransforms[TRANSFORM_FLOORED] ) sReturn += "Floored, ";
if( m_bTransforms[TRANSFORM_TWISTER] ) sReturn += "Twister, ";
if( m_bTransforms[TRANSFORM_NOJUMPS] ) sReturn += "NoJumps, ";
if( m_bTransforms[TRANSFORM_NOHANDS] ) sReturn += "NoHands, ";
@@ -275,8 +276,9 @@ void PlayerOptions::FromString( CString sOptions )
else if( sBit == "skippy" ) m_bTransforms[TRANSFORM_SKIPPY] = on;
else if( sBit == "mines" ) m_bTransforms[TRANSFORM_MINES] = on;
else if( sBit == "echo" ) m_bTransforms[TRANSFORM_ECHO] = on;
else if( sBit == "planted" ) m_bTransforms[TRANSFORM_PLANTED] = on;
else if( sBit == "stomp" ) m_bTransforms[TRANSFORM_STOMP] = on;
else if( sBit == "planted" ) m_bTransforms[TRANSFORM_PLANTED] = on;
else if( sBit == "floored" ) m_bTransforms[TRANSFORM_FLOORED] = 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;
@@ -553,6 +555,7 @@ bool PlayerOptions::IsEasierForSongAndSteps( Song* pSong, Steps* pSteps )
// Inserted holds can be really easy on some songs, and scores will be
// highly hold-weighted, and very little tap score weighted.
if( m_bTransforms[TRANSFORM_PLANTED] ) return true;
if( m_bTransforms[TRANSFORM_FLOORED] ) return true;
if( m_bTransforms[TRANSFORM_TWISTER] ) return true;
// This makes songs with sparse notes easier.
+2 -1
View File
@@ -74,8 +74,9 @@ struct PlayerOptions
TRANSFORM_SKIPPY,
TRANSFORM_MINES,
TRANSFORM_ECHO,
TRANSFORM_PLANTED,
TRANSFORM_STOMP,
TRANSFORM_PLANTED,
TRANSFORM_FLOORED,
TRANSFORM_TWISTER,
TRANSFORM_NOJUMPS,
TRANSFORM_NOHANDS,
+3 -2
View File
@@ -160,7 +160,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","BMRize","Skippy","Mines","Echo","Planted","Stomp","Twister","NoJumps","NoHands","NoQuads" } },
{ "Transform", true, 0, { "NoHolds","NoMines","Little","Wide","Big","Quick","BMRize","Skippy","Mines","Echo","Stomp","Planted","Floored","Twister","NoJumps","NoHands","NoQuads" } },
{ "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 } },
@@ -1812,8 +1812,9 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
case skippy: NoteDataUtil::Skippy( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case mines: NoteDataUtil::AddMines( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case echo: NoteDataUtil::Echo( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case planted: NoteDataUtil::Planted( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case stomp: NoteDataUtil::Stomp( m_NoteFieldEdit, st, fBeginBeat, fEndBeat ); break;
case planted: NoteDataUtil::Planted( m_NoteFieldEdit, fBeginBeat, fEndBeat ); break;
case floored: NoteDataUtil::Floored( m_NoteFieldEdit, 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;
+1 -1
View File
@@ -138,7 +138,7 @@ public:
void HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers );
enum TurnType { left, right, mirror, shuffle, super_shuffle, NUM_TURN_TYPES };
// added bmrize - see note in NoteDataUtil.cpp as to WHY this mod was added
enum TransformType { noholds, nomines, little, wide, big, quick, bmrize, skippy, mines, echo, planted, stomp, twister, nojumps, nohands, noquads, NUM_TRANSFORM_TYPES };
enum TransformType { noholds, nomines, little, wide, big, quick, bmrize, skippy, mines, echo, stomp, planted, floored, twister, nojumps, nohands, noquads, 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 };