diff --git a/src/WheelBase.cpp b/src/WheelBase.cpp index fd25b3cdcb..6c8578341d 100644 --- a/src/WheelBase.cpp +++ b/src/WheelBase.cpp @@ -98,20 +98,9 @@ void WheelBase::BeginScreen() m_WheelState = STATE_SELECTING; } -void WheelBase::SetItemPosition( Actor &item, float fPosOffsetsFromMiddle ) +void WheelBase::SetItemPosition(Actor &item, int item_index, float offset_from_middle) { - /* Don't supply and item index or num items. The number of items can be so - * large that transforms that depend on such large numbers are likely to break. */ - int iItemIndex = 0; // dummy - int iNumItems = 1; // dummy - - Actor::TweenState ts = m_exprItemTransformFunction.GetTransformCached( fPosOffsetsFromMiddle, iItemIndex, iNumItems ); - - // Round to achieve pixel alignment. Any benefit to moving this to Lua? -Chris - ts.pos.x = roundf( ts.pos.x ); - ts.pos.y = roundf( ts.pos.y ); - ts.pos.z = roundf( ts.pos.z ); - + Actor::TweenState ts = m_exprItemTransformFunction.GetTransformCached(offset_from_middle, item_index, NUM_WHEEL_ITEMS); item.DestTweenState() = ts; } @@ -152,7 +141,7 @@ void WheelBase::SetPositions() else pDisplay->SetVisible( true ); - SetItemPosition( *pDisplay, fOffsetFromSelection ); + SetItemPosition(*pDisplay, i, fOffsetFromSelection); } } diff --git a/src/WheelBase.h b/src/WheelBase.h index 773144d78a..73a9ae98ac 100644 --- a/src/WheelBase.h +++ b/src/WheelBase.h @@ -49,7 +49,7 @@ public: bool IsSettled() const; void GetItemPosition( float fPosOffsetsFromMiddle, float& fX_out, float& fY_out, float& fZ_out, float& fRotationX_out ); - void SetItemPosition( Actor &item, float fPosOffsetsFromMiddle ); + void SetItemPosition(Actor &item, int item_index, float offset_from_middle); virtual bool Select(); // return true if this selection can end the screen