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:
Glenn Maynard
2003-09-26 03:31:58 +00:00
parent 48d8017fa7
commit 7be871b13a
3 changed files with 8 additions and 16 deletions
+5 -8
View File
@@ -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. */
+1 -4
View File
@@ -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 );
+2 -4
View File
@@ -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;