Getting an up-to-date camera transform

This is probably not what you expect, but…
You can do this in render script:

if shared_state_module.some_go_context then -- context == self
   local current = _G[3700146495]
   _G[3700146495] = shared_state_module.some_go_context
   local result = go.get_world_transform()
   _G[3700146495] = current
   print(result)
end

or make extension:

static
int execute_in_context(lua_State *L) {
   dmScript::GetInstance(L);
   int self = dmScript::Ref(L, LUA_REGISTRYINDEX);

   lua_pushvalue(L, 2);
   dmScript::SetInstance(L);

   lua_call(L, lua_gettop(L) - 1, LUA_MULTRET);
   int results_count = lua_gettop(L);

   lua_rawgeti(L, LUA_REGISTRYINDEX, self);
   dmScript::SetInstance(L);
   dmScript::Unref(L, LUA_REGISTRYINDEX, self);

   return results_count;
}

what used like this:

extension.execute_in_context(run_what, in_which_context, param1, param2, etc...))
2 Likes