Browse Source

Define the {de,}initialization functions in the bindings

The extension creators then don't need to create those just to redirect
to the bindings.
George Marques 4 years ago
parent
commit
5615c92173
2 changed files with 11 additions and 8 deletions
  1. 11 0
      src/godot.cpp
  2. 0 8
      test/src/register_types.cpp

+ 11 - 0
src/godot.cpp

@@ -80,3 +80,14 @@ void GDExtensionBinding::free_instance_callback(void *p_token, void *p_instance,
 }
 
 } // namespace godot
+
+extern "C" {
+
+void GDN_EXPORT initialize_level(void *userdata, GDNativeInitializationLevel p_level) {
+	godot::GDExtensionBinding::initialize_level(userdata, p_level);
+}
+
+void GDN_EXPORT deinitialize_level(void *userdata, GDNativeInitializationLevel p_level) {
+	godot::GDExtensionBinding::deinitialize_level(userdata, p_level);
+}
+}

+ 0 - 8
test/src/register_types.cpp

@@ -29,12 +29,4 @@ GDNativeBool GDN_EXPORT example_library_init(const GDNativeInterface *p_interfac
 
 	return result;
 }
-
-void GDN_EXPORT initialize_level(void *userdata, GDNativeInitializationLevel p_level) {
-	godot::GDExtensionBinding::initialize_level(userdata, p_level);
-}
-
-void GDN_EXPORT deinitialize_level(void *userdata, GDNativeInitializationLevel p_level) {
-	godot::GDExtensionBinding::deinitialize_level(userdata, p_level);
-}
 }