Compare commits
47 Commits
3.1
...
godot-3.5-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1049927a59 | ||
|
|
e8d27f9452 | ||
|
|
e7f1ef2b05 | ||
|
|
219afc98f7 | ||
|
|
1d792d19f2 | ||
|
|
0cd4170caa | ||
|
|
dc52823013 | ||
|
|
26b49b9ac6 | ||
|
|
137dc07d87 | ||
|
|
d1596b939d | ||
|
|
f7e545a294 | ||
|
|
0f91de28a5 | ||
|
|
400eca2c6b | ||
|
|
cd457bda8c | ||
|
|
30298009f5 | ||
|
|
68174528c9 | ||
|
|
134212db03 | ||
|
|
2840b31344 | ||
|
|
ec43f875e5 | ||
|
|
bd863357de | ||
|
|
a8ab6802c3 | ||
|
|
bab3c758d5 | ||
|
|
4bae481fc3 | ||
|
|
8a52bd0701 | ||
|
|
226e67be05 | ||
|
|
cec9b8ebb2 | ||
|
|
38cfba79bb | ||
|
|
34401939f3 | ||
|
|
e03903ac70 | ||
|
|
afd4b26c1b | ||
|
|
d93984d820 | ||
|
|
2f20022adf | ||
|
|
ddf67cc7b8 | ||
|
|
4b73c5445e | ||
|
|
57138143b5 | ||
|
|
83c651ada4 | ||
|
|
4fa11f8c2a | ||
|
|
3cde668e84 | ||
|
|
efea911ad5 | ||
|
|
6d4b930ba3 | ||
|
|
fb3010491b | ||
|
|
f1229c6077 | ||
|
|
1d9327bed5 | ||
|
|
f1e459d0f7 | ||
|
|
7f65d4d9f2 | ||
|
|
66f7af84ce | ||
|
|
ad61229a5a |
@@ -1,6 +1,6 @@
|
||||
# MIT License
|
||||
|
||||
Copyright (c) 2017-2019 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
|
||||
|
||||
190
README.md
@@ -1,30 +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.
|
||||
|
||||
- [**Getting Started**](#getting-started)
|
||||
- [**FAQ**](#faq)
|
||||
- [**Versioning**](#versioning)
|
||||
- [**Getting Started**](#getting-started)
|
||||
- [**FAQ**](#faq)
|
||||
- [**Updating Headers**](#updating-headers)
|
||||
|
||||
## Versioning
|
||||
|
||||
This repositories follows the same branch versioning as the main [Godot Engine
|
||||
repository](https://github.com/godotengine/godot):
|
||||
|
||||
- `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.
|
||||
|
||||
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 <version>` 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 <version>` 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]
|
||||
@@ -34,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/`.
|
||||
|
||||
<details>
|
||||
|
||||
@@ -45,22 +73,22 @@ Create `test.c` under `SimpleLibrary/src/`
|
||||
#include <stdio.h>
|
||||
|
||||
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 **/
|
||||
@@ -77,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
|
||||
};
|
||||
.method_data = 0,
|
||||
.free_func = 0
|
||||
};
|
||||
|
||||
godot_instance_destroy_func destroy_func = {
|
||||
.destroy_func = &test_destructor,
|
||||
.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_nativescript_register_class(desc, "SimpleClass", "Node", create_func, destroy_func);
|
||||
|
||||
{
|
||||
godot_instance_method method = {
|
||||
.method = &test_ready,
|
||||
.method_data = 0,
|
||||
.free_func = 0
|
||||
};
|
||||
{
|
||||
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_method_attributes attr = {
|
||||
.rpc_type = GODOT_METHOD_RPC_MODE_DISABLED
|
||||
};
|
||||
|
||||
godot_nativescript_register_method(desc, "SimpleClass", "_ready", attr, method);
|
||||
}
|
||||
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;
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
`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
|
||||
```
|
||||
|
||||
@@ -145,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`
|
||||
|
||||
<details>
|
||||
|
||||
@@ -161,7 +189,7 @@ The GDNativeLibrary resource contains links to the libraries for each platform.
|
||||
|
||||
</details>
|
||||
|
||||
`Expand details for screenshots.`
|
||||
Expand *Details* for screenshots.
|
||||
|
||||
### Using GDNativeLibrary in GDScript
|
||||
|
||||
@@ -169,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.
|
||||
|
||||
@@ -200,7 +228,7 @@ The GDNativeLibrary field in a NativeScript is empty by default.
|
||||
|
||||
</details>
|
||||
|
||||
`Expand details for screenshots.`
|
||||
Expand *Details* for screenshots.
|
||||
|
||||
## FAQ
|
||||
|
||||
@@ -214,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?**
|
||||
@@ -223,10 +251,6 @@ use of GDNative to implement scripts backed by native code.
|
||||
You must compile the library with debug
|
||||
symbols, and then you can use your debugger as usual.
|
||||
|
||||
**Are NativeScripts in Godot 3.0?**
|
||||
|
||||
They are! 🎉
|
||||
|
||||
**Can you use one GDNativeLibrary for all NativeScripts?**
|
||||
|
||||
You can! ✨
|
||||
@@ -234,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.
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 <gdnative/gdnative.h>
|
||||
|
||||
@@ -46,9 +46,11 @@ extern "C" {
|
||||
|
||||
JNIEnv *GDAPI godot_android_get_env();
|
||||
jobject GDAPI godot_android_get_activity();
|
||||
jobject GDAPI godot_android_get_surface();
|
||||
bool GDAPI godot_android_is_activity_resumed();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !GODOT_ANDROID_GDN_H */
|
||||
#endif // GODOT_ANDROID_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 <gdnative/gdnative.h>
|
||||
|
||||
@@ -42,7 +42,7 @@ extern "C" {
|
||||
|
||||
// Use these to populate version in your plugin
|
||||
#define GODOTVR_API_MAJOR 1
|
||||
#define GODOTVR_API_MINOR 0
|
||||
#define GODOTVR_API_MINOR 2
|
||||
|
||||
typedef struct {
|
||||
godot_gdnative_api_version version; /* version of our API */
|
||||
@@ -61,6 +61,12 @@ typedef struct {
|
||||
void (*fill_projection_for_eye)(void *, godot_real *, godot_int, godot_real, godot_real, godot_real);
|
||||
void (*commit_for_eye)(void *, godot_int, godot_rid *, godot_rect2 *);
|
||||
void (*process)(void *);
|
||||
// only in 1.1 onwards
|
||||
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);
|
||||
@@ -81,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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -132,6 +132,8 @@ void GDAPI godot_array_destroy(godot_array *p_self);
|
||||
|
||||
godot_array GDAPI godot_array_duplicate(const godot_array *p_self, const godot_bool p_deep);
|
||||
|
||||
godot_array GDAPI godot_array_slice(const godot_array *p_self, const godot_int p_begin, const godot_int p_end, const godot_int p_step, const godot_bool p_deep);
|
||||
|
||||
godot_variant GDAPI godot_array_max(const godot_array *p_self);
|
||||
|
||||
godot_variant GDAPI godot_array_min(const godot_array *p_self);
|
||||
@@ -142,4 +144,4 @@ void GDAPI godot_array_shuffle(godot_array *p_self);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // GODOT_ARRAY_H
|
||||
#endif // GDNATIVE_ARRAY_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -63,6 +63,8 @@ void GDAPI godot_dictionary_new(godot_dictionary *r_dest);
|
||||
void GDAPI godot_dictionary_new_copy(godot_dictionary *r_dest, const godot_dictionary *p_src);
|
||||
void GDAPI godot_dictionary_destroy(godot_dictionary *p_self);
|
||||
|
||||
godot_dictionary GDAPI godot_dictionary_duplicate(const godot_dictionary *p_self, const godot_bool p_deep);
|
||||
|
||||
godot_int GDAPI godot_dictionary_size(const godot_dictionary *p_self);
|
||||
|
||||
godot_bool GDAPI godot_dictionary_empty(const godot_dictionary *p_self);
|
||||
@@ -100,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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 <stdbool.h>
|
||||
#include <stdint.h>
|
||||
@@ -67,7 +71,7 @@ extern "C" {
|
||||
////// Error
|
||||
|
||||
typedef enum {
|
||||
GODOT_OK,
|
||||
GODOT_OK, // (0)
|
||||
GODOT_FAILED, ///< Generic fail error
|
||||
GODOT_ERR_UNAVAILABLE, ///< What is requested is unsupported/unavailable
|
||||
GODOT_ERR_UNCONFIGURED, ///< The object being used hasn't been properly set up yet
|
||||
@@ -97,12 +101,12 @@ typedef enum {
|
||||
GODOT_ERR_CONNECTION_ERROR,
|
||||
GODOT_ERR_CANT_ACQUIRE_RESOURCE,
|
||||
GODOT_ERR_CANT_FORK,
|
||||
GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30)
|
||||
GODOT_ERR_INVALID_DATA, ///< Data passed is invalid (30)
|
||||
GODOT_ERR_INVALID_PARAMETER, ///< Parameter passed is invalid
|
||||
GODOT_ERR_ALREADY_EXISTS, ///< When adding, item already exists
|
||||
GODOT_ERR_DOES_NOT_EXIST, ///< When retrieving/erasing, it item does not exist
|
||||
GODOT_ERR_DATABASE_CANT_READ, ///< database is full
|
||||
GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35)
|
||||
GODOT_ERR_DATABASE_CANT_WRITE, ///< database is full (35)
|
||||
GODOT_ERR_COMPILATION_FAILED,
|
||||
GODOT_ERR_METHOD_NOT_FOUND,
|
||||
GODOT_ERR_LINK_FAILED,
|
||||
@@ -286,8 +290,15 @@ void GDAPI godot_print(const godot_string *p_message);
|
||||
|
||||
bool GDAPI godot_is_instance_valid(const godot_object *p_object);
|
||||
|
||||
//tags used for safe dynamic casting
|
||||
void GDAPI *godot_get_class_tag(const godot_string_name *p_class);
|
||||
godot_object GDAPI *godot_object_cast_to(const godot_object *p_object, void *p_class_tag);
|
||||
|
||||
// equivalent of GDScript's instance_from_id
|
||||
godot_object GDAPI *godot_instance_from_id(godot_int p_instance_id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // GODOT_C_H
|
||||
#endif // GDNATIVE_GDNATIVE_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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);
|
||||
@@ -191,6 +193,10 @@ uint8_t GDAPI godot_pool_byte_array_get(const godot_pool_byte_array *p_self, con
|
||||
|
||||
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
|
||||
@@ -213,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);
|
||||
@@ -222,6 +230,10 @@ godot_int GDAPI godot_pool_int_array_get(const godot_pool_int_array *p_self, con
|
||||
|
||||
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
|
||||
@@ -244,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);
|
||||
@@ -253,6 +267,10 @@ godot_real GDAPI godot_pool_real_array_get(const godot_pool_real_array *p_self,
|
||||
|
||||
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
|
||||
@@ -269,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);
|
||||
@@ -284,6 +306,10 @@ godot_string GDAPI godot_pool_string_array_get(const godot_pool_string_array *p_
|
||||
|
||||
godot_int GDAPI godot_pool_string_array_size(const godot_pool_string_array *p_self);
|
||||
|
||||
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
|
||||
@@ -306,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);
|
||||
@@ -315,6 +343,10 @@ godot_vector2 GDAPI godot_pool_vector2_array_get(const godot_pool_vector2_array
|
||||
|
||||
godot_int GDAPI godot_pool_vector2_array_size(const godot_pool_vector2_array *p_self);
|
||||
|
||||
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
|
||||
@@ -337,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);
|
||||
@@ -346,6 +380,10 @@ godot_vector3 GDAPI godot_pool_vector3_array_get(const godot_pool_vector3_array
|
||||
|
||||
godot_int GDAPI godot_pool_vector3_array_size(const godot_pool_vector3_array *p_self);
|
||||
|
||||
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
|
||||
@@ -368,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);
|
||||
@@ -377,6 +417,10 @@ godot_color GDAPI godot_pool_color_array_get(const godot_pool_color_array *p_sel
|
||||
|
||||
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);
|
||||
|
||||
//
|
||||
@@ -461,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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -102,6 +102,8 @@ godot_bool GDAPI godot_string_begins_with_char_array(const godot_string *p_self,
|
||||
godot_array GDAPI godot_string_bigrams(const godot_string *p_self);
|
||||
godot_string GDAPI godot_string_chr(wchar_t p_character);
|
||||
godot_bool GDAPI godot_string_ends_with(const godot_string *p_self, const godot_string *p_string);
|
||||
godot_int GDAPI godot_string_count(const godot_string *p_self, godot_string p_what, godot_int p_from, godot_int p_to);
|
||||
godot_int GDAPI godot_string_countn(const godot_string *p_self, godot_string p_what, godot_int p_from, godot_int p_to);
|
||||
godot_int GDAPI godot_string_find(const godot_string *p_self, godot_string p_what);
|
||||
godot_int GDAPI godot_string_find_from(const godot_string *p_self, godot_string p_what, godot_int p_from);
|
||||
godot_int GDAPI godot_string_findmk(const godot_string *p_self, const godot_array *p_keys);
|
||||
@@ -127,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);
|
||||
@@ -177,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);
|
||||
@@ -217,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);
|
||||
@@ -258,4 +264,4 @@ void GDAPI godot_string_destroy(godot_string *p_self);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // GODOT_STRING_H
|
||||
#endif // GDNATIVE_STRING_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -37,7 +37,7 @@ extern "C" {
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define GODOT_VARIANT_SIZE (16 + sizeof(void *))
|
||||
#define GODOT_VARIANT_SIZE (16 + sizeof(int64_t))
|
||||
|
||||
#ifndef GODOT_CORE_API_GODOT_VARIANT_TYPE_DEFINED
|
||||
#define GODOT_CORE_API_GODOT_VARIANT_TYPE_DEFINED
|
||||
@@ -252,4 +252,4 @@ void GDAPI godot_variant_evaluate(godot_variant_operator p_op, const godot_varia
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // GDNATIVE_VARIANT_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -71,6 +71,8 @@ godot_real GDAPI godot_vector2_length_squared(const godot_vector2 *p_self);
|
||||
|
||||
godot_bool GDAPI godot_vector2_is_normalized(const godot_vector2 *p_self);
|
||||
|
||||
godot_vector2 GDAPI godot_vector2_direction_to(const godot_vector2 *p_self, const godot_vector2 *p_b);
|
||||
|
||||
godot_real GDAPI godot_vector2_distance_to(const godot_vector2 *p_self, const godot_vector2 *p_to);
|
||||
|
||||
godot_real GDAPI godot_vector2_distance_squared_to(const godot_vector2 *p_self, const godot_vector2 *p_to);
|
||||
@@ -83,6 +85,8 @@ godot_vector2 GDAPI godot_vector2_linear_interpolate(const godot_vector2 *p_self
|
||||
|
||||
godot_vector2 GDAPI godot_vector2_cubic_interpolate(const godot_vector2 *p_self, const godot_vector2 *p_b, const godot_vector2 *p_pre_a, const godot_vector2 *p_post_b, const godot_real p_t);
|
||||
|
||||
godot_vector2 GDAPI godot_vector2_move_toward(const godot_vector2 *p_self, const godot_vector2 *p_to, const godot_real p_delta);
|
||||
|
||||
godot_vector2 GDAPI godot_vector2_rotated(const godot_vector2 *p_self, const godot_real p_phi);
|
||||
|
||||
godot_vector2 GDAPI godot_vector2_tangent(const godot_vector2 *p_self);
|
||||
@@ -135,4 +139,4 @@ godot_real GDAPI godot_vector2_get_y(const godot_vector2 *p_self);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // GODOT_VECTOR2_H
|
||||
#endif // GDNATIVE_VECTOR2_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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" {
|
||||
@@ -90,6 +90,8 @@ godot_vector3 GDAPI godot_vector3_linear_interpolate(const godot_vector3 *p_self
|
||||
|
||||
godot_vector3 GDAPI godot_vector3_cubic_interpolate(const godot_vector3 *p_self, const godot_vector3 *p_b, const godot_vector3 *p_pre_a, const godot_vector3 *p_post_b, const godot_real p_t);
|
||||
|
||||
godot_vector3 GDAPI godot_vector3_move_toward(const godot_vector3 *p_self, const godot_vector3 *p_to, const godot_real p_delta);
|
||||
|
||||
godot_real GDAPI godot_vector3_dot(const godot_vector3 *p_self, const godot_vector3 *p_b);
|
||||
|
||||
godot_vector3 GDAPI godot_vector3_cross(const godot_vector3 *p_self, const godot_vector3 *p_b);
|
||||
@@ -104,6 +106,8 @@ godot_vector3 GDAPI godot_vector3_floor(const godot_vector3 *p_self);
|
||||
|
||||
godot_vector3 GDAPI godot_vector3_ceil(const godot_vector3 *p_self);
|
||||
|
||||
godot_vector3 GDAPI godot_vector3_direction_to(const godot_vector3 *p_self, const godot_vector3 *p_b);
|
||||
|
||||
godot_real GDAPI godot_vector3_distance_to(const godot_vector3 *p_self, const godot_vector3 *p_b);
|
||||
|
||||
godot_real GDAPI godot_vector3_distance_squared_to(const godot_vector3 *p_self, const godot_vector3 *p_b);
|
||||
@@ -142,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
|
||||
|
||||
@@ -11,7 +11,316 @@
|
||||
"major": 1,
|
||||
"minor": 1
|
||||
},
|
||||
"next": null,
|
||||
"next": {
|
||||
"type": "CORE",
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 2
|
||||
},
|
||||
"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",
|
||||
"return_type": "godot_dictionary",
|
||||
"arguments": [
|
||||
["const godot_dictionary *", "p_self"],
|
||||
["const godot_bool", "p_deep"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_vector3_move_toward",
|
||||
"return_type": "godot_vector3",
|
||||
"arguments": [
|
||||
["const godot_vector3 *", "p_self"],
|
||||
["const godot_vector3 *", "p_to"],
|
||||
["const godot_real", "p_delta"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_vector2_move_toward",
|
||||
"return_type": "godot_vector2",
|
||||
"arguments": [
|
||||
["const godot_vector2 *", "p_self"],
|
||||
["const godot_vector2 *", "p_to"],
|
||||
["const godot_real", "p_delta"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_string_count",
|
||||
"return_type": "godot_int",
|
||||
"arguments": [
|
||||
["const godot_string *", "p_self"],
|
||||
["godot_string", "p_what"],
|
||||
["godot_int", "p_from"],
|
||||
["godot_int", "p_to"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_string_countn",
|
||||
"return_type": "godot_int",
|
||||
"arguments": [
|
||||
["const godot_string *", "p_self"],
|
||||
["godot_string", "p_what"],
|
||||
["godot_int", "p_from"],
|
||||
["godot_int", "p_to"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_vector3_direction_to",
|
||||
"return_type": "godot_vector3",
|
||||
"arguments": [
|
||||
["const godot_vector3 *", "p_self"],
|
||||
["const godot_vector3 *", "p_to"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_vector2_direction_to",
|
||||
"return_type": "godot_vector2",
|
||||
"arguments": [
|
||||
["const godot_vector2 *", "p_self"],
|
||||
["const godot_vector2 *", "p_to"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_array_slice",
|
||||
"return_type": "godot_array",
|
||||
"arguments": [
|
||||
["const godot_array *", "p_self"],
|
||||
["const godot_int", "p_begin"],
|
||||
["const godot_int", "p_end"],
|
||||
["const godot_int", "p_step"],
|
||||
["const godot_bool", "p_deep"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_byte_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_byte_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_int_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_int_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_real_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_real_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_string_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_string_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_vector2_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_vector2_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_vector3_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_vector3_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_pool_color_array_empty",
|
||||
"return_type": "godot_bool",
|
||||
"arguments": [
|
||||
["const godot_pool_color_array *", "p_self"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_get_class_tag",
|
||||
"return_type": "void *",
|
||||
"arguments": [
|
||||
["const godot_string_name *", "p_class"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_object_cast_to",
|
||||
"return_type": "godot_object *",
|
||||
"arguments": [
|
||||
["const godot_object *", "p_object"],
|
||||
["void *", "p_class_tag"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_instance_from_id",
|
||||
"return_type": "godot_object *",
|
||||
"arguments": [
|
||||
["godot_int", "p_instance_id"]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api": [
|
||||
{
|
||||
"name": "godot_color_to_abgr32",
|
||||
@@ -5694,7 +6003,7 @@
|
||||
"name": "godot_string_humanize_size",
|
||||
"return_type": "godot_string",
|
||||
"arguments": [
|
||||
["size_t", "p_size"]
|
||||
["uint64_t", "p_size"]
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -6269,7 +6578,7 @@
|
||||
"type": "ANDROID",
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0
|
||||
"minor": 1
|
||||
},
|
||||
"next": null,
|
||||
"api": [
|
||||
@@ -6284,6 +6593,18 @@
|
||||
"return_type": "jobject",
|
||||
"arguments": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_android_get_surface",
|
||||
"return_type": "jobject",
|
||||
"arguments": [
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_android_is_activity_resumed",
|
||||
"return_type": "bool",
|
||||
"arguments": [
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6294,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",
|
||||
@@ -6427,30 +6773,62 @@
|
||||
"major": 3,
|
||||
"minor": 1
|
||||
},
|
||||
"next": null,
|
||||
"next": {
|
||||
"type": "NET",
|
||||
"version": {
|
||||
"major": 3,
|
||||
"minor": 2
|
||||
},
|
||||
"next": null,
|
||||
"api": [
|
||||
{
|
||||
"name": "godot_net_set_webrtc_library",
|
||||
"return_type": "godot_error",
|
||||
"arguments": [
|
||||
["const godot_net_webrtc_library *", "p_library"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_net_bind_webrtc_peer_connection",
|
||||
"return_type": "void",
|
||||
"arguments": [
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_webrtc_peer_connection *", "p_interface"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_net_bind_webrtc_data_channel",
|
||||
"return_type": "void",
|
||||
"arguments": [
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_webrtc_data_channel *", "p_interface"]
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"api": [
|
||||
{
|
||||
"name": "godot_net_bind_stream_peer",
|
||||
"return_type": "void",
|
||||
"arguments": [
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_stream_peer *", "p_interface"]
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_stream_peer *", "p_interface"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_net_bind_packet_peer",
|
||||
"return_type": "void",
|
||||
"arguments": [
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_packet_peer *", "p_interface"]
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_packet_peer *", "p_interface"]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "godot_net_bind_multiplayer_peer",
|
||||
"return_type": "void",
|
||||
"arguments": [
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_multiplayer_peer *", "p_interface"]
|
||||
["godot_object *", "p_obj"],
|
||||
["const godot_net_multiplayer_peer *", "p_interface"]
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -101,8 +101,18 @@ typedef struct godot_gdnative_ext_android_api_struct {
|
||||
const godot_gdnative_api_struct *next;
|
||||
JNIEnv*(*godot_android_get_env)();
|
||||
jobject (*godot_android_get_activity)();
|
||||
jobject (*godot_android_get_surface)();
|
||||
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;
|
||||
@@ -129,6 +139,15 @@ typedef struct godot_gdnative_ext_videodecoder_api_struct {
|
||||
void (*godot_videodecoder_register_decoder)(const godot_videodecoder_interface_gdnative *p_interface);
|
||||
} godot_gdnative_ext_videodecoder_api_struct;
|
||||
|
||||
typedef struct godot_gdnative_ext_net_3_2_api_struct {
|
||||
unsigned int type;
|
||||
godot_gdnative_api_version version;
|
||||
const godot_gdnative_api_struct *next;
|
||||
godot_error (*godot_net_set_webrtc_library)(const godot_net_webrtc_library *p_library);
|
||||
void (*godot_net_bind_webrtc_peer_connection)(godot_object *p_obj, const godot_net_webrtc_peer_connection *p_interface);
|
||||
void (*godot_net_bind_webrtc_data_channel)(godot_object *p_obj, const godot_net_webrtc_data_channel *p_interface);
|
||||
} godot_gdnative_ext_net_3_2_api_struct;
|
||||
|
||||
typedef struct godot_gdnative_ext_net_api_struct {
|
||||
unsigned int type;
|
||||
godot_gdnative_api_version version;
|
||||
@@ -138,6 +157,55 @@ 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;
|
||||
const godot_gdnative_api_struct *next;
|
||||
godot_dictionary (*godot_dictionary_duplicate)(const godot_dictionary *p_self, const godot_bool p_deep);
|
||||
godot_vector3 (*godot_vector3_move_toward)(const godot_vector3 *p_self, const godot_vector3 *p_to, const godot_real p_delta);
|
||||
godot_vector2 (*godot_vector2_move_toward)(const godot_vector2 *p_self, const godot_vector2 *p_to, const godot_real p_delta);
|
||||
godot_int (*godot_string_count)(const godot_string *p_self, godot_string p_what, godot_int p_from, godot_int p_to);
|
||||
godot_int (*godot_string_countn)(const godot_string *p_self, godot_string p_what, godot_int p_from, godot_int p_to);
|
||||
godot_vector3 (*godot_vector3_direction_to)(const godot_vector3 *p_self, const godot_vector3 *p_to);
|
||||
godot_vector2 (*godot_vector2_direction_to)(const godot_vector2 *p_self, const godot_vector2 *p_to);
|
||||
godot_array (*godot_array_slice)(const godot_array *p_self, const godot_int p_begin, const godot_int p_end, const godot_int p_step, const godot_bool p_deep);
|
||||
godot_bool (*godot_pool_byte_array_empty)(const godot_pool_byte_array *p_self);
|
||||
godot_bool (*godot_pool_int_array_empty)(const godot_pool_int_array *p_self);
|
||||
godot_bool (*godot_pool_real_array_empty)(const godot_pool_real_array *p_self);
|
||||
godot_bool (*godot_pool_string_array_empty)(const godot_pool_string_array *p_self);
|
||||
godot_bool (*godot_pool_vector2_array_empty)(const godot_pool_vector2_array *p_self);
|
||||
godot_bool (*godot_pool_vector3_array_empty)(const godot_pool_vector3_array *p_self);
|
||||
godot_bool (*godot_pool_color_array_empty)(const godot_pool_color_array *p_self);
|
||||
void *(*godot_get_class_tag)(const godot_string_name *p_class);
|
||||
godot_object *(*godot_object_cast_to)(const godot_object *p_object, void *p_class_tag);
|
||||
godot_object *(*godot_instance_from_id)(godot_int p_instance_id);
|
||||
} godot_gdnative_core_1_2_api_struct;
|
||||
|
||||
typedef struct godot_gdnative_core_1_1_api_struct {
|
||||
unsigned int type;
|
||||
godot_gdnative_api_version version;
|
||||
@@ -881,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);
|
||||
|
||||
0
images/.gdignore
Normal file
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 9.5 KiB |
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 */
|
||||
@@ -56,17 +56,19 @@ typedef enum {
|
||||
GODOT_PROPERTY_HINT_ENUM, ///< hint_text= "val1,val2,val3,etc"
|
||||
GODOT_PROPERTY_HINT_EXP_EASING, /// exponential easing function (Math::ease)
|
||||
GODOT_PROPERTY_HINT_LENGTH, ///< hint_text= "length" (as integer)
|
||||
GODOT_PROPERTY_HINT_SPRITE_FRAME,
|
||||
GODOT_PROPERTY_HINT_SPRITE_FRAME, // FIXME: Obsolete: drop whenever we can break compat
|
||||
GODOT_PROPERTY_HINT_KEY_ACCEL, ///< hint_text= "length" (as integer)
|
||||
GODOT_PROPERTY_HINT_FLAGS, ///< hint_text= "flag1,flag2,etc" (as bit flags)
|
||||
GODOT_PROPERTY_HINT_LAYERS_2D_RENDER,
|
||||
GODOT_PROPERTY_HINT_LAYERS_2D_PHYSICS,
|
||||
GODOT_PROPERTY_HINT_LAYERS_2D_NAVIGATION,
|
||||
GODOT_PROPERTY_HINT_LAYERS_3D_RENDER,
|
||||
GODOT_PROPERTY_HINT_LAYERS_3D_PHYSICS,
|
||||
GODOT_PROPERTY_HINT_LAYERS_3D_NAVIGATION,
|
||||
GODOT_PROPERTY_HINT_FILE, ///< a file path must be passed, hint_text (optionally) is a filter "*.png,*.wav,*.doc,"
|
||||
GODOT_PROPERTY_HINT_DIR, ///< a directort path must be passed
|
||||
GODOT_PROPERTY_HINT_DIR, ///< a directory path must be passed
|
||||
GODOT_PROPERTY_HINT_GLOBAL_FILE, ///< a file path must be passed, hint_text (optionally) is a filter "*.png,*.wav,*.doc,"
|
||||
GODOT_PROPERTY_HINT_GLOBAL_DIR, ///< a directort path must be passed
|
||||
GODOT_PROPERTY_HINT_GLOBAL_DIR, ///< a directory path must be passed
|
||||
GODOT_PROPERTY_HINT_RESOURCE_TYPE, ///< a resource object type
|
||||
GODOT_PROPERTY_HINT_MULTILINE_TEXT, ///< used for string properties that can contain multiple lines
|
||||
GODOT_PROPERTY_HINT_PLACEHOLDER_TEXT, ///< used to set a placeholder text for string properties
|
||||
@@ -98,8 +100,8 @@ typedef enum {
|
||||
GODOT_PROPERTY_USAGE_INTERNATIONALIZED = 64, //hint for internationalized strings
|
||||
GODOT_PROPERTY_USAGE_GROUP = 128, //used for grouping props in the editor
|
||||
GODOT_PROPERTY_USAGE_CATEGORY = 256,
|
||||
GODOT_PROPERTY_USAGE_STORE_IF_NONZERO = 512, //only store if nonzero
|
||||
GODOT_PROPERTY_USAGE_STORE_IF_NONONE = 1024, //only store if false
|
||||
GODOT_PROPERTY_USAGE_STORE_IF_NONZERO = 512, // FIXME: Obsolete: drop whenever we can break compat
|
||||
GODOT_PROPERTY_USAGE_STORE_IF_NONONE = 1024, // FIXME: Obsolete: drop whenever we can break compat
|
||||
GODOT_PROPERTY_USAGE_NO_INSTANCE_STATE = 2048,
|
||||
GODOT_PROPERTY_USAGE_RESTART_IF_CHANGED = 4096,
|
||||
GODOT_PROPERTY_USAGE_SCRIPT_VARIABLE = 8192,
|
||||
@@ -145,7 +147,7 @@ typedef struct {
|
||||
} godot_method_attributes;
|
||||
|
||||
typedef struct {
|
||||
// instance pointer, method data, user data, num args, args - return result as varaint
|
||||
// instance pointer, method data, user data, num args, args - return result as variant
|
||||
GDCALLINGCONV godot_variant (*method)(godot_object *, void *, void *, int, godot_variant **);
|
||||
void *method_data;
|
||||
GDCALLINGCONV void (*free_func)(void *);
|
||||
@@ -247,4 +249,4 @@ void GDAPI godot_nativescript_profiling_add_data(const char *p_signature, uint64
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif // GODOT_NATIVESCRIPT_H
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 <gdnative/gdnative.h>
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -115,4 +114,7 @@ void GDAPI godot_net_bind_multiplayer_peer(godot_object *p_obj, const godot_net_
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* GODOT_NATIVENET_H */
|
||||
// WebRTC Bindings
|
||||
#include "net/godot_webrtc.h"
|
||||
|
||||
#endif // GODOT_NET_H
|
||||
|
||||
129
net/godot_webrtc.h
Normal file
@@ -0,0 +1,129 @@
|
||||
/*************************************************************************/
|
||||
/* godot_webrtc.h */
|
||||
/*************************************************************************/
|
||||
/* This file is part of: */
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* 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 */
|
||||
/* "Software"), to deal in the Software without restriction, including */
|
||||
/* without limitation the rights to use, copy, modify, merge, publish, */
|
||||
/* distribute, sublicense, and/or sell copies of the Software, and to */
|
||||
/* permit persons to whom the Software is furnished to do so, subject to */
|
||||
/* the following conditions: */
|
||||
/* */
|
||||
/* The above copyright notice and this permission notice shall be */
|
||||
/* included in all copies or substantial portions of the Software. */
|
||||
/* */
|
||||
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
|
||||
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
|
||||
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
|
||||
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
|
||||
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
|
||||
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
|
||||
#ifndef GODOT_WEBRTC_H
|
||||
#define GODOT_WEBRTC_H
|
||||
|
||||
#include <gdnative/gdnative.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define GODOT_NET_WEBRTC_API_MAJOR 3
|
||||
#define GODOT_NET_WEBRTC_API_MINOR 4
|
||||
|
||||
/* Library Interface (used to set default GDNative WebRTC implementation */
|
||||
typedef struct {
|
||||
godot_gdnative_api_version version; /* version of our API */
|
||||
|
||||
/* Called when the library is unset as default interface via godot_net_set_webrtc_library */
|
||||
void (*unregistered)();
|
||||
|
||||
/* Used by WebRTCPeerConnection create when GDNative is the default implementation. */
|
||||
/* Takes a pointer to WebRTCPeerConnectionGDNative, should bind and return OK, failure if binding was unsuccessful. */
|
||||
godot_error (*create_peer_connection)(godot_object *);
|
||||
|
||||
void *next; /* For extension */
|
||||
} godot_net_webrtc_library;
|
||||
|
||||
/* WebRTCPeerConnection interface */
|
||||
typedef struct {
|
||||
godot_gdnative_api_version version; /* version of our API */
|
||||
|
||||
godot_object *data; /* User reference */
|
||||
|
||||
/* This is WebRTCPeerConnection */
|
||||
godot_int (*get_connection_state)(const void *);
|
||||
|
||||
godot_error (*initialize)(void *, const godot_dictionary *);
|
||||
godot_object *(*create_data_channel)(void *, const char *p_channel_name, const godot_dictionary *);
|
||||
godot_error (*create_offer)(void *);
|
||||
godot_error (*create_answer)(void *); /* unused for now, should be done automatically on set_local_description */
|
||||
godot_error (*set_remote_description)(void *, const char *, const char *);
|
||||
godot_error (*set_local_description)(void *, const char *, const char *);
|
||||
godot_error (*add_ice_candidate)(void *, const char *, int, const char *);
|
||||
godot_error (*poll)(void *);
|
||||
void (*close)(void *);
|
||||
|
||||
void *next; /* For extension? */
|
||||
} godot_net_webrtc_peer_connection;
|
||||
|
||||
/* WebRTCDataChannel interface */
|
||||
typedef struct {
|
||||
godot_gdnative_api_version version; /* version of our API */
|
||||
|
||||
godot_object *data; /* User reference */
|
||||
|
||||
/* This is PacketPeer */
|
||||
godot_error (*get_packet)(void *, const uint8_t **, int *);
|
||||
godot_error (*put_packet)(void *, const uint8_t *, int);
|
||||
godot_int (*get_available_packet_count)(const void *);
|
||||
godot_int (*get_max_packet_size)(const void *);
|
||||
|
||||
/* This is WebRTCDataChannel */
|
||||
void (*set_write_mode)(void *, godot_int);
|
||||
godot_int (*get_write_mode)(const void *);
|
||||
bool (*was_string_packet)(const void *);
|
||||
|
||||
godot_int (*get_ready_state)(const void *);
|
||||
const char *(*get_label)(const void *);
|
||||
bool (*is_ordered)(const void *);
|
||||
int (*get_id)(const void *);
|
||||
int (*get_max_packet_life_time)(const void *);
|
||||
int (*get_max_retransmits)(const void *);
|
||||
const char *(*get_protocol)(const void *);
|
||||
bool (*is_negotiated)(const void *);
|
||||
|
||||
godot_error (*poll)(void *);
|
||||
void (*close)(void *);
|
||||
|
||||
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 */
|
||||
void GDAPI godot_net_bind_webrtc_peer_connection(godot_object *p_obj, const godot_net_webrtc_peer_connection *);
|
||||
/* Binds a WebRTCDataChannelGDNative to the provided interface */
|
||||
void GDAPI godot_net_bind_webrtc_data_channel(godot_object *p_obj, const godot_net_webrtc_data_channel *);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // GODOT_WEBRTC_H
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 */
|
||||
@@ -136,7 +136,7 @@ typedef struct {
|
||||
godot_bool (*validate)(godot_pluginscript_language_data *p_data, const godot_string *p_script, int *r_line_error, int *r_col_error, godot_string *r_test_error, const godot_string *p_path, godot_pool_string_array *r_functions);
|
||||
int (*find_function)(godot_pluginscript_language_data *p_data, const godot_string *p_function, const godot_string *p_code); // Can be NULL
|
||||
godot_string (*make_function)(godot_pluginscript_language_data *p_data, const godot_string *p_class, const godot_string *p_name, const godot_pool_string_array *p_args);
|
||||
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_base_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
||||
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
||||
void (*auto_indent_code)(godot_pluginscript_language_data *p_data, godot_string *p_code, int p_from_line, int p_to_line);
|
||||
|
||||
void (*add_global_constant)(godot_pluginscript_language_data *p_data, const godot_string *p_variable, const godot_variant *p_value);
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
/* GODOT ENGINE */
|
||||
/* https://godotengine.org */
|
||||
/*************************************************************************/
|
||||
/* Copyright (c) 2007-2019 Juan Linietsky, Ariel Manzur. */
|
||||
/* Copyright (c) 2014-2019 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 <gdnative/gdnative.h>
|
||||
|
||||
@@ -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
|
||||
|
||||