add metric SSMaster::LoopScroller

This commit is contained in:
Chris Danford
2005-07-26 19:55:00 +00:00
parent d1ff152ee2
commit dda9f61179
7 changed files with 18 additions and 5 deletions
+2
View File
@@ -2955,6 +2955,7 @@ ShowIcon=0
ShowCursor=0
ShowScroller=0
WrapScroller=0
LoopScroller=0
ScrollerFastCatchup=0
# All on page 1 by default.
NumChoicesOnPage1=999
@@ -3191,6 +3192,7 @@ ShowIcon=0
ShowCursor=0
ShowScroller=0
WrapScroller=0
LoopScroller=0
ScrollerFastCatchup=0
# All on page 1 by default.
NumChoicesOnPage1=999
+5 -2
View File
@@ -90,7 +90,8 @@ void ActorScroller::Load3(
float fNumItemsToDraw,
bool bFastCatchup,
const CString &sTransformFunction,
bool bUseMask
bool bUseMask,
bool bLoop
)
{
m_fSecondsPerItem = fSecondsPerItem;
@@ -99,6 +100,7 @@ void ActorScroller::Load3(
m_exprTransformFunction.SetFromExpression( sTransformFunction );
m_fQuantizePixels = 0;
m_bUseMask = bUseMask;
m_bLoop = bLoop;
m_bLoaded = true;
}
@@ -142,6 +144,7 @@ void ActorScroller::LoadFromNode( const CString &sDir, const XNode *pNode )
fNumItemsToDraw,
false,
sTransformFunction,
false,
false );
SetCurrentAndDestinationItem( -fItemPaddingStart );
SetDestinationItem( m_SubActors.size()-1+fItemPaddingEnd );
@@ -260,7 +263,7 @@ void ActorScroller::DrawPrimitives()
float fPosition = iItem - m_fCurrentItem;
int iIndex = iItem;
if( m_bLoop )
wrap( iIndex, m_SubActors.size()-1 );
wrap( iIndex, m_SubActors.size() );
else if( iIndex < 0 || iIndex >= (int)m_SubActors.size() )
continue;
+3 -2
View File
@@ -25,10 +25,11 @@ public:
float fNumItemsToDraw,
bool bFastCatchup,
const CString &sTransformFunction,
bool bUseMask );
bool bUseMask,
bool bLoop );
virtual void UpdateInternal( float fDelta );
virtual void DrawPrimitives(); // DOES draw
virtual void DrawPrimitives(); // handles drawing and doesn't call ActorFrame::DrawPrimitives
void LoadFromNode( const CString &sDir, const XNode *pNode );
virtual Actor *Copy() const;
+3
View File
@@ -179,6 +179,7 @@ ScreenCredits::ScreenCredits( CString sName ) : ScreenAttract( sName )
4,
false,
sBackgroundsTransformFunction,
false,
false );
SET_XY( m_ScrollerBackgrounds );
this->AddChild( &m_ScrollerBackgrounds );
@@ -189,6 +190,7 @@ ScreenCredits::ScreenCredits( CString sName ) : ScreenAttract( sName )
4,
false,
sBackgroundsTransformFunction,
false,
false );
SET_XY( m_ScrollerFrames );
this->AddChild( &m_ScrollerFrames );
@@ -239,6 +241,7 @@ ScreenCredits::ScreenCredits( CString sName ) : ScreenAttract( sName )
40,
false,
sTextsTransformFunction,
false,
false );
SET_XY( m_ScrollerTexts );
this->AddChild( &m_ScrollerTexts );
@@ -120,6 +120,7 @@ void HighScoreWheel::Load( const HighScoreList& hsl, int iIndexToFocus )
10.5,
false,
sTransformFunction,
false,
false );
Scroll();
}
+3 -1
View File
@@ -39,6 +39,7 @@ ScreenSelectMaster::ScreenSelectMaster( CString sClassName ) : ScreenSelect( sCl
OPTION_ORDER(m_sName,OPTION_ORDER_NAME,NUM_MENU_DIRS),
WRAP_CURSOR(m_sName,"WrapCursor"),
WRAP_SCROLLER(m_sName,"WrapScroller"),
LOOP_SCROLLER(m_sName,"LoopScroller"),
SCROLLER_FAST_CATCHUP(m_sName,"ScrollerFastCatchup"),
ALLOW_REPEATING_INPUT(m_sName,"AllowRepeatingInput"),
SCROLLER_SECONDS_PER_ITEM(m_sName,"ScrollerSecondsPerItem"),
@@ -109,7 +110,8 @@ void ScreenSelectMaster::Init()
SCROLLER_NUM_ITEMS_TO_DRAW,
SCROLLER_FAST_CATCHUP,
SCROLLER_TRANSFORM,
false );
false,
LOOP_SCROLLER );
m_Scroller[*p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(*p) );
this->AddChild( &m_Scroller[*p] );
}
+1
View File
@@ -49,6 +49,7 @@ protected:
ThemeMetric1D<CString> OPTION_ORDER;
ThemeMetric<bool> WRAP_CURSOR;
ThemeMetric<bool> WRAP_SCROLLER;
ThemeMetric<bool> LOOP_SCROLLER;
ThemeMetric<bool> SCROLLER_FAST_CATCHUP;
ThemeMetric<bool> ALLOW_REPEATING_INPUT;
ThemeMetric<float> SCROLLER_SECONDS_PER_ITEM;