diff --git a/dlls/ff/ff_luacontext.cpp b/dlls/ff/ff_luacontext.cpp index 82dd11727..5f809ed37 100644 --- a/dlls/ff/ff_luacontext.cpp +++ b/dlls/ff/ff_luacontext.cpp @@ -299,27 +299,33 @@ void CFFLuaSC::ClearParams() } //--------------------------------------------------------------------------- -bool CFFLuaSC::GetBool() +bool CFFLuaSC::GetBool(int idx/* = 0*/) { - RETURN_OBJECTCAST(bool, false, 0); + RETURN_OBJECTCAST(bool, false, idx); } //--------------------------------------------------------------------------- -float CFFLuaSC::GetFloat() +float CFFLuaSC::GetFloat(int idx/* = 0*/) { - RETURN_OBJECTCAST(float, 0.0f, 0); + RETURN_OBJECTCAST(float, 0.0f, idx); } //--------------------------------------------------------------------------- -int CFFLuaSC::GetInt() +int CFFLuaSC::GetInt(int idx/* = 0*/) { - RETURN_OBJECTCAST(int, 0, 0); + RETURN_OBJECTCAST(int, 0, idx); } //--------------------------------------------------------------------------- -luabind::adl::object* CFFLuaSC::GetObject() +luabind::adl::object* CFFLuaSC::GetObject(int idx/* = 0*/) { - return m_returnVals[0]; + return m_returnVals[idx]; +} + +//--------------------------------------------------------------------------- +bool CFFLuaSC::DidReturnNil(int idx/* = 0*/) +{ + return luabind::type(*GetObject(idx)) == LUA_TNIL; } //--------------------------------------------------------------------------- diff --git a/dlls/ff/ff_luacontext.h b/dlls/ff/ff_luacontext.h index a017eb8a6..1a4e38425 100644 --- a/dlls/ff/ff_luacontext.h +++ b/dlls/ff/ff_luacontext.h @@ -94,12 +94,13 @@ class CFFLuaSC int GetNumReturns() const { return m_returnVals.Count(); } // gets the return value - bool GetBool(); - float GetFloat(); - int GetInt(); + bool GetBool(int idx = 0); + float GetFloat(int idx = 0); + int GetInt(int idx = 0); QAngle GetQAngle(); Vector GetVector(); - luabind::adl::object* GetObject(); + luabind::adl::object* GetObject(int idx = 0); + bool DidReturnNil(int idx = 0); public: static void QuickCallFunction(CBaseEntity* pEntity, const char* szFunctionName);