David Snopek
3cd3f24150
Ensure that PtrToArg specializations for native structs are used
2023-08-15 17:54:11 -05:00
Adam Scott
5c262844ad
Fix Clang deprecated builtins
...
It seems that Clang and GCC have different interpretations of certain
builtins. So this PR uses std <type_traits> functions just as cowdata.h
does in the godot project.
2023-08-15 18:50:47 -04:00
David Snopek
6f913563d8
Add static methods to `ClassDB` for the methods bound to the `ClassDB` singleton
2023-07-31 16:04:27 -05:00
David Snopek
8bc1c1dbeb
Implement `String::resize()`
2023-07-31 15:14:10 -05:00
David Snopek
1d49bef096
Merge pull request #1184 from Zylann/fix_get_property_list_calling_parent
...
Don't call parent _get_property_list when a class doesn't define it (for internal binding).
2023-07-26 15:31:15 -05:00
David Snopek
d15550fdee
Merge pull request #1186 from mihe/indexed-properties
...
Add support for indexed properties
2023-07-26 14:22:34 -05:00
Marc Gilleron
baf0b9e0f7
Don't call parent _get_property_list when a class doesn't define it.
...
Godot is already supposed to call _get_property_list of parent classes,
so this binding function must really only return procedural properties of
the class it belongs to, and not parent or child classes.
2023-07-26 20:12:25 +01:00
Mikael Hermansson
7d8cb7c155
Add support for indexed properties
2023-07-26 00:31:53 +02:00
Daylily-Zeleen
3536803e9e
Implement vararg methods of builtin classes.
2023-07-03 17:30:42 +08:00
David Snopek
4df112cd95
Attempt to fully implement CharString
2023-06-22 21:03:30 -05:00
Kehom
20be441026
Unregister custom classes in reverse registration order
2023-06-19 11:04:11 -03:00
Andy Maloney
db2394dbe7
Identifiers containing double underscore are reserved according to the C++ standard
...
Rename __* to _gde_*
https://timsong-cpp.github.io/cppwp/n3337/global.names
https://en.cppreference.com/w/cpp/language/identifiers
Identifiers appearing as a token or preprocessing token (i.e., not in user-defined-string-literal like operator ""id) (since C++11) of one of the following forms are reserved:
- identifiers with a double underscore anywhere;
- identifiers that begin with an underscore followed by an uppercase letter;
- in the global namespace, identifiers that begin with an underscore.
2023-06-15 20:45:01 -04:00
David Snopek
ad726015e7
Revert the changes from PR #1044 and #1045 and standardize on `Object **` encoding in ptrcall
2023-06-07 08:30:33 -05:00
Rémi Verschelde
2078c00bab
Merge pull request #1114 from dsnopek/editor-plugins
...
Add support for adding/removing editor plugins
2023-05-26 11:04:35 +02:00
David Snopek
0d0d5a670b
Merge pull request #1116 from saki7/Ref-allow-non-const-access
...
Change Ref<T> to allow non const access to ptr
2023-05-24 21:17:25 -05:00
Nana Sakisaka
48635729b9
Change Ref<T> to allow non const access to ptr
2023-05-17 19:24:09 +09:00
David Snopek
e75ebffb70
Add support for adding/removing editor plugins
2023-05-16 22:02:35 -05:00
David Snopek
431e30bc32
Ensure GDExtension class is the correct type for the Godot engine class
2023-05-16 15:18:48 -05:00
David Snopek
a5c6ca5920
Update to load function pointers for GDExtension interface
2023-05-09 21:45:48 -05:00
Rémi Verschelde
feaba551b5
Merge pull request #1045 from zhehangd/fix_ref_crash
...
Fix crash using Ref<T> as parameter
2023-04-04 11:30:08 +02:00
Rémi Verschelde
e9942db502
Merge pull request #1044 from zhehangd/fix_obj_ptr_crash
...
Fix crash using Object* as parameter
2023-04-01 11:36:17 +02:00
Zhehang Ding
093f0673f5
Fix PtrToArg<Object*> crash
2023-03-30 19:38:12 -07:00
bruvzg
ba4b50118d
Fix incorrect memory allocation in release builds.
...
Co-authored-by: lightyears <lightyears1998@hotmail.com>
2023-02-21 15:32:26 +02:00
David Snopek
964c515d75
Revert "Fix Object::cast_to<T>() for custom classes"
...
This reverts commit 75af9003dc
.
2023-02-16 06:58:32 -06:00
Zhehang Ding
517db6686a
Fix PtrToArg<Ref<T>> crash
2023-02-15 22:36:29 -08:00
David Snopek
75af9003dc
Fix Object::cast_to<T>() for custom classes
2023-02-11 17:16:59 -06:00
Rémi Verschelde
fccceb8736
Merge pull request #1011 from mihe/error-macros
...
Update error macros to match core
2023-02-07 13:47:51 +01:00
bruvzg
37f6e35974
Update typed array API to match "GDScript: Fix typed arrays".
2023-01-31 11:28:55 +02:00
Rémi Verschelde
d177752be1
Merge pull request #982 from WildRackoon/templates-add-LocalVector
...
Add missing local_vector.hpp template
2023-01-30 12:32:13 +01:00
Rémi Verschelde
c1d4fb2b68
Merge pull request #1023 from mashumafi/fix-alloc-order
...
Move DefaultTypedAllocator after memdelete
2023-01-30 12:32:07 +01:00
Rackoon
1df83331de
Add missing LocalVector template
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-30 12:30:34 +01:00
Rémi Verschelde
2ef10f9754
Merge pull request #956 from DmitriySalnikov/enum_bitfield_cast
...
Fixed `VARIANT_ENUM/BITFIELD_CAST` to show the correct names
2023-01-30 12:07:15 +01:00
mashumafi
a8be6aa8dd
Move allocator to after memdelete
2023-01-29 23:29:31 -05:00
George Marques
64be8c1507
Use std type traits instead of intrinsics
...
This removes warnings and mimics what has been done in Godot itself.
2023-01-28 13:59:34 -03:00
Mikael Hermansson
d174b47e51
Update error macros to match core
2023-01-22 14:24:57 +01:00
Rémi Verschelde
00b29630ba
Merge pull request #1003 from akien-mga/fix-sign-0
...
Change behavior of Math::sign to match Godot builtin
2023-01-20 23:02:13 +01:00
Дмитрий Сальников
6528c7177f
Fixed variant casting for enum and bitfield
2023-01-20 21:10:03 +03:00
Andy Maloney
e6b636cc51
Fix sign comparison warnings in method_bind.hpp
...
Part of #999
2023-01-19 08:26:02 -05:00
Rémi Verschelde
2a9b21e46a
Merge pull request #1004 from asmaloney/remove-unused-ucaps
...
Remove unused ucaps header
2023-01-19 13:55:29 +01:00
Rémi Verschelde
07e2e20f7b
Merge pull request #939 from bruvzg/gde_low_level_funcs_cpp
...
Expose some low level functions and String operators.
2023-01-19 13:55:24 +01:00
Rémi Verschelde
04731d2b78
Merge pull request #965 from WildRackoon/fix-GDCLASS-fwddeclaration
...
Fix GDCLASS needs explicit ClassDB fwd declaration
2023-01-19 13:55:14 +01:00
Andy Maloney
67be0c95e1
Remove unused ucaps header
...
These static structs were being included in every file string.hpp was included in...
Part of #999
2023-01-19 07:15:40 -05:00
bruvzg
abca497b72
Expose some low level functions and String operators.
2023-01-19 13:12:21 +02:00
Andy Maloney
5dd2928790
"Wrapped" has virtual functions so it should have a virtual destructor.
...
Deleting an object through a pointer to a base class is undefined behaviour unless the destructor in the base class is virtual.
2023-01-19 05:57:17 -05:00
Erik Abair
d3f17c1dca
Change behavior of Math::sign to match Godot builtin
...
Fixes #551 .
2023-01-19 09:47:13 +01:00
Rémi Verschelde
cf3d995e8c
Merge pull request #997 from asmaloney/fix-shadow-eulerorder
...
Fix a shadowed enum (EulerOrder)
2023-01-18 18:36:21 +01:00
Rémi Verschelde
0dfe0d0166
Merge pull request #983 from rburing/variant_to_from_objectid
...
Add conversions between `Variant` and `ObjectID`
2023-01-18 11:41:57 +01:00
Andy Maloney
dbd43ac107
Fix a shadowed enum (EulerOrder)
...
Use the global constants.
2023-01-17 18:38:24 -05:00
Дмитрий Сальников
0c6e26dabe
Added property info for ptr and ref + ported the implementation of the `check` method
2023-01-13 15:56:51 +03:00
Rémi Verschelde
931f1a3f34
Sync license copyright with upstream GH-70885
2023-01-10 16:15:31 +01:00
Fabio Alessandrelli
9fd33b5cde
Allow method binds to take Object subclasses as arguments
...
As done in upstream Godot via GH-57205.
Add a test that ensures it works also for "gdextended" objects.
2023-01-10 12:55:41 +01:00
Ricardo Buring
d4e1dfe5dc
Add conversions between Variant and ObjectID
2023-01-01 21:27:08 +01:00
Rackoon
72d537fd95
Fix GDCLASS needs explicit ClassDB fwd declaration
2022-12-16 13:49:10 +01:00
Jan Haller
fce753c05d
Extension header: amend const correctness of `p_args` parameters
2022-12-14 15:47:42 +01:00
Rémi Verschelde
bab247dcb6
Rename godot-headers to gdextension, move header to top folder
...
Changes the `<godot/gdextension_interface.h>` include to simply
`<gdextension_interface.h>`.
Refactor and better document the SCons and CMake logic around setting
the paths to the header and API JSON file.
2022-12-14 12:36:59 +01:00
Rémi Verschelde
1e8eb1c1f2
Merge pull request #958 from BastiaanOlij/improve_gdextension_virtual_ref
...
Fix virtual GDExtension method Ref<T> conversion
2022-12-14 12:36:12 +01:00
Дмитрий Сальников
b7eeddcf52
Use int64_t for BitField as in Godot itself
2022-12-13 13:36:16 +03:00
Bastiaan Olij
992d85e6f8
Fix virtual GDExtension method Ref<T> conversion
2022-12-13 10:41:55 +11:00
Gilles Roudière
c02e644679
Rename GDNative to GDExtension
...
Non-exhaustive list of case-sensitive renames:
GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension -> Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION -> EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:06:38 +01:00
Emmanuel Leblond
fe79449969
Fix cast on PtrToArg::convert
2022-12-05 03:30:50 +01:00
Emmanuel Leblond
fe86a94dcf
Fix const qualifier for parameters in GDExtension api functions
2022-12-03 00:27:07 +01:00
Emmanuel Leblond
fa405a8337
Fix lifetime of StringName objects returned by Wrapped::_get_property_list
2022-11-29 18:23:56 +01:00
Andy Maloney
c7e34c2f9d
Basic static analysis fixes
...
- remove extraneous semicolons
- use "nullptr" instead of "0"
- remove "break" after "return"
- use <cstdio> instead of <stdio.h>
2022-11-18 17:46:13 -05:00
Aaron Franke
1858e349c8
Update named colors to be in sync with the engine
2022-11-12 00:31:06 -06:00
Emmanuel Leblond
2745d341aa
Fix broken namespace isolation in GDCLASS macro
2022-11-11 16:45:42 +01:00
Emmanuel Leblond
b6ba0dca13
StringName is working fine with demo \o/
2022-11-08 21:44:33 +01:00
Emmanuel Leblond
3b82d5937b
Correct GDNativeExtensionScriptInstanceToString
2022-11-08 21:44:32 +01:00
Emmanuel Leblond
d1963dc133
Correct __constant_get_bitfield_name with StringName
2022-11-08 21:44:32 +01:00
Emmanuel Leblond
a706a9ceb9
Remove now useless `_alloc_and_copy_cstr`
2022-11-08 21:44:31 +01:00
Emmanuel Leblond
e24b6b0e51
Use StringName in the whole GDExtension API instead of const char *
2022-11-08 21:44:31 +01:00
Emmanuel Leblond
0e81f89dd3
Uses `StringName` in GDExtension perf critical instance creation & method/properties setter/getter
2022-11-08 21:44:30 +01:00
Fabio Alessandrelli
a9c341656d
Add missing bindings for GDNativePtr<void>.
2022-10-20 18:08:15 +02:00
Ricardo Buring
01960ffc9f
Add support for virtual and abstract classes
2022-10-15 13:15:05 +02:00
Emmanuel Leblond
b21931c4a3
Type `GDNativePropertyInfo.type` field as `GDNativeVariantType`
2022-10-13 14:04:54 +02:00
Aaron Franke
592bd15c7a
Run scripts to format and make headers consistent
2022-10-09 01:47:07 -05:00
Rémi Verschelde
db8679443f
Merge pull request #885 from aaronfranke/core-data-structs
...
Update core data structures to match the engine
2022-10-07 22:25:54 +02:00
Rémi Verschelde
0eba81ef79
Merge pull request #876 from Daylily-Zeleen/Daylily-Zeleen/master
...
Add detail infos for binding error message.
2022-10-07 22:25:49 +02:00
Aaron Franke
65eeb94f75
Update core data structures to match the engine
2022-10-07 11:27:41 -05:00
Mikael Hermansson
40d181d2f3
Bind enums in built-in types and expose bindings for global constants
2022-10-06 11:16:17 +02:00
Rémi Verschelde
50a534bf55
Merge pull request #880 from aaronfranke/struct
...
Use `struct` instead of `class` for core structures
2022-10-05 10:35:59 +02:00
Rémi Verschelde
91afc08de1
Merge pull request #855 from Zylann/fix_issue854_virtual_methods
...
Fix deriving a custom class with virtual methods
2022-10-05 10:35:54 +02:00
Aaron Franke
0455f72ede
Use struct instead of class for core structures
2022-10-05 01:46:15 -05:00
Rémi Verschelde
d25cae9b61
Merge pull request #859 from aaronfranke/basis-transform-quat
...
Update Basis/Transform3D/Quaternion to match the engine
2022-10-04 16:39:46 +02:00
Aaron Franke
fc879c04c8
Update Vector4/4i to match the engine
2022-10-01 21:09:05 -05:00
Aaron Franke
d479208a8f
Update Vector2/2i/3/3i to match the engine
2022-10-01 21:09:05 -05:00
daylilyzeleen
3e91ec1729
Add detail infos for binding error message.
2022-09-30 15:16:43 +08:00
bruvzg
c001d0e5c7
Implement support for typed arrays.
2022-09-23 09:02:00 +03:00
Marc Gilleron
5de2c059d1
Fix deriving a custom class with virtual methods
2022-09-21 19:31:30 +01:00
Aaron Franke
e83d472c00
Update Basis/Transform3D/Quaternion to match the engine
2022-09-20 01:07:45 -05:00
Aaron Franke
e26a75cd0c
Rename Basis "elements" to "rows"
...
https://github.com/godotengine/godot/pull/60627
2022-09-19 18:22:52 -05:00
Aaron Franke
e30c858c5d
Rename Transform2D "elements" to "columns"
...
https://github.com/godotengine/godot/pull/60627
2022-09-19 18:22:52 -05:00
Aaron Franke
7ba459ae7b
Add integer posmod and rename range_lerp to remap
...
https://github.com/godotengine/godot/pull/23310
https://github.com/godotengine/godot/pull/65361
2022-09-19 03:09:59 -05:00
Aaron Franke
9a2e8d907b
Add pingpong and fract methods to Math
...
https://github.com/godotengine/godot/pull/53819
2022-09-19 03:09:59 -05:00
Aaron Franke
b11ff9d876
Replace stepify with snapped
...
https://github.com/godotengine/godot/pull/44586
2022-09-19 03:09:59 -05:00
Aaron Franke
d20c4200db
Update cubic interpolation methods to match core
...
https://github.com/godotengine/godot/pull/64924
https://github.com/godotengine/godot/pull/63602
https://github.com/godotengine/godot/pull/62458
2022-09-19 03:09:38 -05:00
Aaron Franke
942cd466ed
Split is_equal_approx into float and double versions to match Godot
...
https://github.com/godotengine/godot/pull/48882
2022-09-19 02:47:27 -05:00
Rémi Verschelde
3450a1ab16
Merge pull request #847 from ninfur/issue-65997
...
Add missing Vector4 function bindings
2022-09-19 09:31:23 +02:00
Rémi Verschelde
03d1120d6a
Merge pull request #850 from Zylann/transform_local
...
Add Transform3D `translated_local`, `rotated_local`, `scaled_local`
2022-09-19 09:30:11 +02:00
Rémi Verschelde
d910b72cb7
Merge pull request #851 from Zylann/quat_to_quaternion
...
Use `quaternion` instead of `quat` in method names
2022-09-19 09:29:57 +02:00
Marc Gilleron
c543a3cbe1
Add Transform3D `translated_local`, `rotated_local`, `scaled_local`
2022-09-18 23:04:38 +01:00