diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index 1c064636fe..54200227c3 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -92,6 +92,8 @@ float AdjustedWindowHold( HoldWindow hw, bool bIsPlayingBeginner ) Player::Player() { + m_bLoaded = false; + m_pPlayerState = NULL; m_pPlayerStageStats = NULL; m_fNoteFieldHeight = 0; @@ -213,11 +215,12 @@ void Player::Init( m_fNoteFieldHeight = GRAY_ARROWS_Y_REVERSE-GRAY_ARROWS_Y_STANDARD; m_pNoteField->Init( m_pPlayerState, m_fNoteFieldHeight ); - m_pNoteField->RefreshBeatToNoteSkin(); } void Player::Load( const NoteData& noteData ) { + m_bLoaded = true; + m_LastTapNoteScore = TNS_NONE; m_iRowLastCrossed = BeatToNoteRowNotRounded( GAMESTATE->m_fSongBeat ) - 1; // why this? @@ -329,6 +332,10 @@ void Player::Load( const NoteData& noteData ) void Player::Update( float fDeltaTime ) { + // Don't update if we havn't been loaded yet. + if( !m_bLoaded ) + return; + //LOG->Trace( "Player::Update(%f)", fDeltaTime ); if( GAMESTATE->m_pCurSong==NULL ) diff --git a/stepmania/src/Player.h b/stepmania/src/Player.h index a037048fef..301adc718c 100644 --- a/stepmania/src/Player.h +++ b/stepmania/src/Player.h @@ -74,6 +74,8 @@ protected: bool IsPlayingBeginner() const; + bool m_bLoaded; + PlayerState* m_pPlayerState; PlayerStageStats* m_pPlayerStageStats; float m_fNoteFieldHeight;