Fix hold note life not counting down during a freeze at the very start
This commit is contained in:
@@ -228,7 +228,8 @@ void Player::Update( float fDeltaTime )
|
|||||||
const TapNoteScore tns = GetTapNoteScore(hn.iTrack, iHoldStartIndex);
|
const TapNoteScore tns = GetTapNoteScore(hn.iTrack, iHoldStartIndex);
|
||||||
const bool bSteppedOnTapNote = tns != TNS_NONE && tns != TNS_MISS; // did they step on the start of this hold?
|
const bool bSteppedOnTapNote = tns != TNS_NONE && tns != TNS_MISS; // did they step on the start of this hold?
|
||||||
|
|
||||||
if( hn.fStartBeat < fSongBeat && fSongBeat < hn.fEndBeat ) // if the song beat is in the range of this hold
|
// If the song beat is in the range of this hold:
|
||||||
|
if( hn.fStartBeat <= fSongBeat && fSongBeat <= hn.fEndBeat )
|
||||||
{
|
{
|
||||||
bool bIsHoldingButton = INPUTMAPPER->IsButtonDown( GameI );
|
bool bIsHoldingButton = INPUTMAPPER->IsButtonDown( GameI );
|
||||||
|
|
||||||
@@ -251,12 +252,16 @@ void Player::Update( float fDeltaTime )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( fSongBeat-hn.fStartBeat > GAMESTATE->m_fCurBPS * GetMaxStepDistanceSeconds() )
|
/* What is this conditional for? It causes a problem: if a hold note
|
||||||
{
|
* begins on a freeze, you can tap it and then release it for the
|
||||||
|
* duration of the freeze; life doesn't count down until we're
|
||||||
|
* past the first beat. */
|
||||||
|
// if( fSongBeat-hn.fStartBeat > GAMESTATE->m_fCurBPS * GetMaxStepDistanceSeconds() )
|
||||||
|
// {
|
||||||
// Decrease life
|
// Decrease life
|
||||||
fLife -= fDeltaTime/PREFSMAN->m_fJudgeWindowOKSeconds;
|
fLife -= fDeltaTime/PREFSMAN->m_fJudgeWindowOKSeconds;
|
||||||
fLife = max( fLife, 0 ); // clamp
|
fLife = max( fLife, 0 ); // clamp
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user