[splittiming] Fix Player.cpp (198)

This commit is contained in:
Thai Pangsakulyanont
2011-05-10 20:18:17 +07:00
parent 8c8ba93006
commit 38a4852180
+13 -13
View File
@@ -919,12 +919,12 @@ void Player::Update( float fDeltaTime )
/* We want to send the crossed row message exactly when we cross the row--not /* We want to send the crossed row message exactly when we cross the row--not
* .5 before the row. Use a very slow song (around 2 BPM) as a test case: without * .5 before the row. Use a very slow song (around 2 BPM) as a test case: without
* rounding, autoplay steps early. -glenn */ * rounding, autoplay steps early. -glenn */
const int iRowNow = BeatToNoteRowNotRounded( GAMESTATE->m_fSongBeat ); const int iRowNow = BeatToNoteRowNotRounded( GAMESTATE->m_Position.m_fSongBeat );
if( iRowNow >= 0 ) if( iRowNow >= 0 )
{ {
if( GAMESTATE->IsPlayerEnabled(m_pPlayerState) ) if( GAMESTATE->IsPlayerEnabled(m_pPlayerState) )
{ {
if(GAMESTATE->m_bDelay) if(m_pPlayerState->m_Position.m_bDelay)
{ {
if( !m_bDelay ) if( !m_bDelay )
m_bDelay = true; m_bDelay = true;
@@ -1652,7 +1652,7 @@ void Player::Fret( int col, int row, const RageTimer &tm, bool bHeld, bool bRele
} }
// Handle hammer-ons and pull-offs // Handle hammer-ons and pull-offs
const float fPositionSeconds = GAMESTATE->m_fMusicSeconds - tm.Ago(); const float fPositionSeconds = m_pPlayerState->m_Position.m_fMusicSeconds - tm.Ago();
int iHopoCol = -1; int iHopoCol = -1;
bool bDoHopo = bool bDoHopo =
m_pPlayerState->m_fLastHopoNoteMusicSeconds != -1 && m_pPlayerState->m_fLastHopoNoteMusicSeconds != -1 &&
@@ -1705,7 +1705,7 @@ void Player::Fret( int col, int row, const RageTimer &tm, bool bHeld, bool bRele
// Check if this fret breaks all active holds. // Check if this fret breaks all active holds.
if( !bRelease ) if( !bRelease )
{ {
const float fSongBeat = GAMESTATE->m_fSongBeat; const float fSongBeat = m_pPlayerState->m_Position.m_fSongBeat;
const int iSongRow = BeatToNoteRow( fSongBeat ); const int iSongRow = BeatToNoteRow( fSongBeat );
int iMaxHoldCol = -1; int iMaxHoldCol = -1;
@@ -1747,7 +1747,7 @@ void Player::Strum( int col, int row, const RageTimer &tm, bool bHeld, bool bRel
DoStrumMiss(); DoStrumMiss();
} }
m_pPlayerState->m_fLastStrumMusicSeconds = GAMESTATE->m_fMusicSeconds; m_pPlayerState->m_fLastStrumMusicSeconds = m_pPlayerState->m_Position.m_fMusicSeconds;
StepStrumHopo( col, row, tm, bHeld, bRelease, ButtonType_StrumFretsChanged ); StepStrumHopo( col, row, tm, bHeld, bRelease, ButtonType_StrumFretsChanged );
} }
@@ -1796,7 +1796,7 @@ void Player::ScoreAllActiveHoldsLetGo()
{ {
if( PENALIZE_TAP_SCORE_NONE ) if( PENALIZE_TAP_SCORE_NONE )
{ {
const float fSongBeat = GAMESTATE->m_fSongBeat; const float fSongBeat = m_pPlayerState->m_Position.m_fSongBeat;
const int iSongRow = BeatToNoteRow( fSongBeat ); const int iSongRow = BeatToNoteRow( fSongBeat );
// Score all active holds to NotHeld // Score all active holds to NotHeld
@@ -1859,8 +1859,8 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
// Do everything that depends on a RageTimer here; // Do everything that depends on a RageTimer here;
// set your breakpoints somewhere after this block. // set your breakpoints somewhere after this block.
const float fLastBeatUpdate = GAMESTATE->m_LastBeatUpdate.Ago(); const float fLastBeatUpdate = m_pPlayerState->m_Position.m_LastBeatUpdate.Ago();
const float fPositionSeconds = GAMESTATE->m_fMusicSeconds - tm.Ago(); const float fPositionSeconds = m_pPlayerState->m_Position.m_fMusicSeconds - tm.Ago();
const float fTimeSinceStep = tm.Ago(); const float fTimeSinceStep = tm.Ago();
switch( pbt ) switch( pbt )
@@ -1875,7 +1875,7 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
break; break;
} }
float fSongBeat = GAMESTATE->m_fSongBeat; float fSongBeat = m_pPlayerState->m_Position.m_fSongBeat;
if( GAMESTATE->m_pCurSong ) if( GAMESTATE->m_pCurSong )
{ {
@@ -2059,7 +2059,7 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
/* GAMESTATE->m_fMusicSeconds is the music time as of GAMESTATE->m_LastBeatUpdate. Figure /* GAMESTATE->m_fMusicSeconds is the music time as of GAMESTATE->m_LastBeatUpdate. Figure
* out what the music time is as of now. */ * out what the music time is as of now. */
const float fCurrentMusicSeconds = GAMESTATE->m_fMusicSeconds + (fLastBeatUpdate*GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate); const float fCurrentMusicSeconds = m_pPlayerState->m_Position.m_fMusicSeconds + (fLastBeatUpdate*GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate);
// ... which means it happened at this point in the music: // ... which means it happened at this point in the music:
const float fMusicSeconds = fCurrentMusicSeconds - fTimeSinceStep * GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate; const float fMusicSeconds = fCurrentMusicSeconds - fTimeSinceStep * GAMESTATE->m_SongOptions.GetCurrent().m_fMusicRate;
@@ -2568,7 +2568,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds )
{ {
//LOG->Trace( "Steps::UpdateTapNotesMissedOlderThan(%f)", fMissIfOlderThanThisBeat ); //LOG->Trace( "Steps::UpdateTapNotesMissedOlderThan(%f)", fMissIfOlderThanThisBeat );
int iMissIfOlderThanThisRow; int iMissIfOlderThanThisRow;
const float fEarliestTime = GAMESTATE->m_fMusicSeconds - fMissIfOlderThanSeconds; const float fEarliestTime = m_pPlayerState->m_Position.m_fMusicSeconds - fMissIfOlderThanSeconds;
{ {
bool bFreeze, bDelay; bool bFreeze, bDelay;
float fMissIfOlderThanThisBeat; float fMissIfOlderThanThisBeat;
@@ -2621,7 +2621,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds )
void Player::UpdateJudgedRows() void Player::UpdateJudgedRows()
{ {
const int iEndRow = BeatToNoteRow( GAMESTATE->m_fSongBeat ); const int iEndRow = BeatToNoteRow( m_pPlayerState->m_Position.m_fSongBeat );
bool bAllJudged = true; bool bAllJudged = true;
const bool bSeparately = GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately; const bool bSeparately = GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately;
@@ -3268,7 +3268,7 @@ void Player::SetCombo( int iCombo, int iMisses )
} }
else else
{ {
bPastBeginning = GAMESTATE->m_fMusicSeconds > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds * PERCENT_UNTIL_COLOR_COMBO; bPastBeginning = m_pPlayerState->m_Position.m_fMusicSeconds > GAMESTATE->m_pCurSong->m_fMusicLengthSeconds * PERCENT_UNTIL_COLOR_COMBO;
} }
if( m_bSendJudgmentAndComboMessages ) if( m_bSendJudgmentAndComboMessages )