a shot in the dark.
This commit is contained in:
+20
-25
@@ -1206,33 +1206,28 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
|
|||||||
bool bIsHoldingButton = true;
|
bool bIsHoldingButton = true;
|
||||||
FOREACH( TrackRowTapNote, vTN, trtn )
|
FOREACH( TrackRowTapNote, vTN, trtn )
|
||||||
{
|
{
|
||||||
/*if this hold is already done, pretend it's always being pressed.
|
int iTrack = trtn->iTrack;
|
||||||
fixes/masks the phantom hold issue. -FSX*/
|
|
||||||
if( (iStartRow + trtn->pTN->iDuration) > iSongRow )
|
// TODO: Remove use of PlayerNumber.
|
||||||
|
PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||||
|
|
||||||
|
if( m_pPlayerState->m_PlayerController != PC_HUMAN )
|
||||||
{
|
{
|
||||||
int iTrack = trtn->iTrack;
|
// TODO: Make the CPU miss sometimes.
|
||||||
|
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 )
|
|
||||||
{
|
{
|
||||||
// TODO: Make the CPU miss sometimes.
|
STATSMAN->m_CurStageStats.m_bUsedAutoplay = true;
|
||||||
if( m_pPlayerState->m_PlayerController == PC_AUTOPLAY )
|
if( m_pPlayerStageStats != NULL )
|
||||||
{
|
m_pPlayerStageStats->m_bDisqualified = true;
|
||||||
STATSMAN->m_CurStageStats.m_bUsedAutoplay = true;
|
|
||||||
if( m_pPlayerStageStats != NULL )
|
|
||||||
m_pPlayerStageStats->m_bDisqualified = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn );
|
|
||||||
// this previously read as bIsHoldingButton &=
|
|
||||||
// was there a specific reason for this? - Friez
|
|
||||||
bIsHoldingButton &= INPUTMAPPER->IsBeingPressed( GameI, m_pPlayerState->m_mp );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iTrack, pn );
|
||||||
|
// this previously read as bIsHoldingButton &=
|
||||||
|
// was there a specific reason for this? - Friez
|
||||||
|
bIsHoldingButton &= INPUTMAPPER->IsBeingPressed( GameI, m_pPlayerState->m_mp );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( bInitiatedNote && fLife != 0 && bHeadJudged )
|
if( bInitiatedNote && fLife != 0 && bHeadJudged )
|
||||||
@@ -1263,11 +1258,11 @@ void Player::UpdateHoldNotes( int iSongRow, float fDeltaTime, vector<TrackRowTap
|
|||||||
TapNote &tn = *trtn->pTN;
|
TapNote &tn = *trtn->pTN;
|
||||||
|
|
||||||
// set hold flag so NoteField can do intelligent drawing
|
// set hold flag so NoteField can do intelligent drawing
|
||||||
tn.HoldResult.bHeld = bIsHoldingButton && bInitiatedNote;
|
tn.HoldResult.bHeld = bIsHoldingButton && bInitiatedNote ||;
|
||||||
tn.HoldResult.bActive = bInitiatedNote;
|
tn.HoldResult.bActive = bInitiatedNote;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( bInitiatedNote && bIsHoldingButton )
|
if( bInitiatedNote && bIsHoldingButton || ((iStartRow + trtn->pTN->iDuration) > iSongRow ) )
|
||||||
{
|
{
|
||||||
//LOG->Trace("bInitiatedNote && bIsHoldingButton; Increasing hold life to MAX_HOLD_LIFE");
|
//LOG->Trace("bInitiatedNote && bIsHoldingButton; Increasing hold life to MAX_HOLD_LIFE");
|
||||||
// Increase life
|
// Increase life
|
||||||
|
|||||||
Reference in New Issue
Block a user