support fading in of notes from 0 alpha at farthest draw point to 1 alpha closer

This commit is contained in:
Chris Danford
2006-11-13 02:27:23 +00:00
parent d11cc96c80
commit 06e30d1f45
5 changed files with 75 additions and 49 deletions
+14 -2
View File
@@ -512,17 +512,29 @@ float ArrowGetPercentVisible( const PlayerState* pPlayerState, int iCol, float f
return clamp( 1+fVisibleAdjust, 0, 1 );
}
float ArrowEffects::GetAlpha( const PlayerState* pPlayerState, int iCol, float fYOffset, float fPercentFadeToFail, float fYReverseOffsetPixels )
float ArrowEffects::GetAlpha( const PlayerState* pPlayerState, int iCol, float fYOffset, float fPercentFadeToFail, float fYReverseOffsetPixels, float fDrawFarY, float fFadeInPercentOfDrawFar )
{
float fPercentVisible = ArrowGetPercentVisible(pPlayerState,iCol,fYOffset,fYReverseOffsetPixels);
if( fPercentFadeToFail != -1 )
fPercentVisible = 1 - fPercentFadeToFail;
/* Get the YPos without reverse (that is, factor in EFFECT_TIPSY). */
float fYPos = ArrowEffects::GetYPos( pPlayerState, iCol, fYOffset, fYReverseOffsetPixels, false );
float fFullAlphaY = fDrawFarY*(1-fFadeInPercentOfDrawFar);
if( fYPos > fFullAlphaY )
{
float f = SCALE( fYPos, fFullAlphaY, fDrawFarY, 1.0f, 0.0f );
return f;
}
return (fPercentVisible>0.5f) ? 1.0f : 0.0f;
}
float ArrowEffects::GetGlow( const PlayerState* pPlayerState, int iCol, float fYOffset, float fPercentFadeToFail, float fYReverseOffsetPixels )
float ArrowEffects::GetGlow( const PlayerState* pPlayerState, int iCol, float fYOffset, float fPercentFadeToFail, float fYReverseOffsetPixels, float fDrawFarY, float fFadeInPercentOfDrawFar )
{
float fPercentVisible = ArrowGetPercentVisible(pPlayerState,iCol,fYOffset,fYReverseOffsetPixels);