Actors used by NoteDisplay don't have persistent state; they're completely

re-configured for each arrow/hold part.  Cache each object, so we don't
waste memory with duplicate actors; multiplied by NOTE_COLOR_IMAGES
for each player, this adds up quite a bit.
This commit is contained in:
Glenn Maynard
2004-08-21 00:34:24 +00:00
parent 335df6b048
commit 08886fdd00
3 changed files with 156 additions and 63 deletions
+7 -12
View File
@@ -161,20 +161,15 @@ void NoteField::Update( float fDeltaTime )
//
// update all NoteDisplayCols. NoteDisplay's may contain BGAnimations
// that need to be updated.
// update all NoteDisplays
//
for( NDMap::iterator iter = m_BeatToNoteDisplays.begin();
iter != m_BeatToNoteDisplays.end();
iter++ )
{
NoteDisplayCols *nd = iter->second;
for( int c=0; c<GetNumTracks(); c++ ) // for each arrow column
nd->display[c].Update(fDeltaTime);
// nd->m_ReceptorArrowRow.Update(fDeltaTime);
// nd->m_GhostArrowRow.Update(fDeltaTime);
}
/*
* Update all NoteDisplays. Hack: We need to call this once per frame, not
* once per player.
*/
if( m_PlayerNumber == GAMESTATE->m_MasterPlayerNumber )
NoteDisplay::Update( fDeltaTime );
}
float NoteField::GetWidth()