2fb66df669
The GDNative C API gets passed to libraries in a struct of function pointers. To provide stable binary compatibility, each extension not part of the core API is separated into its own sub-struct. These structs aren't meant to be changed in order to keep binary compatibility. In case of an API extension, the structs include a `next` pointer which can point to a new struct with additional function pointers. Godot's build system generates the API structs automatically at build time, but so far there has no support for the mentioned `next` pointers. This commit changes the API struct generation in such a way that code that used previous headers will compile without problem with the new headers. The new extension-extensions (weird name, but that's what it is) get generated recursively and include the version in the struct-name. |
||
---|---|---|
.. | ||
arvr | ||
doc_classes | ||
gdnative | ||
include | ||
nativescript | ||
pluginscript | ||
config.py | ||
gdnative_api.json | ||
gdnative_library_editor_plugin.cpp | ||
gdnative_library_editor_plugin.h | ||
gdnative_library_singleton_editor.cpp | ||
gdnative_library_singleton_editor.h | ||
gdnative.cpp | ||
gdnative.h | ||
register_types.cpp | ||
register_types.h | ||
SCsub |