-
The extension uses
lua_typeto identify how a Lua value has to be written.lua_tonumberreturns adouble.lua_tointegeralso returns a 8-byte int64. I wouldn’t worry too much about f64 being used since every GML value (YYRValue in YYGML.h) is going to be 16 bytes anyway. -
The extension works on premise that returning values from Lua should not generate data structures that will have to be manually cleaned up (meaning that failing to do so at every single call site would allow for leaking memory). I think the only way to support this would be to create a lightuserdata that wraps a buffer data pointer to fill up from Lua.