Add lua object references
Whenever a lua script references a core struct obj, increment a counter in the obj struct. Core code will not free the obj, if there are any lua references pointing to it, just makes it free-floating. When lua script ends, the lua gc will free the free-floating objects. Also exposes u.inventory to lua. Breaks save and bones compat.
This commit is contained in:
@@ -839,6 +839,11 @@ lua_State *L;
|
||||
return nhl_push_anything(L, ustruct[i].type, ustruct[i].ptr);
|
||||
}
|
||||
|
||||
if (!strcmp(tkey, "inventory")) {
|
||||
nhl_push_obj(L, g.invent);
|
||||
return 1;
|
||||
}
|
||||
|
||||
nhl_error(L, "Unknown u table index");
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user