This commit is contained in:
Chris Danford
2004-02-01 06:16:36 +00:00
parent 8666cd959a
commit 57b0be925e
+15 -6
View File
@@ -60,12 +60,23 @@ void ActorScroller::Update( float fDeltaTime )
void ActorScroller::DrawPrimitives()
{
if( m_bLoaded )
// Optimization: If we weren't loaded, then fall back to the ActorFrame logic
if( !m_bLoaded )
{
for( unsigned i=0; i<m_SubActors.size(); i++ )
ActorFrame::DrawPrimitives();
}
else
{
int iFirstItemToDraw = (int)roundf( m_fCurrentItem - m_iNumItemsToDraw/2.f );
for( int i=iFirstItemToDraw; i<iFirstItemToDraw+m_iNumItemsToDraw; i++ )
{
if( i<0 || i>=m_SubActors.size() )
continue; // skip
float fItemOffset = i - m_fCurrentItem;
DISPLAY->PushMatrix();
if( m_vRotationDegrees[0] )
DISPLAY->RotateX( m_vRotationDegrees[0]*fItemOffset );
if( m_vRotationDegrees[1] )
@@ -84,10 +95,8 @@ void ActorScroller::DrawPrimitives()
);
m_SubActors[i]->Draw();
DISPLAY->PopMatrix();
}
}
else
{
ActorFrame::DrawPrimitives();
}
}