split LONG transform into BIG and QUICK

This commit is contained in:
Chris Danford
2003-02-20 00:57:52 +00:00
parent 514edee5e6
commit 8fc33de8bf
10 changed files with 54 additions and 28 deletions
+4 -3
View File
@@ -11,15 +11,16 @@ NEW FEATURE: New Edit menus with ability to delete Notes patterns and new
options for importing existing patterns into a new Notes pattern. options for importing existing patterns into a new Notes pattern.
NEW FEATURE: Jukebox mode. Like demonstration, but plays entire songs NEW FEATURE: Jukebox mode. Like demonstration, but plays entire songs
and loops. and loops.
NEW FEATURE: F6 to save screenshot. Saved in StepMania program directory NEW FEATURE: F5 to save screenshot. Saved in StepMania program directory
as "screenshotXXXX.bmp". as "screenshotXXXX.bmp".
CHANGE: Reorganization of options screens. CHANGE: Reorganization of options screens.
NEW FEATURE: Option for user-selectable extra stage 1 NEW FEATURE: Option for user-selectable extra stage 1
CHANGE: Documentation now in HTML format. CHANGE: Documentation now in HTML format.
CHANGE: Overhauled NoteSkin format. See README-FIRST.htm for details. CHANGE: Overhauled NoteSkin format. See README-FIRST.html for details.
BUG FIX: Super-shuffle fixed (now doesn't add extra notes) BUG FIX: Super-shuffle fixed (now doesn't add extra notes)
NEW FEATURE: Added WIDE transform (changes notes on beats to jumps) NEW FEATURE: Added WIDE transform (changes notes on beats to jumps)
NEW FEATURE: Added TALL transform (adds 16th notes between 8ths) NEW FEATURE: Added BIG transform (strategically inserts 8ths)
NEW FEATURE: Added QUICK transform (strategically inserts 16ths)
----------------------- Version 3.01 --------------------------- ----------------------- Version 3.01 ---------------------------
CHANGE: Simplified NoteSkin tap graphic format. Old NoteSkins will need to CHANGE: Simplified NoteSkin tap graphic format. Old NoteSkins will need to
+24 -6
View File
@@ -1043,25 +1043,43 @@ void NoteDataUtil::Wide( NoteData &in )
in.Convert4sToHoldNotes(); in.Convert4sToHoldNotes();
} }
void NoteDataUtil::Tall( NoteData &in ) void NoteDataUtil::Big( NoteData &in )
{
InsertIntelligentTaps(in,1.0f); // add 8ths
}
void NoteDataUtil::Quick( NoteData &in )
{
InsertIntelligentTaps(in,0.5f); // add 16ths
}
void NoteDataUtil::InsertIntelligentTaps( NoteData &in, float fBeatInterval )
{ {
in.ConvertHoldNotesTo4s(); in.ConvertHoldNotesTo4s();
// insert 16th between all 4th-8ths // insert 16th between all 4th-8ths
int max_row = in.GetLastRow(); int max_row = in.GetLastRow();
int rows_per_eighth = ROWS_PER_BEAT/2; int rows_per_interval = BeatToNoteRow( fBeatInterval );
for( int i=0; i<=max_row; i+=rows_per_eighth ) for( int i=0; i<=max_row; i+=rows_per_interval )
{ {
int iRowEarlier = i; int iRowEarlier = i;
int iRowLater = i + rows_per_eighth; int iRowLater = i + rows_per_interval;
int iRowMiddle = i + rows_per_eighth/2; int iRowMiddle = i + rows_per_interval/2;
if( in.GetNumTapNonEmptyTracks(iRowEarlier) != 1 ) if( in.GetNumTapNonEmptyTracks(iRowEarlier) != 1 )
continue; continue;
if( in.GetNumTapNonEmptyTracks(iRowLater) != 1 ) if( in.GetNumTapNonEmptyTracks(iRowLater) != 1 )
continue; continue;
// there is a 4th and 8th note surrounding iRowBetween // there is a 4th and 8th note surrounding iRowBetween
if( !in.IsRowEmpty(iRowMiddle) ) // there's already a 16th here // don't insert a new note if there's already one within this interval
bool bNoteInMiddle = false;
for( int j=iRowEarlier+1; j<=iRowLater-1; j++ )
if( !in.IsRowEmpty(iRowMiddle) )
{
bNoteInMiddle = true;
break;
}
if( bNoteInMiddle )
continue; continue;
// add a note determinitsitcally somewhere on a track different from the two surrounding notes // add a note determinitsitcally somewhere on a track different from the two surrounding notes
+3 -1
View File
@@ -140,7 +140,9 @@ namespace NoteDataUtil
void Turn( NoteData &in, TurnType tt ); void Turn( NoteData &in, TurnType tt );
void Little( NoteData &in ); void Little( NoteData &in );
void Wide( NoteData &in ); void Wide( NoteData &in );
void Tall( NoteData &in ); void Big( NoteData &in );
void Quick( NoteData &in );
void InsertIntelligentTaps( NoteData &in, float fBeatInterval );
void SuperShuffleTaps( NoteData &in ); void SuperShuffleTaps( NoteData &in );
void Backwards( NoteData &in ); void Backwards( NoteData &in );
void SwapSides( NoteData &in ); void SwapSides( NoteData &in );
+2 -1
View File
@@ -118,7 +118,8 @@ void Player::Load( PlayerNumber pn, NoteData* pNoteData, LifeMeter* pLM, ScoreDi
case PlayerOptions::TRANSFORM_NONE: break; case PlayerOptions::TRANSFORM_NONE: break;
case PlayerOptions::TRANSFORM_LITTLE: NoteDataUtil::Little(*this); break; case PlayerOptions::TRANSFORM_LITTLE: NoteDataUtil::Little(*this); break;
case PlayerOptions::TRANSFORM_WIDE: NoteDataUtil::Wide(*this); break; case PlayerOptions::TRANSFORM_WIDE: NoteDataUtil::Wide(*this); break;
case PlayerOptions::TRANSFORM_TALL: NoteDataUtil::Tall(*this); break; case PlayerOptions::TRANSFORM_BIG: NoteDataUtil::Big(*this); break;
case PlayerOptions::TRANSFORM_QUICK: NoteDataUtil::Quick(*this); break;
default: ASSERT(0); default: ASSERT(0);
} }
+4 -2
View File
@@ -91,7 +91,8 @@ CString PlayerOptions::GetString()
case TRANSFORM_NONE: break; case TRANSFORM_NONE: break;
case TRANSFORM_LITTLE: sReturn += "Little, "; break; case TRANSFORM_LITTLE: sReturn += "Little, "; break;
case TRANSFORM_WIDE: sReturn += "Wide, "; break; case TRANSFORM_WIDE: sReturn += "Wide, "; break;
case TRANSFORM_TALL: sReturn += "Tall, "; break; case TRANSFORM_BIG: sReturn += "Big, "; break;
case TRANSFORM_QUICK: sReturn += "Quick, "; break;
default: ASSERT(0); // invalid default: ASSERT(0); // invalid
} }
@@ -153,7 +154,8 @@ void PlayerOptions::FromString( CString sOptions )
else if( sBit == "supershuffle" )m_TurnType = TURN_SUPER_SHUFFLE; else if( sBit == "supershuffle" )m_TurnType = TURN_SUPER_SHUFFLE;
else if( sBit == "little" ) m_Transform = TRANSFORM_LITTLE; else if( sBit == "little" ) m_Transform = TRANSFORM_LITTLE;
else if( sBit == "wide" ) m_Transform = TRANSFORM_WIDE; else if( sBit == "wide" ) m_Transform = TRANSFORM_WIDE;
else if( sBit == "tall" ) m_Transform = TRANSFORM_TALL; else if( sBit == "big" ) m_Transform = TRANSFORM_BIG;
else if( sBit == "quick" ) m_Transform = TRANSFORM_QUICK;
else if( sBit == "reverse" ) m_bReverseScroll = true; else if( sBit == "reverse" ) m_bReverseScroll = true;
else if( sBit == "noholds" ) m_bHoldNotes = false; else if( sBit == "noholds" ) m_bHoldNotes = false;
else if( sBit == "nofreeze" ) m_bHoldNotes = false; else if( sBit == "nofreeze" ) m_bHoldNotes = false;
+2 -1
View File
@@ -58,7 +58,8 @@ struct PlayerOptions
TRANSFORM_NONE=0, TRANSFORM_NONE=0,
TRANSFORM_LITTLE, TRANSFORM_LITTLE,
TRANSFORM_WIDE, TRANSFORM_WIDE,
TRANSFORM_TALL, TRANSFORM_BIG,
TRANSFORM_QUICK,
NUM_TRANSFORMS NUM_TRANSFORMS
} m_Transform; } m_Transform;
void NextTransform(); void NextTransform();
+3 -2
View File
@@ -141,7 +141,7 @@ MiniMenuDefinition g_AreaMenu =
{ "Paste", true, 1, 0, {""} }, { "Paste", true, 1, 0, {""} },
{ "Clear", true, 1, 0, {""} }, { "Clear", true, 1, 0, {""} },
{ "Quantize", true, NUM_NOTE_TYPES, 0, {"4TH","8TH","12TH","16TH","24TH","32ND"} }, { "Quantize", true, NUM_NOTE_TYPES, 0, {"4TH","8TH","12TH","16TH","24TH","32ND"} },
{ "Transform", true, ScreenEdit::NUM_TRANSFORM_TYPES, 0, {"Little","Wide","Big","Left","Right","Mirror","Shuffle","Super Shuffle","Backwards","Swap Sides"} }, { "Transform", true, ScreenEdit::NUM_TRANSFORM_TYPES, 0, {"Little","Wide","Big","Quick","Left","Right","Mirror","Shuffle","Super Shuffle","Backwards","Swap Sides"} },
{ "Play selection", true, 1, 0, {""} }, { "Play selection", true, 1, 0, {""} },
{ "Record in selection",true, 1, 0, {""} }, { "Record in selection",true, 1, 0, {""} },
{ "Insert blank beat and shift down", true, 1, 0, {""} }, { "Insert blank beat and shift down", true, 1, 0, {""} },
@@ -1290,7 +1290,8 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
{ {
case little: NoteDataUtil::Little( m_Clipboard ); break; case little: NoteDataUtil::Little( m_Clipboard ); break;
case wide: NoteDataUtil::Wide( m_Clipboard ); break; case wide: NoteDataUtil::Wide( m_Clipboard ); break;
case tall: NoteDataUtil::Tall( m_Clipboard ); break; case big: NoteDataUtil::Big( m_Clipboard ); break;
case quick: NoteDataUtil::Quick( m_Clipboard ); break;
case left: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::left ); break; case left: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::left ); break;
case right: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::right ); break; case right: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::right ); break;
case shuffle: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::shuffle ); break; case shuffle: NoteDataUtil::Turn( m_Clipboard, NoteDataUtil::shuffle ); break;
+1 -1
View File
@@ -134,7 +134,7 @@ public:
NUM_AREA_MENU_CHOICES NUM_AREA_MENU_CHOICES
}; };
void HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers ); void HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers );
enum TransformType { little, wide, tall, left, right, mirror, shuffle, super_shuffle, backwards, swap_sides, NUM_TRANSFORM_TYPES }; enum TransformType { little, wide, big, quick, left, right, mirror, shuffle, super_shuffle, backwards, swap_sides, NUM_TRANSFORM_TYPES };
enum EditNotesStatisticsChoice { enum EditNotesStatisticsChoice {
difficulty, difficulty,
+1 -1
View File
@@ -40,7 +40,7 @@ OptionRowData g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = {
{ "Effect", 7, {"OFF","DRUNK","DIZZY","SPACE","MINI","FLIP","TORNADO"} }, { "Effect", 7, {"OFF","DRUNK","DIZZY","SPACE","MINI","FLIP","TORNADO"} },
{ "Appear\n-ance", 5, {"VISIBLE","HIDDEN","SUDDEN","STEALTH","BLINK"} }, { "Appear\n-ance", 5, {"VISIBLE","HIDDEN","SUDDEN","STEALTH","BLINK"} },
{ "Turn", 6, {"OFF","MIRROR","LEFT","RIGHT","SHUFFLE","SUPER SHUFFLE"} }, { "Turn", 6, {"OFF","MIRROR","LEFT","RIGHT","SHUFFLE","SUPER SHUFFLE"} },
{ "Trans\n-form", 4, {"OFF","LITTLE","WIDE","TALL"} }, { "Trans\n-form", 5, {"OFF","LITTLE","WIDE","BIG","QUICK"} },
{ "Scroll", 2, {"STANDARD","REVERSE"} }, { "Scroll", 2, {"STANDARD","REVERSE"} },
{ "Note\nSkin", 0, {""} }, { "Note\nSkin", 0, {""} },
{ "Holds", 2, {"OFF","ON"} }, { "Holds", 2, {"OFF","ON"} },
+4 -4
View File
@@ -218,8 +218,8 @@ void ScreenRanking::SetPage( PageToShow pts )
if( bRecentHighScore ) if( bRecentHighScore )
{ {
m_textNames[l].SetEffectDiffuseBlinking( 0.1f, TEXT_COLOR, RageColor(1,1,1,1) ); m_textNames[l].SetEffectGlowBlinking(0.1f);
m_textScores[l].SetEffectDiffuseBlinking( 0.1f, TEXT_COLOR, RageColor(1,1,1,1) ); m_textScores[l].SetEffectGlowBlinking(0.1f);
} }
else else
{ {
@@ -252,8 +252,8 @@ void ScreenRanking::SetPage( PageToShow pts )
pts.nt == GAMESTATE->m_RankingNotesType && pts.nt == GAMESTATE->m_RankingNotesType &&
GAMESTATE->m_iRankingIndex[p] == l ) GAMESTATE->m_iRankingIndex[p] == l )
{ {
m_textNames[l].SetEffectDiffuseBlinking(); m_textNames[l].SetEffectGlowBlinking(0.1f);
m_textScores[l].SetEffectDiffuseBlinking(); m_textScores[l].SetEffectGlowBlinking(0.1f);
} }
else else
{ {