Fix Compress/Expand Steps bug.
This commit is contained in:
@@ -22,6 +22,8 @@ sm-ssc v1.2.4 | 20110???
|
|||||||
* [ScreenEdit] Add a metric to switch Ctrl+Up and Ctrl+Down. This is for
|
* [ScreenEdit] Add a metric to switch Ctrl+Up and Ctrl+Down. This is for
|
||||||
easier compatibility with prior versions of SM. It defaults to false.
|
easier compatibility with prior versions of SM. It defaults to false.
|
||||||
[Wolfman2000]
|
[Wolfman2000]
|
||||||
|
* [ScreenEdit] Fix bug number 65, where Steps disappeared if they were
|
||||||
|
involved with the Compress or Expand options. [Wolfman2000]
|
||||||
|
|
||||||
20110316
|
20110316
|
||||||
--------
|
--------
|
||||||
|
|||||||
@@ -2229,13 +2229,12 @@ void NoteDataUtil::AddTapAttacks( NoteData &nd, Song* pSong )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0 // undo this if ScaleRegion breaks more things than it fixes
|
|
||||||
void NoteDataUtil::Scale( NoteData &nd, float fScale )
|
void NoteDataUtil::Scale( NoteData &nd, float fScale )
|
||||||
{
|
{
|
||||||
ASSERT( fScale > 0 );
|
ASSERT( fScale > 0 );
|
||||||
|
|
||||||
NoteData temp;
|
NoteData temp;
|
||||||
temp.CopyAll( &nd );
|
temp.CopyAll( nd );
|
||||||
nd.ClearAll();
|
nd.ClearAll();
|
||||||
|
|
||||||
for( int r=0; r<=temp.GetLastRow(); r++ )
|
for( int r=0; r<=temp.GetLastRow(); r++ )
|
||||||
@@ -2253,7 +2252,6 @@ void NoteDataUtil::Scale( NoteData &nd, float fScale )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void NoteDataUtil::ScaleRegion( NoteData &nd, float fScale, int iStartIndex, int iEndIndex )
|
void NoteDataUtil::ScaleRegion( NoteData &nd, float fScale, int iStartIndex, int iEndIndex )
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-2
@@ -149,9 +149,8 @@ namespace NoteDataUtil
|
|||||||
int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW );
|
int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW );
|
||||||
void AddTapAttacks( NoteData &nd, Song* pSong );
|
void AddTapAttacks( NoteData &nd, Song* pSong );
|
||||||
|
|
||||||
// void Scale( NoteData &nd, float fScale );
|
void Scale( NoteData &nd, float fScale );
|
||||||
void ScaleRegion( NoteData &nd, float fScale, int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW );
|
void ScaleRegion( NoteData &nd, float fScale, int iStartIndex = 0, int iEndIndex = MAX_NOTE_ROW );
|
||||||
inline void Scale( NoteData &nd, float fScale ) { NoteDataUtil::ScaleRegion(nd, fScale); }
|
|
||||||
|
|
||||||
void InsertRows( NoteData &nd, int iStartIndex, int iRowsToShift );
|
void InsertRows( NoteData &nd, int iStartIndex, int iRowsToShift );
|
||||||
void DeleteRows( NoteData &nd, int iStartIndex, int iRowsToShift );
|
void DeleteRows( NoteData &nd, int iStartIndex, int iRowsToShift );
|
||||||
|
|||||||
+2
-1
@@ -3480,10 +3480,11 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector<int> &iAns
|
|||||||
|
|
||||||
m_NoteFieldEdit.m_iEndMarker = iNewClipboardEndRow;
|
m_NoteFieldEdit.m_iEndMarker = iNewClipboardEndRow;
|
||||||
|
|
||||||
|
float fPriorBPM = m_pSong->GetBPMAtBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker - 1) );
|
||||||
float fOldBPM = m_pSong->GetBPMAtBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) );
|
float fOldBPM = m_pSong->GetBPMAtBeat( NoteRowToBeat(m_NoteFieldEdit.m_iBeginMarker) );
|
||||||
float fNewBPM = fOldBPM * fScale;
|
float fNewBPM = fOldBPM * fScale;
|
||||||
m_pSong->m_Timing.SetBPMAtRow( m_NoteFieldEdit.m_iBeginMarker, fNewBPM );
|
m_pSong->m_Timing.SetBPMAtRow( m_NoteFieldEdit.m_iBeginMarker, fNewBPM );
|
||||||
m_pSong->m_Timing.SetBPMAtRow( iNewClipboardEndRow, fOldBPM );
|
m_pSong->m_Timing.SetBPMAtRow( iNewClipboardEndRow, fPriorBPM );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case play:
|
case play:
|
||||||
|
|||||||
Reference in New Issue
Block a user