Compare commits

..

2 Commits

Author SHA1 Message Date
George Marques
4c21389bcf Merge pull request #54 from akien-mga/3.0-sync-with-3.0.6-stable
Sync JSON files and headers with 3.0.6-stable
2021-03-01 08:49:41 -03:00
Rémi Verschelde
88e71f3c02 Sync JSON files and headers with 3.0.6-stable
Also used a local cherry-pick of
godotengine/godot@0d2f3f4f50
to ensure that ``api.json`` keeps a consistent sorting.

This cherry-pick will be included in the upcoming 3.0.7-stable
so we'll be able to see a proper diff.

Partially reverts previous commit and remove NativeScript 1.1
declarations, I guess those were mistakenly committed to the 3.0
branch or it was branched off master too late?
2019-07-29 14:08:18 +02:00
39 changed files with 1488 additions and 58722 deletions

13
.gitattributes vendored
View File

@@ -1,13 +0,0 @@
# Properly detect languages on Github
*.h linguist-language=c
*.inc linguist-language=c
drivers/* linguist-vendored
*.c eol=lf
*.cpp eol=lf
*.mm eol=lf
*.h eol=lf
*.py eol=lf
*.hpp eol=lf
*.xml eol=lf
*.json eol=lf

View File

@@ -1,6 +1,6 @@
# MIT License
MIT License
Copyright (c) 2017-2021 Godot Engine contributors.
Copyright (c) 2017 GodotNativeTools
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,5 +1,4 @@
# godot-headers
# godot_headers
#### `GDNative / NativeScript`
> `GDNative` enables the use of dynamically linked libraries inside of [**Godot**](https://github.com/godotengine/godot).
@@ -14,19 +13,14 @@
| **Build latest version of Godot** | [**GitHub**](https://github.com/godotengine/godot) | [**Docs**](https://godot.readthedocs.io/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/godotengine/godot-headers
git clone https://github.com/GodotNativeTools/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/godotengine/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.
```bash
[SimpleLibrary]
├── lib/
@@ -110,7 +104,7 @@ godot_variant GDN_EXPORT some_test_procedure(void *data, godot_array *args) {
godot_variant_new_int(&ret, 42);
godot_string s;
godot_string_new_with_wide_string(&s, L"Hello World", 11);
godot_string_new_unicode_data(&s, L"Hello World", 11);
godot_print(&s);
godot_string_destroy(&s);
@@ -215,8 +209,8 @@ use of GDNative to implement scripts backed by native code.
**Which languages are binding as a NativeScript?**
[**C++**](https://github.com/godotengine/godot-cpp),
[**D**](https://github.com/godot-d/godot-d),
[**C++**](https://github.com/GodotNativeTools/cpp_bindings),
[**D**](https://github.com/GodotNativeTools/d_bindings),
[**Nim**](https://github.com/pragmagic/godot-nim)
**Can you debug NativeScripts?**
@@ -224,6 +218,10 @@ 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! ✨

View File

@@ -1,56 +0,0 @@
/*************************************************************************/
/* godot_android.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 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_ANDROID_GDN_H
#define GODOT_ANDROID_GDN_H
#include <gdnative/gdnative.h>
#ifdef __ANDROID__
#include <jni.h>
#else
#define JNIEnv void
#define jobject void *
#endif
#ifdef __cplusplus
extern "C" {
#endif
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 */

58527
api.json

