Here is an example to reproduce this. Attached is a file with the following ZScript code:
- Code: Select all • Expand view
class Test : Inventory
{
private voidptr _test;
}
Load any map, type "give test" in the console and try to save the game. This will make GZDoom produce an error message:
- Code: Select all • Expand view
Save failed
Attempt to save pointer to unhandled type Type
If it is not possible to resolve at run-time the type of the object a "voidptr" points to, then declaring non-transient fields of type "voidptr" probably shouldn't be allowed. In this case, I guess I'll have to re-initialize the variable every time, which is not a very good solution but possibly the only one until FDecalBase is exported to ZScript.