From abe10501f72b56d33ba66fd842a01342fa93c076 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 29 Aug 2004 21:26:52 +0000 Subject: [PATCH] change Twister to "max 3 holds at once" add Floored, "max 2 holds at once" --- stepmania/src/NoteDataUtil.cpp | 7 ++++++- stepmania/src/NoteDataUtil.h | 3 ++- stepmania/src/PlayerOptions.cpp | 7 +++++-- stepmania/src/PlayerOptions.h | 3 ++- stepmania/src/ScreenEdit.cpp | 5 +++-- stepmania/src/ScreenEdit.h | 2 +- 6 files changed, 19 insertions(+), 8 deletions(-) diff --git a/stepmania/src/NoteDataUtil.cpp b/stepmania/src/NoteDataUtil.cpp index b946452011..40ff2007d9 100644 --- a/stepmania/src/NoteDataUtil.cpp +++ b/stepmania/src/NoteDataUtil.cpp @@ -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. diff --git a/stepmania/src/NoteDataUtil.h b/stepmania/src/NoteDataUtil.h index 6be07cdf15..e1ed564573 100644 --- a/stepmania/src/NoteDataUtil.h +++ b/stepmania/src/NoteDataUtil.h @@ -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 ); diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index 29a863b24c..3020c2a45c 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -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. diff --git a/stepmania/src/PlayerOptions.h b/stepmania/src/PlayerOptions.h index db9da809aa..8dcef6d8a0 100644 --- a/stepmania/src/PlayerOptions.h +++ b/stepmania/src/PlayerOptions.h @@ -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, diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 13b5306952..95d61c4936 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -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; diff --git a/stepmania/src/ScreenEdit.h b/stepmania/src/ScreenEdit.h index 6dd9d9610a..47b0e6b2ae 100644 --- a/stepmania/src/ScreenEdit.h +++ b/stepmania/src/ScreenEdit.h @@ -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 };