File diff suppressed because it is too large Load Diff

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -37,15 +37,7 @@
extern "C" {
#endif
// For future versions of the API we should only add new functions at the end of the structure and use the
// version info to detect whether a call is available
// Use these to populate version in your plugin
#define GODOTVR_API_MAJOR 1
#define GODOTVR_API_MINOR 2
typedef struct {
godot_gdnative_api_version version; /* version of our API */
void *(*constructor)(godot_object *);
void (*destructor)(void *);
godot_string (*get_name)(const void *);
@@ -61,12 +53,6 @@ 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);
@@ -87,10 +73,6 @@ 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

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -130,16 +130,6 @@ godot_int GDAPI godot_array_bsearch_custom(godot_array *p_self, const godot_vari
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);
void GDAPI godot_array_shuffle(godot_array *p_self);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -62,7 +62,6 @@ extern "C" {
void GDAPI godot_basis_new_with_rows(godot_basis *r_dest, const godot_vector3 *p_x_axis, const godot_vector3 *p_y_axis, const godot_vector3 *p_z_axis);
void GDAPI godot_basis_new_with_axis_and_angle(godot_basis *r_dest, const godot_vector3 *p_axis, const godot_real p_phi);
void GDAPI godot_basis_new_with_euler(godot_basis *r_dest, const godot_vector3 *p_euler);
void GDAPI godot_basis_new_with_euler_quat(godot_basis *r_dest, const godot_quat *p_euler);
godot_string GDAPI godot_basis_as_string(const godot_basis *p_self);
@@ -82,16 +81,6 @@ godot_vector3 GDAPI godot_basis_get_scale(const godot_basis *p_self);
godot_vector3 GDAPI godot_basis_get_euler(const godot_basis *p_self);
godot_quat GDAPI godot_basis_get_quat(const godot_basis *p_self);
void GDAPI godot_basis_set_quat(godot_basis *p_self, const godot_quat *p_quat);
void GDAPI godot_basis_set_axis_angle_scale(godot_basis *p_self, const godot_vector3 *p_axis, godot_real p_phi, const godot_vector3 *p_scale);
void GDAPI godot_basis_set_euler_scale(godot_basis *p_self, const godot_vector3 *p_euler, const godot_vector3 *p_scale);
void GDAPI godot_basis_set_quat_scale(godot_basis *p_self, const godot_quat *p_quat, const godot_vector3 *p_scale);
godot_real GDAPI godot_basis_tdotx(const godot_basis *p_self, const godot_vector3 *p_with);
godot_real GDAPI godot_basis_tdoty(const godot_basis *p_self, const godot_vector3 *p_with);
@@ -106,6 +95,8 @@ godot_int GDAPI godot_basis_get_orthogonal_index(const godot_basis *p_self);
void GDAPI godot_basis_new(godot_basis *r_dest);
void GDAPI godot_basis_new_with_euler_quat(godot_basis *r_dest, const godot_quat *p_euler);
// p_elements is a pointer to an array of 3 (!!) vector3
void GDAPI godot_basis_get_elements(const godot_basis *p_self, godot_vector3 *p_elements);
@@ -127,8 +118,6 @@ godot_basis GDAPI godot_basis_operator_multiply_vector(const godot_basis *p_self
godot_basis GDAPI godot_basis_operator_multiply_scalar(const godot_basis *p_self, const godot_real p_b);
godot_basis GDAPI godot_basis_slerp(const godot_basis *p_self, const godot_basis *p_b, const godot_real p_t);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -81,14 +81,6 @@ godot_string GDAPI godot_color_as_string(const godot_color *p_self);
godot_int GDAPI godot_color_to_rgba32(const godot_color *p_self);
godot_int GDAPI godot_color_to_abgr32(const godot_color *p_self);
godot_int GDAPI godot_color_to_abgr64(const godot_color *p_self);
godot_int GDAPI godot_color_to_argb64(const godot_color *p_self);
godot_int GDAPI godot_color_to_rgba64(const godot_color *p_self);
godot_int GDAPI godot_color_to_argb32(const godot_color *p_self);
godot_real GDAPI godot_color_gray(const godot_color *p_self);
@@ -101,12 +93,6 @@ godot_color GDAPI godot_color_linear_interpolate(const godot_color *p_self, cons
godot_color GDAPI godot_color_blend(const godot_color *p_self, const godot_color *p_over);
godot_color GDAPI godot_color_darkened(const godot_color *p_self, const godot_real p_amount);
godot_color GDAPI godot_color_from_hsv(const godot_color *p_self, const godot_real p_h, const godot_real p_s, const godot_real p_v, const godot_real p_a);
godot_color GDAPI godot_color_lightened(const godot_color *p_self, const godot_real p_amount);
godot_string GDAPI godot_color_to_html(const godot_color *p_self, const godot_bool p_with_alpha);
godot_bool GDAPI godot_color_operator_equal(const godot_color *p_self, const godot_color *p_b);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -63,8 +63,6 @@ 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);
@@ -96,12 +94,6 @@ godot_bool GDAPI godot_dictionary_operator_equal(const godot_dictionary *p_self,
godot_string GDAPI godot_dictionary_to_json(const godot_dictionary *p_self);
// GDNative core 1.1
godot_bool GDAPI godot_dictionary_erase_with_return(godot_dictionary *p_self, const godot_variant *p_key);
godot_variant GDAPI godot_dictionary_get_with_default(const godot_dictionary *p_self, const godot_variant *p_key, const godot_variant *p_default);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -35,7 +35,7 @@
extern "C" {
#endif
#if defined(_WIN32) || defined(__ANDROID__)
#ifdef _WIN32
#define GDCALLINGCONV
#define GDAPI GDCALLINGCONV
#elif defined(__APPLE__)
@@ -47,15 +47,13 @@ extern "C" {
#define GDCALLINGCONV __attribute__((sysv_abi))
#define GDAPI GDCALLINGCONV
#endif
#else // !_WIN32 && !__APPLE__
#else
#define GDCALLINGCONV __attribute__((sysv_abi))
#define GDAPI GDCALLINGCONV
#endif
// This is for libraries *using* the header, NOT GODOT EXPOSING STUFF!!
#ifdef __GNUC__
#define GDN_EXPORT __attribute__((visibility("default")))
#elif defined(_WIN32)
#ifdef _WIN32
#define GDN_EXPORT __declspec(dllexport)
#else
#define GDN_EXPORT
@@ -69,7 +67,7 @@ extern "C" {
////// Error
typedef enum {
GODOT_OK, // (0)
GODOT_OK,
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
@@ -99,12 +97,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,
@@ -284,17 +282,6 @@ void GDAPI godot_print_error(const char *p_description, const char *p_function,
void GDAPI godot_print_warning(const char *p_description, const char *p_function, const char *p_file, int p_line);
void GDAPI godot_print(const godot_string *p_message);
// GDNATIVE CORE 1.0.1
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

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -80,8 +80,6 @@ godot_bool GDAPI godot_node_path_is_empty(const godot_node_path *p_self);
godot_bool GDAPI godot_node_path_operator_equal(const godot_node_path *p_self, const godot_node_path *p_b);
godot_node_path godot_node_path_get_as_property_path(const godot_node_path *p_self);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -191,8 +191,6 @@ 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);
void GDAPI godot_pool_byte_array_destroy(godot_pool_byte_array *p_self);
// int
@@ -224,8 +222,6 @@ 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);
void GDAPI godot_pool_int_array_destroy(godot_pool_int_array *p_self);
// real
@@ -257,8 +253,6 @@ 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);
void GDAPI godot_pool_real_array_destroy(godot_pool_real_array *p_self);
// string
@@ -290,8 +284,6 @@ 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);
void GDAPI godot_pool_string_array_destroy(godot_pool_string_array *p_self);
// vector2
@@ -323,8 +315,6 @@ 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);
void GDAPI godot_pool_vector2_array_destroy(godot_pool_vector2_array *p_self);
// vector3
@@ -356,8 +346,6 @@ 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);
void GDAPI godot_pool_vector3_array_destroy(godot_pool_vector3_array *p_self);
// color
@@ -389,8 +377,6 @@ 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);
void GDAPI godot_pool_color_array_destroy(godot_pool_color_array *p_self);
//

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -60,8 +60,6 @@ extern "C" {
void GDAPI godot_quat_new(godot_quat *r_dest, const godot_real p_x, const godot_real p_y, const godot_real p_z, const godot_real p_w);
void GDAPI godot_quat_new_with_axis_angle(godot_quat *r_dest, const godot_vector3 *p_axis, const godot_real p_angle);
void GDAPI godot_quat_new_with_basis(godot_quat *r_dest, const godot_basis *p_basis);
void GDAPI godot_quat_new_with_euler(godot_quat *r_dest, const godot_vector3 *p_euler);
godot_real GDAPI godot_quat_get_x(const godot_quat *p_self);
void GDAPI godot_quat_set_x(godot_quat *p_self, const godot_real val);
@@ -109,8 +107,6 @@ godot_bool GDAPI godot_quat_operator_equal(const godot_quat *p_self, const godot
godot_quat GDAPI godot_quat_operator_neg(const godot_quat *p_self);
void GDAPI godot_quat_set_axis_angle(godot_quat *p_self, const godot_vector3 *p_axis, const godot_real p_angle);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -77,12 +77,6 @@ godot_bool GDAPI godot_rect2_has_point(const godot_rect2 *p_self, const godot_ve
godot_rect2 GDAPI godot_rect2_grow(const godot_rect2 *p_self, const godot_real p_by);
godot_rect2 GDAPI godot_rect2_grow_individual(const godot_rect2 *p_self, const godot_real p_left, const godot_real p_top, const godot_real p_right, const godot_real p_bottom);
godot_rect2 GDAPI godot_rect2_grow_margin(const godot_rect2 *p_self, const godot_int p_margin, const godot_real p_by);
godot_rect2 GDAPI godot_rect2_abs(const godot_rect2 *p_self);
godot_rect2 GDAPI godot_rect2_expand(const godot_rect2 *p_self, const godot_vector2 *p_to);
godot_bool GDAPI godot_rect2_operator_equal(const godot_rect2 *p_self, const godot_rect2 *p_b);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -79,7 +79,7 @@ void GDAPI godot_string_new(godot_string *r_dest);
void GDAPI godot_string_new_copy(godot_string *r_dest, const godot_string *p_src);
void GDAPI godot_string_new_with_wide_string(godot_string *r_dest, const wchar_t *p_contents, const int p_size);
const wchar_t GDAPI *godot_string_operator_index(godot_string *p_self, const godot_int p_idx);
wchar_t GDAPI *godot_string_operator_index(godot_string *p_self, const godot_int p_idx);
wchar_t GDAPI godot_string_operator_index_const(const godot_string *p_self, const godot_int p_idx);
const wchar_t GDAPI *godot_string_wide_str(const godot_string *p_self);
@@ -102,8 +102,6 @@ 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);
@@ -219,7 +217,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(uint64_t p_size);
godot_string GDAPI godot_string_humanize_size(size_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);
@@ -248,12 +246,6 @@ godot_bool GDAPI godot_string_is_valid_identifier(const godot_string *p_self);
godot_bool GDAPI godot_string_is_valid_integer(const godot_string *p_self);
godot_bool GDAPI godot_string_is_valid_ip_address(const godot_string *p_self);
godot_string GDAPI godot_string_dedent(const godot_string *p_self);
godot_string GDAPI godot_string_trim_prefix(const godot_string *p_self, const godot_string *p_prefix);
godot_string GDAPI godot_string_trim_suffix(const godot_string *p_self, const godot_string *p_suffix);
godot_string GDAPI godot_string_rstrip(const godot_string *p_self, const godot_string *p_chars);
godot_pool_string_array GDAPI godot_string_rsplit(const godot_string *p_self, const godot_string *p_divisor, const godot_bool p_allow_empty, const godot_int p_maxsplit);
void GDAPI godot_string_destroy(godot_string *p_self);
#ifdef __cplusplus

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -62,7 +62,6 @@ extern "C" {
void GDAPI godot_transform_new_with_axis_origin(godot_transform *r_dest, const godot_vector3 *p_x_axis, const godot_vector3 *p_y_axis, const godot_vector3 *p_z_axis, const godot_vector3 *p_origin);
void GDAPI godot_transform_new(godot_transform *r_dest, const godot_basis *p_basis, const godot_vector3 *p_origin);
void GDAPI godot_transform_new_with_quat(godot_transform *r_dest, const godot_quat *p_quat);
godot_basis GDAPI godot_transform_get_basis(const godot_transform *p_self);
void GDAPI godot_transform_set_basis(godot_transform *p_self, const godot_basis *p_v);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -37,7 +37,7 @@ extern "C" {
#include <stdint.h>
#define GODOT_VARIANT_SIZE (16 + sizeof(int64_t))
#define GODOT_VARIANT_SIZE (16 + sizeof(void *))
#ifndef GODOT_CORE_API_GODOT_VARIANT_TYPE_DEFINED
#define GODOT_CORE_API_GODOT_VARIANT_TYPE_DEFINED
@@ -100,45 +100,6 @@ typedef struct godot_variant_call_error {
godot_variant_type expected;
} godot_variant_call_error;
typedef enum godot_variant_operator {
// comparison
GODOT_VARIANT_OP_EQUAL,
GODOT_VARIANT_OP_NOT_EQUAL,
GODOT_VARIANT_OP_LESS,
GODOT_VARIANT_OP_LESS_EQUAL,
GODOT_VARIANT_OP_GREATER,
GODOT_VARIANT_OP_GREATER_EQUAL,
// mathematic
GODOT_VARIANT_OP_ADD,
GODOT_VARIANT_OP_SUBTRACT,
GODOT_VARIANT_OP_MULTIPLY,
GODOT_VARIANT_OP_DIVIDE,
GODOT_VARIANT_OP_NEGATE,
GODOT_VARIANT_OP_POSITIVE,
GODOT_VARIANT_OP_MODULE,
GODOT_VARIANT_OP_STRING_CONCAT,
// bitwise
GODOT_VARIANT_OP_SHIFT_LEFT,
GODOT_VARIANT_OP_SHIFT_RIGHT,
GODOT_VARIANT_OP_BIT_AND,
GODOT_VARIANT_OP_BIT_OR,
GODOT_VARIANT_OP_BIT_XOR,
GODOT_VARIANT_OP_BIT_NEGATE,
// logic
GODOT_VARIANT_OP_AND,
GODOT_VARIANT_OP_OR,
GODOT_VARIANT_OP_XOR,
GODOT_VARIANT_OP_NOT,
// containment
GODOT_VARIANT_OP_IN,
GODOT_VARIANT_OP_MAX,
} godot_variant_operator;
// reduce extern "C" nesting for VS2013
#ifdef __cplusplus
}
@@ -174,7 +135,7 @@ void GDAPI godot_variant_new_copy(godot_variant *r_dest, const godot_variant *p_
void GDAPI godot_variant_new_nil(godot_variant *r_dest);
void GDAPI godot_variant_new_bool(godot_variant *r_dest, const godot_bool p_b);
void GDAPI godot_variant_new_bool(godot_variant *p_v, const godot_bool p_b);
void GDAPI godot_variant_new_uint(godot_variant *r_dest, const uint64_t p_i);
void GDAPI godot_variant_new_int(godot_variant *r_dest, const int64_t p_i);
void GDAPI godot_variant_new_real(godot_variant *r_dest, const double p_r);
@@ -243,11 +204,6 @@ godot_bool GDAPI godot_variant_booleanize(const godot_variant *p_self);
void GDAPI godot_variant_destroy(godot_variant *p_self);
// GDNative core 1.1
godot_string GDAPI godot_variant_get_operator_name(godot_variant_operator p_op);
void GDAPI godot_variant_evaluate(godot_variant_operator p_op, const godot_variant *p_a, const godot_variant *p_b, godot_variant *r_ret, godot_bool *r_valid);
#ifdef __cplusplus
}
#endif

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -71,8 +71,6 @@ 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);
@@ -85,8 +83,6 @@ 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);

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -90,8 +90,6 @@ 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);
@@ -106,8 +104,6 @@ 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);

View File

@@ -5,455 +5,6 @@
"major": 1,
"minor": 0
},
"next": {
"type": "CORE",
"version": {
"major": 1,
"minor": 1
},
"next": {
"type": "CORE",
"version": {
"major": 1,
"minor": 2
},
"next": null,
"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",
"return_type": "godot_int",
"arguments": [
["const godot_color *", "p_self"]
]
},
{
"name": "godot_color_to_abgr64",
"return_type": "godot_int",
"arguments": [
["const godot_color *", "p_self"]
]
},
{
"name": "godot_color_to_argb64",
"return_type": "godot_int",
"arguments": [
["const godot_color *", "p_self"]
]
},
{
"name": "godot_color_to_rgba64",
"return_type": "godot_int",
"arguments": [
["const godot_color *", "p_self"]
]
},
{
"name": "godot_color_darkened",
"return_type": "godot_color",
"arguments": [
["const godot_color *", "p_self"],
["const godot_real", "p_amount"]
]
},
{
"name": "godot_color_from_hsv",
"return_type": "godot_color",
"arguments": [
["const godot_color *", "p_self"],
["const godot_real", "p_h"],
["const godot_real", "p_s"],
["const godot_real", "p_v"],
["const godot_real", "p_a"]
]
},
{
"name": "godot_color_lightened",
"return_type": "godot_color",
"arguments": [
["const godot_color *", "p_self"],
["const godot_real", "p_amount"]
]
},
{
"name": "godot_array_duplicate",
"return_type": "godot_array",
"arguments": [
["const godot_array *", "p_self"],
["const godot_bool", "p_deep"]
]
},
{
"name": "godot_array_max",
"return_type": "godot_variant",
"arguments": [
["const godot_array *", "p_self"]
]
},
{
"name": "godot_array_min",
"return_type": "godot_variant",
"arguments": [
["const godot_array *", "p_self"]
]
},
{
"name": "godot_array_shuffle",
"return_type": "void",
"arguments": [
["godot_array *", "p_self"]
]
},
{
"name": "godot_basis_slerp",
"return_type": "godot_basis",
"arguments": [
["const godot_basis *", "p_self"],
["const godot_basis *", "p_b"],
["const godot_real", "p_t"]
]
},
{
"name": "godot_dictionary_get_with_default",
"return_type": "godot_variant",
"arguments": [
["const godot_dictionary *", "p_self"],
["const godot_variant *", "p_key"],
["const godot_variant *", "p_default"]
]
},
{
"name": "godot_dictionary_erase_with_return",
"return_type": "bool",
"arguments": [
["godot_dictionary *", "p_self"],
["const godot_variant *", "p_key"]
]
},
{
"name": "godot_node_path_get_as_property_path",
"return_type": "godot_node_path",
"arguments": [
["const godot_node_path *", "p_self"]
]
},
{
"name": "godot_quat_set_axis_angle",
"return_type": "void",
"arguments": [
["godot_quat *", "p_self"],
["const godot_vector3 *", "p_axis"],
["const godot_real", "p_angle"]
]
},
{
"name": "godot_rect2_grow_individual",
"return_type": "godot_rect2",
"arguments": [
["const godot_rect2 *", "p_self"],
["const godot_real", "p_left"],
["const godot_real", "p_top"],
["const godot_real", "p_right"],
["const godot_real", "p_bottom"]
]
},
{
"name": "godot_rect2_grow_margin",
"return_type": "godot_rect2",
"arguments": [
["const godot_rect2 *", "p_self"],
["const godot_int", "p_margin"],
["const godot_real", "p_by"]
]
},
{
"name": "godot_rect2_abs",
"return_type": "godot_rect2",
"arguments": [
["const godot_rect2 *", "p_self"]
]
},
{
"name": "godot_string_dedent",
"return_type": "godot_string",
"arguments": [
["const godot_string *", "p_self"]
]
},
{
"name": "godot_string_trim_prefix",
"return_type": "godot_string",
"arguments": [
["const godot_string *", "p_self"],
["const godot_string *", "p_prefix"]
]
},
{
"name": "godot_string_trim_suffix",
"return_type": "godot_string",
"arguments": [
["const godot_string *", "p_self"],
["const godot_string *", "p_suffix"]
]
},
{
"name": "godot_string_rstrip",
"return_type": "godot_string",
"arguments": [
["const godot_string *", "p_self"],
["const godot_string *", "p_chars"]
]
},
{
"name": "godot_string_rsplit",
"return_type": "godot_pool_string_array",
"arguments": [
["const godot_string *", "p_self"],
["const godot_string *", "p_divisor"],
["const godot_bool", "p_allow_empty"],
["const godot_int", "p_maxsplit"]
]
},
{
"name": "godot_basis_get_quat",
"return_type": "godot_quat",
"arguments": [
["const godot_basis *", "p_self"]
]
},
{
"name": "godot_basis_set_quat",
"return_type": "void",
"arguments": [
["godot_basis *", "p_self"],
["const godot_quat *", "p_quat"]
]
},
{
"name": "godot_basis_set_axis_angle_scale",
"return_type": "void",
"arguments": [
["godot_basis *", "p_self"],
["const godot_vector3 *", "p_axis"],
["godot_real", "p_phi"],
["const godot_vector3 *", "p_scale"]
]
},
{
"name": "godot_basis_set_euler_scale",
"return_type": "void",
"arguments": [
["godot_basis *", "p_self"],
["const godot_vector3 *", "p_euler"],
["const godot_vector3 *", "p_scale"]
]
},
{
"name": "godot_basis_set_quat_scale",
"return_type": "void",
"arguments": [
["godot_basis *", "p_self"],
["const godot_quat *", "p_quat"],
["const godot_vector3 *", "p_scale"]
]
},
{
"name": "godot_is_instance_valid",
"return_type": "bool",
"arguments": [
["const godot_object *", "p_object"]
]
},
{
"name": "godot_quat_new_with_basis",
"return_type": "void",
"arguments": [
["godot_quat *", "r_dest"],
["const godot_basis *", "p_basis"]
]
},
{
"name": "godot_quat_new_with_euler",
"return_type": "void",
"arguments": [
["godot_quat *", "r_dest"],
["const godot_vector3 *", "p_euler"]
]
},
{
"name": "godot_transform_new_with_quat",
"return_type": "void",
"arguments": [
["godot_transform *", "r_dest"],
["const godot_quat *", "p_quat"]
]
},
{
"name": "godot_variant_get_operator_name",
"return_type": "godot_string",
"arguments": [
["godot_variant_operator", "p_op"]
]
},
{
"name": "godot_variant_evaluate",
"return_type": "void",
"arguments": [
["godot_variant_operator", "p_op"],
["const godot_variant *", "p_a"],
["const godot_variant *", "p_b"],
["godot_variant *", "r_ret"],
["godot_bool *", "r_valid"]
]
}
]
},
"api": [
{
"name": "godot_color_new_rgba",
@@ -4412,7 +3963,7 @@
"name": "godot_variant_new_bool",
"return_type": "void",
"arguments": [
["godot_variant *", "r_dest"],
["godot_variant *", "p_v"],
["const godot_bool", "p_b"]
]
},
@@ -4917,7 +4468,7 @@
},
{
"name": "godot_string_operator_index",
"return_type": "const wchar_t *",
"return_type": "wchar_t *",
"arguments": [
["godot_string *", "p_self"],
["const godot_int", "p_idx"]
@@ -4932,7 +4483,7 @@
]
},
{
"name": "godot_string_wide_str",
"name": "godot_string_wide_str",
"return_type": "const wchar_t *",
"arguments": [
["const godot_string *", "p_self"]
@@ -5701,21 +5252,21 @@
"name": "godot_string_ascii",
"return_type": "godot_char_string",
"arguments": [
["const godot_string *", "p_self"]
["const godot_string *", "p_self"]
]
},
{
"name": "godot_string_ascii_extended",
"return_type": "godot_char_string",
"arguments": [
["const godot_string *", "p_self"]
["const godot_string *", "p_self"]
]
},
{
"name": "godot_string_utf8",
"return_type": "godot_char_string",
"arguments": [
["const godot_string *", "p_self"]
["const godot_string *", "p_self"]
]
},
{
@@ -5847,7 +5398,7 @@
"name": "godot_string_humanize_size",
"return_type": "godot_string",
"arguments": [
["uint64_t", "p_size"]
["size_t", "p_size"]
]
},
{
@@ -6204,137 +5755,13 @@
}
]
},
"extensions": [
{
"name": "nativescript",
"extensions": {
"nativescript": {
"type": "NATIVESCRIPT",
"version": {
"major": 1,
"minor": 0
},
"next": {
"type": "NATIVESCRIPT",
"version": {
"major": 1,
"minor": 1
},
"next": null,
"api": [
{
"name": "godot_nativescript_set_method_argument_information",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["const char *", "p_function_name"],
["int", "p_num_args"],
["const godot_method_arg *", "p_args"]
]
},
{
"name": "godot_nativescript_set_class_documentation",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["godot_string", "p_documentation"]
]
},
{
"name": "godot_nativescript_set_method_documentation",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["const char *", "p_function_name"],
["godot_string", "p_documentation"]
]
},
{
"name": "godot_nativescript_set_property_documentation",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["const char *", "p_path"],
["godot_string", "p_documentation"]
]
},
{
"name": "godot_nativescript_set_signal_documentation",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["const char *", "p_signal_name"],
["godot_string", "p_documentation"]
]
},
{
"name": "godot_nativescript_set_global_type_tag",
"return_type": "void",
"arguments": [
["int", "p_idx"],
["const char *", "p_name"],
["const void *", "p_type_tag"]
]
},
{
"name": "godot_nativescript_get_global_type_tag",
"return_type": "const void *",
"arguments": [
["int", "p_idx"],
["const char *", "p_name"]
]
},
{
"name": "godot_nativescript_set_type_tag",
"return_type": "void",
"arguments": [
["void *", "p_gdnative_handle"],
["const char *", "p_name"],
["const void *", "p_type_tag"]
]
},
{
"name": "godot_nativescript_get_type_tag",
"return_type": "const void *",
"arguments": [
["const godot_object *", "p_object"]
]
},
{
"name": "godot_nativescript_register_instance_binding_data_functions",
"return_type": "int",
"arguments": [
["godot_instance_binding_functions", "p_binding_functions"]
]
},
{
"name": "godot_nativescript_unregister_instance_binding_data_functions",
"return_type": "void",
"arguments": [
["int", "p_idx"]
]
},
{
"name": "godot_nativescript_get_instance_binding_data",
"return_type": "void *",
"arguments": [
["int", "p_idx"],
["godot_object *", "p_object"]
]
},
{
"name": "godot_nativescript_profiling_add_data",
"return_type": "void",
"arguments": [
["const char *", "p_signature"],
["uint64_t", "p_line"]
]
}
]
},
"api": [
{
"name": "godot_nativescript_register_class",
@@ -6399,14 +5826,12 @@
}
]
},
{
"name": "pluginscript",
"pluginscript": {
"type": "PLUGINSCRIPT",
"version": {
"major": 1,
"minor": 0
},
"next": null,
"api": [
{
"name": "godot_pluginscript_register_language",
@@ -6417,73 +5842,11 @@
}
]
},
{
"name": "android",
"type": "ANDROID",
"version": {
"major": 1,
"minor": 1
},
"next": null,
"api": [
{
"name": "godot_android_get_env",
"return_type": "JNIEnv*",
"arguments": [
]
},
{
"name": "godot_android_get_activity",
"return_type": "jobject",
"arguments": [
]
},
{
"name": "godot_android_get_surface",
"return_type": "jobject",
"arguments": [
]
},
{
"name": "godot_android_is_activity_resumed",
"return_type": "bool",
"arguments": [
]
}
]
},
{
"name": "arvr",
"arvr": {
"type": "ARVR",
"version": {
"major": 1,
"minor": 1
},
"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"]
]
}
]
"minor": 0
},
"api": [
{
@@ -6573,109 +5936,6 @@
]
}
]
},
{
"name": "videodecoder",
"type": "VIDEODECODER",
"version": {
"major": 0,
"minor": 1
},
"next": null,
"api": [
{
"name": "godot_videodecoder_file_read",
"return_type": "godot_int",
"arguments": [
["void *", "file_ptr"],
["uint8_t *", "buf"],
["int", "buf_size"]
]
},
{
"name": "godot_videodecoder_file_seek",
"return_type": "int64_t",
"arguments": [
[ "void *", "file_ptr"],
["int64_t", "pos"],
["int", "whence"]
]
},
{
"name": "godot_videodecoder_register_decoder",
"return_type": "void",
"arguments": [
["const godot_videodecoder_interface_gdnative *", "p_interface"]
]
}
]
},
{
"name": "net",
"type": "NET",
"version": {
"major": 3,
"minor": 1
},
"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"]
]
},
{
"name": "godot_net_bind_packet_peer",
"return_type": "void",
"arguments": [
["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"]
]
}
]
}
]
}
}

