bruvzg
adc9def046
[iOS] Fix initialisation/termination of multiple statically linked extensions.
2023-11-23 13:38:20 +02:00
David Snopek
f426b12b5b
Fix comparison of `Callable`s from callable_mp() of the same method
2023-11-17 12:49:53 -06:00
David Snopek
4439a4a569
Merge pull request #1280 from dsnopek/callable-custom
...
Add `CallableCustom` that devs can use in their GDExtensions
2023-11-17 12:48:39 -06:00
David Snopek
c4b7b08c91
Merge pull request #1298 from Repiteo/int-to-variant-fix
...
Add missing int→Variant conversions
2023-11-15 09:07:48 -06:00
bruvzg
29b34d92bb
[iOS] Fix building as static library or xcframework, add iOS config and xcframework build script to the test project.
2023-11-09 20:01:59 +02:00
Thaddeus Crews
bcac96c8c2
Add missing int→Variant conversions
2023-11-08 09:45:53 -06:00
David Snopek
d33bd47219
Add `CallableCustom` that devs can use in their GDExtensions
2023-11-06 00:09:06 -06:00
David Snopek
4b76485a4e
Switch to using `ObjectID` in custom callables
2023-10-25 13:05:32 -05:00
David Snopek
0a6a19e33b
Merge pull request #1253 from gilzoide/fix-variant-iteration-valid-flag
...
Fix return value and `r_valid` value in `Variant::iter_init` and `Variant::iter_next`
2023-10-20 10:39:05 -05:00
David Snopek
64eac01d04
Merge pull request #1266 from dsnopek/automatic-engine-class-registration
...
Automatically register only engine classes whose header has been included
2023-10-16 10:47:06 -05:00
David Snopek
b507b3e591
Automatically register only engine classes whose header has been included
2023-10-16 10:19:11 -05:00
David Snopek
3d814f9e4a
Use the new `string_name_new_with_latin1_chars` function to improve StringName construction performance
2023-10-09 16:59:29 -05:00
Joël Lamotte (Klaim)
5134c82573
Fixes crash in ClassDB::deinitialize due to usage of invalid iterator.
...
After the removed call to `std::vector::erase` all iterators,
`i` included, are invalidated and therefore this code has undefined
behavior (which can or not lead to a crash).
This change delays the removal of class names from
`class_register_order` to after having gone through it's content,
removing the undefined behavior.
2023-10-05 16:58:49 +02:00
David Snopek
df849651d9
Changes necessary for hot reload to work
2023-09-25 22:13:33 -05:00
gilzoide
60dfa3445a
Fix return value and r_valid value in Variant::iter_init and iter_next
2023-09-24 17:10:29 -03:00
David Snopek
c18c1916c3
Implement `callable_mp()` and `callable_mp_static()`
2023-09-21 15:17:50 -05:00
David Snopek
4314f91b7d
Merge pull request #1238 from dsnopek/variant-call-callp
...
Fix variant call compiler error (alternate)
2023-09-21 15:07:05 -05:00
David Snopek
db15731e4d
Merge pull request #1165 from dsnopek/missing-classes
...
Handle missing instance binding callbacks by finding the closest parent
2023-09-21 15:06:51 -05:00
David Snopek
b1fd1b65fd
Merge pull request #1242 from AThousandShips/null_check
...
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-20 07:32:14 -05:00
David Snopek
52ca3ef547
Handle missing instance binding callbacks by finding the closest parent
2023-09-19 10:54:07 -05:00
David Snopek
634ed09ec0
Load 'print_error_with_message' function
2023-09-15 14:08:27 -05:00
A Thousand Ships
1e5767693e
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-13 14:34:04 +02:00
Matthew Murphy
ca3e25de04
Fix variant call compiler error
...
Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-09-09 11:30:29 -05:00
David Snopek
b488f009bd
Merge pull request #1208 from dsnopek/check-godot-version
...
Check that GDExtension is opened by compatible Godot version
2023-09-09 09:30:36 -05:00
Markus Sauermann
c2d99fd519
Fix `Object::notification` order
...
For the notification-order to work correctly, it is necessary to
allow the `p_reversed` argument to be used within cpp.
This PR changes the necessary bindings.
2023-08-30 00:07:28 +02:00
David Snopek
f0405f18a3
Add support for placeholder_script_instance_create/update
2023-08-28 17:02:13 -05:00
David Snopek
fecb2959b4
Check that GDExtension is opened by compatible Godot version
2023-08-14 17:01:12 -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
David Snopek
3162be28e5
Merge pull request #1150 from dsnopek/charstring-full
...
Attempt to fully implement CharString
2023-07-22 09:04:27 -05:00
Mikael Hermansson
4b1072e4da
Remove unused free-standing `initialize_level` and `deinitialize_level`
2023-06-30 19:36:46 +02: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
Rémi Verschelde
130644c061
Merge pull request #1138 from dsnopek/editor-plugins-deinitialize
...
Automatically remove editor plugins when deinitializing GDExtension
2023-06-19 10:43:34 +02: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
d28a3cbbd5
Automatically remove editor plugins when deinitializing GDExtension
2023-06-13 14:24:33 -05:00
David Snopek
ee5cf3a11d
Merge pull request #1137 from dsnopek/no-more-legacy-mode
...
Clarify error message because there isn't a legacy Godot 4.0 mode anymore
2023-06-08 10:11:29 -05:00
David Snopek
3074d22815
Clarify error message because there isn't a legacy Godot 4.0 mode anymore
2023-06-08 09:42:03 -05:00
David Snopek
59bffc94a8
Correctly load gdextension_interface_print_error
2023-05-31 01:32:44 -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
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
bruvzg
ba4b50118d
Fix incorrect memory allocation in release builds.
...
Co-authored-by: lightyears <lightyears1998@hotmail.com>
2023-02-21 15:32:26 +02:00
Zhehang Ding
07c914b479
Fix compilation error: const GDExtensionStringPtr -> GDExtensionConstStringPtr
2023-02-14 18:53:11 -08:00
Jan Haller
706006ec83
Update array_set_typed() call to use GDExtensionVariantType instead of uint32_t
2023-02-09 11:12:51 +01: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
bruvzg
40d3cfd97b
Move Array:set_typed to internal GDExtension structure.
2023-01-30 13:27:25 +02:00
Mikael Hermansson
6b92eda819
Added missing `string.hpp` include in `transform2d.cpp`
2023-01-22 17:35:24 +01:00
Mikael Hermansson
d174b47e51
Update error macros to match core
2023-01-22 14:24:57 +01:00
Andy Maloney
1ae0147aad
Fix sign comparison warnings in class_db.cpp
...
Part of #999
2023-01-19 08:30:08 -05:00
bruvzg
abca497b72
Expose some low level functions and String operators.
2023-01-19 13:12:21 +02:00
Fabio Alessandrelli
69b525494b
Merge pull request #1001 from Faless/ext/basis_abs
...
Fix Basis::scaled_orthogonal using incorrect abs function.
2023-01-19 10:16:51 +01:00
Fabio Alessandrelli
72a7c61750
Fix Basis::scaled_orthogonal using incorrect abs function.
2023-01-19 02:53:53 +01:00
Fabio Alessandrelli
d64d97cb17
Fix Variant::can_convert[_strict] returning gibberish.
...
An uninitialized value was being returned instead of the function return
value.
2023-01-19 02:17:53 +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
Rémi Verschelde
931f1a3f34
Sync license copyright with upstream GH-70885
2023-01-10 16:15:31 +01:00
Ricardo Buring
d4e1dfe5dc
Add conversions between Variant and ObjectID
2023-01-01 21:27:08 +01:00
Rémi Verschelde
104997e83e
Merge pull request #961 from mihe/char-string-length
...
Fix incorrect length passed to `CharString`
2022-12-20 10:44:08 +01:00
Jan Haller
fce753c05d
Extension header: amend const correctness of `p_args` parameters
2022-12-14 15:47:42 +01:00
Mikael Hermansson
1f6b0118dc
Fix incorrect length passed to `CharString`
2022-12-14 15:08:45 +01: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
fe86a94dcf
Fix const qualifier for parameters in GDExtension api functions
2022-12-03 00:27:07 +01:00
Rémi Verschelde
4a4e2b0239
Merge pull request #930 from rune-scape/rune-missing-string-ops
...
Add missing String operators
2022-11-22 10:25:02 +01:00
rune-scape
d04ce481c4
Add missing String operators
2022-11-20 03:44:54 -05: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
Rémi Verschelde
d9c72c6773
Fixup after 243ec87918
2022-11-16 10:33:39 +01:00
Emmanuel Leblond
b6ba0dca13
StringName is working fine with demo \o/
2022-11-08 21:44:33 +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
Emmanuel Leblond
b21931c4a3
Type `GDNativePropertyInfo.type` field as `GDNativeVariantType`
2022-10-13 14:04:54 +02:00
Mikael Hermansson
cddaf50ff8
Fix use-after-free when deleting objects from extension terminator
2022-10-11 00:59:35 +02: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
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
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
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
Marc Gilleron
c543a3cbe1
Add Transform3D `translated_local`, `rotated_local`, `scaled_local`
2022-09-18 23:04:38 +01:00
Marc Gilleron
a35994ce7b
Use `quaternion` instead of `quat` in method names
2022-09-18 22:44:18 +01:00
Johannes Sinander
e7372cbe85
Add missing Vector4 function bindings
2022-09-18 11:27:49 +02:00
Rémi Verschelde
f24cc8be03
Merge pull request #826 from bruvzg/string_info
2022-09-15 21:10:13 +02:00
Silc Renew
440c4ed703
Mode some methods to Animation from Variant
2022-09-15 04:13:51 +09:00