From ab8b76b3b85ad35405f161d7626eda86a34f76c0 Mon Sep 17 00:00:00 2001 From: Thai Pangsakulyanont Date: Tue, 10 May 2011 20:27:12 +0700 Subject: [PATCH] [splittiming] NoteDisplay, NoteField, Player, PlayerState (182) --- src/NoteDisplay.cpp | 2 +- src/NoteField.cpp | 14 +++++++------- src/Player.cpp | 4 ++-- src/PlayerState.cpp | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/NoteDisplay.cpp b/src/NoteDisplay.cpp index 3998c1fb08..a5c530bd73 100644 --- a/src/NoteDisplay.cpp +++ b/src/NoteDisplay.cpp @@ -286,7 +286,7 @@ void NoteDisplay::Update( float fDeltaTime ) void NoteDisplay::SetActiveFrame( float fNoteBeat, Actor &actorToSet, float fAnimationLength, bool bVivid ) { /* -inf ... inf */ - float fBeatOrSecond = cache->m_bAnimationBasedOnBeats ? GAMESTATE->m_fSongBeat : GAMESTATE->m_fMusicSeconds; + float fBeatOrSecond = cache->m_bAnimationBasedOnBeats ? m_pPlayerState->m_Position.m_fSongBeat : m_pPlayerState->m_Position.m_fMusicSeconds; /* -len ... +len */ float fPercentIntoAnimation = fmodf( fBeatOrSecond, fAnimationLength ); /* -1 ... 1 */ diff --git a/src/NoteField.cpp b/src/NoteField.cpp index ea54e2f812..c4c6826765 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -240,7 +240,7 @@ void NoteField::Update( float fDeltaTime ) ActorFrame::Update( fDeltaTime ); // update m_fBoardOffsetPixels, m_fCurrentBeatLastUpdate, m_fYPosCurrentBeatLastUpdate - const float fCurrentBeat = GAMESTATE->m_fSongBeat; + const float fCurrentBeat = m_pPlayerState->m_Position.m_fSongBeat; bool bTweeningOn = m_sprBoard->GetCurrentDiffuseAlpha() >= 0.98 && m_sprBoard->GetCurrentDiffuseAlpha() < 1.00; // HACK if( !bTweeningOn && m_fCurrentBeatLastUpdate != -1 ) { @@ -606,7 +606,7 @@ void NoteField::DrawBGChangeText( const float fBeat, const RString sNewBGName ) // change this probing to binary search float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceAfterTargetsPixels ) { - float fFirstBeatToDraw = GAMESTATE->m_fSongBeat-4; // Adjust to balance off performance and showing enough notes. + float fFirstBeatToDraw = pPlayerState->m_Position.m_fSongBeat-4; // Adjust to balance off performance and showing enough notes. /* In Boomerang, we'll usually have two sections of notes: before and after * the peak. We always start drawing before the peak, and end after it, or @@ -618,7 +618,7 @@ float FindFirstDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistance bBoomerang = (fAccels[PlayerOptions::ACCEL_BOOMERANG] != 0); } - while( fFirstBeatToDraw < GAMESTATE->m_fSongBeat ) + while( fFirstBeatToDraw < m_pPlayerState->m_Position.m_fSongBeat ) { bool bIsPastPeakYOffset; float fPeakYOffset; @@ -640,7 +640,7 @@ float FindLastDisplayedBeat( const PlayerState* pPlayerState, int iDrawDistanceB // Probe for last note to draw. Worst case is 0.25x + boost. // Adjust search distance so that notes don't pop onto the screen. float fSearchDistance = 10; - float fLastBeatToDraw = GAMESTATE->m_fSongBeat+fSearchDistance; + float fLastBeatToDraw = pPlayerState->m_Position.m_fSongBeat+fSearchDistance; const int NUM_ITERATIONS = 20; @@ -1045,7 +1045,7 @@ void NoteField::DrawPrimitives() displayCols->display[c].DrawHold( tn, c, iStartRow, bIsHoldingNote, Result, bUseAdditionColoring, bIsInSelectionRange ? fSelectedRangeGlow : m_fPercentFadeToFail, m_fYReverseOffsetPixels, (float) iDrawDistanceAfterTargetsPixels, (float) iDrawDistanceBeforeTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT ); - bool bNoteIsUpcoming = NoteRowToBeat(iStartRow) > GAMESTATE->m_fSongBeat; + bool bNoteIsUpcoming = NoteRowToBeat(iStartRow) > m_pPlayerState->m_Position.m_fSongBeat; bAnyUpcomingInThisCol |= bNoteIsUpcoming; } } @@ -1087,7 +1087,7 @@ void NoteField::DrawPrimitives() continue; // skip ASSERT_M( NoteRowToBeat(q) > -2000, ssprintf("%i %i %i, %f %f", q, iLastRowToDraw, - iFirstRowToDraw, GAMESTATE->m_fSongBeat, GAMESTATE->m_fMusicSeconds) ); + iFirstRowToDraw, m_pPlayerState->m_Position.m_fSongBeat, m_pPlayerState->m_Position.m_fMusicSeconds) ); // See if there is a hold step that begins on this index. // Only do this if the noteskin cares. @@ -1117,7 +1117,7 @@ void NoteField::DrawPrimitives() m_fYReverseOffsetPixels, iDrawDistanceAfterTargetsPixels, iDrawDistanceBeforeTargetsPixels, FADE_BEFORE_TARGETS_PERCENT ); - bool bNoteIsUpcoming = NoteRowToBeat(q) > GAMESTATE->m_fSongBeat; + bool bNoteIsUpcoming = NoteRowToBeat(q) > m_pPlayerState->m_Position.m_fSongBeat; bAnyUpcomingInThisCol |= bNoteIsUpcoming; } diff --git a/src/Player.cpp b/src/Player.cpp index e885c2bf9c..f992b838d5 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2022,8 +2022,8 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b * "jack hammers." Hmm. */ const int iStepSearchRows = max( - BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( GAMESTATE->m_fMusicSeconds + StepSearchDistance ) ) - iSongRow, - iSongRow - BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( GAMESTATE->m_fMusicSeconds - StepSearchDistance ) ) + BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( m_pPlayerState->m_Position.m_fMusicSeconds + StepSearchDistance ) ) - iSongRow, + iSongRow - BeatToNoteRow( m_Timing->GetBeatFromElapsedTime( m_pPlayerState->m_Position.m_fMusicSeconds - StepSearchDistance ) ) ) + ROWS_PER_BEAT; int iRowOfOverlappingNoteOrRow = row; if( row == -1 ) diff --git a/src/PlayerState.cpp b/src/PlayerState.cpp index 070e96c7be..d6583059bf 100644 --- a/src/PlayerState.cpp +++ b/src/PlayerState.cpp @@ -69,8 +69,8 @@ void PlayerState::Update( float fDelta ) bool bCurrentlyEnabled = attack.bGlobal || - ( attack.fStartSecond < GAMESTATE->m_fMusicSeconds && - GAMESTATE->m_fMusicSeconds < attack.fStartSecond+attack.fSecsRemaining ); + ( attack.fStartSecond < m_Position.m_fMusicSeconds && + m_Position.m_fMusicSeconds < attack.fStartSecond+attack.fSecsRemaining ); if( m_ActiveAttacks[s].bOn == bCurrentlyEnabled ) continue; // OK @@ -116,7 +116,7 @@ void PlayerState::LaunchAttack( const Attack& a ) * so Player::Update knows to apply attack transforms correctly. (yuck) */ m_ModsToApply.push_back( attack ); if( attack.fStartSecond == -1 ) - attack.fStartSecond = GAMESTATE->m_fMusicSeconds; + attack.fStartSecond = m_Position.m_fMusicSeconds; m_ActiveAttacks.push_back( attack ); RebuildPlayerOptionsFromActiveAttacks();