diff --git a/stepmania/src/LuaManager.cpp b/stepmania/src/LuaManager.cpp index e35addf1ee..176692f016 100644 --- a/stepmania/src/LuaManager.cpp +++ b/stepmania/src/LuaManager.cpp @@ -359,6 +359,11 @@ float LuaManager::RunExpressionF( const CString &str ) return result; } +int LuaManager::RunExpressionI( const CString &str ) +{ + return (int)RunExpressionF(str); +} + bool LuaManager::RunExpressionS( const CString &str, CString &sOut ) { if( !RunExpression( str ) ) diff --git a/stepmania/src/LuaManager.h b/stepmania/src/LuaManager.h index 55117d3929..04bd8a0d33 100644 --- a/stepmania/src/LuaManager.h +++ b/stepmania/src/LuaManager.h @@ -30,6 +30,7 @@ public: /* Run an expression in the global environment, returning the given type. */ bool RunExpressionB( const CString &str ); float RunExpressionF( const CString &str ); + int RunExpressionI( const CString &str ); bool RunExpressionS( const CString &str, CString &sOut ); /* If sStr begins with @, evaluate the rest as an expression and store the result over sStr. */ diff --git a/stepmania/src/ScoreDisplayCalories.cpp b/stepmania/src/ScoreDisplayCalories.cpp index 544ce3c75d..33837ae256 100644 --- a/stepmania/src/ScoreDisplayCalories.cpp +++ b/stepmania/src/ScoreDisplayCalories.cpp @@ -27,8 +27,12 @@ void ScoreDisplayCalories::LoadFromNode( const CString& sDir, const XNode* pNode { RollingNumbers::LoadFromNode( sDir, pNode ); - bool b = pNode->GetAttrValue( "PlayerNumber", (int&)m_PlayerNumber ); - ASSERT( b ); + { + CString sPlayerNumber; + bool b = pNode->GetAttrValue( "PlayerNumber", sPlayerNumber ); + ASSERT( b ); + m_PlayerNumber = (PlayerNumber)LUA->RunExpressionI(sPlayerNumber); + } m_sMessageOnStep = ssprintf("StepP%d",m_PlayerNumber+1);