And for what actually are general functions ref and deref ?
piece from source..
int CLuaFunctionDefs::Reference ( lua_State* luaVM )
{
int iArgument1 = lua_type ( luaVM, 1 );
if ( iArgument1 == LUA_TTABLE || iArgument1 == LUA_TFUNCTION ||
iArgument1 == LUA_TUSERDATA || iArgument1 == LUA_TTHREAD ||
iArgument1 == LUA_TLIGHTUSERDATA )
{
int iPointer = lua_ref ( luaVM, 1 );
lua_pushnumber ( luaVM, iPointer );
return 1;
}
lua_pushboolean ( luaVM, false );
return 1;
}
int CLuaFunctionDefs::Dereference ( lua_State* luaVM )
{
if ( lua_type ( luaVM, 1 ) == LUA_TNUMBER )
{
int iPointer = static_cast < int > ( lua_tonumber ( luaVM, 1 ) );
lua_getref ( luaVM, iPointer );
return 1;
}
lua_pushboolean ( luaVM, false );
return 1;
}