diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index b95cc737af..d6a84afcf1 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,10 @@ ________________________________________________________________________________ StepMania 5.0 ???? ?? | 20120??? -------------------------------------------------------------------------------- +2012/06/05 +---------- +* [GrooveRadar] Added SetFromValues(pn,{f1,f2,f3,f4,f5}) Lua binding. [AJ] + 2012/06/02 ---------- * [PrefsManager] Added StretchBackgrounds preference. [AJ] diff --git a/src/GrooveRadar.cpp b/src/GrooveRadar.cpp index e0070e3d35..1331e56242 100644 --- a/src/GrooveRadar.cpp +++ b/src/GrooveRadar.cpp @@ -78,6 +78,11 @@ void GrooveRadar::SetFromSteps( PlayerNumber pn, Steps* pSteps ) // NULL means n m_GrooveRadarValueMap[pn].SetFromSteps( rv ); } +void GrooveRadar::SetFromValues( PlayerNumber pn, vector vals ) +{ + m_GrooveRadarValueMap[pn].SetFromValues(vals); +} + GrooveRadar::GrooveRadarValueMap::GrooveRadarValueMap() { m_bValuesVisible = false; @@ -111,6 +116,22 @@ void GrooveRadar::GrooveRadarValueMap::SetFromSteps( const RadarValues &rv ) m_PercentTowardNew = 0; } +void GrooveRadar::GrooveRadarValueMap::SetFromValues( vector vals ) +{ + m_bValuesVisible = true; + for( int c=0; c(L, 1); + if( !lua_istable(L, 2) || lua_isnil(L,2) ) + { + p->SetEmpty( pn ); + } + else + { + vector vals; + LuaHelpers::ReadArrayFromTable( vals, L ); + p->SetFromValues(pn, vals); + } + return 0; + } static int SetEmpty( T* p, lua_State *L ) { p->SetEmpty( Enum::Check(L, 1) ); return 0; } LunaGrooveRadar() { ADD_METHOD( SetFromRadarValues ); + ADD_METHOD( SetFromValues ); ADD_METHOD( SetEmpty ); } }; diff --git a/src/GrooveRadar.h b/src/GrooveRadar.h index 00e89e6c48..b66e58785a 100644 --- a/src/GrooveRadar.h +++ b/src/GrooveRadar.h @@ -26,6 +26,7 @@ public: * @param pn the Player to give a GrooveRadar. * @param pSteps the Steps to use to make the radar. If NULL, there are no Steps. */ void SetFromSteps( PlayerNumber pn, Steps* pSteps ); + void SetFromValues( PlayerNumber pn, vector vals ); // Lua void PushSelf( lua_State *L ); @@ -45,6 +46,7 @@ protected: void SetEmpty(); void SetFromSteps( const RadarValues &rv ); + void SetFromValues( vector vals ); void SetRadius( float f ) { m_size.x = f; m_size.y = f; }