translate TAP_* from/to digits
This commit is contained in:
@@ -102,10 +102,20 @@ void NoteData::LoadFromSMNoteDataString( CString sSMNoteData )
|
|||||||
// if( m_iNumTracks != sMeasureLine.GetLength() )
|
// if( m_iNumTracks != sMeasureLine.GetLength() )
|
||||||
// throw RageException( "Actual number of note columns (%d) is different from the NotesType (%d).", m_iNumTracks, sMeasureLine.GetLength() );
|
// throw RageException( "Actual number of note columns (%d) is different from the NotesType (%d).", m_iNumTracks, sMeasureLine.GetLength() );
|
||||||
|
|
||||||
/* XXXXX: don't do this, translate explicitly, so the TAP_* constants
|
|
||||||
* can be changed */
|
|
||||||
for( int c=0; c<min(sMeasureLine.GetLength(),m_iNumTracks); c++ )
|
for( int c=0; c<min(sMeasureLine.GetLength(),m_iNumTracks); c++ )
|
||||||
SetTapNote(c, iIndex, sMeasureLine[c]);
|
{
|
||||||
|
TapNote t;
|
||||||
|
switch(sMeasureLine[c])
|
||||||
|
{
|
||||||
|
case '0': t = TAP_EMPTY; break;
|
||||||
|
case '1': t = TAP_TAP; break;
|
||||||
|
case '2': t = TAP_HOLD_HEAD; break;
|
||||||
|
case '3': t = TAP_HOLD_TAIL; break;
|
||||||
|
default: ASSERT(0); t = TAP_EMPTY; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetTapNote(c, iIndex, t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->Convert2sAnd3sToHoldNotes();
|
this->Convert2sAnd3sToHoldNotes();
|
||||||
@@ -137,12 +147,19 @@ CString NoteData::GetSMNoteDataString()
|
|||||||
|
|
||||||
for( int r=iMeasureStartRow; r<=iMeasureLastRow; r+=iRowSpacing )
|
for( int r=iMeasureStartRow; r<=iMeasureLastRow; r+=iRowSpacing )
|
||||||
{
|
{
|
||||||
char szLineString[MAX_NOTE_TRACKS];
|
CString szLineString;
|
||||||
/* XXXXX: don't do this, translate explicitly, so the TAP_* constants
|
for( int t=0; t<m_iNumTracks; t++ ) {
|
||||||
* can be changed */
|
char c;
|
||||||
for( int t=0; t<m_iNumTracks; t++ )
|
switch(GetTapNote(t, r)) {
|
||||||
szLineString[t] = GetTapNote(t, r);
|
case TAP_EMPTY: c = '0'; break;
|
||||||
szLineString[t] = '\0';
|
case TAP_TAP: c = '1'; break;
|
||||||
|
case TAP_HOLD_HEAD: c = '2'; break;
|
||||||
|
case TAP_HOLD_TAIL: c = '3'; break;
|
||||||
|
default: ASSERT(0); c = '0'; break;
|
||||||
|
}
|
||||||
|
szLineString.append(1, c);
|
||||||
|
}
|
||||||
|
|
||||||
asMeasureLines.push_back( szLineString );
|
asMeasureLines.push_back( szLineString );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user