draw hold bodies as a quad strip; much simpler and avoids a lot of duplication
This commit is contained in:
+67
-135
@@ -521,51 +521,36 @@ void NoteDisplay::DrawHoldTopCap( const HoldNote& hn, const bool bIsBeingHeld, f
|
|||||||
const float fYCapTop = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead-fFrameHeight;
|
const float fYCapTop = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead-fFrameHeight;
|
||||||
const float fYCapBottom = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead;
|
const float fYCapBottom = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead;
|
||||||
|
|
||||||
|
bool bLast = false;
|
||||||
for( float fY=fYCapTop; fY<fYCapBottom; fY+=fYStep )
|
for( float fY=fYCapTop; fY<fYCapBottom; fY+=fYStep )
|
||||||
{
|
{
|
||||||
const float fYTop = fY;
|
if( fY >= fYCapBottom )
|
||||||
const float fYOffsetTop = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYTop, m_fYReverseOffsetPixels );
|
{
|
||||||
const float fStepHeight = min( fYStep, fFrameHeight );
|
fY = fYCapBottom;
|
||||||
const float fYBottom = min( fY+fStepHeight, fYCapBottom );
|
bLast = true;
|
||||||
const float fYOffsetBottom = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYBottom, m_fYReverseOffsetPixels );
|
}
|
||||||
const float fZTop = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetTop );
|
|
||||||
const float fZBottom = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
const float fYOffset = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fY, m_fYReverseOffsetPixels );
|
||||||
const float fXTop = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetTop );
|
const float fZ = ArrowGetZPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
const float fXBottom = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
const float fX = ArrowGetXPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
const float fXTopLeft = fXTop - fFrameWidth/2;
|
const float fXLeft = fX - fFrameWidth/2;
|
||||||
const float fXTopRight = fXTop + fFrameWidth/2;
|
const float fXRight = fX + fFrameWidth/2;
|
||||||
const float fXBottomLeft = fXBottom - fFrameWidth/2;
|
const float fTopDistFromHeadTop = fY - fYCapTop;
|
||||||
const float fXBottomRight = fXBottom + fFrameWidth/2;
|
|
||||||
const float fTopDistFromHeadTop = fYTop - fYCapTop;
|
|
||||||
const float fBottomDistFromHeadTop = fYBottom - fYCapTop;
|
|
||||||
const float fTexCoordTop = SCALE( fTopDistFromHeadTop, 0, fFrameHeight, pRect->top, pRect->bottom );
|
const float fTexCoordTop = SCALE( fTopDistFromHeadTop, 0, fFrameHeight, pRect->top, pRect->bottom );
|
||||||
const float fTexCoordBottom = SCALE( fBottomDistFromHeadTop, 0, fFrameHeight, pRect->top, pRect->bottom );
|
|
||||||
ASSERT( fTexCoordTop>=-0.0001 && fTexCoordBottom<=1.0001 ); /* allow for rounding error */
|
|
||||||
const float fTexCoordLeft = pRect->left;
|
const float fTexCoordLeft = pRect->left;
|
||||||
const float fTexCoordRight = pRect->right;
|
const float fTexCoordRight = pRect->right;
|
||||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fGlow = ArrowGetGlow( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorDiffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorGlow = RageColor(1,1,1,fGlow);
|
||||||
const RageColor colorDiffuseTop = RageColor(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
|
||||||
const RageColor colorDiffuseBottom = RageColor(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
|
||||||
const RageColor colorGlowTop = RageColor(1,1,1,fGlowTop);
|
|
||||||
const RageColor colorGlowBottom = RageColor(1,1,1,fGlowBottom);
|
|
||||||
|
|
||||||
if( bGlow && colorGlowTop.a==0 && colorGlowBottom.a==0 )
|
v[0].p = RageVector3(fXLeft, fY, fZ); v[0].c = bGlow? colorGlow:colorDiffuse; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop),
|
||||||
continue;
|
v[1].p = RageVector3(fXRight, fY, fZ); v[1].c = bGlow? colorGlow:colorDiffuse; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
||||||
if( !bGlow && colorDiffuseTop.a==0 && colorDiffuseBottom.a==0 )
|
v+=2;
|
||||||
continue;
|
|
||||||
|
|
||||||
v[0].p = RageVector3(fXTopLeft, fYTop, fZTop); v[0].c = bGlow? colorGlowTop : colorDiffuseTop; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop),
|
|
||||||
v[1].p = RageVector3(fXTopRight, fYTop, fZTop); v[1].c = bGlow? colorGlowTop : colorDiffuseTop; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
|
||||||
v[2].p = RageVector3(fXBottomRight,fYBottom,fZBottom); v[2].c = bGlow? colorGlowBottom : colorDiffuseBottom; v[2].t = RageVector2(fTexCoordRight, fTexCoordBottom);
|
|
||||||
v[3].p = RageVector3(fXBottomLeft, fYBottom,fZBottom); v[3].c = bGlow? colorGlowBottom : colorDiffuseBottom; v[3].t = RageVector2(fTexCoordLeft, fTexCoordBottom);
|
|
||||||
v+=4;
|
|
||||||
if( v-queue >= size )
|
if( v-queue >= size )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DISPLAY->DrawQuads( queue, v-queue );
|
DISPLAY->DrawQuadStrip( queue, v-queue );
|
||||||
}
|
}
|
||||||
|
|
||||||
void NoteDisplay::DrawHoldBody( const HoldNote& hn, const bool bIsBeingHeld, float fYHead, float fYTail, int fYStep, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
void NoteDisplay::DrawHoldBody( const HoldNote& hn, const bool bIsBeingHeld, float fYHead, float fYTail, int fYStep, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
||||||
@@ -598,77 +583,38 @@ void NoteDisplay::DrawHoldBody( const HoldNote& hn, const bool bIsBeingHeld, flo
|
|||||||
bool bAnchorToBottom = bReverse && cache->m_bFlipHeadAndTailWhenReverse;
|
bool bAnchorToBottom = bReverse && cache->m_bFlipHeadAndTailWhenReverse;
|
||||||
|
|
||||||
// top to bottom
|
// top to bottom
|
||||||
for( float fY=fYBodyTop; fY<=fYBodyBottom; fY+=fYStep )
|
bool bLast = false;
|
||||||
|
for( float fY = fYBodyTop; !bLast; fY += fYStep )
|
||||||
{
|
{
|
||||||
const float fYTop = fY;
|
if( fY >= fYBodyBottom )
|
||||||
const float fYOffsetTop = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYTop, m_fYReverseOffsetPixels );
|
|
||||||
const float fYBottom = min( fY+fYStep, fYBodyBottom );
|
|
||||||
const float fYOffsetBottom = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYBottom, m_fYReverseOffsetPixels );
|
|
||||||
const float fZTop = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetTop );
|
|
||||||
const float fZBottom = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
|
||||||
const float fXTop = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetTop );
|
|
||||||
const float fXBottom = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
|
||||||
const float fXTopLeft = fXTop - fFrameWidth/2;
|
|
||||||
const float fXTopRight = fXTop + fFrameWidth/2;
|
|
||||||
const float fXBottomLeft = fXBottom - fFrameWidth/2;
|
|
||||||
const float fXBottomRight = fXBottom + fFrameWidth/2;
|
|
||||||
const float fTopDistFromBodyBottom = fYBodyBottom - fYTop;
|
|
||||||
const float fBottomDistFromBodyBottom = fYBodyBottom - fYBottom;
|
|
||||||
const float fTopDistFromBodyTop = fYTop - fYBodyTop;
|
|
||||||
const float fBottomDistFromBodyTop = fYBottom - fYBodyTop;
|
|
||||||
float fTexCoordTop = SCALE( bAnchorToBottom ? fTopDistFromBodyTop : fTopDistFromBodyBottom, 0, fFrameHeight, pRect->bottom, pRect->top );
|
|
||||||
float fTexCoordBottom = SCALE( bAnchorToBottom ? fBottomDistFromBodyTop : fBottomDistFromBodyBottom, 0, fFrameHeight, pRect->bottom, pRect->top );
|
|
||||||
if( fTexCoordTop < 0 )
|
|
||||||
{
|
{
|
||||||
int iToSubtract = (int)fTexCoordTop - 1;
|
fY = fYBodyBottom;
|
||||||
fTexCoordTop -= iToSubtract;
|
bLast = true;
|
||||||
fTexCoordBottom -= iToSubtract;
|
|
||||||
}
|
}
|
||||||
else if( fTexCoordBottom > 2 )
|
|
||||||
{
|
const float fYOffset = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fY, m_fYReverseOffsetPixels );
|
||||||
int iToSubtract = (int)fTexCoordBottom;
|
const float fZ = ArrowGetZPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
fTexCoordTop -= iToSubtract;
|
const float fX = ArrowGetXPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
fTexCoordBottom -= iToSubtract;
|
const float fXLeft = fX - fFrameWidth/2;
|
||||||
}
|
const float fXRight = fX + fFrameWidth/2;
|
||||||
if( fTexCoordBottom < 0 )
|
const float fDistFromBodyBottom = fYBodyBottom - fY;
|
||||||
{
|
const float fDistFromBodyTop = fY - fYBodyTop;
|
||||||
int iToSubtract = (int)fTexCoordBottom - 1;
|
const float fTexCoordTop = SCALE( bAnchorToBottom ? fDistFromBodyTop : fDistFromBodyBottom, 0, fFrameHeight, pRect->bottom, pRect->top );
|
||||||
fTexCoordTop -= iToSubtract;
|
|
||||||
fTexCoordBottom -= iToSubtract;
|
|
||||||
}
|
|
||||||
else if( fTexCoordTop > 2 )
|
|
||||||
{
|
|
||||||
int iToSubtract = (int)fTexCoordTop;
|
|
||||||
fTexCoordTop -= iToSubtract;
|
|
||||||
fTexCoordBottom -= iToSubtract;
|
|
||||||
}
|
|
||||||
ASSERT( fTexCoordTop>=0 && fTexCoordBottom>=0 );
|
|
||||||
ASSERT( fTexCoordTop<=2 && fTexCoordBottom<=2 );
|
|
||||||
const float fTexCoordLeft = pRect->left;
|
const float fTexCoordLeft = pRect->left;
|
||||||
const float fTexCoordRight = pRect->right;
|
const float fTexCoordRight = pRect->right;
|
||||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fGlow = ArrowGetGlow( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorDiffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorGlow = RageColor(1,1,1,fGlow);
|
||||||
const RageColor colorDiffuseTop = RageColor(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
|
||||||
const RageColor colorDiffuseBottom = RageColor(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
|
||||||
const RageColor colorGlowTop = RageColor(1,1,1,fGlowTop);
|
|
||||||
const RageColor colorGlowBottom = RageColor(1,1,1,fGlowBottom);
|
|
||||||
|
|
||||||
if( bGlow && colorGlowTop.a==0 && colorGlowBottom.a==0 )
|
v[0].p = RageVector3(fXLeft, fY, fZ); v[0].c = bGlow? colorGlow: colorDiffuse; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop);
|
||||||
continue;
|
v[1].p = RageVector3(fXRight, fY, fZ); v[1].c = bGlow? colorGlow: colorDiffuse; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
||||||
if( !bGlow && colorDiffuseTop.a==0 && colorDiffuseBottom.a==0 )
|
v+=2;
|
||||||
continue;
|
|
||||||
|
|
||||||
v[0].p = RageVector3(fXTopLeft, fYTop, fZTop); v[0].c = bGlow? colorGlowTop : colorDiffuseTop; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop);
|
|
||||||
v[1].p = RageVector3(fXTopRight, fYTop, fZTop); v[1].c = bGlow? colorGlowTop : colorDiffuseTop; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
|
||||||
v[2].p = RageVector3(fXBottomRight,fYBottom,fZBottom); v[2].c = bGlow? colorGlowBottom : colorDiffuseBottom; v[2].t = RageVector2(fTexCoordRight, fTexCoordBottom);
|
|
||||||
v[3].p = RageVector3(fXBottomLeft, fYBottom,fZBottom); v[3].c = bGlow? colorGlowBottom : colorDiffuseBottom; v[3].t = RageVector2(fTexCoordLeft, fTexCoordBottom);
|
|
||||||
v+=4;
|
|
||||||
if( v-queue >= size )
|
if( v-queue >= size )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DISPLAY->DrawQuads( queue, v-queue );
|
|
||||||
|
DISPLAY->DrawQuadStrip( queue, v-queue );
|
||||||
}
|
}
|
||||||
|
|
||||||
void NoteDisplay::DrawHoldBottomCap( const HoldNote& hn, const bool bIsBeingHeld, float fYHead, float fYTail, int fYStep, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
void NoteDisplay::DrawHoldBottomCap( const HoldNote& hn, const bool bIsBeingHeld, float fYHead, float fYTail, int fYStep, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
||||||
@@ -697,51 +643,37 @@ void NoteDisplay::DrawHoldBottomCap( const HoldNote& hn, const bool bIsBeingHeld
|
|||||||
const float fYCapBottom = fYTail+cache->m_iStopDrawingHoldBodyOffsetFromTail+fFrameHeight;
|
const float fYCapBottom = fYTail+cache->m_iStopDrawingHoldBodyOffsetFromTail+fFrameHeight;
|
||||||
|
|
||||||
// don't draw any part of the tail that is before the middle of the head
|
// don't draw any part of the tail that is before the middle of the head
|
||||||
|
bool bLast = false;
|
||||||
float fY=max( fYCapTop, fYHead );
|
float fY=max( fYCapTop, fYHead );
|
||||||
for( ; fY<fYCapBottom; fY+=fYStep )
|
for( ; !bLast; fY += fYStep )
|
||||||
{
|
{
|
||||||
const float fYTop = fY;
|
if( fY >= fYCapBottom )
|
||||||
const float fYOffsetTop = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYTop, m_fYReverseOffsetPixels );
|
{
|
||||||
const float fStepHeight = min( fYStep, fFrameHeight );
|
fY = fYCapBottom;
|
||||||
const float fYBottom = min( fY+fStepHeight, fYCapBottom );
|
bLast = true;
|
||||||
const float fYOffsetBottom = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fYBottom, m_fYReverseOffsetPixels );
|
}
|
||||||
const float fZTop = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetTop );
|
|
||||||
const float fZBottom = ArrowGetZPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
const float fYOffset = ArrowGetYOffsetFromYPos( m_PlayerNumber, iCol, fY, m_fYReverseOffsetPixels );
|
||||||
const float fXTop = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetTop );
|
const float fZ = ArrowGetZPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
const float fXBottom = ArrowGetXPos( m_PlayerNumber, iCol, fYOffsetBottom );
|
const float fX = ArrowGetXPos( m_PlayerNumber, iCol, fYOffset );
|
||||||
const float fXTopLeft = fXTop - fFrameWidth/2;
|
const float fXLeft = fX - fFrameWidth/2;
|
||||||
const float fXTopRight = fXTop + fFrameWidth/2;
|
const float fXRight = fX + fFrameWidth/2;
|
||||||
const float fXBottomLeft = fXBottom - fFrameWidth/2;
|
const float fTopDistFromTail = fY - fYCapTop;
|
||||||
const float fXBottomRight = fXBottom + fFrameWidth/2;
|
const float fTexCoordTop = SCALE( fTopDistFromTail, 0, fFrameHeight, pRect->top, pRect->bottom );
|
||||||
const float fTopDistFromTailTop = fYTop - fYCapTop;
|
|
||||||
const float fBottomDistFromTailTop = fYBottom - fYCapTop;
|
|
||||||
const float fTexCoordTop = SCALE( fTopDistFromTailTop, 0, fFrameHeight, pRect->top, pRect->bottom );
|
|
||||||
const float fTexCoordBottom = SCALE( fBottomDistFromTailTop, 0, fFrameHeight, pRect->top, pRect->bottom );
|
|
||||||
const float fTexCoordLeft = pRect->left;
|
const float fTexCoordLeft = pRect->left;
|
||||||
const float fTexCoordRight = pRect->right;
|
const float fTexCoordRight = pRect->right;
|
||||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const float fGlow = ArrowGetGlow( m_PlayerNumber, iCol, fYOffset, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
||||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetTop, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorDiffuse = RageColor(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, iCol, fYOffsetBottom, fPercentFadeToFail, m_fYReverseOffsetPixels );
|
const RageColor colorGlow = RageColor(1,1,1,fGlow);
|
||||||
const RageColor colorDiffuseTop = RageColor(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
|
||||||
const RageColor colorDiffuseBottom = RageColor(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
|
||||||
const RageColor colorGlowTop = RageColor(1,1,1,fGlowTop);
|
|
||||||
const RageColor colorGlowBottom = RageColor(1,1,1,fGlowBottom);
|
|
||||||
|
|
||||||
if( bGlow && colorGlowTop.a==0 && colorGlowBottom.a==0 )
|
v[0].p = RageVector3(fXLeft, fY, fZ); v[0].c = bGlow ? colorGlow:colorDiffuse; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop),
|
||||||
continue;
|
v[1].p = RageVector3(fXRight, fY, fZ); v[1].c = bGlow ? colorGlow:colorDiffuse; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
||||||
if( !bGlow && colorDiffuseTop.a==0 && colorDiffuseBottom.a==0 )
|
v+=2;
|
||||||
continue;
|
|
||||||
|
|
||||||
v[0].p = RageVector3(fXTopLeft, fYTop, fZTop); v[0].c = bGlow ? colorGlowTop : colorDiffuseTop; v[0].t = RageVector2(fTexCoordLeft, fTexCoordTop),
|
|
||||||
v[1].p = RageVector3(fXTopRight, fYTop, fZTop); v[1].c = bGlow ? colorGlowTop : colorDiffuseTop; v[1].t = RageVector2(fTexCoordRight, fTexCoordTop);
|
|
||||||
v[2].p = RageVector3(fXBottomRight,fYBottom,fZBottom); v[2].c = bGlow ? colorGlowBottom : colorDiffuseBottom; v[2].t = RageVector2(fTexCoordRight, fTexCoordBottom);
|
|
||||||
v[3].p = RageVector3(fXBottomLeft, fYBottom,fZBottom); v[3].c = bGlow ? colorGlowBottom : colorDiffuseBottom; v[3].t = RageVector2(fTexCoordLeft, fTexCoordBottom);
|
|
||||||
v+=4;
|
|
||||||
if( v-queue >= size )
|
if( v-queue >= size )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DISPLAY->DrawQuads( queue, v-queue );
|
DISPLAY->DrawQuadStrip( queue, v-queue );
|
||||||
}
|
}
|
||||||
|
|
||||||
void NoteDisplay::DrawHoldTail( const HoldNote& hn, bool bIsBeingHeld, float fYTail, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
void NoteDisplay::DrawHoldTail( const HoldNote& hn, bool bIsBeingHeld, float fYTail, int iCol, float fPercentFadeToFail, float fColorScale, bool bGlow )
|
||||||
|
|||||||
Reference in New Issue
Block a user