Another batch of gotos gone.

Using the fake infinite loop style to avoid the
(stupid) windows constant evaluation pedantic warning.
This commit is contained in:
Jason Felds
2013-01-24 23:07:16 -05:00
parent 9e9aa237e9
commit 7bbeb689db
+6 -5
View File
@@ -2439,19 +2439,20 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
{ {
bool bDidHopo = true; bool bDidHopo = true;
for (;;)
{ {
// only can hopo on a row with one note // only can hopo on a row with one note
if( m_NoteData.GetNumTapNotesInRow(iRowOfOverlappingNoteOrRow) != 1 ) if( m_NoteData.GetNumTapNotesInRow(iRowOfOverlappingNoteOrRow) != 1 )
{ {
bDidHopo = false; bDidHopo = false;
goto done_checking_hopo; break;
} }
// con't hopo on the same note 2x in a row // con't hopo on the same note 2x in a row
if( col == m_pPlayerState->m_iLastHopoNoteCol ) if( col == m_pPlayerState->m_iLastHopoNoteCol )
{ {
bDidHopo = false; bDidHopo = false;
goto done_checking_hopo; break;
} }
const TapNote &tn = m_NoteData.GetTapNote( col, iRowOfOverlappingNoteOrRow ); const TapNote &tn = m_NoteData.GetTapNote( col, iRowOfOverlappingNoteOrRow );
@@ -2463,17 +2464,17 @@ void Player::StepStrumHopo( int col, int row, const RageTimer &tm, bool bHeld, b
if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row()) ) if( !NoteDataWithScoring::IsRowCompletelyJudged(m_NoteData, iter.Row()) )
{ {
bDidHopo = false; bDidHopo = false;
goto done_checking_hopo; break;
} }
const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iter.Row() ).result; const TapNoteResult &lastTNR = NoteDataWithScoring::LastTapNoteWithResult( m_NoteData, iter.Row() ).result;
if( lastTNR.tns <= TNS_Miss ) if( lastTNR.tns <= TNS_Miss )
{ {
bDidHopo = false; bDidHopo = false;
goto done_checking_hopo;
} }
break;
} }
done_checking_hopo:
if( !bDidHopo ) if( !bDidHopo )
{ {
score = TNS_None; score = TNS_None;