>    While your example is perfectly correct, jeaye, he was referring to the
>    CustomData class belonging to an NPC, which has only member variables
>    which were classes or structs with a defined default ctor of their own.
>    The NPC custom data class would therefore have fully initialized
>    members, with the compiler-supplied default ctor.

The NPC CustomData is not in question here; it should be improved to
properly initialize its members, but that's outside the scope of this
PR. What *is* within the scope of this PR is the new CustomData struct
declared here. Since it is new code (showing up as green), it should be
written such that it doesn't introduce garbage crash bugs when used.
Otherwise it's not a safe and portable data structure.