diff --git a/stepmania/src/NoteDisplay.cpp b/stepmania/src/NoteDisplay.cpp index 1924540891..6e9a6d9fb0 100644 --- a/stepmania/src/NoteDisplay.cpp +++ b/stepmania/src/NoteDisplay.cpp @@ -506,12 +506,15 @@ void NoteDisplay::DrawHoldBody( const TapNote& tn, int iCol, float fBeat, bool b /* Hack: Z effects need a finer grain step. */ const int fYStep = bWavyPartsNeedZBuffer? 4: 16; // use small steps only if wavy + fYHead += cache->m_iStartDrawingHoldBodyOffsetFromHead; + fYTail += cache->m_iStopDrawingHoldBodyOffsetFromTail; + const float fFrameHeightTop = pSpriteTop->GetZoomedHeight(); const float fFrameHeightBottom = pSpriteBottom->GetZoomedHeight(); - const float fYCapTop = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead-fFrameHeightTop; - const float fYBodyTop = fYHead+cache->m_iStartDrawingHoldBodyOffsetFromHead; - const float fYBodyBottom = fYTail+cache->m_iStopDrawingHoldBodyOffsetFromTail; - const float fYCapBottom = fYTail+cache->m_iStopDrawingHoldBodyOffsetFromTail+fFrameHeightBottom; + const float fYCapTop = fYHead-fFrameHeightTop; + const float fYBodyTop = fYHead; + const float fYBodyBottom = fYTail; + const float fYCapBottom = fYTail+fFrameHeightBottom; float fYStartPos = ArrowEffects::GetYPos( m_pPlayerState, iCol, fDrawDistanceAfterTargetsPixels, m_fYReverseOffsetPixels ); float fYEndPos = ArrowEffects::GetYPos( m_pPlayerState, iCol, fDrawDistanceBeforeTargetsPixels, m_fYReverseOffsetPixels );