diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 4df084a231..d143de5505 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -737,7 +737,7 @@ void MusicWheel::RebuildAllMusicWheelItems() RebuildMusicWheelItems( INT_MAX ); } -void MusicWheel::RebuildMusicWheelItems( int dist ) +void MusicWheel::RebuildMusicWheelItems( int iDist ) { // rewind to first index that will be displayed; int iFirstVisibleIndex = m_iSelection; @@ -752,7 +752,7 @@ void MusicWheel::RebuildMusicWheelItems( int dist ) // iIndex is now the index of the lowest WheelItem to draw - if( dist == INT_MAX ) + if( iDist == INT_MAX ) { // Refresh all for( int i=0; i 0 ) + CircularShift( m_MusicWheelItems, iDist ); + if( iDist > 0 ) { - for( int i=NUM_WHEEL_ITEMS-dist; iLoadFromWheelItemData( data, bExpanded ); } } - else if( dist < 0 ) + else if( iDist < 0 ) { - for( int i=0; i<-dist; i++ ) + for( int i=0; i < -iDist; i++ ) { int iIndex = iFirstVisibleIndex + i; wrap( iIndex, m_CurWheelItemData.size() ); diff --git a/stepmania/src/WheelBase.cpp b/stepmania/src/WheelBase.cpp index 7459f01bae..04092356da 100644 --- a/stepmania/src/WheelBase.cpp +++ b/stepmania/src/WheelBase.cpp @@ -677,8 +677,10 @@ void WheelBase::RebuildWheelItems( int iDist ) { int iIndex = iFirstVisibleIndex + i; wrap( iIndex, m_WheelBaseItemsData.size() ); + WheelItemBaseData *data = m_WheelBaseItemsData[iIndex]; WheelItemBase *display = m_WheelBaseItems[i]; + display->LoadFromWheelItemBaseData( data ); } } diff --git a/stepmania/src/WheelBase.h b/stepmania/src/WheelBase.h index 6462dbd06e..3a860085bd 100644 --- a/stepmania/src/WheelBase.h +++ b/stepmania/src/WheelBase.h @@ -46,7 +46,7 @@ public: virtual bool Select(); // return true if this selection ends the screen bool WheelIsLocked() { return (m_WheelState == STATE_LOCKED ? true : false); } - virtual void RebuildWheelItems( int dist = -999999 ); // -999999 = refresh all + virtual void RebuildWheelItems( int dist = INT_MAX ); // INT_MAX = refresh all void AddItem( WheelItemBaseData* itemdata ); virtual void RemoveItem( int index );