diff --git a/stepmania/src/ArrowEffects.cpp b/stepmania/src/ArrowEffects.cpp index 09f19d8d02..d50101f6e2 100644 --- a/stepmania/src/ArrowEffects.cpp +++ b/stepmania/src/ArrowEffects.cpp @@ -138,11 +138,14 @@ const float fCenterLine = 160; // from fYPos == 0 const float fFadeDist = 100; // used by ArrowGetAlpha and ArrowGetGlow below -float ArrowGetPercentVisible( PlayerNumber pn, float fYPosWithoutReverse ) +float ArrowGetPercentVisible( PlayerNumber pn, float fYPos ) { - const float fDistFromCenterLine = fYPosWithoutReverse - fCenterLine; + if( GAMESTATE->m_CurrentPlayerOptions[pn].m_fReverseScroll > 0.5f ) + fYPos *= -1; - if( fYPosWithoutReverse < 0 ) // past Gray Arrows + const float fDistFromCenterLine = fYPos - fCenterLine; + + if( fYPos < 0 ) // past Gray Arrows return 1; // totally visible diff --git a/stepmania/src/PlayerOptions.cpp b/stepmania/src/PlayerOptions.cpp index 8deeb62c71..2db10b63c4 100644 --- a/stepmania/src/PlayerOptions.cpp +++ b/stepmania/src/PlayerOptions.cpp @@ -153,6 +153,7 @@ void PlayerOptions::FromString( CString sOptions ) if( sBit == "0.25x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 0.25f; } else if( sBit == "0.5x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 0.50f; } + else if( sBit == "0.75x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 0.75f; } else if( sBit == "1.5x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 1.00f; } else if( sBit == "2.0x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 2.00f; } else if( sBit == "3.0x" ) { /*m_bUseScrollBPM=false;*/ m_fScrollSpeed = 3.00f; } @@ -201,7 +202,8 @@ void PlayerOptions::FromString( CString sOptions ) void NextFloat( float fValues[], int size ) { int index = -1; - for( int i=0; i