[warps] Fix IsWarpAtRow.

This commit is contained in:
Thai Pangsakulyanont
2011-03-25 23:40:03 +07:00
parent 4316579e89
commit f4ecfd08f9
2 changed files with 7 additions and 10 deletions
+1 -2
View File
@@ -2587,8 +2587,7 @@ void Player::UpdateJudgedRows()
int iRow = iter.Row();
// if row is within a warp section, ignore it. -aj
if( iRow >= GAMESTATE->m_iWarpBeginRow &&
iRow < BeatToNoteRow(GAMESTATE->m_fWarpDestination) )
if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow(iRow) )
continue;
if( iLastSeenRow != iRow )
+6 -8
View File
@@ -343,14 +343,12 @@ int TimingData::GetWarpSegmentIndexAtRow( int iNoteRow ) const
bool TimingData::IsWarpAtRow( int iNoteRow ) const
{
unsigned i;
for( i=0; i<m_WarpSegments.size(); i++ )
{
const WarpSegment& s = m_WarpSegments[i];
if( s.m_iStartRow >= iNoteRow )
return iNoteRow < BeatToNoteRow(m_WarpSegments[i].m_fEndBeat);
}
return false;
if( m_WarpSegments.empty() )
return false;
int i = GetWarpSegmentIndexAtRow( iNoteRow );
const WarpSegment& s = m_WarpSegments[i];
return s.m_iStartRow <= iNoteRow && iNoteRow < BeatToNoteRow(s.m_fEndBeat);
}
int TimingData::GetTimeSignatureSegmentIndexAtRow( int iRow ) const