diff --git a/gdnative-sys/godot_headers/LICENSE.md b/gdnative-sys/godot_headers/LICENSE.md index 84a1ce054..654253a64 100644 --- a/gdnative-sys/godot_headers/LICENSE.md +++ b/gdnative-sys/godot_headers/LICENSE.md @@ -1,6 +1,6 @@ # MIT License -Copyright (c) 2017-2020 GodotNativeTools +Copyright (c) 2017-2022 Godot Engine contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/gdnative-sys/godot_headers/README.md b/gdnative-sys/godot_headers/README.md index 60555a9a2..bb55c9959 100644 --- a/gdnative-sys/godot_headers/README.md +++ b/gdnative-sys/godot_headers/README.md @@ -1,43 +1,58 @@ -# godot_headers -#### `GDNative / NativeScript` +# godot-headers -> `GDNative` enables the use of dynamically linked libraries inside of [**Godot**](https://github.com/godotengine/godot). +This repository contains C headers for +[**Godot Engine**](https://github.com/godotengine/godot)'s *GDNative* API, +which can be used to write *NativeScripts*. + +> `GDNative` enables the use of dynamically linked libraries inside of +> [**Godot**](https://github.com/godotengine/godot). > `NativeScript` uses GDNative to implement scripts backed by native code. -- [**Branches**](#branches) -- [**Getting Started**](#getting-started) -- [**FAQ**](#faq) +- [**Versioning**](#versioning) +- [**Getting Started**](#getting-started) +- [**FAQ**](#faq) +- [**Updating Headers**](#updating-headers) + +## Versioning -## Branches +This repositories follows the same branch versioning as the main [Godot Engine +repository](https://github.com/godotengine/godot): -We maintain branches on this repo that relate directly to the main builds of Godot. -Make sure you use the correct branch for the version of Godot you are using! +- `master` tracks the current development branch. As this is a moving target, + the headers in this repository may not always be fully in sync with upstream. + See [**Updating Headers**](#updating-headers) if you need to bring + them up to date. +- `3.x` tracks the development of the next 3.x minor release. Like `master`, it + might not always be fully up-to-date with upstream. +- Other versioned branches (e.g. `3.3`, `3.2`) track the latest stable release + in the corresponding branch. -| Branch | Version of Godot | -| --- | --- | -| [master](https://github.com/GodotNativeTools/godot_headers) | Godot master | -| [3.2](https://github.com/GodotNativeTools/godot_headers/tree/3.2) | Godot 3.2.x | -| [3.1](https://github.com/GodotNativeTools/godot_headers/tree/3.1) | Godot 3.1.x | -| [3.0](https://github.com/GodotNativeTools/godot_headers/tree/3.0) | Godot 3.0.x | +Stable releases are also tagged on this repository: +[**Tags**](https://github.com/godotengine/godot-headers/tags). + +**For any project built against a stable release of Godot, we recommend using +this repository as a Git submodule, checking out the specific tag matching your +Godot version.** ## Getting Started -| **Build latest version of Godot** | [**GitHub**](https://github.com/godotengine/godot) | [**Docs**](https://godot.readthedocs.io/en/latest/development/compiling/index.html) | +| **Build latest version of Godot** | [**GitHub**](https://github.com/godotengine/godot) | [**Docs**](https://docs.godotengine.org/en/latest/development/compiling/index.html) | | --- | --- | --- | -### Clone godot_headers into Library +### Clone `godot-headers` into Library -Clone `godot_headers` under `SimpleLibrary/` +Clone `godot-headers` under `SimpleLibrary/` ```bash cd SimpleLibrary -git clone https://github.com/GodotNativeTools/godot_headers +git clone https://github.com/godotengine/godot-headers ``` -> Note that the master branch of this repository contains the header for the latest Godot master. If you want to build GDNative modules for older versions of Godot add `-b ` to the git clone command above. i.e. `git clone https://github.com/GodotNativeTools/godot_headers -b 3.0` will retrieve headers compatible with Godot 3.0. - -> With the exception of a breaking change in the ARVR module between 3.0 and 3.1, GDNative plugins written for an older version of Godot will work in newer versions. +Note that the master branch of this repository contains the headers for the +latest Godot `master` branch. See [**Versioning**](#versioning) for details. +You can use `-b ` to the above Git clone command to retrieve a specific +branch or tag (e.g. `-b 3.x` or `-b godot-3.3.3-stable`). ```bash [SimpleLibrary] @@ -47,7 +62,7 @@ git clone https://github.com/GodotNativeTools/godot_headers ### Create Script -Create `test.c` under `SimpleLibrary/src/` +Create `test.c` under `SimpleLibrary/src/`.
@@ -58,22 +73,22 @@ Create `test.c` under `SimpleLibrary/src/` #include void *test_constructor(godot_object *obj, void *method_data) { - printf("test.constructor()\n"); - return 0; + printf("test.constructor()\n"); + return 0; } void test_destructor(godot_object *obj, void *method_data, void *user_data) { - printf("test.destructor()\n"); + printf("test.destructor()\n"); } /** func _ready() **/ godot_variant test_ready(godot_object *obj, void *method_data, void *user_data, int num_args, godot_variant **args) { - godot_variant ret; - godot_variant_new_nil(&ret); + godot_variant ret; + godot_variant_new_nil(&ret); - printf("_ready()\n"); + printf("_ready()\n"); - return ret; + return ret; } /** Library entry point **/ @@ -90,64 +105,64 @@ void GDN_EXPORT godot_nativescript_init(void *desc) { godot_instance_create_func create_func = { .create_func = &test_constructor, - .method_data = 0, - .free_func = 0 - }; - - godot_instance_destroy_func destroy_func = { - .destroy_func = &test_destructor, - .method_data = 0, - .free_func = 0 - }; - - godot_nativescript_register_class(desc, "SimpleClass", "Node", create_func, destroy_func); - - { - godot_instance_method method = { - .method = &test_ready, - .method_data = 0, - .free_func = 0 - }; - - godot_method_attributes attr = { - .rpc_type = GODOT_METHOD_RPC_MODE_DISABLED - }; - - godot_nativescript_register_method(desc, "SimpleClass", "_ready", attr, method); - } + .method_data = 0, + .free_func = 0 + }; + + godot_instance_destroy_func destroy_func = { + .destroy_func = &test_destructor, + .method_data = 0, + .free_func = 0 + }; + + godot_nativescript_register_class(desc, "SimpleClass", "Node", create_func, destroy_func); + + { + godot_instance_method method = { + .method = &test_ready, + .method_data = 0, + .free_func = 0 + }; + + godot_method_attributes attr = { + .rpc_type = GODOT_METHOD_RPC_MODE_DISABLED + }; + + godot_nativescript_register_method(desc, "SimpleClass", "_ready", attr, method); + } } godot_variant GDN_EXPORT some_test_procedure(void *data, godot_array *args) { - godot_variant ret; - godot_variant_new_int(&ret, 42); + godot_variant ret; + godot_variant_new_int(&ret, 42); - godot_string s; - godot_string_new_unicode_data(&s, L"Hello World", 11); - godot_print(&s); + godot_string s; + godot_string_new_with_wide_string(&s, L"Hello World", 11); + godot_print(&s); - godot_string_destroy(&s); + godot_string_destroy(&s); - return ret; + return ret; } ```
-`Expand details for example code.` +Expand *Details* for example code. ### Compile Library On Linux: ```bash -clang -g -fPIC -std=c99 -c src/test.c -I/path/to/godot/headers/ -o src/test.os +clang -g -fPIC -c src/test.c -I/path/to/godot/headers/ -o src/test.os clang -g -shared src/test.os -o lib/test.so ``` On MacOS: ```bash -clang -g -fPIC -std=c99 -c src/test.c -I/path/to/godot/headers/ -o src/test.os +clang -g -fPIC -c src/test.c -I/path/to/godot/headers/ -o src/test.os clang -g -shared -framework Cocoa -Wl,-undefined,dynamic_lookup src/test.os -o lib/test.dylib ``` @@ -158,9 +173,9 @@ clang -g -shared -framework Cocoa -Wl,-undefined,dynamic_lookup src/test.os -o l The GDNativeLibrary resource contains links to the libraries for each platform. 1. Create a new resource in memory and edit it. -1. Select `Resource > GDNativeLibrary`. -1. Set the library file for your platform inside the inspector. -1. Save the edited resource as a `.tres` +2. Select `Resource > GDNativeLibrary`. +3. Set the library file for your platform inside the inspector. +4. Save the edited resource as a `.tres`
@@ -174,7 +189,7 @@ The GDNativeLibrary resource contains links to the libraries for each platform.
-`Expand details for screenshots.` +Expand *Details* for screenshots. ### Using GDNativeLibrary in GDScript @@ -182,25 +197,25 @@ The GDNativeLibrary resource contains links to the libraries for each platform. extends Node func _ready(): - var gdn = GDNative.new() - gdn.library = load("res://lib/libtest.tres") + var gdn = GDNative.new() + gdn.library = load("res://lib/libtest.tres") - gdn.initialize() + gdn.initialize() - var res = gdn.call_native("standard_varcall", "some_test_procedure", []) + var res = gdn.call_native("standard_varcall", "some_test_procedure", []) - print("result: ", res) + print("result: ", res) - gdn.terminate() + gdn.terminate() ``` ### Attaching GDNativeLibrary to a Node 1. Attach a new script to a node. -1. In the pop-up dialog, choose NativeScript in the `Language` menu. -1. Enable built-in script, or create a `.gdn` file, which only contains a name. -1. Specify the `Class Name`. -1. Press `Create`. +2. In the pop-up dialog, choose NativeScript in the `Language` menu. +3. Enable built-in script, or create a `.gdn` file, which only contains a name. +4. Specify the `Class Name`. +5. Press `Create`. The GDNativeLibrary field in a NativeScript is empty by default. @@ -213,7 +228,7 @@ The GDNativeLibrary field in a NativeScript is empty by default. -`Expand details for screenshots.` +Expand *Details* for screenshots. ## FAQ @@ -227,8 +242,8 @@ use of GDNative to implement scripts backed by native code. **Which languages are binding as a NativeScript?** -[**C++**](https://github.com/GodotNativeTools/cpp_bindings), -[**D**](https://github.com/GodotNativeTools/d_bindings), +[**C++**](https://github.com/godotengine/godot-cpp), +[**D**](https://github.com/godot-d/godot-d), [**Nim**](https://github.com/pragmagic/godot-nim) **Can you debug NativeScripts?** @@ -243,5 +258,25 @@ You can! ✨ **What is the reason behind the name "GDNative"?** GDNative was originally named "cscript" because it exposes a C API, but people -mistook a relation to C#, which is sometimes abbreviated as "cs". Then named "DLScript", but that brought up some confusion, so we settled with -GDNative. 📖 +mistook a relation to C#, which is sometimes abbreviated as "cs". Then named +"DLScript", but that brought up some confusion, so we settled with GDNative. 📖 + +## Updating Headers + +See [**Versioning**](#versioning) for details on the Godot versions tracked by +each branch of this repository. + +If the relevant branch is not up-to-date for your needs, or if you want to sync +the headers with your own modified version of Godot, here is the update +procedure used to sync this repository with upstream releases: + +- Compile [Godot Engine](https://github.com/godotengine/godot) at the specific + version/commit which you are using. +- Use the compiled executable to generate the `api.json` file with: + `godot --gdnative-generate-json-api api.json` +- Copy the file `modules/gdnative/gdnative_api.json` to this repository. +- Copy the files and folders from `modules/gdnative/include` to this repository, + overwriting existing content. (To be sure to be in sync, you can delete the + folders of this repository first, then copy the upstream folders in place.) + Make sure that you compiled the correct Godot version so that the generated + `gdnative_api_struct.gen.h` is up-to-date. diff --git a/gdnative-sys/godot_headers/android/godot_android.h b/gdnative-sys/godot_headers/android/godot_android.h index 45d4eaff3..8e7397f80 100644 --- a/gdnative-sys/godot_headers/android/godot_android.h +++ b/gdnative-sys/godot_headers/android/godot_android.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_ANDROID_GDN_H -#define GODOT_ANDROID_GDN_H +#ifndef GODOT_ANDROID_H +#define GODOT_ANDROID_H #include @@ -53,4 +53,4 @@ bool GDAPI godot_android_is_activity_resumed(); } #endif -#endif /* !GODOT_ANDROID_GDN_H */ +#endif // GODOT_ANDROID_H diff --git a/gdnative-sys/godot_headers/arvr/godot_arvr.h b/gdnative-sys/godot_headers/arvr/godot_arvr.h index aaef31a85..7a07380b8 100644 --- a/gdnative-sys/godot_headers/arvr/godot_arvr.h +++ b/gdnative-sys/godot_headers/arvr/godot_arvr.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_NATIVEARVR_H -#define GODOT_NATIVEARVR_H +#ifndef GODOT_ARVR_H +#define GODOT_ARVR_H #include @@ -42,7 +42,7 @@ extern "C" { // Use these to populate version in your plugin #define GODOTVR_API_MAJOR 1 -#define GODOTVR_API_MINOR 1 +#define GODOTVR_API_MINOR 2 typedef struct { godot_gdnative_api_version version; /* version of our API */ @@ -65,6 +65,8 @@ typedef struct { godot_int (*get_external_texture_for_eye)(void *, godot_int); void (*notification)(void *, godot_int); godot_int (*get_camera_feed_id)(void *); + // only in 1.2 onwards + godot_int (*get_external_depth_for_eye)(void *, godot_int); } godot_arvr_interface_gdnative; void GDAPI godot_arvr_register_interface(const godot_arvr_interface_gdnative *p_interface); @@ -85,8 +87,12 @@ void GDAPI godot_arvr_set_controller_button(godot_int p_controller_id, godot_int void GDAPI godot_arvr_set_controller_axis(godot_int p_controller_id, godot_int p_axis, godot_real p_value, godot_bool p_can_be_negative); godot_real GDAPI godot_arvr_get_controller_rumble(godot_int p_controller_id); +// ARVR 1.2 functions +void GDAPI godot_arvr_set_interface(godot_object *p_arvr_interface, const godot_arvr_interface_gdnative *p_gdn_interface); +godot_int GDAPI godot_arvr_get_depthid(godot_rid *p_render_target); + #ifdef __cplusplus } #endif -#endif /* !GODOT_NATIVEARVR_H */ +#endif // GODOT_ARVR_H diff --git a/gdnative-sys/godot_headers/gdnative/aabb.h b/gdnative-sys/godot_headers/gdnative/aabb.h index 9f41e9d4c..df81a4950 100644 --- a/gdnative-sys/godot_headers/gdnative/aabb.h +++ b/gdnative-sys/godot_headers/gdnative/aabb.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_AABB_H -#define GODOT_AABB_H +#ifndef GDNATIVE_AABB_H +#define GDNATIVE_AABB_H #ifdef __cplusplus extern "C" { @@ -115,4 +115,4 @@ godot_bool GDAPI godot_aabb_operator_equal(const godot_aabb *p_self, const godot } #endif -#endif // GODOT_AABB_H +#endif // GDNATIVE_AABB_H diff --git a/gdnative-sys/godot_headers/gdnative/array.h b/gdnative-sys/godot_headers/gdnative/array.h index 36b5c7787..a9e3a517e 100644 --- a/gdnative-sys/godot_headers/gdnative/array.h +++ b/gdnative-sys/godot_headers/gdnative/array.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_ARRAY_H -#define GODOT_ARRAY_H +#ifndef GDNATIVE_ARRAY_H +#define GDNATIVE_ARRAY_H #ifdef __cplusplus extern "C" { @@ -144,4 +144,4 @@ void GDAPI godot_array_shuffle(godot_array *p_self); } #endif -#endif // GODOT_ARRAY_H +#endif // GDNATIVE_ARRAY_H diff --git a/gdnative-sys/godot_headers/gdnative/basis.h b/gdnative-sys/godot_headers/gdnative/basis.h index c7425ebbf..85c6f76dc 100644 --- a/gdnative-sys/godot_headers/gdnative/basis.h +++ b/gdnative-sys/godot_headers/gdnative/basis.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_BASIS_H -#define GODOT_BASIS_H +#ifndef GDNATIVE_BASIS_H +#define GDNATIVE_BASIS_H #ifdef __cplusplus extern "C" { @@ -133,4 +133,4 @@ godot_basis GDAPI godot_basis_slerp(const godot_basis *p_self, const godot_basis } #endif -#endif // GODOT_BASIS_H +#endif // GDNATIVE_BASIS_H diff --git a/gdnative-sys/godot_headers/gdnative/color.h b/gdnative-sys/godot_headers/gdnative/color.h index 3f046b7f0..3e55b17c4 100644 --- a/gdnative-sys/godot_headers/gdnative/color.h +++ b/gdnative-sys/godot_headers/gdnative/color.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_COLOR_H -#define GODOT_COLOR_H +#ifndef GDNATIVE_COLOR_H +#define GDNATIVE_COLOR_H #ifdef __cplusplus extern "C" { @@ -117,4 +117,4 @@ godot_bool GDAPI godot_color_operator_less(const godot_color *p_self, const godo } #endif -#endif // GODOT_COLOR_H +#endif // GDNATIVE_COLOR_H diff --git a/gdnative-sys/godot_headers/gdnative/dictionary.h b/gdnative-sys/godot_headers/gdnative/dictionary.h index 873efaa9b..00e697a39 100644 --- a/gdnative-sys/godot_headers/gdnative/dictionary.h +++ b/gdnative-sys/godot_headers/gdnative/dictionary.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_DICTIONARY_H -#define GODOT_DICTIONARY_H +#ifndef GDNATIVE_DICTIONARY_H +#define GDNATIVE_DICTIONARY_H #ifdef __cplusplus extern "C" { @@ -102,8 +102,12 @@ godot_bool GDAPI godot_dictionary_erase_with_return(godot_dictionary *p_self, co godot_variant GDAPI godot_dictionary_get_with_default(const godot_dictionary *p_self, const godot_variant *p_key, const godot_variant *p_default); +// GDNative core 1.3 + +void GDAPI godot_dictionary_merge(godot_dictionary *p_self, const godot_dictionary *p_dictionary, const godot_bool p_overwrite); + #ifdef __cplusplus } #endif -#endif // GODOT_DICTIONARY_H +#endif // GDNATIVE_DICTIONARY_H diff --git a/gdnative-sys/godot_headers/gdnative/gdnative.h b/gdnative-sys/godot_headers/gdnative/gdnative.h index e19a2ec14..67a6919e0 100644 --- a/gdnative-sys/godot_headers/gdnative/gdnative.h +++ b/gdnative-sys/godot_headers/gdnative/gdnative.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_GDNATIVE_H -#define GODOT_GDNATIVE_H +#ifndef GDNATIVE_GDNATIVE_H +#define GDNATIVE_GDNATIVE_H #ifdef __cplusplus extern "C" { @@ -53,11 +53,15 @@ extern "C" { #endif // This is for libraries *using* the header, NOT GODOT EXPOSING STUFF!! -#ifdef _WIN32 +#if !defined(GDN_EXPORT) +#if defined(_WIN32) #define GDN_EXPORT __declspec(dllexport) +#elif defined(__GNUC__) +#define GDN_EXPORT __attribute__((visibility("default"))) #else #define GDN_EXPORT #endif +#endif #include #include @@ -297,4 +301,4 @@ godot_object GDAPI *godot_instance_from_id(godot_int p_instance_id); } #endif -#endif // GODOT_C_H +#endif // GDNATIVE_GDNATIVE_H diff --git a/gdnative-sys/godot_headers/gdnative/node_path.h b/gdnative-sys/godot_headers/gdnative/node_path.h index 0cd0c3cb9..36e1535e8 100644 --- a/gdnative-sys/godot_headers/gdnative/node_path.h +++ b/gdnative-sys/godot_headers/gdnative/node_path.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_NODE_PATH_H -#define GODOT_NODE_PATH_H +#ifndef GDNATIVE_NODE_PATH_H +#define GDNATIVE_NODE_PATH_H #ifdef __cplusplus extern "C" { @@ -86,4 +86,4 @@ godot_node_path godot_node_path_get_as_property_path(const godot_node_path *p_se } #endif -#endif // GODOT_NODE_PATH_H +#endif // GDNATIVE_NODE_PATH_H diff --git a/gdnative-sys/godot_headers/gdnative/plane.h b/gdnative-sys/godot_headers/gdnative/plane.h index b759a8cc1..834ceeb85 100644 --- a/gdnative-sys/godot_headers/gdnative/plane.h +++ b/gdnative-sys/godot_headers/gdnative/plane.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_PLANE_H -#define GODOT_PLANE_H +#ifndef GDNATIVE_PLANE_H +#define GDNATIVE_PLANE_H #ifdef __cplusplus extern "C" { @@ -100,4 +100,4 @@ void GDAPI godot_plane_set_d(godot_plane *p_self, const godot_real p_d); } #endif -#endif // GODOT_PLANE_H +#endif // GDNATIVE_PLANE_H diff --git a/gdnative-sys/godot_headers/gdnative/pool_arrays.h b/gdnative-sys/godot_headers/gdnative/pool_arrays.h index 7d51b3cd5..54aa5d953 100644 --- a/gdnative-sys/godot_headers/gdnative/pool_arrays.h +++ b/gdnative-sys/godot_headers/gdnative/pool_arrays.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_POOL_ARRAYS_H -#define GODOT_POOL_ARRAYS_H +#ifndef GDNATIVE_POOL_ARRAYS_H +#define GDNATIVE_POOL_ARRAYS_H #ifdef __cplusplus extern "C" { @@ -182,6 +182,8 @@ void GDAPI godot_pool_byte_array_remove(godot_pool_byte_array *p_self, const god void GDAPI godot_pool_byte_array_resize(godot_pool_byte_array *p_self, const godot_int p_size); +void GDAPI godot_pool_byte_array_sort(godot_pool_byte_array *p_self); + godot_pool_byte_array_read_access GDAPI *godot_pool_byte_array_read(const godot_pool_byte_array *p_self); godot_pool_byte_array_write_access GDAPI *godot_pool_byte_array_write(godot_pool_byte_array *p_self); @@ -193,6 +195,8 @@ godot_int GDAPI godot_pool_byte_array_size(const godot_pool_byte_array *p_self); godot_bool GDAPI godot_pool_byte_array_empty(const godot_pool_byte_array *p_self); +godot_bool GDAPI godot_pool_byte_array_has(const godot_pool_byte_array *p_self, const uint8_t p_data); + void GDAPI godot_pool_byte_array_destroy(godot_pool_byte_array *p_self); // int @@ -215,6 +219,8 @@ void GDAPI godot_pool_int_array_remove(godot_pool_int_array *p_self, const godot void GDAPI godot_pool_int_array_resize(godot_pool_int_array *p_self, const godot_int p_size); +void GDAPI godot_pool_int_array_sort(godot_pool_int_array *p_self); + godot_pool_int_array_read_access GDAPI *godot_pool_int_array_read(const godot_pool_int_array *p_self); godot_pool_int_array_write_access GDAPI *godot_pool_int_array_write(godot_pool_int_array *p_self); @@ -226,6 +232,8 @@ godot_int GDAPI godot_pool_int_array_size(const godot_pool_int_array *p_self); godot_bool GDAPI godot_pool_int_array_empty(const godot_pool_int_array *p_self); +godot_bool GDAPI godot_pool_int_array_has(const godot_pool_int_array *p_self, const godot_int p_data); + void GDAPI godot_pool_int_array_destroy(godot_pool_int_array *p_self); // real @@ -248,6 +256,8 @@ void GDAPI godot_pool_real_array_remove(godot_pool_real_array *p_self, const god void GDAPI godot_pool_real_array_resize(godot_pool_real_array *p_self, const godot_int p_size); +void GDAPI godot_pool_real_array_sort(godot_pool_real_array *p_self); + godot_pool_real_array_read_access GDAPI *godot_pool_real_array_read(const godot_pool_real_array *p_self); godot_pool_real_array_write_access GDAPI *godot_pool_real_array_write(godot_pool_real_array *p_self); @@ -259,6 +269,8 @@ godot_int GDAPI godot_pool_real_array_size(const godot_pool_real_array *p_self); godot_bool GDAPI godot_pool_real_array_empty(const godot_pool_real_array *p_self); +godot_bool GDAPI godot_pool_real_array_has(const godot_pool_real_array *p_self, const godot_real p_data); + void GDAPI godot_pool_real_array_destroy(godot_pool_real_array *p_self); // string @@ -275,12 +287,16 @@ godot_error GDAPI godot_pool_string_array_insert(godot_pool_string_array *p_self void GDAPI godot_pool_string_array_invert(godot_pool_string_array *p_self); +godot_string GDAPI godot_pool_string_array_join(const godot_pool_string_array *p_self, const godot_string *p_delimiter); + void GDAPI godot_pool_string_array_push_back(godot_pool_string_array *p_self, const godot_string *p_data); void GDAPI godot_pool_string_array_remove(godot_pool_string_array *p_self, const godot_int p_idx); void GDAPI godot_pool_string_array_resize(godot_pool_string_array *p_self, const godot_int p_size); +void GDAPI godot_pool_string_array_sort(godot_pool_string_array *p_self); + godot_pool_string_array_read_access GDAPI *godot_pool_string_array_read(const godot_pool_string_array *p_self); godot_pool_string_array_write_access GDAPI *godot_pool_string_array_write(godot_pool_string_array *p_self); @@ -292,6 +308,8 @@ godot_int GDAPI godot_pool_string_array_size(const godot_pool_string_array *p_se godot_bool GDAPI godot_pool_string_array_empty(const godot_pool_string_array *p_self); +godot_bool GDAPI godot_pool_string_array_has(const godot_pool_string_array *p_self, const godot_string *p_data); + void GDAPI godot_pool_string_array_destroy(godot_pool_string_array *p_self); // vector2 @@ -314,6 +332,8 @@ void GDAPI godot_pool_vector2_array_remove(godot_pool_vector2_array *p_self, con void GDAPI godot_pool_vector2_array_resize(godot_pool_vector2_array *p_self, const godot_int p_size); +void GDAPI godot_pool_vector2_array_sort(godot_pool_vector2_array *p_self); + godot_pool_vector2_array_read_access GDAPI *godot_pool_vector2_array_read(const godot_pool_vector2_array *p_self); godot_pool_vector2_array_write_access GDAPI *godot_pool_vector2_array_write(godot_pool_vector2_array *p_self); @@ -325,6 +345,8 @@ godot_int GDAPI godot_pool_vector2_array_size(const godot_pool_vector2_array *p_ godot_bool GDAPI godot_pool_vector2_array_empty(const godot_pool_vector2_array *p_self); +godot_bool GDAPI godot_pool_vector2_array_has(const godot_pool_vector2_array *p_self, const godot_vector2 *p_data); + void GDAPI godot_pool_vector2_array_destroy(godot_pool_vector2_array *p_self); // vector3 @@ -347,6 +369,8 @@ void GDAPI godot_pool_vector3_array_remove(godot_pool_vector3_array *p_self, con void GDAPI godot_pool_vector3_array_resize(godot_pool_vector3_array *p_self, const godot_int p_size); +void GDAPI godot_pool_vector3_array_sort(godot_pool_vector3_array *p_self); + godot_pool_vector3_array_read_access GDAPI *godot_pool_vector3_array_read(const godot_pool_vector3_array *p_self); godot_pool_vector3_array_write_access GDAPI *godot_pool_vector3_array_write(godot_pool_vector3_array *p_self); @@ -358,6 +382,8 @@ godot_int GDAPI godot_pool_vector3_array_size(const godot_pool_vector3_array *p_ godot_bool GDAPI godot_pool_vector3_array_empty(const godot_pool_vector3_array *p_self); +godot_bool GDAPI godot_pool_vector3_array_has(const godot_pool_vector3_array *p_self, const godot_vector3 *p_data); + void GDAPI godot_pool_vector3_array_destroy(godot_pool_vector3_array *p_self); // color @@ -380,6 +406,8 @@ void GDAPI godot_pool_color_array_remove(godot_pool_color_array *p_self, const g void GDAPI godot_pool_color_array_resize(godot_pool_color_array *p_self, const godot_int p_size); +void GDAPI godot_pool_color_array_sort(godot_pool_color_array *p_self); + godot_pool_color_array_read_access GDAPI *godot_pool_color_array_read(const godot_pool_color_array *p_self); godot_pool_color_array_write_access GDAPI *godot_pool_color_array_write(godot_pool_color_array *p_self); @@ -391,6 +419,8 @@ godot_int GDAPI godot_pool_color_array_size(const godot_pool_color_array *p_self godot_bool GDAPI godot_pool_color_array_empty(const godot_pool_color_array *p_self); +godot_bool GDAPI godot_pool_color_array_has(const godot_pool_color_array *p_self, const godot_color *p_data); + void GDAPI godot_pool_color_array_destroy(godot_pool_color_array *p_self); // @@ -475,4 +505,4 @@ void GDAPI godot_pool_color_array_write_access_destroy(godot_pool_color_array_wr } #endif -#endif // GODOT_POOL_ARRAYS_H +#endif // GDNATIVE_POOL_ARRAYS_H diff --git a/gdnative-sys/godot_headers/gdnative/quat.h b/gdnative-sys/godot_headers/gdnative/quat.h index d315b2d75..243f95966 100644 --- a/gdnative-sys/godot_headers/gdnative/quat.h +++ b/gdnative-sys/godot_headers/gdnative/quat.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_QUAT_H -#define GODOT_QUAT_H +#ifndef GDNATIVE_QUAT_H +#define GDNATIVE_QUAT_H #ifdef __cplusplus extern "C" { @@ -115,4 +115,4 @@ void GDAPI godot_quat_set_axis_angle(godot_quat *p_self, const godot_vector3 *p_ } #endif -#endif // GODOT_QUAT_H +#endif // GDNATIVE_QUAT_H diff --git a/gdnative-sys/godot_headers/gdnative/rect2.h b/gdnative-sys/godot_headers/gdnative/rect2.h index 0ecf07247..d046e6d17 100644 --- a/gdnative-sys/godot_headers/gdnative/rect2.h +++ b/gdnative-sys/godot_headers/gdnative/rect2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_RECT2_H -#define GODOT_RECT2_H +#ifndef GDNATIVE_RECT2_H +#define GDNATIVE_RECT2_H #ifdef __cplusplus extern "C" { @@ -99,4 +99,4 @@ void GDAPI godot_rect2_set_size(godot_rect2 *p_self, const godot_vector2 *p_size } #endif -#endif // GODOT_RECT2_H +#endif // GDNATIVE_RECT2_H diff --git a/gdnative-sys/godot_headers/gdnative/rid.h b/gdnative-sys/godot_headers/gdnative/rid.h index 04661cedc..a9862eb04 100644 --- a/gdnative-sys/godot_headers/gdnative/rid.h +++ b/gdnative-sys/godot_headers/gdnative/rid.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_RID_H -#define GODOT_RID_H +#ifndef GDNATIVE_RID_H +#define GDNATIVE_RID_H #ifdef __cplusplus extern "C" { @@ -71,4 +71,4 @@ godot_bool GDAPI godot_rid_operator_less(const godot_rid *p_self, const godot_ri } #endif -#endif // GODOT_RID_H +#endif // GDNATIVE_RID_H diff --git a/gdnative-sys/godot_headers/gdnative/string.h b/gdnative-sys/godot_headers/gdnative/string.h index b676d21fb..32e4fff87 100644 --- a/gdnative-sys/godot_headers/gdnative/string.h +++ b/gdnative-sys/godot_headers/gdnative/string.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_STRING_H -#define GODOT_STRING_H +#ifndef GDNATIVE_STRING_H +#define GDNATIVE_STRING_H #ifdef __cplusplus extern "C" { @@ -129,6 +129,8 @@ godot_string GDAPI godot_string_md5(const uint8_t *p_md5); godot_string GDAPI godot_string_num(double p_num); godot_string GDAPI godot_string_num_int64(int64_t p_num, godot_int p_base); godot_string GDAPI godot_string_num_int64_capitalized(int64_t p_num, godot_int p_base, godot_bool p_capitalize_hex); +godot_string GDAPI godot_string_num_uint64(uint64_t p_num, godot_int p_base); +godot_string GDAPI godot_string_num_uint64_capitalized(uint64_t p_num, godot_int p_base, godot_bool p_capitalize_hex); godot_string GDAPI godot_string_num_real(double p_num); godot_string GDAPI godot_string_num_scientific(double p_num); godot_string GDAPI godot_string_num_with_decimals(double p_num, godot_int p_decimals); @@ -179,6 +181,8 @@ godot_array GDAPI godot_string_split_ints_mk(const godot_string *p_self, const g godot_array GDAPI godot_string_split_ints_mk_allows_empty(const godot_string *p_self, const godot_array *p_splitters); godot_array GDAPI godot_string_split_spaces(const godot_string *p_self); +godot_string GDAPI godot_string_join(const godot_string *p_self, const godot_array *p_parts); + wchar_t GDAPI godot_string_char_lowercase(wchar_t p_char); wchar_t GDAPI godot_string_char_uppercase(wchar_t p_char); godot_string GDAPI godot_string_to_lower(const godot_string *p_self); @@ -219,7 +223,7 @@ godot_bool godot_string_empty(const godot_string *p_self); // path functions godot_string GDAPI godot_string_get_base_dir(const godot_string *p_self); godot_string GDAPI godot_string_get_file(const godot_string *p_self); -godot_string GDAPI godot_string_humanize_size(size_t p_size); +godot_string GDAPI godot_string_humanize_size(uint64_t p_size); godot_bool GDAPI godot_string_is_abs_path(const godot_string *p_self); godot_bool GDAPI godot_string_is_rel_path(const godot_string *p_self); godot_bool GDAPI godot_string_is_resource_file(const godot_string *p_self); @@ -260,4 +264,4 @@ void GDAPI godot_string_destroy(godot_string *p_self); } #endif -#endif // GODOT_STRING_H +#endif // GDNATIVE_STRING_H diff --git a/gdnative-sys/godot_headers/gdnative/string_name.h b/gdnative-sys/godot_headers/gdnative/string_name.h index f2555ab98..e6a353e4f 100644 --- a/gdnative-sys/godot_headers/gdnative/string_name.h +++ b/gdnative-sys/godot_headers/gdnative/string_name.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_STRING_NAME_H -#define GODOT_STRING_NAME_H +#ifndef GDNATIVE_STRING_NAME_H +#define GDNATIVE_STRING_NAME_H #ifdef __cplusplus extern "C" { @@ -75,4 +75,4 @@ void GDAPI godot_string_name_destroy(godot_string_name *p_self); } #endif -#endif // GODOT_STRING_NAME_H +#endif // GDNATIVE_STRING_NAME_H diff --git a/gdnative-sys/godot_headers/gdnative/transform.h b/gdnative-sys/godot_headers/gdnative/transform.h index bc51438b1..18d1ff2ec 100644 --- a/gdnative-sys/godot_headers/gdnative/transform.h +++ b/gdnative-sys/godot_headers/gdnative/transform.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_TRANSFORM_H -#define GODOT_TRANSFORM_H +#ifndef GDNATIVE_TRANSFORM_H +#define GDNATIVE_TRANSFORM_H #ifdef __cplusplus extern "C" { @@ -108,4 +108,4 @@ godot_aabb GDAPI godot_transform_xform_inv_aabb(const godot_transform *p_self, c } #endif -#endif // GODOT_TRANSFORM_H +#endif // GDNATIVE_TRANSFORM_H diff --git a/gdnative-sys/godot_headers/gdnative/transform2d.h b/gdnative-sys/godot_headers/gdnative/transform2d.h index 6b414ca7b..d63272216 100644 --- a/gdnative-sys/godot_headers/gdnative/transform2d.h +++ b/gdnative-sys/godot_headers/gdnative/transform2d.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_TRANSFORM2D_H -#define GODOT_TRANSFORM2D_H +#ifndef GDNATIVE_TRANSFORM2D_H +#define GDNATIVE_TRANSFORM2D_H #ifdef __cplusplus extern "C" { @@ -106,4 +106,4 @@ godot_rect2 GDAPI godot_transform2d_xform_inv_rect2(const godot_transform2d *p_s } #endif -#endif // GODOT_TRANSFORM2D_H +#endif // GDNATIVE_TRANSFORM2D_H diff --git a/gdnative-sys/godot_headers/gdnative/variant.h b/gdnative-sys/godot_headers/gdnative/variant.h index 5da6d9718..47b571c61 100644 --- a/gdnative-sys/godot_headers/gdnative/variant.h +++ b/gdnative-sys/godot_headers/gdnative/variant.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_VARIANT_H -#define GODOT_VARIANT_H +#ifndef GDNATIVE_VARIANT_H +#define GDNATIVE_VARIANT_H #ifdef __cplusplus extern "C" { @@ -252,4 +252,4 @@ void GDAPI godot_variant_evaluate(godot_variant_operator p_op, const godot_varia } #endif -#endif +#endif // GDNATIVE_VARIANT_H diff --git a/gdnative-sys/godot_headers/gdnative/vector2.h b/gdnative-sys/godot_headers/gdnative/vector2.h index 15a1a6063..b548c897a 100644 --- a/gdnative-sys/godot_headers/gdnative/vector2.h +++ b/gdnative-sys/godot_headers/gdnative/vector2.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_VECTOR2_H -#define GODOT_VECTOR2_H +#ifndef GDNATIVE_VECTOR2_H +#define GDNATIVE_VECTOR2_H #ifdef __cplusplus extern "C" { @@ -139,4 +139,4 @@ godot_real GDAPI godot_vector2_get_y(const godot_vector2 *p_self); } #endif -#endif // GODOT_VECTOR2_H +#endif // GDNATIVE_VECTOR2_H diff --git a/gdnative-sys/godot_headers/gdnative/vector3.h b/gdnative-sys/godot_headers/gdnative/vector3.h index 1b344590e..a5084c13d 100644 --- a/gdnative-sys/godot_headers/gdnative/vector3.h +++ b/gdnative-sys/godot_headers/gdnative/vector3.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_VECTOR3_H -#define GODOT_VECTOR3_H +#ifndef GDNATIVE_VECTOR3_H +#define GDNATIVE_VECTOR3_H #ifdef __cplusplus extern "C" { @@ -146,4 +146,4 @@ godot_real GDAPI godot_vector3_get_axis(const godot_vector3 *p_self, const godot } #endif -#endif // GODOT_VECTOR3_H +#endif // GDNATIVE_VECTOR3_H diff --git a/gdnative-sys/godot_headers/gdnative_api.json b/gdnative-sys/godot_headers/gdnative_api.json index 8ccb8d228..2e7e31594 100644 --- a/gdnative-sys/godot_headers/gdnative_api.json +++ b/gdnative-sys/godot_headers/gdnative_api.json @@ -17,7 +17,163 @@ "major": 1, "minor": 2 }, - "next": null, + "next": { + "type": "CORE", + "version": { + "major": 1, + "minor": 3 + }, + "next": null, + "api": [ + { + "name": "godot_dictionary_merge", + "return_type": "void", + "arguments": [ + ["godot_dictionary *", "p_self"], + ["const godot_dictionary *", "p_dictionary"], + ["const godot_bool", "p_overwrite"] + ] + }, + { + "name": "godot_pool_byte_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_byte_array *", "p_self"], + ["const uint8_t", "p_data"] + ] + }, + { + "name": "godot_pool_byte_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_byte_array *", "p_self"] + ] + }, + { + "name": "godot_pool_int_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_int_array *", "p_self"], + ["const godot_int", "p_data"] + ] + }, + { + "name": "godot_pool_int_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_int_array *", "p_self"] + ] + }, + { + "name": "godot_pool_real_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_real_array *", "p_self"], + ["const godot_real", "p_data"] + ] + }, + { + "name": "godot_pool_real_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_real_array *", "p_self"] + ] + }, + { + "name": "godot_pool_string_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_string_array *", "p_self"], + ["const godot_string *", "p_data"] + ] + }, + { + "name": "godot_pool_string_array_join", + "return_type": "godot_string", + "arguments": [ + ["const godot_pool_string_array *", "p_self"], + ["const godot_string *", "p_delimiter"] + ] + }, + { + "name": "godot_pool_string_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_string_array *", "p_self"] + ] + }, + { + "name": "godot_pool_vector2_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_vector2_array *", "p_self"], + ["const godot_vector2 *", "p_data"] + ] + }, + { + "name": "godot_pool_vector2_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_vector2_array *", "p_self"] + ] + }, + { + "name": "godot_pool_vector3_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_vector3_array *", "p_self"], + ["const godot_vector3 *", "p_data"] + ] + }, + { + "name": "godot_pool_vector3_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_vector3_array *", "p_self"] + ] + }, + { + "name": "godot_pool_color_array_has", + "return_type": "godot_bool", + "arguments": [ + ["const godot_pool_color_array *", "p_self"], + ["const godot_color *", "p_data"] + ] + }, + { + "name": "godot_pool_color_array_sort", + "return_type": "void", + "arguments": [ + ["godot_pool_color_array *", "p_self"] + ] + }, + { + "name": "godot_string_join", + "return_type": "godot_string", + "arguments": [ + ["const godot_string *", "p_self"], + ["const godot_array *", "p_parts"] + ] + }, + { + "name": "godot_string_num_uint64", + "return_type": "godot_string", + "arguments": [ + ["uint64_t", "p_num"], + ["godot_int", "p_base"] + ] + }, + { + "name": "godot_string_num_uint64_capitalized", + "return_type": "godot_string", + "arguments": [ + ["uint64_t", "p_num"], + ["godot_int", "p_base"], + ["godot_bool", "p_capitalize_hex"] + ] + } + ] + }, "api": [ { "name": "godot_dictionary_duplicate", @@ -5847,7 +6003,7 @@ "name": "godot_string_humanize_size", "return_type": "godot_string", "arguments": [ - ["size_t", "p_size"] + ["uint64_t", "p_size"] ] }, { @@ -6459,7 +6615,32 @@ "major": 1, "minor": 1 }, - "next": null, + "next": { + "name": "arvr", + "type": "ARVR", + "version": { + "major": 1, + "minor": 2 + }, + "next": null, + "api": [ + { + "name": "godot_arvr_set_interface", + "return_type": "void", + "arguments": [ + ["godot_object *", "p_arvr_interface"], + ["const godot_arvr_interface_gdnative *", "p_gdn_interface"] + ] + }, + { + "name": "godot_arvr_get_depthid", + "return_type": "godot_int", + "arguments": [ + ["godot_rid *", "p_render_target"] + ] + } + ] + }, "api": [ { "name": "godot_arvr_register_interface", diff --git a/gdnative-sys/godot_headers/gdnative_api_struct.gen.h b/gdnative-sys/godot_headers/gdnative_api_struct.gen.h index d5f773da2..aec1fbca6 100644 --- a/gdnative-sys/godot_headers/gdnative_api_struct.gen.h +++ b/gdnative-sys/godot_headers/gdnative_api_struct.gen.h @@ -105,6 +105,14 @@ typedef struct godot_gdnative_ext_android_api_struct { bool (*godot_android_is_activity_resumed)(); } godot_gdnative_ext_android_api_struct; +typedef struct godot_gdnative_ext_arvr_1_2_api_struct { + unsigned int type; + godot_gdnative_api_version version; + const godot_gdnative_api_struct *next; + void (*godot_arvr_set_interface)(godot_object *p_arvr_interface, const godot_arvr_interface_gdnative *p_gdn_interface); + godot_int (*godot_arvr_get_depthid)(godot_rid *p_render_target); +} godot_gdnative_ext_arvr_1_2_api_struct; + typedef struct godot_gdnative_ext_arvr_api_struct { unsigned int type; godot_gdnative_api_version version; @@ -149,6 +157,31 @@ typedef struct godot_gdnative_ext_net_api_struct { void (*godot_net_bind_multiplayer_peer)(godot_object *p_obj, const godot_net_multiplayer_peer *p_interface); } godot_gdnative_ext_net_api_struct; +typedef struct godot_gdnative_core_1_3_api_struct { + unsigned int type; + godot_gdnative_api_version version; + const godot_gdnative_api_struct *next; + void (*godot_dictionary_merge)(godot_dictionary *p_self, const godot_dictionary *p_dictionary, const godot_bool p_overwrite); + godot_bool (*godot_pool_byte_array_has)(const godot_pool_byte_array *p_self, const uint8_t p_data); + void (*godot_pool_byte_array_sort)(godot_pool_byte_array *p_self); + godot_bool (*godot_pool_int_array_has)(const godot_pool_int_array *p_self, const godot_int p_data); + void (*godot_pool_int_array_sort)(godot_pool_int_array *p_self); + godot_bool (*godot_pool_real_array_has)(const godot_pool_real_array *p_self, const godot_real p_data); + void (*godot_pool_real_array_sort)(godot_pool_real_array *p_self); + godot_bool (*godot_pool_string_array_has)(const godot_pool_string_array *p_self, const godot_string *p_data); + godot_string (*godot_pool_string_array_join)(const godot_pool_string_array *p_self, const godot_string *p_delimiter); + void (*godot_pool_string_array_sort)(godot_pool_string_array *p_self); + godot_bool (*godot_pool_vector2_array_has)(const godot_pool_vector2_array *p_self, const godot_vector2 *p_data); + void (*godot_pool_vector2_array_sort)(godot_pool_vector2_array *p_self); + godot_bool (*godot_pool_vector3_array_has)(const godot_pool_vector3_array *p_self, const godot_vector3 *p_data); + void (*godot_pool_vector3_array_sort)(godot_pool_vector3_array *p_self); + godot_bool (*godot_pool_color_array_has)(const godot_pool_color_array *p_self, const godot_color *p_data); + void (*godot_pool_color_array_sort)(godot_pool_color_array *p_self); + godot_string (*godot_string_join)(const godot_string *p_self, const godot_array *p_parts); + godot_string (*godot_string_num_uint64)(uint64_t p_num, godot_int p_base); + godot_string (*godot_string_num_uint64_capitalized)(uint64_t p_num, godot_int p_base, godot_bool p_capitalize_hex); +} godot_gdnative_core_1_3_api_struct; + typedef struct godot_gdnative_core_1_2_api_struct { unsigned int type; godot_gdnative_api_version version; @@ -916,7 +949,7 @@ typedef struct godot_gdnative_core_api_struct { godot_bool (*godot_string_empty)(const godot_string *p_self); godot_string (*godot_string_get_base_dir)(const godot_string *p_self); godot_string (*godot_string_get_file)(const godot_string *p_self); - godot_string (*godot_string_humanize_size)(size_t p_size); + godot_string (*godot_string_humanize_size)(uint64_t p_size); godot_bool (*godot_string_is_abs_path)(const godot_string *p_self); godot_bool (*godot_string_is_rel_path)(const godot_string *p_self); godot_bool (*godot_string_is_resource_file)(const godot_string *p_self); diff --git a/gdnative-sys/godot_headers/images/faq/create_dlscript.png b/gdnative-sys/godot_headers/images/faq/create_dlscript.png index 7e1f838c4..20020b9b6 100644 Binary files a/gdnative-sys/godot_headers/images/faq/create_dlscript.png and b/gdnative-sys/godot_headers/images/faq/create_dlscript.png differ diff --git a/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_dllibrary.png b/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_dllibrary.png index e17ebcabc..57c45ec67 100644 Binary files a/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_dllibrary.png and b/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_dllibrary.png differ diff --git a/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_resource.png b/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_resource.png index fe2d274e3..7e0cc8f11 100644 Binary files a/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_resource.png and b/gdnative-sys/godot_headers/images/faq/dllibrary_create_new_resource.png differ diff --git a/gdnative-sys/godot_headers/images/faq/dllibrary_save_as_resource.png b/gdnative-sys/godot_headers/images/faq/dllibrary_save_as_resource.png index f5d9a066c..6d4075f07 100644 Binary files a/gdnative-sys/godot_headers/images/faq/dllibrary_save_as_resource.png and b/gdnative-sys/godot_headers/images/faq/dllibrary_save_as_resource.png differ diff --git a/gdnative-sys/godot_headers/images/faq/set_project_dllibrary.png b/gdnative-sys/godot_headers/images/faq/set_project_dllibrary.png deleted file mode 100644 index 63901a945..000000000 Binary files a/gdnative-sys/godot_headers/images/faq/set_project_dllibrary.png and /dev/null differ diff --git a/gdnative-sys/godot_headers/images/faq/set_script_dllibrary.png b/gdnative-sys/godot_headers/images/faq/set_script_dllibrary.png index 223ac8ce2..c1d262e67 100644 Binary files a/gdnative-sys/godot_headers/images/faq/set_script_dllibrary.png and b/gdnative-sys/godot_headers/images/faq/set_script_dllibrary.png differ diff --git a/gdnative-sys/godot_headers/net/godot_net.h b/gdnative-sys/godot_headers/net/godot_net.h index d245f3b96..4834c18e7 100644 --- a/gdnative-sys/godot_headers/net/godot_net.h +++ b/gdnative-sys/godot_headers/net/godot_net.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_NATIVENET_H -#define GODOT_NATIVENET_H +#ifndef GODOT_NET_H +#define GODOT_NET_H #include @@ -45,7 +45,6 @@ extern "C" { #define GODOT_NET_API_MINOR 1 typedef struct { - godot_gdnative_api_version version; /* version of our API */ godot_object *data; /* User reference */ @@ -118,4 +117,4 @@ void GDAPI godot_net_bind_multiplayer_peer(godot_object *p_obj, const godot_net_ // WebRTC Bindings #include "net/godot_webrtc.h" -#endif /* GODOT_NATIVENET_H */ +#endif // GODOT_NET_H diff --git a/gdnative-sys/godot_headers/net/godot_webrtc.h b/gdnative-sys/godot_headers/net/godot_webrtc.h index 15e2df85c..f51c0bc18 100644 --- a/gdnative-sys/godot_headers/net/godot_webrtc.h +++ b/gdnative-sys/godot_headers/net/godot_webrtc.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_NATIVEWEBRTC_H -#define GODOT_NATIVEWEBRTC_H +#ifndef GODOT_WEBRTC_H +#define GODOT_WEBRTC_H #include @@ -38,7 +38,7 @@ extern "C" { #endif #define GODOT_NET_WEBRTC_API_MAJOR 3 -#define GODOT_NET_WEBRTC_API_MINOR 2 +#define GODOT_NET_WEBRTC_API_MINOR 4 /* Library Interface (used to set default GDNative WebRTC implementation */ typedef struct { @@ -108,6 +108,13 @@ typedef struct { void *next; /* For extension? */ } godot_net_webrtc_data_channel; +/* Extensions to WebRTCDataChannel */ +typedef struct { + int (*get_buffered_amount)(const void *); + + void *next; /* For extension? */ +} godot_net_webrtc_data_channel_ext; + /* Set the default GDNative library */ godot_error GDAPI godot_net_set_webrtc_library(const godot_net_webrtc_library *); /* Binds a WebRTCPeerConnectionGDNative to the provided interface */ @@ -119,4 +126,4 @@ void GDAPI godot_net_bind_webrtc_data_channel(godot_object *p_obj, const godot_n } #endif -#endif +#endif // GODOT_WEBRTC_H diff --git a/gdnative-sys/godot_headers/pluginscript/godot_pluginscript.h b/gdnative-sys/godot_headers/pluginscript/godot_pluginscript.h index 2c2528b8b..7f4f96572 100644 --- a/gdnative-sys/godot_headers/pluginscript/godot_pluginscript.h +++ b/gdnative-sys/godot_headers/pluginscript/godot_pluginscript.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ diff --git a/gdnative-sys/godot_headers/videodecoder/godot_videodecoder.h b/gdnative-sys/godot_headers/videodecoder/godot_videodecoder.h index 714991ca7..cb215d673 100644 --- a/gdnative-sys/godot_headers/videodecoder/godot_videodecoder.h +++ b/gdnative-sys/godot_headers/videodecoder/godot_videodecoder.h @@ -5,8 +5,8 @@ /* GODOT ENGINE */ /* https://godotengine.org */ /*************************************************************************/ -/* Copyright (c) 2007-2020 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2020 Godot Engine contributors (cf. AUTHORS.md). */ +/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */ +/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */ /* */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ @@ -28,8 +28,8 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ -#ifndef GODOT_NATIVEVIDEODECODER_H -#define GODOT_NATIVEVIDEODECODER_H +#ifndef GODOT_VIDEODECODER_H +#define GODOT_VIDEODECODER_H #include @@ -46,7 +46,7 @@ typedef struct void *next; void *(*constructor)(godot_object *); void (*destructor)(void *); - const char *(*get_plugin_name)(void); + const char *(*get_plugin_name)(); const char **(*get_supported_extensions)(int *count); godot_bool (*open_file)(void *, void *); // data struct, and a FileAccess pointer godot_real (*get_length)(const void *); @@ -72,4 +72,4 @@ void GDAPI godot_videodecoder_register_decoder(const godot_videodecoder_interfac } #endif -#endif /* GODOT_NATIVEVIDEODECODER_H */ +#endif // GODOT_VIDEODECODER_H