fix INITIAL_HOLD_LIFE: leave at 1 until the hold starts

This commit is contained in:
Glenn Maynard
2007-03-17 03:51:07 +00:00
parent c0a6373693
commit e63743d664
+11 -11
View File
@@ -404,17 +404,6 @@ void Player::Load()
/* Apply transforms. */
NoteDataUtil::TransformNoteData( m_NoteData, m_pPlayerState->m_PlayerOptions.GetStage(), GAMESTATE->GetCurrentStyle()->m_StepsType );
/* Apply InitialHoldLife. */
{
NoteData::all_tracks_iterator iter = m_NoteData.GetTapNoteRangeAllTracks( 0, MAX_NOTE_ROW, NULL, true );
for( ; !iter.IsAtEnd(); ++iter )
{
TapNote &tn = *iter;
if( tn.type == TapNote::hold_head )
tn.HoldResult.fLife = INITIAL_HOLD_LIFE;
}
}
const Song* pSong = GAMESTATE->m_pCurSong;
if( GAMESTATE->m_pCurGame->m_bAllowHopos )
NoteDataUtil::SetHopoPossibleFlags( pSong, m_NoteData );
@@ -2201,6 +2190,17 @@ void Player::CrossedRows( int iFirstRowCrossed, int iLastRowCrossed, const RageT
{
//LOG->Trace( "Player::CrossedRows %d %d", iFirstRowCrossed, iLastRowCrossed );
/* Apply InitialHoldLife. */
{
NoteData::all_tracks_iterator iter = m_NoteData.GetTapNoteRangeAllTracks( iFirstRowCrossed, iLastRowCrossed+1, NULL, false );
for( ; !iter.IsAtEnd(); ++iter )
{
TapNote &tn = *iter;
if( tn.type == TapNote::hold_head )
tn.HoldResult.fLife = INITIAL_HOLD_LIFE;
}
}
// for each index we crossed since the last update
FOREACH_NONEMPTY_ROW_ALL_TRACKS_RANGE( m_NoteData, r, m_iFirstUncrossedRow, iLastRowCrossed+1 )
{