Phantom hold fix retry

This commit is contained in:
Flameshadowxeroshin
2013-05-28 23:59:30 -05:00
parent 6f7376c902
commit 8945797fee
+21 -16
View File
@@ -1206,27 +1206,32 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
bool bIsHoldingButton = true; bool bIsHoldingButton = true;
FOREACH( TrackRowTapNote, vTN, trtn ) FOREACH( TrackRowTapNote, vTN, trtn )
{ {
int iTrack = trtn->iTrack; /*if this hold is already done, pretend it's always being pressed.
fixes/masks the phantom hold issue. -FSX*/
// TODO: Remove use of PlayerNumber. if( (iStartRow + *trtn->pTN.iDuration) > iSongRow )
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
if( m_pPlayerState->m_PlayerController != PC_HUMAN )
{ {
// TODO: Make the CPU miss sometimes. int iTrack = trtn->iTrack;
if( m_pPlayerState->m_PlayerController == PC_AUTOPLAY )
// TODO: Remove use of PlayerNumber.
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
if( m_pPlayerState->m_PlayerController != PC_HUMAN )
{ {
STATSMAN->m_CurStageStats.m_bUsedAutoplay = true; // TODO: Make the CPU miss sometimes.
if( m_pPlayerStageStats != NULL ) if( m_pPlayerState->m_PlayerController == PC_AUTOPLAY )
m_pPlayerStageStats->m_bDisqualified = true; {
STATSMAN->m_CurStageStats.m_bUsedAutoplay = true;
if( m_pPlayerStageStats != NULL )
m_pPlayerStageStats->m_bDisqualified = true;
}
} }
} else
else {
{ GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn );
GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn );
// this previously read as bIsHoldingButton &= // this previously read as bIsHoldingButton &=
// was there a specific reason for this? - Friez // was there a specific reason for this? - Friez
bIsHoldingButton &= INPUTMAPPER->IsBeingPressed( GameI, m_pPlayerState->m_mp ); bIsHoldingButton &= INPUTMAPPER->IsBeingPressed( GameI, m_pPlayerState->m_mp );
}
} }
} }