From 380a2d00ee7ffa2bf90686793c3b8ee4d08b0d25 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 23 Feb 2004 05:33:33 +0000 Subject: [PATCH] add "cross" mod --- stepmania/Themes/default/metrics.ini | 5 +++-- stepmania/src/OptionIconRow.cpp | 1 + stepmania/src/PlayerOptions.cpp | 14 +++++++++++++- stepmania/src/PlayerOptions.h | 1 + stepmania/src/ScreenOptionsMaster.cpp | 3 --- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 68bde3c9a4..725fa380c6 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -4082,12 +4082,13 @@ Insert,6=mod,skippy;name,Skippy Insert,7=mod,echo;name,Echo Insert,8=mod,stomp;name,Stomp -Scroll=4 -ScrollDefault=mod,no reverse,no split,no alternate +Scroll=5 +ScrollDefault=mod,no reverse,no split,no alternate,no cross Scroll,1=name,Standard Scroll,2=mod,reverse;name,Reverse Scroll,3=mod,split;name,Split Scroll,4=mod,alternate;name,Alternate +Scroll,5=mod,cross;name,Cross Holds=6 HoldsDefault=mod,no noholds,no planted,no twister,no nojumps,no nohands diff --git a/stepmania/src/OptionIconRow.cpp b/stepmania/src/OptionIconRow.cpp index 21faeea2f8..4a90c30ffd 100644 --- a/stepmania/src/OptionIconRow.cpp +++ b/stepmania/src/OptionIconRow.cpp @@ -67,6 +67,7 @@ const OptionColumnEntry g_OptionColumnEntries[] = {"Reverse", 5}, {"Split", 5}, {"Alternate", 5}, + {"Cross", 5}, {"Incoming", 6}, {"Space", 6}, {"Hallway", 6}, diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index 635e69e9bc..9f20b5ddf7 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -126,6 +126,7 @@ CString PlayerOptions::GetString() const sReturn += AddPart( m_fScrolls[SCROLL_REVERSE], "Reverse" ); sReturn += AddPart( m_fScrolls[SCROLL_SPLIT], "Split" ); sReturn += AddPart( m_fScrolls[SCROLL_ALTERNATE], "Alternate" ); + sReturn += AddPart( m_fScrolls[SCROLL_CROSS], "Cross" ); sReturn += AddPart( m_fDark, "Dark"); @@ -292,6 +293,7 @@ void PlayerOptions::FromString( CString sOptions ) else if( sBit == "reverse" ) SET_FLOAT( fScrolls[SCROLL_REVERSE] ) else if( sBit == "split" ) SET_FLOAT( fScrolls[SCROLL_SPLIT] ) else if( sBit == "alternate" ) SET_FLOAT( fScrolls[SCROLL_ALTERNATE] ) + else if( sBit == "cross" ) SET_FLOAT( fScrolls[SCROLL_CROSS] ) else if( sBit == "noholds" || sBit == "nofreeze" ) m_bTransforms[TRANSFORM_NOHOLDS] = on; else if( sBit == "nomines" ) m_bTransforms[TRANSFORM_NOMINES] = on; else if( sBit == "dark" ) SET_FLOAT( fDark ) @@ -459,11 +461,21 @@ void PlayerOptions::SetOneScroll( Scroll s ) float PlayerOptions::GetReversePercentForColumn( int iCol ) { float f = 0; + int iNumCols = GAMESTATE->GetCurrentStyleDef()->m_iColsPerPlayer; + f += m_fScrolls[SCROLL_REVERSE]; - if( iCol >= GAMESTATE->GetCurrentStyleDef()->m_iColsPerPlayer/2 ) + + if( iCol >= iNumCols/2 ) f += m_fScrolls[SCROLL_SPLIT]; + if( (iCol%2)==1 ) f += m_fScrolls[SCROLL_ALTERNATE]; + + int iFirstCrossCol = iNumCols/4; + int iLastCrossCol = iNumCols-1-iFirstCrossCol; + if( iCol>=iFirstCrossCol && iCol<=iLastCrossCol ) + f += m_fScrolls[SCROLL_CROSS]; + if( f > 2 ) f = fmodf( f, 2 ); if( f > 1 ) diff --git a/stepmania/src/PlayerOptions.h b/stepmania/src/PlayerOptions.h index 2c7408f57d..695a38b524 100644 --- a/stepmania/src/PlayerOptions.h +++ b/stepmania/src/PlayerOptions.h @@ -83,6 +83,7 @@ struct PlayerOptions SCROLL_REVERSE=0, SCROLL_SPLIT, SCROLL_ALTERNATE, + SCROLL_CROSS, NUM_SCROLLS }; float GetReversePercentForColumn( int iCol ); // accounts for all Directions diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index 782f020ca8..8c7c9eedb9 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -30,10 +30,7 @@ #define ENTRY_MODE(s,i) THEME->GetMetric ("ScreenOptionsMaster",ssprintf("%s,%i",(s).c_str(),(i+1))) #define ENTRY_DEFAULT(s) THEME->GetMetric ("ScreenOptionsMaster",(s) + "Default") #define NEXT_SCREEN THEME->GetMetric (m_sName,"NextScreen") - -// #define NEXT_SCREEN( play_mode ) THEME->GetMetric (m_sName,"NextScreen"+Capitalize(PlayModeToString(play_mode))) #define PREV_SCREEN THEME->GetMetric (m_sName,"PrevScreen") -// #define PREV_SCREEN( play_mode ) THEME->GetMetric (m_sName,"PrevScreen"+Capitalize(PlayModeToString(play_mode))) /* Add the list named "ListName" to the given row/handler. */ void ScreenOptionsMaster::SetList( OptionRowData &row, OptionRowHandler &hand, CString ListName, CString &TitleOut )