diff --git a/stepmania/src/ActorScroller.cpp b/stepmania/src/ActorScroller.cpp index 310e37a76c..059f3b5ede 100644 --- a/stepmania/src/ActorScroller.cpp +++ b/stepmania/src/ActorScroller.cpp @@ -39,25 +39,24 @@ ActorScroller::ActorScroller() void ActorScroller::Load2( float fNumItemsToDraw, - float fItemHeight, - bool bLoop ) -{ - Load3( fNumItemsToDraw, - ssprintf("function(self,offset,itemIndex,numItems) self:y(%f*offset) end",fItemHeight), bLoop ); -} - -void ActorScroller::Load3( - float fNumItemsToDraw, - const CString &sTransformFunction, bool bLoop ) { m_fNumItemsToDraw = fNumItemsToDraw; - m_exprTransformFunction.SetFromExpression( sTransformFunction ); m_bLoop = bLoop; m_iNumItems = m_SubActors.size(); } +void ActorScroller::SetTransformFromExpression( const CString &sTransformFunction ) +{ + m_exprTransformFunction.SetFromExpression( sTransformFunction ); +} + +void ActorScroller::SetTransformFromHeight( float fItemHeight ) +{ + SetTransformFromExpression( ssprintf("function(self,offset,itemIndex,numItems) self:y(%f*offset) end",fItemHeight) ); +} + void ActorScroller::EnableMask( float fWidth, float fHeight ) { m_quadMask.SetHidden( false ); @@ -113,10 +112,10 @@ void ActorScroller::LoadFromNode( const CString &sDir, const XNode *pNode ) bool bUseMask = false; pNode->GetAttrValue( "UseMask", bUseMask ); - Load3( + Load2( fNumItemsToDraw, - sTransformFunction, false ); + ActorScroller::SetTransformFromExpression( sTransformFunction ); ActorScroller::SetSecondsPerItem( fSecondsPerItem ); ActorScroller::SetNumSubdivisions( iSubdivisions ); diff --git a/stepmania/src/ActorScroller.h b/stepmania/src/ActorScroller.h index 372675502a..d674ff32dc 100644 --- a/stepmania/src/ActorScroller.h +++ b/stepmania/src/ActorScroller.h @@ -13,14 +13,11 @@ class ActorScroller : public ActorFrame public: ActorScroller(); + void SetTransformFromExpression( const CString &sTransformFunction ); + void SetTransformFromHeight( float fItemHeight ); + void Load2( float fNumItemsToDraw, - float fItemHeight, - bool bLoop ); - - void Load3( - float fNumItemsToDraw, - const CString &sTransformFunction, bool bLoop ); void EnableMask( float fWidth, float fHeight ); diff --git a/stepmania/src/CourseContentsList.cpp b/stepmania/src/CourseContentsList.cpp index eb0d04b93f..4b2bac0b89 100644 --- a/stepmania/src/CourseContentsList.cpp +++ b/stepmania/src/CourseContentsList.cpp @@ -79,8 +79,8 @@ void CourseContentsList::SetFromGameState() this->Load2( (float)MAX_VISIBLE_ITEMS, - m_vpDisplay[0]->GetUnzoomedHeight(), bLoop ); + this->SetTransformFromHeight( m_vpDisplay[0]->GetUnzoomedHeight() ); this->SetSecondsPerItem( 0.7f ); this->EnableMask( m_vpDisplay[0]->GetUnzoomedWidth(), m_vpDisplay[0]->GetUnzoomedHeight() ); this->SetSecondsPauseBetweenItems( 0.7f ); diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index 8d8caa7581..0bd603ce66 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -115,10 +115,10 @@ void HighScoreWheel::Load( const HighScoreList& hsl, int iIndexToFocus ) " self:y(math.sin(radians)*90); " " self:z(math.cos(radians)*90); " "end"; - ActorScroller::Load3( + ActorScroller::Load2( 10.5, - sTransformFunction, false ); + ActorScroller::SetTransformFromExpression( sTransformFunction ); ActorScroller::SetSecondsPerItem( 0.2f ); Scroll(); } diff --git a/stepmania/src/ScreenRanking.cpp b/stepmania/src/ScreenRanking.cpp index 548bf2edae..5e57ad4e15 100644 --- a/stepmania/src/ScreenRanking.cpp +++ b/stepmania/src/ScreenRanking.cpp @@ -365,7 +365,8 @@ void ScoreScroller::Load( for( int i=0; iAddChild( new ScoreRowItem(ItemTemplate) ); - DynamicActorScroller::Load2( (float) m_metricSongScoreRowsToDraw, fItemHeight, false ); + DynamicActorScroller::Load2( (float) m_metricSongScoreRowsToDraw, false ); + DynamicActorScroller::SetTransformFromHeight( fItemHeight ); DynamicActorScroller::SetSecondsPerItem( SONG_SCORE_SECONDS_PER_ROW ); DynamicActorScroller::EnableMask( SCREEN_WIDTH, fItemHeight ); DynamicActorScroller::ScrollThroughAllItems(); diff --git a/stepmania/src/ScreenSelectMaster.cpp b/stepmania/src/ScreenSelectMaster.cpp index 09033793cf..7576669c1c 100644 --- a/stepmania/src/ScreenSelectMaster.cpp +++ b/stepmania/src/ScreenSelectMaster.cpp @@ -128,10 +128,10 @@ void ScreenSelectMaster::Init() { FOREACH( PlayerNumber, vpns, p ) { - m_Scroller[*p].Load3( + m_Scroller[*p].Load2( SCROLLER_NUM_ITEMS_TO_DRAW, - SCROLLER_TRANSFORM, LOOP_SCROLLER ); + m_Scroller[*p].SetTransformFromExpression( SCROLLER_TRANSFORM ); m_Scroller[*p].SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM ); m_Scroller[*p].SetNumSubdivisions( SCROLLER_SUBDIVISIONS ); m_Scroller[*p].SetName( "Scroller"+PLAYER_APPEND_NO_SPACE(*p) );