GetNumUsedTracks -> GetMaxNonEmptyTrack

This commit is contained in:
Chris Danford
2007-09-04 04:21:15 +00:00
parent c1e67d7f26
commit b7d9b04507
3 changed files with 8 additions and 16 deletions
+4 -12
View File
@@ -2083,20 +2083,12 @@ void NoteDataUtil::RemoveAllTapsExceptForType( NoteData& ndInOut, TapNote::Type
}
}
int NoteDataUtil::GetNumUsedTracks( const NoteData& in )
int NoteDataUtil::GetMaxNonEmptyTrack( const NoteData& in )
{
for( int t=0; t<in.GetNumTracks(); t++ )
{
bool bHasAnyTapsInTrack = false;
FOREACH_NONEMPTY_ROW_IN_TRACK( in, t, row )
{
bHasAnyTapsInTrack = true;
break;
}
if( !bHasAnyTapsInTrack )
for( int t=in.GetNumTracks()-1; t>=0; t-- )
if( !in.IsTrackEmpty( t ) )
return t;
}
return in.GetNumTracks();
return -1;
}
bool NoteDataUtil::AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd )
+1 -1
View File
@@ -112,7 +112,7 @@ namespace NoteDataUtil
void RemoveAllTapsOfType( NoteData& ndInOut, TapNote::Type typeToRemove );
void RemoveAllTapsExceptForType( NoteData& ndInOut, TapNote::Type typeToKeep );
int GetNumUsedTracks( const NoteData& in );
int GetMaxNonEmptyTrack( const NoteData& in );
bool AnyTapsAndHoldsInTrackRange( const NoteData& in, int iTrack, int iStart, int iEnd );
bool GetNextEditorPosition( const NoteData& in, int &rowInOut );
+3 -3
View File
@@ -3163,10 +3163,10 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
case autogen_to_fill_width:
{
NoteData temp( m_Clipboard );
int iNumUsedTracks = NoteDataUtil::GetNumUsedTracks( temp );
if( iNumUsedTracks == 0 )
int iMaxNonEmptyTrack = NoteDataUtil::GetMaxNonEmptyTrack( temp );
if( iMaxNonEmptyTrack == -1 )
break;
temp.SetNumTracks( iNumUsedTracks );
temp.SetNumTracks( iMaxNonEmptyTrack+1 );
NoteDataUtil::LoadTransformedSlidingWindow( temp, m_Clipboard, m_Clipboard.GetNumTracks() );
NoteDataUtil::RemoveStretch( m_Clipboard, GAMESTATE->m_pCurSteps[0]->m_StepsType );
}