Nothing ever uses YOffset directly; everything sends it to either
ArrowGetYPosWithoutReverse or ArrowGetYPos. ArrowGetYPos sends it to ArrowGetYPosWithoutReverse. Fold ArrowGetYPosWithoutReverse into ArrowGetYOffset.
This commit is contained in:
@@ -47,7 +47,7 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat )
|
||||
|
||||
// don't mess with the arrows after they've crossed 0
|
||||
if( fYOffset < 0 )
|
||||
return fYOffset;
|
||||
return fYOffset * GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
||||
|
||||
const float* fAccels = GAMESTATE->m_CurrentPlayerOptions[pn].m_fAccels;
|
||||
//const float* fEffects = GAMESTATE->m_CurrentPlayerOptions[pn].m_fEffects;
|
||||
@@ -81,18 +81,15 @@ float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat )
|
||||
if( fAccels[PlayerOptions::ACCEL_BOOMERANG] > 0 )
|
||||
fYAdjust += fAccels[PlayerOptions::ACCEL_BOOMERANG] * (fYOffset * SCALE( fYOffset, 0.f, SCREEN_HEIGHT, 1.5f, 0.5f )- fYOffset);
|
||||
|
||||
return fYOffset + fYAdjust;
|
||||
}
|
||||
fYOffset += fYAdjust;
|
||||
fYOffset *= GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
||||
|
||||
float ArrowGetYPosWithoutReverse( PlayerNumber pn, int iCol, float fYOffset )
|
||||
{
|
||||
float fYPos = fYOffset * GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
||||
return fYPos;
|
||||
return fYOffset;
|
||||
}
|
||||
|
||||
float ArrowGetYPos( PlayerNumber pn, int iCol, float fYOffset, float fYReverseOffsetPixels )
|
||||
{
|
||||
float f = ArrowGetYPosWithoutReverse(pn,iCol,fYOffset);
|
||||
float f = fYOffset;
|
||||
f *= SCALE( GAMESTATE->m_CurrentPlayerOptions[pn].GetReversePercentForColumn(iCol), 0.f, 1.f, 1.f, -1.f );
|
||||
|
||||
/* XXX: Hack: we need to scale the reverse shift by the zoom. */
|
||||
|
||||
@@ -19,12 +19,9 @@
|
||||
|
||||
// fYOffset is a vertical position in pixels relative to the center.
|
||||
// (positive if has not yet been stepped on, negative if has already passed).
|
||||
// The ArrowEffect is applied in this stage.
|
||||
// The ArrowEffect and ScrollSpeed is applied in this stage.
|
||||
float ArrowGetYOffset( PlayerNumber pn, int iCol, float fNoteBeat );
|
||||
|
||||
// This value is fYOffset with fScrollSpeed factored in.
|
||||
float ArrowGetYPosWithoutReverse( PlayerNumber pn, int iCol, float fYOffset );
|
||||
|
||||
// Actual display position, with reverse factored in.
|
||||
float ArrowGetYPos( PlayerNumber pn, int iCol, float fYOffset, float fYReverseOffsetPixels );
|
||||
|
||||
|
||||
@@ -301,8 +301,7 @@ float FindFirstDisplayedBeat( PlayerNumber pn, int iFirstPixelToDraw )
|
||||
while( fFirstBeatToDraw < GAMESTATE->m_fSongBeat )
|
||||
{
|
||||
float fYOffset = ArrowGetYOffset(pn, 0, fFirstBeatToDraw);
|
||||
float fYPosWOReverse = ArrowGetYPosWithoutReverse(pn, 0, fYOffset );
|
||||
if( fYPosWOReverse < iFirstPixelToDraw ) // off screen
|
||||
if( fYOffset < iFirstPixelToDraw ) // off screen
|
||||
fFirstBeatToDraw += 0.1f; // move toward fSongBeat
|
||||
else // on screen
|
||||
break; // stop probing
|
||||
@@ -331,9 +330,8 @@ float FindLastDisplayedBeat( PlayerNumber pn, int iLastPixelToDraw )
|
||||
for( int i=0; i<NUM_ITERATIONS; i++ )
|
||||
{
|
||||
float fYOffset = ArrowGetYOffset( pn, 0, fLastBeatToDraw );
|
||||
float fYPosWOReverse = ArrowGetYPosWithoutReverse( pn, 0, fYOffset );
|
||||
|
||||
if( fYPosWOReverse > iLastPixelToDraw ) // off screen
|
||||
if( fYOffset > iLastPixelToDraw ) // off screen
|
||||
fLastBeatToDraw -= fSearchDistance;
|
||||
else // on screen
|
||||
fLastBeatToDraw += fSearchDistance;
|
||||
|
||||
Reference in New Issue
Block a user