From 37c50b19094a01caf87f39c7cf5529aa06da8d31 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 18 May 2023 13:00:47 +0200 Subject: [PATCH] Update GDExtension tutorial for entry functions Docs part of https://github.com/godotengine/godot-cpp/pull/1095 Same changes as https://github.com/godotengine/godot-cpp/pull/1115 --- .../scripting/gdextension/gdextension_cpp_example.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tutorials/scripting/gdextension/gdextension_cpp_example.rst b/tutorials/scripting/gdextension/gdextension_cpp_example.rst index e89ee066af6..d43716deabb 100644 --- a/tutorials/scripting/gdextension/gdextension_cpp_example.rst +++ b/tutorials/scripting/gdextension/gdextension_cpp_example.rst @@ -268,8 +268,8 @@ GDExtension plugin. extern "C" { // Initialization. - GDExtensionBool GDE_EXPORT example_library_init(const GDExtensionInterface *p_interface, const GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) { - godot::GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization); + GDExtensionBool GDE_EXPORT example_library_init(GDExtensionInterfaceGetProcAddress p_get_proc_address, const GDExtensionClassLibraryPtr p_library, GDExtensionInitialization *r_initialization) { + godot::GDExtensionBinding::InitObject init_obj(p_get_proc_address, p_library, r_initialization); init_obj.register_initializer(initialize_example_module); init_obj.register_terminator(uninitialize_example_module); @@ -348,6 +348,7 @@ loaded for each platform and the entry function for the module. It is called ``g [configuration] entry_symbol = "example_library_init" + compatibility_minimum = 4.1 [libraries] @@ -369,6 +370,8 @@ loaded for each platform and the entry function for the module. It is called ``g android.release.arm64 = "res://bin/libgdexample.android.template_release.arm64.so" This file contains a ``configuration`` section that controls the entry function of the module. +You should also set the minimum compatible Godot version with ``compatability_minimum``, +which prevents older version of Godot from trying to load your extension. The ``libraries`` section is the important bit: it tells Godot the location of the dynamic library in the project's filesystem for each supported platform. It will