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:
@@ -59,8 +59,8 @@ void NoteField::CacheNoteSkin( CString skin )
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
LOG->Trace("NoteField::CacheNoteSkin: cache %s", skin.c_str() );
|
LOG->Trace("NoteField::CacheNoteSkin: cache %s", skin.c_str() );
|
||||||
NoteDisplayCols *nd = new NoteDisplayCols( m_pNoteData->GetNumTracks() );
|
NoteDisplayCols *nd = new NoteDisplayCols( GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer );
|
||||||
for( int c=0; c<m_pNoteData->GetNumTracks(); c++ )
|
for( int c=0; c<GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer; c++ )
|
||||||
nd->display[c].Load( c, m_pPlayerState, skin, m_fYReverseOffsetPixels );
|
nd->display[c].Load( c, m_pPlayerState, skin, m_fYReverseOffsetPixels );
|
||||||
nd->m_ReceptorArrowRow.Load( m_pPlayerState, skin, m_fYReverseOffsetPixels );
|
nd->m_ReceptorArrowRow.Load( m_pPlayerState, skin, m_fYReverseOffsetPixels );
|
||||||
nd->m_GhostArrowRow.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] );
|
CacheNoteSkin( skins[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NoteField::Init( const PlayerState* pPlayerState, float fYReverseOffsetPixels )
|
||||||
|
{
|
||||||
|
m_pPlayerState = pPlayerState;
|
||||||
|
m_fYReverseOffsetPixels = fYReverseOffsetPixels;
|
||||||
|
CacheAllUsedNoteSkins();
|
||||||
|
}
|
||||||
|
|
||||||
void NoteField::Load(
|
void NoteField::Load(
|
||||||
const NoteData *pNoteData,
|
const NoteData *pNoteData,
|
||||||
const PlayerState* pPlayerState,
|
|
||||||
int iFirstPixelToDraw,
|
int iFirstPixelToDraw,
|
||||||
int iLastPixelToDraw,
|
int iLastPixelToDraw )
|
||||||
float fYReverseOffsetPixels )
|
|
||||||
{
|
{
|
||||||
m_pNoteData = pNoteData;
|
m_pNoteData = pNoteData;
|
||||||
m_pPlayerState = pPlayerState;
|
|
||||||
m_iStartDrawingPixel = iFirstPixelToDraw;
|
m_iStartDrawingPixel = iFirstPixelToDraw;
|
||||||
m_iEndDrawingPixel = iLastPixelToDraw;
|
m_iEndDrawingPixel = iLastPixelToDraw;
|
||||||
m_fYReverseOffsetPixels = fYReverseOffsetPixels;
|
|
||||||
|
|
||||||
m_fPercentFadeToFail = -1;
|
m_fPercentFadeToFail = -1;
|
||||||
m_LastSeenBeatToNoteSkinRev = -1;
|
m_LastSeenBeatToNoteSkinRev = -1;
|
||||||
|
|
||||||
ASSERT( m_pNoteData->GetNumTracks() == GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer );
|
ASSERT( m_pNoteData->GetNumTracks() == GAMESTATE->GetCurrentStyle()->m_iColsPerPlayer );
|
||||||
|
|
||||||
CacheAllUsedNoteSkins();
|
|
||||||
RefreshBeatToNoteSkin();
|
RefreshBeatToNoteSkin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,12 +22,11 @@ public:
|
|||||||
virtual void Update( float fDeltaTime );
|
virtual void Update( float fDeltaTime );
|
||||||
virtual void DrawPrimitives();
|
virtual void DrawPrimitives();
|
||||||
|
|
||||||
|
virtual void Init( const PlayerState* pPlayerState, float fYReverseOffsetPixels );
|
||||||
virtual void Load(
|
virtual void Load(
|
||||||
const NoteData* pNoteData,
|
const NoteData* pNoteData,
|
||||||
const PlayerState* pPlayerState,
|
|
||||||
int iStartDrawingPixel,
|
int iStartDrawingPixel,
|
||||||
int iEndDrawingPixel,
|
int iEndDrawingPixel );
|
||||||
float fYReverseOffsetPixels );
|
|
||||||
virtual void Unload();
|
virtual void Unload();
|
||||||
|
|
||||||
int m_iBeginMarker, m_iEndMarker; // only used with MODE_EDIT
|
int m_iBeginMarker, m_iEndMarker; // only used with MODE_EDIT
|
||||||
|
|||||||
@@ -158,6 +158,9 @@ void Player::Init(
|
|||||||
m_Combo.SetName( "Combo" );
|
m_Combo.SetName( "Combo" );
|
||||||
m_Combo.Load( pn );
|
m_Combo.Load( pn );
|
||||||
|
|
||||||
|
m_fNoteFieldHeight = GRAY_ARROWS_Y_REVERSE-GRAY_ARROWS_Y_STANDARD;
|
||||||
|
m_pNoteField->Init( m_pPlayerState, m_fNoteFieldHeight );
|
||||||
|
|
||||||
ActorUtil::OnCommand( m_Combo, sType );
|
ActorUtil::OnCommand( m_Combo, sType );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,9 +237,7 @@ void Player::Load( const NoteData& noteData )
|
|||||||
|
|
||||||
if( m_pNoteField )
|
if( m_pNoteField )
|
||||||
m_pNoteField->SetY( fNoteFieldMiddle );
|
m_pNoteField->SetY( fNoteFieldMiddle );
|
||||||
m_fNoteFieldHeight = GRAY_ARROWS_Y_REVERSE-GRAY_ARROWS_Y_STANDARD;
|
m_pNoteField->Load( &m_NoteData, iStartDrawingAtPixels, iStopDrawingAtPixels );
|
||||||
if( m_pNoteField )
|
|
||||||
m_pNoteField->Load( &m_NoteData, m_pPlayerState, iStartDrawingAtPixels, iStopDrawingAtPixels, m_fNoteFieldHeight );
|
|
||||||
|
|
||||||
const bool bReverse = GAMESTATE->m_pPlayerState[pn]->m_PlayerOptions.GetReversePercentForColumn(0) == 1;
|
const bool bReverse = GAMESTATE->m_pPlayerState[pn]->m_PlayerOptions.GetReversePercentForColumn(0) == 1;
|
||||||
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->m_StyleType==ONE_PLAYER_TWO_SIDES;
|
bool bPlayerUsingBothSides = GAMESTATE->GetCurrentStyle()->m_StyleType==ONE_PLAYER_TWO_SIDES;
|
||||||
|
|||||||
@@ -555,14 +555,16 @@ void ScreenEdit::Init()
|
|||||||
m_NoteFieldEdit.SetZoom( 0.5f );
|
m_NoteFieldEdit.SetZoom( 0.5f );
|
||||||
m_NoteDataEdit.CopyAll( noteData );
|
m_NoteDataEdit.CopyAll( noteData );
|
||||||
|
|
||||||
m_NoteFieldEdit.Load( &m_NoteDataEdit, GAMESTATE->m_pPlayerState[PLAYER_1], -240, 800, PLAYER_HEIGHT*2 );
|
m_NoteFieldEdit.Init( GAMESTATE->m_pPlayerState[PLAYER_1], PLAYER_HEIGHT*2 );
|
||||||
|
m_NoteFieldEdit.Load( &m_NoteDataEdit, -240, 800 );
|
||||||
|
|
||||||
m_rectRecordBack.StretchTo( RectF(SCREEN_LEFT, SCREEN_TOP, SCREEN_RIGHT, SCREEN_BOTTOM) );
|
m_rectRecordBack.StretchTo( RectF(SCREEN_LEFT, SCREEN_TOP, SCREEN_RIGHT, SCREEN_BOTTOM) );
|
||||||
m_rectRecordBack.SetDiffuse( RageColor(0,0,0,0) );
|
m_rectRecordBack.SetDiffuse( RageColor(0,0,0,0) );
|
||||||
|
|
||||||
m_NoteFieldRecord.SetXY( EDIT_X, PLAYER_Y );
|
m_NoteFieldRecord.SetXY( EDIT_X, PLAYER_Y );
|
||||||
m_NoteDataRecord.CopyAll( noteData );
|
m_NoteDataRecord.CopyAll( noteData );
|
||||||
m_NoteFieldRecord.Load( &m_NoteDataRecord, GAMESTATE->m_pPlayerState[PLAYER_1], -150, 350, 350 );
|
m_NoteFieldRecord.Init( GAMESTATE->m_pPlayerState[PLAYER_1], 350 );
|
||||||
|
m_NoteFieldRecord.Load( &m_NoteDataRecord, -150, 350 );
|
||||||
|
|
||||||
m_Clipboard.SetNumTracks( m_NoteDataEdit.GetNumTracks() );
|
m_Clipboard.SetNumTracks( m_NoteDataEdit.GetNumTracks() );
|
||||||
|
|
||||||
@@ -2235,7 +2237,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
|
|||||||
// initialize m_NoteFieldRecord
|
// initialize m_NoteFieldRecord
|
||||||
m_NoteDataRecord.SetNumTracks( m_NoteDataEdit.GetNumTracks() );
|
m_NoteDataRecord.SetNumTracks( m_NoteDataEdit.GetNumTracks() );
|
||||||
m_NoteDataRecord.CopyAll( m_NoteDataEdit );
|
m_NoteDataRecord.CopyAll( m_NoteDataEdit );
|
||||||
m_NoteFieldRecord.Load( &m_NoteDataRecord, GAMESTATE->m_pPlayerState[PLAYER_1], -150, 350, 350 );
|
m_NoteFieldRecord.Load( &m_NoteDataRecord, -150, 350 );
|
||||||
|
|
||||||
m_rectRecordBack.StopTweening();
|
m_rectRecordBack.StopTweening();
|
||||||
m_rectRecordBack.BeginTweening( 0.5f );
|
m_rectRecordBack.BeginTweening( 0.5f );
|
||||||
|
|||||||
Reference in New Issue
Block a user