View File

@@ -3,23 +3,17 @@
#define GODOT_GDNATIVE_API_STRUCT_H
#include <gdnative/gdnative.h>
#include <android/godot_android.h>
#include <arvr/godot_arvr.h>
#include <nativescript/godot_nativescript.h>
#include <net/godot_net.h>
#include <pluginscript/godot_pluginscript.h>
#include <videodecoder/godot_videodecoder.h>
#define GDNATIVE_API_INIT(options) do { \
extern const godot_gdnative_core_api_struct *_gdnative_wrapper_api_struct; \
extern const godot_gdnative_ext_nativescript_api_struct *_gdnative_wrapper_nativescript_api_struct; \
extern const godot_gdnative_ext_pluginscript_api_struct *_gdnative_wrapper_pluginscript_api_struct; \
extern const godot_gdnative_ext_android_api_struct *_gdnative_wrapper_android_api_struct; \
extern const godot_gdnative_ext_arvr_api_struct *_gdnative_wrapper_arvr_api_struct; \
extern const godot_gdnative_ext_videodecoder_api_struct *_gdnative_wrapper_videodecoder_api_struct; \
extern const godot_gdnative_ext_net_api_struct *_gdnative_wrapper_net_api_struct; \
_gdnative_wrapper_api_struct = options->api_struct; \
for (unsigned int i = 0; i < _gdnative_wrapper_api_struct->num_extensions; i++) { \
for (int i = 0; i < _gdnative_wrapper_api_struct->num_extensions; i++) { \
switch (_gdnative_wrapper_api_struct->extensions[i]->type) { \
case GDNATIVE_EXT_NATIVESCRIPT: \
_gdnative_wrapper_nativescript_api_struct = (godot_gdnative_ext_nativescript_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
@@ -27,18 +21,9 @@
case GDNATIVE_EXT_PLUGINSCRIPT: \
_gdnative_wrapper_pluginscript_api_struct = (godot_gdnative_ext_pluginscript_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
break; \
case GDNATIVE_EXT_ANDROID: \
_gdnative_wrapper_android_api_struct = (godot_gdnative_ext_android_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
break; \
case GDNATIVE_EXT_ARVR: \
_gdnative_wrapper_arvr_api_struct = (godot_gdnative_ext_arvr_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
break; \
case GDNATIVE_EXT_VIDEODECODER: \
_gdnative_wrapper_videodecoder_api_struct = (godot_gdnative_ext_videodecoder_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
break; \
case GDNATIVE_EXT_NET: \
_gdnative_wrapper_net_api_struct = (godot_gdnative_ext_net_api_struct *) _gdnative_wrapper_api_struct->extensions[i]; \
break; \
} \
} \
} while (0)
@@ -51,31 +36,9 @@ enum GDNATIVE_API_TYPES {
GDNATIVE_CORE,
GDNATIVE_EXT_NATIVESCRIPT,
GDNATIVE_EXT_PLUGINSCRIPT,
GDNATIVE_EXT_ANDROID,
GDNATIVE_EXT_ARVR,
GDNATIVE_EXT_VIDEODECODER,
GDNATIVE_EXT_NET,
};
typedef struct godot_gdnative_ext_nativescript_1_1_api_struct {
unsigned int type;
godot_gdnative_api_version version;
const godot_gdnative_api_struct *next;
void (*godot_nativescript_set_method_argument_information)(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_method_arg *p_args);
void (*godot_nativescript_set_class_documentation)(void *p_gdnative_handle, const char *p_name, godot_string p_documentation);
void (*godot_nativescript_set_method_documentation)(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_string p_documentation);
void (*godot_nativescript_set_property_documentation)(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_string p_documentation);
void (*godot_nativescript_set_signal_documentation)(void *p_gdnative_handle, const char *p_name, const char *p_signal_name, godot_string p_documentation);
void (*godot_nativescript_set_global_type_tag)(int p_idx, const char *p_name, const void *p_type_tag);
const void *(*godot_nativescript_get_global_type_tag)(int p_idx, const char *p_name);
void (*godot_nativescript_set_type_tag)(void *p_gdnative_handle, const char *p_name, const void *p_type_tag);
const void *(*godot_nativescript_get_type_tag)(const godot_object *p_object);
int (*godot_nativescript_register_instance_binding_data_functions)(godot_instance_binding_functions p_binding_functions);
void (*godot_nativescript_unregister_instance_binding_data_functions)(int p_idx);
void *(*godot_nativescript_get_instance_binding_data)(int p_idx, godot_object *p_object);
void (*godot_nativescript_profiling_add_data)(const char *p_signature, uint64_t p_line);
} godot_gdnative_ext_nativescript_1_1_api_struct;
typedef struct godot_gdnative_ext_nativescript_api_struct {
unsigned int type;
godot_gdnative_api_version version;
@@ -95,24 +58,6 @@ typedef struct godot_gdnative_ext_pluginscript_api_struct {
void (*godot_pluginscript_register_language)(const godot_pluginscript_language_desc *language_desc);
} godot_gdnative_ext_pluginscript_api_struct;
typedef struct godot_gdnative_ext_android_api_struct {
unsigned int type;
godot_gdnative_api_version version;
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;
@@ -130,98 +75,6 @@ typedef struct godot_gdnative_ext_arvr_api_struct {
godot_real (*godot_arvr_get_controller_rumble)(godot_int p_controller_id);
} godot_gdnative_ext_arvr_api_struct;
typedef struct godot_gdnative_ext_videodecoder_api_struct {
unsigned int type;
godot_gdnative_api_version version;
const godot_gdnative_api_struct *next;
godot_int (*godot_videodecoder_file_read)(void *file_ptr, uint8_t *buf, int buf_size);
int64_t (*godot_videodecoder_file_seek)(void *file_ptr, int64_t pos, int whence);
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;
const godot_gdnative_api_struct *next;
void (*godot_net_bind_stream_peer)(godot_object *p_obj, const godot_net_stream_peer *p_interface);
void (*godot_net_bind_packet_peer)(godot_object *p_obj, const godot_net_packet_peer *p_interface);
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_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;
const godot_gdnative_api_struct *next;
godot_int (*godot_color_to_abgr32)(const godot_color *p_self);
godot_int (*godot_color_to_abgr64)(const godot_color *p_self);
godot_int (*godot_color_to_argb64)(const godot_color *p_self);
godot_int (*godot_color_to_rgba64)(const godot_color *p_self);
godot_color (*godot_color_darkened)(const godot_color *p_self, const godot_real p_amount);
godot_color (*godot_color_from_hsv)(const godot_color *p_self, const godot_real p_h, const godot_real p_s, const godot_real p_v, const godot_real p_a);
godot_color (*godot_color_lightened)(const godot_color *p_self, const godot_real p_amount);
godot_array (*godot_array_duplicate)(const godot_array *p_self, const godot_bool p_deep);
godot_variant (*godot_array_max)(const godot_array *p_self);
godot_variant (*godot_array_min)(const godot_array *p_self);
void (*godot_array_shuffle)(godot_array *p_self);
godot_basis (*godot_basis_slerp)(const godot_basis *p_self, const godot_basis *p_b, const godot_real p_t);
godot_variant (*godot_dictionary_get_with_default)(const godot_dictionary *p_self, const godot_variant *p_key, const godot_variant *p_default);
bool (*godot_dictionary_erase_with_return)(godot_dictionary *p_self, const godot_variant *p_key);
godot_node_path (*godot_node_path_get_as_property_path)(const godot_node_path *p_self);
void (*godot_quat_set_axis_angle)(godot_quat *p_self, const godot_vector3 *p_axis, const godot_real p_angle);
godot_rect2 (*godot_rect2_grow_individual)(const godot_rect2 *p_self, const godot_real p_left, const godot_real p_top, const godot_real p_right, const godot_real p_bottom);
godot_rect2 (*godot_rect2_grow_margin)(const godot_rect2 *p_self, const godot_int p_margin, const godot_real p_by);
godot_rect2 (*godot_rect2_abs)(const godot_rect2 *p_self);
godot_string (*godot_string_dedent)(const godot_string *p_self);
godot_string (*godot_string_trim_prefix)(const godot_string *p_self, const godot_string *p_prefix);
godot_string (*godot_string_trim_suffix)(const godot_string *p_self, const godot_string *p_suffix);
godot_string (*godot_string_rstrip)(const godot_string *p_self, const godot_string *p_chars);
godot_pool_string_array (*godot_string_rsplit)(const godot_string *p_self, const godot_string *p_divisor, const godot_bool p_allow_empty, const godot_int p_maxsplit);
godot_quat (*godot_basis_get_quat)(const godot_basis *p_self);
void (*godot_basis_set_quat)(godot_basis *p_self, const godot_quat *p_quat);
void (*godot_basis_set_axis_angle_scale)(godot_basis *p_self, const godot_vector3 *p_axis, godot_real p_phi, const godot_vector3 *p_scale);
void (*godot_basis_set_euler_scale)(godot_basis *p_self, const godot_vector3 *p_euler, const godot_vector3 *p_scale);
void (*godot_basis_set_quat_scale)(godot_basis *p_self, const godot_quat *p_quat, const godot_vector3 *p_scale);
bool (*godot_is_instance_valid)(const godot_object *p_object);
void (*godot_quat_new_with_basis)(godot_quat *r_dest, const godot_basis *p_basis);
void (*godot_quat_new_with_euler)(godot_quat *r_dest, const godot_vector3 *p_euler);
void (*godot_transform_new_with_quat)(godot_transform *r_dest, const godot_quat *p_quat);
godot_string (*godot_variant_get_operator_name)(godot_variant_operator p_op);
void (*godot_variant_evaluate)(godot_variant_operator p_op, const godot_variant *p_a, const godot_variant *p_b, godot_variant *r_ret, godot_bool *r_valid);
} godot_gdnative_core_1_1_api_struct;
typedef struct godot_gdnative_core_api_struct {
unsigned int type;
godot_gdnative_api_version version;
@@ -738,7 +591,7 @@ typedef struct godot_gdnative_core_api_struct {
godot_variant_type (*godot_variant_get_type)(const godot_variant *p_v);
void (*godot_variant_new_copy)(godot_variant *r_dest, const godot_variant *p_src);
void (*godot_variant_new_nil)(godot_variant *r_dest);
void (*godot_variant_new_bool)(godot_variant *r_dest, const godot_bool p_b);
void (*godot_variant_new_bool)(godot_variant *p_v, const godot_bool p_b);
void (*godot_variant_new_uint)(godot_variant *r_dest, const uint64_t p_i);
void (*godot_variant_new_int)(godot_variant *r_dest, const int64_t p_i);
void (*godot_variant_new_real)(godot_variant *r_dest, const double p_r);
@@ -805,7 +658,7 @@ typedef struct godot_gdnative_core_api_struct {
void (*godot_string_new)(godot_string *r_dest);
void (*godot_string_new_copy)(godot_string *r_dest, const godot_string *p_src);
void (*godot_string_new_with_wide_string)(godot_string *r_dest, const wchar_t *p_contents, const int p_size);
const wchar_t *(*godot_string_operator_index)(godot_string *p_self, const godot_int p_idx);
wchar_t *(*godot_string_operator_index)(godot_string *p_self, const godot_int p_idx);
wchar_t (*godot_string_operator_index_const)(const godot_string *p_self, const godot_int p_idx);
const wchar_t *(*godot_string_wide_str)(const godot_string *p_self);
godot_bool (*godot_string_operator_equal)(const godot_string *p_self, const godot_string *p_b);
@@ -924,7 +777,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)(uint64_t p_size);
godot_string (*godot_string_humanize_size)(size_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);

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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 */
@@ -40,13 +40,9 @@ extern "C" {
typedef enum {
GODOT_METHOD_RPC_MODE_DISABLED,
GODOT_METHOD_RPC_MODE_REMOTE,
GODOT_METHOD_RPC_MODE_SYNC,
GODOT_METHOD_RPC_MODE_MASTER,
GODOT_METHOD_RPC_MODE_PUPPET,
GODOT_METHOD_RPC_MODE_SLAVE = GODOT_METHOD_RPC_MODE_PUPPET,
GODOT_METHOD_RPC_MODE_REMOTESYNC,
GODOT_METHOD_RPC_MODE_SYNC = GODOT_METHOD_RPC_MODE_REMOTESYNC,
GODOT_METHOD_RPC_MODE_MASTERSYNC,
GODOT_METHOD_RPC_MODE_PUPPETSYNC,
GODOT_METHOD_RPC_MODE_SLAVE,
} godot_method_rpc_mode;
typedef enum {
@@ -56,7 +52,7 @@ 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, // FIXME: Obsolete: drop whenever we can break compat
GODOT_PROPERTY_HINT_SPRITE_FRAME,
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,
@@ -64,12 +60,11 @@ typedef enum {
GODOT_PROPERTY_HINT_LAYERS_3D_RENDER,
GODOT_PROPERTY_HINT_LAYERS_3D_PHYSICS,
GODOT_PROPERTY_HINT_FILE, ///< a file path must be passed, hint_text (optionally) is a filter "*.png,*.wav,*.doc,"
GODOT_PROPERTY_HINT_DIR, ///< a directory path must be passed
GODOT_PROPERTY_HINT_DIR, ///< a directort 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 directory path must be passed
GODOT_PROPERTY_HINT_GLOBAL_DIR, ///< a directort 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
GODOT_PROPERTY_HINT_COLOR_NO_ALPHA, ///< used for ignoring alpha component when editing a color
GODOT_PROPERTY_HINT_IMAGE_COMPRESS_LOSSY,
GODOT_PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS,
@@ -98,8 +93,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, // 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_STORE_IF_NONZERO = 512, //only store if nonzero
GODOT_PROPERTY_USAGE_STORE_IF_NONONE = 1024, //only store if false
GODOT_PROPERTY_USAGE_NO_INSTANCE_STATE = 2048,
GODOT_PROPERTY_USAGE_RESTART_IF_CHANGED = 4096,
GODOT_PROPERTY_USAGE_SCRIPT_VARIABLE = 8192,
@@ -190,59 +185,6 @@ void GDAPI godot_nativescript_register_signal(void *p_gdnative_handle, const cha
void GDAPI *godot_nativescript_get_userdata(godot_object *p_instance);
/*
*
*
* NativeScript 1.1
*
*
*/
// method registering with argument names
typedef struct {
godot_string name;
godot_variant_type type;
godot_property_hint hint;
godot_string hint_string;
} godot_method_arg;
void GDAPI godot_nativescript_set_method_argument_information(void *p_gdnative_handle, const char *p_name, const char *p_function_name, int p_num_args, const godot_method_arg *p_args);
// documentation
void GDAPI godot_nativescript_set_class_documentation(void *p_gdnative_handle, const char *p_name, godot_string p_documentation);
void GDAPI godot_nativescript_set_method_documentation(void *p_gdnative_handle, const char *p_name, const char *p_function_name, godot_string p_documentation);
void GDAPI godot_nativescript_set_property_documentation(void *p_gdnative_handle, const char *p_name, const char *p_path, godot_string p_documentation);
void GDAPI godot_nativescript_set_signal_documentation(void *p_gdnative_handle, const char *p_name, const char *p_signal_name, godot_string p_documentation);
// type tag API
void GDAPI godot_nativescript_set_global_type_tag(int p_idx, const char *p_name, const void *p_type_tag);
const void GDAPI *godot_nativescript_get_global_type_tag(int p_idx, const char *p_name);
void GDAPI godot_nativescript_set_type_tag(void *p_gdnative_handle, const char *p_name, const void *p_type_tag);
const void GDAPI *godot_nativescript_get_type_tag(const godot_object *p_object);
// instance binding API
typedef struct {
GDCALLINGCONV void *(*alloc_instance_binding_data)(void *, const void *, godot_object *);
GDCALLINGCONV void (*free_instance_binding_data)(void *, void *);
GDCALLINGCONV void (*refcount_incremented_instance_binding)(void *, godot_object *);
GDCALLINGCONV bool (*refcount_decremented_instance_binding)(void *, godot_object *);
void *data;
GDCALLINGCONV void (*free_func)(void *);
} godot_instance_binding_functions;
int GDAPI godot_nativescript_register_instance_binding_data_functions(godot_instance_binding_functions p_binding_functions);
void GDAPI godot_nativescript_unregister_instance_binding_data_functions(int p_idx);
void GDAPI *godot_nativescript_get_instance_binding_data(int p_idx, godot_object *p_object);
void GDAPI godot_nativescript_profiling_add_data(const char *p_signature, uint64_t p_time);
#ifdef __cplusplus
}
#endif

View File

@@ -1,121 +0,0 @@
/*************************************************************************/
/* godot_net.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 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_NATIVENET_H
#define GODOT_NATIVENET_H
#include <gdnative/gdnative.h>
#ifdef __cplusplus
extern "C" {
#endif
// For future versions of the API we should only add new functions at the end of the structure and use the
// version info to detect whether a call is available
// Use these to populate version in your plugin
#define GODOT_NET_API_MAJOR 3
#define GODOT_NET_API_MINOR 1
typedef struct {
godot_gdnative_api_version version; /* version of our API */
godot_object *data; /* User reference */
/* This is StreamPeer */
godot_error (*get_data)(void *user, uint8_t *p_buffer, int p_bytes);
godot_error (*get_partial_data)(void *user, uint8_t *p_buffer, int p_bytes, int *r_received);
godot_error (*put_data)(void *user, const uint8_t *p_data, int p_bytes);
godot_error (*put_partial_data)(void *user, const uint8_t *p_data, int p_bytes, int *r_sent);
int (*get_available_bytes)(const void *user);
void *next; /* For extension? */
} godot_net_stream_peer;
/* Binds a StreamPeerGDNative to the provided interface */
void godot_net_bind_stream_peer(godot_object *p_obj, const godot_net_stream_peer *p_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 *);
void *next; /* For extension? */
} godot_net_packet_peer;
/* Binds a PacketPeerGDNative to the provided interface */
void GDAPI godot_net_bind_packet_peer(godot_object *p_obj, const godot_net_packet_peer *);
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 NetworkedMultiplayerPeer */
void (*set_transfer_mode)(void *, godot_int);
godot_int (*get_transfer_mode)(const void *);
// 0 = broadcast, 1 = server, <0 = all but abs(value)
void (*set_target_peer)(void *, godot_int);
godot_int (*get_packet_peer)(const void *);
godot_bool (*is_server)(const void *);
void (*poll)(void *);
// Must be > 0, 1 is for server
int32_t (*get_unique_id)(const void *);
void (*set_refuse_new_connections)(void *, godot_bool);
godot_bool (*is_refusing_new_connections)(const void *);
godot_int (*get_connection_status)(const void *);
void *next; /* For extension? Or maybe not... */
} godot_net_multiplayer_peer;
/* Binds a MultiplayerPeerGDNative to the provided interface */
void GDAPI godot_net_bind_multiplayer_peer(godot_object *p_obj, const godot_net_multiplayer_peer *);
#ifdef __cplusplus
}
#endif
// WebRTC Bindings
#include "net/godot_webrtc.h"
#endif /* GODOT_NATIVENET_H */

View File

@@ -1,122 +0,0 @@
/*************************************************************************/
/* godot_webrtc.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 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_NATIVEWEBRTC_H
#define GODOT_NATIVEWEBRTC_H
#include <gdnative/gdnative.h>
#ifdef __cplusplus
extern "C" {
#endif
#define GODOT_NET_WEBRTC_API_MAJOR 3
#define GODOT_NET_WEBRTC_API_MINOR 2
/* 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;
/* 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

View File

@@ -5,8 +5,8 @@
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 Godot Engine contributors (cf. AUTHORS.md). */
/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2018 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_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_base_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);

View File

@@ -1,75 +0,0 @@
/*************************************************************************/
/* godot_videodecoder.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* https://godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2021 Juan Linietsky, Ariel Manzur. */
/* Copyright (c) 2014-2021 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_NATIVEVIDEODECODER_H
#define GODOT_NATIVEVIDEODECODER_H
#include <gdnative/gdnative.h>
#ifdef __cplusplus
extern "C" {
#endif
#define GODOTAV_API_MAJOR 0
#define GODOTAV_API_MINOR 1
typedef struct
{
godot_gdnative_api_version version;
void *next;
void *(*constructor)(godot_object *);
void (*destructor)(void *);
const char *(*get_plugin_name)(void);
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 *);
godot_real (*get_playback_position)(const void *);
void (*seek)(void *, godot_real);
void (*set_audio_track)(void *, godot_int);
void (*update)(void *, godot_real);
godot_pool_byte_array *(*get_videoframe)(void *);
godot_int (*get_audioframe)(void *, float *, int);
godot_int (*get_channels)(const void *);
godot_int (*get_mix_rate)(const void *);
godot_vector2 (*get_texture_size)(const void *);
} godot_videodecoder_interface_gdnative;
typedef int (*GDNativeAudioMixCallback)(void *, const float *, int);
// FileAccess wrappers for custom FFmpeg IO
godot_int GDAPI godot_videodecoder_file_read(void *file_ptr, uint8_t *buf, int buf_size);
int64_t GDAPI godot_videodecoder_file_seek(void *file_ptr, int64_t pos, int whence);
void GDAPI godot_videodecoder_register_decoder(const godot_videodecoder_interface_gdnative *p_interface);
#ifdef __cplusplus
}
#endif
#endif /* GODOT_NATIVEVIDEODECODER_H */