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++ )
|
for( int t=0; t < GetNumTracks(); t++ )
|
||||||
{
|
{
|
||||||
const TrackMap &trackMap = m_TapNotes[t];
|
int iRow = -1;
|
||||||
TrackMap::const_iterator iter = trackMap.begin();
|
if( !GetNextTapNoteRowForTrack( t, iRow ) )
|
||||||
if( iter == trackMap.end() ) // trackMap is empty
|
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if( iEarliestRowFoundSoFar == -1 )
|
if( iEarliestRowFoundSoFar == -1 )
|
||||||
iEarliestRowFoundSoFar = iter->first;
|
iEarliestRowFoundSoFar = iRow;
|
||||||
else
|
else
|
||||||
iEarliestRowFoundSoFar = min( iEarliestRowFoundSoFar, iter->first );
|
iEarliestRowFoundSoFar = min( iEarliestRowFoundSoFar, iRow );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( int i=0; i<GetNumHoldNotes(); i++ )
|
for( int i=0; i<GetNumHoldNotes(); i++ )
|
||||||
@@ -332,11 +332,10 @@ int NoteData::GetLastRow() const
|
|||||||
|
|
||||||
for( int t=0; t < GetNumTracks(); t++ )
|
for( int t=0; t < GetNumTracks(); t++ )
|
||||||
{
|
{
|
||||||
const TrackMap &trackMap = m_TapNotes[t];
|
int iRow = 999999999;
|
||||||
const TrackMap::const_reverse_iterator iter = trackMap.rbegin();
|
if( !GetPrevTapNoteRowForTrack( t, iRow ) )
|
||||||
if( iter == trackMap.rend() ) // trackMap is empty
|
|
||||||
continue;
|
continue;
|
||||||
iOldestRowFoundSoFar = max( iOldestRowFoundSoFar, iter->first );
|
iOldestRowFoundSoFar = max( iOldestRowFoundSoFar, iRow );
|
||||||
}
|
}
|
||||||
|
|
||||||
for( int i=0; i<GetNumHoldNotes(); i++ )
|
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 )
|
void NoteData::GetTracksHeldAtRow( int row, set<int>& addTo )
|
||||||
{
|
{
|
||||||
for( unsigned i=0; i<m_HoldNotes.size(); i++ )
|
for( unsigned i=0; i<m_HoldNotes.size(); i++ )
|
||||||
|
|||||||
@@ -134,8 +134,6 @@ public:
|
|||||||
void ConvertHoldNotesTo4s();
|
void ConvertHoldNotesTo4s();
|
||||||
void To4s( const NoteData& from );
|
void To4s( const NoteData& from );
|
||||||
void From4s( 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 );
|
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 )
|
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 )
|
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 RemoveHands( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||||
void RemoveQuads( 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 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 };
|
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 Turn( NoteData &inout, StepsType st, TrackMapping tt, float fStartBeat = 0, float fEndBeat = -1 );
|
||||||
void Little( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
void Little( NoteData &inout, float fStartBeat = 0, float fEndBeat = 99999 );
|
||||||
|
|||||||
Reference in New Issue
Block a user