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
|
// don't mess with the arrows after they've crossed 0
|
||||||
if( fYOffset < 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* fAccels = GAMESTATE->m_CurrentPlayerOptions[pn].m_fAccels;
|
||||||
//const float* fEffects = GAMESTATE->m_CurrentPlayerOptions[pn].m_fEffects;
|
//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 )
|
if( fAccels[PlayerOptions::ACCEL_BOOMERANG] > 0 )
|
||||||
fYAdjust += fAccels[PlayerOptions::ACCEL_BOOMERANG] * (fYOffset * SCALE( fYOffset, 0.f, SCREEN_HEIGHT, 1.5f, 0.5f )- fYOffset);
|
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 )
|
return fYOffset;
|
||||||
{
|
|
||||||
float fYPos = fYOffset * GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
|
|
||||||
return fYPos;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float ArrowGetYPos( PlayerNumber pn, int iCol, float fYOffset, float fYReverseOffsetPixels )
|
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 );
|
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. */
|
/* 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.
|
// fYOffset is a vertical position in pixels relative to the center.
|
||||||
// (positive if has not yet been stepped on, negative if has already passed).
|
// (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 );
|
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.
|
// Actual display position, with reverse factored in.
|
||||||
float ArrowGetYPos( PlayerNumber pn, int iCol, float fYOffset, float fYReverseOffsetPixels );
|
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 )
|
while( fFirstBeatToDraw < GAMESTATE->m_fSongBeat )
|
||||||
{
|
{
|
||||||
float fYOffset = ArrowGetYOffset(pn, 0, fFirstBeatToDraw);
|
float fYOffset = ArrowGetYOffset(pn, 0, fFirstBeatToDraw);
|
||||||
float fYPosWOReverse = ArrowGetYPosWithoutReverse(pn, 0, fYOffset );
|
if( fYOffset < iFirstPixelToDraw ) // off screen
|
||||||
if( fYPosWOReverse < iFirstPixelToDraw ) // off screen
|
|
||||||
fFirstBeatToDraw += 0.1f; // move toward fSongBeat
|
fFirstBeatToDraw += 0.1f; // move toward fSongBeat
|
||||||
else // on screen
|
else // on screen
|
||||||
break; // stop probing
|
break; // stop probing
|
||||||
@@ -331,9 +330,8 @@ float FindLastDisplayedBeat( PlayerNumber pn, int iLastPixelToDraw )
|
|||||||
for( int i=0; i<NUM_ITERATIONS; i++ )
|
for( int i=0; i<NUM_ITERATIONS; i++ )
|
||||||
{
|
{
|
||||||
float fYOffset = ArrowGetYOffset( pn, 0, fLastBeatToDraw );
|
float fYOffset = ArrowGetYOffset( pn, 0, fLastBeatToDraw );
|
||||||
float fYPosWOReverse = ArrowGetYPosWithoutReverse( pn, 0, fYOffset );
|
|
||||||
|
|
||||||
if( fYPosWOReverse > iLastPixelToDraw ) // off screen
|
if( fYOffset > iLastPixelToDraw ) // off screen
|
||||||
fLastBeatToDraw -= fSearchDistance;
|
fLastBeatToDraw -= fSearchDistance;
|
||||||
else // on screen
|
else // on screen
|
||||||
fLastBeatToDraw += fSearchDistance;
|
fLastBeatToDraw += fSearchDistance;
|
||||||
|
|||||||
Reference in New Issue
Block a user