evil big commit (sorry):

Remove m_HoldNote array entirely.  Remove 2sAnd3s.  Store hold note
durations in the hold head.  hold_tail only still exists when InsertHoldTails
is used, to make SM parsing a little easier (may go away).  Add helpers
for iterating over ranges while including or excluding adjacent and overlapping
hold notes.  Range operations are now [start,end) instead of [start,end].
(probably more details coming to sm-dev soon)
This commit is contained in:
Glenn Maynard
2005-01-25 05:02:35 +00:00
parent 6ece8829c4
commit bb7482e722
12 changed files with 771 additions and 762 deletions
+3 -7
View File
@@ -1114,9 +1114,6 @@ void ScreenGameplay::LoadNextSong()
NoteDataUtil::LoadTransformedLights( TapNoteData, m_CabinetLightsNoteData, GameManager::StepsTypeToNumTracks(STEPS_TYPE_LIGHTS_CABINET) );
}
}
// Convert to 2sAnd3s so that we can check if we're inside a hold with IsHoldNoteAtBeat.
m_CabinetLightsNoteData.ConvertHoldNotesTo2sAnd3s();
}
}
@@ -1615,12 +1612,11 @@ void ScreenGameplay::UpdateLights()
FOREACH_EnabledPlayer( pn )
{
// check if a hold should be active
for( int i=0; i < m_Player[pn].m_NoteData.GetNumHoldNotes(); i++ ) // for each HoldNote
for( int t=0; t < m_Player[pn].m_NoteData.GetNumTracks(); ++t )
{
const HoldNote &hn = m_Player[pn].m_NoteData.GetHoldNote(i);
if( hn.iStartRow <= iSongRow && iSongRow <= hn.iEndRow )
if( m_Player[pn].m_NoteData.IsHoldNoteAtBeat( t, iSongRow ) )
{
StyleInput si( pn, hn.iTrack );
StyleInput si( pn, t );
GameInput gi = pStyle->StyleInputToGameInput( si );
bBlinkGameButton[gi.controller][gi.button] |= true;
}