like Player, split NoteField loading into Load and Init, with Init having the expensive part, which we do only once

This commit is contained in:
Glenn Maynard
2005-03-18 04:43:59 +00:00
parent b6b9b11b0f
commit 02197dab9c
4 changed files with 21 additions and 17 deletions
+10 -8
View File
@@ -59,8 +59,8 @@ void NoteField::CacheNoteSkin( CString skin )
return;
LOG->Trace("NoteField::CacheNoteSkin: cache %s", skin.c_str() );
NoteDisplayCols *nd = new NoteDisplayCols( m_pNoteData->GetNumTracks() );
for( int c=0; c<m_pNoteData->GetNumTracks(); c++ )
NoteDisplayCols *nd = new NoteDisplayCols( GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer );
for( int c=0; c<GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer; c++ )
nd->display[c].Load( c, m_pPlayerState, skin, m_fYReverseOffsetPixels );
nd->m_ReceptorArrowRow.Load( m_pPlayerState, skin, m_fYReverseOffsetPixels );
nd->m_GhostArrowRow.Load( m_pPlayerState, skin, m_fYReverseOffsetPixels );
@@ -78,25 +78,27 @@ void NoteField::CacheAllUsedNoteSkins()
CacheNoteSkin( skins[i] );
}
void NoteField::Init( const PlayerState* pPlayerState, float fYReverseOffsetPixels )
{
m_pPlayerState = pPlayerState;
m_fYReverseOffsetPixels = fYReverseOffsetPixels;
CacheAllUsedNoteSkins();
}
void NoteField::Load(
const NoteData *pNoteData,
const PlayerState* pPlayerState,
int iFirstPixelToDraw,
int iLastPixelToDraw,
float fYReverseOffsetPixels )
int iLastPixelToDraw )
{
m_pNoteData = pNoteData;
m_pPlayerState = pPlayerState;
m_iStartDrawingPixel = iFirstPixelToDraw;
m_iEndDrawingPixel = iLastPixelToDraw;
m_fYReverseOffsetPixels = fYReverseOffsetPixels;
m_fPercentFadeToFail = -1;
m_LastSeenBeatToNoteSkinRev = -1;
ASSERT( m_pNoteData->GetNumTracks() == GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer );
CacheAllUsedNoteSkins();
RefreshBeatToNoteSkin();
}