diff --git a/stepmania/src/LuaExpressionTransform.cpp b/stepmania/src/LuaExpressionTransform.cpp index d8c0ca0c1a..91cbc83881 100644 --- a/stepmania/src/LuaExpressionTransform.cpp +++ b/stepmania/src/LuaExpressionTransform.cpp @@ -15,11 +15,11 @@ void LuaExpressionTransform::SetFromExpression( const CString &sExpression, int m_iNumSubdivisions = iNumSubdivisions; } -const Actor::TweenState &LuaExpressionTransform::GetPosition( float fPositionOffsetFromCenter, int iItemIndex, int iNumItems ) +const Actor::TweenState &LuaExpressionTransform::GetPosition( float fPositionOffsetFromCenter, int iItemIndex, int iNumItems ) const { PositionOffsetAndItemIndex key = { fPositionOffsetFromCenter, iItemIndex }; - map::iterator iter = m_mapPositionToTweenStateCache.find( key ); + map::const_iterator iter = m_mapPositionToTweenStateCache.find( key ); if( iter != m_mapPositionToTweenStateCache.end() ) return iter->second; diff --git a/stepmania/src/LuaExpressionTransform.h b/stepmania/src/LuaExpressionTransform.h index 50185d31a2..0799cc38a9 100644 --- a/stepmania/src/LuaExpressionTransform.h +++ b/stepmania/src/LuaExpressionTransform.h @@ -15,7 +15,7 @@ public: void SetFromExpression( const CString &sExpression, int iNumSubdivisions ); void PositionItem( Actor *pActor, float fPositionOffsetFromCenter, int iItemIndex, int iNumItems ); - const Actor::TweenState &GetPosition( float fPositionOffsetFromCenter, int iItemIndex, int iNumItems ); + const Actor::TweenState &GetPosition( float fPositionOffsetFromCenter, int iItemIndex, int iNumItems ) const; protected: @@ -28,15 +28,12 @@ protected: bool operator<( const PositionOffsetAndItemIndex &other ) const { - if( fPositionOffsetFromCenter < other.fPositionOffsetFromCenter ) - return true; - else if( fPositionOffsetFromCenter > other.fPositionOffsetFromCenter ) - return false; - else - return iItemIndex < other.iItemIndex; + if( fPositionOffsetFromCenter != other.fPositionOffsetFromCenter ) + return fPositionOffsetFromCenter < other.fPositionOffsetFromCenter; + return iItemIndex < other.iItemIndex; } }; - map m_mapPositionToTweenStateCache; + mutable map m_mapPositionToTweenStateCache; }; #endif