From 95b83d1ee556e4865fc969b58cf2660001c1173c Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 6 Jan 2005 21:09:13 +0000 Subject: [PATCH] make NumItemsToDraw a float --- stepmania/src/ActorScroller.cpp | 16 ++++++++-------- stepmania/src/ActorScroller.h | 4 ++-- stepmania/src/ScreenNameEntryTraditional.cpp | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/stepmania/src/ActorScroller.cpp b/stepmania/src/ActorScroller.cpp index a14ddc9f87..c9ce9a47dc 100644 --- a/stepmania/src/ActorScroller.cpp +++ b/stepmania/src/ActorScroller.cpp @@ -12,7 +12,7 @@ ActorScroller::ActorScroller() m_fCurrentItem = 0; m_fDestinationItem = 0; m_fSecondsPerItem = 1; - m_iNumItemsToDraw = 7; + m_fNumItemsToDraw = 7; m_vRotationDegrees = RageVector3(0,0,0); m_vTranslateTerm0 = RageVector3(0,0,0); @@ -22,7 +22,7 @@ ActorScroller::ActorScroller() void ActorScroller::Load( float fSecondsPerItem, - int iNumItemsToDraw, + float fNumItemsToDraw, const RageVector3 &vRotationDegrees, const RageVector3 &vTranslateTerm0, const RageVector3 &vTranslateTerm1, @@ -30,7 +30,7 @@ void ActorScroller::Load( ) { m_fSecondsPerItem = fSecondsPerItem; - m_iNumItemsToDraw = iNumItemsToDraw; + m_fNumItemsToDraw = fNumItemsToDraw; m_vRotationDegrees = vRotationDegrees; m_vTranslateTerm0 = vTranslateTerm0; m_vTranslateTerm1 = vTranslateTerm1; @@ -103,14 +103,14 @@ void ActorScroller::DrawPrimitives() } else { - int iFirstItemToDraw = (int)roundf( m_fCurrentItem - m_iNumItemsToDraw/2.f ); - for( int i=iFirstItemToDraw; i= (int)m_SubActors.size() ) - continue; // skip - float fItemOffset = i - m_fCurrentItem; + if( fabsf(fItemOffset) > m_fNumItemsToDraw / 2 ) + continue; + DISPLAY->PushMatrix(); if( m_vRotationDegrees[0] ) diff --git a/stepmania/src/ActorScroller.h b/stepmania/src/ActorScroller.h index 8f258f2f63..3169a3a067 100644 --- a/stepmania/src/ActorScroller.h +++ b/stepmania/src/ActorScroller.h @@ -14,7 +14,7 @@ public: void Load( float fScrollSecondsPerItem, - int iNumItemsToDraw, + float fNumItemsToDraw, const RageVector3 &vRotationDegrees, const RageVector3 &vTranslateTerm0, const RageVector3 &vTranslateTerm1, @@ -32,7 +32,7 @@ protected: float m_fCurrentItem; // usually between 0 and m_SubActors.size() float m_fDestinationItem; float m_fSecondsPerItem; // <= 0 means don't scroll - int m_iNumItemsToDraw; + float m_fNumItemsToDraw; // Note: Rotation is applied before translation. diff --git a/stepmania/src/ScreenNameEntryTraditional.cpp b/stepmania/src/ScreenNameEntryTraditional.cpp index f24edc2033..3ee25d5c31 100644 --- a/stepmania/src/ScreenNameEntryTraditional.cpp +++ b/stepmania/src/ScreenNameEntryTraditional.cpp @@ -107,7 +107,7 @@ void HighScoreWheel::Load( const HighScoreList& hsl, int iIndexToFocus ) ActorScroller::Load( 0.2f, // fSecondsPerItem - 8, // iNumItemsToDraw + 8, // fNumItemsToDraw RageVector3(18,0,0), // vRotationDegrees RageVector3(0,0,90), // vTranslateTerm0 RageVector3(0,0,0), // vTranslateTerm1