From 7dce50ffbc7b56685a2f0c62dc5cbf3a61c5997f Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 24 Sep 2005 02:18:09 +0000 Subject: [PATCH] simplify, don't store extra state --- stepmania/src/ActorScroller.cpp | 24 ++++++++++-------------- stepmania/src/ActorScroller.h | 3 --- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/stepmania/src/ActorScroller.cpp b/stepmania/src/ActorScroller.cpp index 39d46bc557..d29f5ab63d 100644 --- a/stepmania/src/ActorScroller.cpp +++ b/stepmania/src/ActorScroller.cpp @@ -33,9 +33,6 @@ ActorScroller::ActorScroller() m_fPauseCountdownSeconds = 0; m_fQuantizePixels = 0; - m_bUseMask = false; - m_fMaskWidth = 1; - m_fMaskHeight = 1; m_quadMask.SetBlendMode( BLEND_NO_EFFECT ); // don't change color values m_quadMask.SetUseZBuffer( true ); // we want to write to the Zbuffer m_quadMask.SetHidden( true ); @@ -56,8 +53,6 @@ void ActorScroller::Load2( CLAMP( fSecondsPauseBetweenItems, 0, 10000 ); m_fNumItemsToDraw = fNumItemsToDraw; - m_fMaskWidth = fItemWidth; - m_fMaskHeight = fItemHeight; m_exprTransformFunction.SetFromExpression( ssprintf("function(self,offset,itemIndex,numItems) return self:y(%f*offset) end",fItemHeight), @@ -72,12 +67,11 @@ void ActorScroller::Load2( ScrollThroughAllItems(); - m_bUseMask = true; RectF rectBarSize( - -m_fMaskWidth/2, - -m_fMaskHeight/2, - m_fMaskWidth/2, - m_fMaskHeight/2 ); + -fItemWidth/2, + -fItemHeight/2, + fItemWidth/2, + fItemHeight/2 ); m_quadMask.StretchTo( rectBarSize ); m_quadMask.SetZ( 1 ); @@ -101,7 +95,7 @@ void ActorScroller::Load3( m_bFastCatchup = bFastCatchup; m_exprTransformFunction.SetFromExpression( sTransformFunction, iSubdivisions ); m_fQuantizePixels = 0; - m_bUseMask = bUseMask; + m_quadMask.SetHidden( !bUseMask ); m_bLoop = bLoop; m_bLoaded = true; } @@ -149,18 +143,20 @@ void ActorScroller::LoadFromNode( const CString &sDir, const XNode *pNode ) pNode->GetAttrValue( "Subdivisions", iSubdivisions ); #undef GET_VALUE + bool bUseMask = false; + pNode->GetAttrValue( "UseMask", bUseMask ); + Load3( fSecondsPerItem, fNumItemsToDraw, false, sTransformFunction, iSubdivisions, - false, + bUseMask, false ); SetCurrentAndDestinationItem( -fItemPaddingStart ); SetDestinationItem( m_SubActors.size()-1+fItemPaddingEnd ); - pNode->GetAttrValue( "UseMask", m_bUseMask ); pNode->GetAttrValue( "QuantizePixels", m_fQuantizePixels ); } @@ -237,7 +233,7 @@ void ActorScroller::PositionItemsAndDrawPrimitives( bool bPosition, bool bDrawPr float fFirstItemToDraw = 0; float fLastItemToDraw = 0; - if( m_bUseMask ) + if( !m_quadMask.GetHidden() ) { // write to z buffer so that top and bottom are clipped float fPositionFullyOnScreenTop = -(m_fNumItemsToDraw-1)/2.f; diff --git a/stepmania/src/ActorScroller.h b/stepmania/src/ActorScroller.h index f3b74ded50..56384c8e45 100644 --- a/stepmania/src/ActorScroller.h +++ b/stepmania/src/ActorScroller.h @@ -68,9 +68,6 @@ private: float m_fPauseCountdownSeconds; float m_fQuantizePixels; - bool m_bUseMask; - float m_fMaskWidth; - float m_fMaskHeight; Quad m_quadMask; LuaExpressionTransform m_exprTransformFunction; // params: self,offset,itemIndex,numItems