[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(); int iRow = iter.Row();
// if row is within a warp section, ignore it. -aj // if row is within a warp section, ignore it. -aj
if( iRow >= GAMESTATE->m_iWarpBeginRow && if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow(iRow) )
iRow < BeatToNoteRow(GAMESTATE->m_fWarpDestination) )
continue; continue;
if( iLastSeenRow != iRow ) if( iLastSeenRow != iRow )
+6 -8
View File
@@ -343,14 +343,12 @@ int TimingData::GetWarpSegmentIndexAtRow( int iNoteRow ) const
bool TimingData::IsWarpAtRow( int iNoteRow ) const bool TimingData::IsWarpAtRow( int iNoteRow ) const
{ {
unsigned i; if( m_WarpSegments.empty() )
for( i=0; i<m_WarpSegments.size(); i++ ) return false;
{
const WarpSegment& s = m_WarpSegments[i]; int i = GetWarpSegmentIndexAtRow( iNoteRow );
if( s.m_iStartRow >= iNoteRow ) const WarpSegment& s = m_WarpSegments[i];
return iNoteRow < BeatToNoteRow(m_WarpSegments[i].m_fEndBeat); return s.m_iStartRow <= iNoteRow && iNoteRow < BeatToNoteRow(s.m_fEndBeat);
}
return false;
} }
int TimingData::GetTimeSignatureSegmentIndexAtRow( int iRow ) const int TimingData::GetTimeSignatureSegmentIndexAtRow( int iRow ) const