NoteData::EliminateAllButOneTap -> NoteDataUtil::RemoveAllButOneTap;
use accessors for NoteData::GetFirstRow, NoteData::GetLastRow
This commit is contained in:
@@ -303,14 +303,14 @@ int NoteData::GetFirstRow() const
|
||||
|
||||
for( int t=0; t < GetNumTracks(); t++ )
|
||||
{
|
||||
const TrackMap &trackMap = m_TapNotes[t];
|
||||
TrackMap::const_iterator iter = trackMap.begin();
|
||||
if( iter == trackMap.end() ) // trackMap is empty
|
||||
int iRow = -1;
|
||||
if( !GetNextTapNoteRowForTrack( t, iRow ) )
|
||||
continue;
|
||||
|
||||
if( iEarliestRowFoundSoFar == -1 )
|
||||
iEarliestRowFoundSoFar = iter->first;
|
||||
iEarliestRowFoundSoFar = iRow;
|
||||
else
|
||||
iEarliestRowFoundSoFar = min( iEarliestRowFoundSoFar, iter->first );
|
||||
iEarliestRowFoundSoFar = min( iEarliestRowFoundSoFar, iRow );
|
||||
}
|
||||
|
||||
for( int i=0; i<GetNumHoldNotes(); i++ )
|
||||
@@ -332,11 +332,10 @@ int NoteData::GetLastRow() const
|
||||
|
||||
for( int t=0; t < GetNumTracks(); t++ )
|
||||
{
|
||||
const TrackMap &trackMap = m_TapNotes[t];
|
||||
const TrackMap::const_reverse_iterator iter = trackMap.rbegin();
|
||||
if( iter == trackMap.rend() ) // trackMap is empty
|
||||
int iRow = 999999999;
|
||||
if( !GetPrevTapNoteRowForTrack( t, iRow ) )
|
||||
continue;
|
||||
iOldestRowFoundSoFar = max( iOldestRowFoundSoFar, iter->first );
|
||||
iOldestRowFoundSoFar = max( iOldestRowFoundSoFar, iRow );
|
||||
}
|
||||
|
||||
for( int i=0; i<GetNumHoldNotes(); i++ )
|
||||
@@ -718,26 +717,6 @@ void NoteData::SetTapNote( int track, int row, const TapNote& t )
|
||||
}
|
||||
}
|
||||
|
||||
void NoteData::EliminateAllButOneTap( int row )
|
||||
{
|
||||
if(row < 0) return;
|
||||
|
||||
int track;
|
||||
for(track = 0; track < GetNumTracks(); ++track)
|
||||
{
|
||||
if( m_TapNotes[track][row].type == TapNote::tap )
|
||||
break;
|
||||
}
|
||||
|
||||
track++;
|
||||
|
||||
for( ; track < GetNumTracks(); ++track)
|
||||
{
|
||||
if( m_TapNotes[track][row].type == TapNote::tap )
|
||||
m_TapNotes[track][row] = TAP_EMPTY;
|
||||
}
|
||||
}
|
||||
|
||||
void NoteData::GetTracksHeldAtRow( int row, set<int>& addTo )
|
||||
{
|
||||
for( unsigned i=0; i<m_HoldNotes.size(); i++ )
|
||||
|
||||
@@ -134,8 +134,6 @@ public:
|
||||
void ConvertHoldNotesTo4s();
|
||||
void To4s( const NoteData& from );
|
||||
void From4s( const NoteData& from );
|
||||
|
||||
void EliminateAllButOneTap( int row );
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -585,6 +585,25 @@ void NoteDataUtil::RemoveMines(NoteData &inout, float fStartBeat, float fEndBeat
|
||||
inout.SetTapNote( t, r, TAP_EMPTY );
|
||||
}
|
||||
|
||||
void NoteDataUtil::RemoveAllButOneTap( NoteData &inout, int row )
|
||||
{
|
||||
if(row < 0) return;
|
||||
|
||||
int track;
|
||||
for( track = 0; track < inout.GetNumTracks(); ++track )
|
||||
{
|
||||
if( inout.GetTapNote(track, row).type == TapNote::tap )
|
||||
break;
|
||||
}
|
||||
|
||||
track++;
|
||||
|
||||
for( ; track < inout.GetNumTracks(); ++track )
|
||||
{
|
||||
if( inout.GetTapNote(track, row).type == TapNote::tap )
|
||||
inout.SetTapNote(track, row, TAP_EMPTY );
|
||||
}
|
||||
}
|
||||
|
||||
static void GetTrackMapping( StepsType st, NoteDataUtil::TrackMapping tt, int NumTracks, int *iTakeFromTrack )
|
||||
{
|
||||
@@ -1526,7 +1545,7 @@ void NoteDataUtil::FixImpossibleRows( NoteData &inout, StepsType st )
|
||||
}
|
||||
|
||||
if( !bPassedOneMask )
|
||||
inout.EliminateAllButOneTap(r);
|
||||
RemoveAllButOneTap( inout, r );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ namespace NoteDataUtil
|
||||
void RemoveHands( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||
void RemoveQuads( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||
void RemoveMines( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||
void RemoveAllButOneTap( NoteData &inout, int row );
|
||||
enum TrackMapping { left, right, mirror, shuffle, super_shuffle, stomp, NUM_TRACK_MAPPINGS };
|
||||
void Turn( NoteData &inout, StepsType st, TrackMapping tt, float fStartBeat = 0, float fEndBeat = -1 );
|
||||
void Little( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||
|
||||
Reference in New Issue
Block a user