Commit Graph

246 Commits (8fbb7cf79535a2b382d57ce2a094d4cbee316fd1)

Author SHA1 Message Date
David Snopek 8fbb7cf795 Allow GDExtensions to register virtual methods and call them on scripts 2024-02-12 13:30:07 -06:00
David Snopek 0145e900f3
Merge pull request #1357 from bruvzg/cpp_64
Switch to 64-bit ints.
2024-01-19 12:15:55 -06:00
David Snopek 6c04514039
Merge pull request #1359 from Naros/GH-1287
Rework GDCLASS macro to allow abstract classes
2024-01-19 07:27:06 -06:00
Chris Cranford 5f350e2572 Rework GDCLASS macro to allow pure virtual functions 2024-01-18 20:14:13 -05:00
A Thousand Ships 3943e41d2f
Fix `AABB.encloses` failing on shared upper bound 2024-01-12 18:08:40 +01:00
bruvzg 59a5a8b104
Switch to 64-bit ints. 2024-01-10 15:36:36 +02:00
A Thousand Ships f037a697eb
Add missing `OP_POWER` operator to `Variant` 2024-01-06 21:12:52 +01:00
David Snopek dd62b9685f
Merge pull request #1347 from Chubercik/vector_method_parity
Add `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-04 08:36:30 -06:00
Jakub Mateusz Marcowski b733102f4a Add `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to` 2024-01-03 11:45:05 +01:00
A Thousand Ships b77cb648c3 Fix expected argument count for call errors 2023-12-30 13:23:36 +01:00
Aaron Franke 646c71c277
Add PackedRealArray as an alias for PackedFloat(32/64)Array 2023-12-19 04:44:05 -06:00
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
Thaddeus Crews 6eb5d450bd
GDCLASS synced by ending with "private:"
• Matches implementation used by modules and godot itself
• Apply same to GDEXTENSION_CLASS, setup with same diff-friendly spacers as GDCLASS
2023-11-01 12:44:14 -05:00
David Snopek a61cdc8860 Add protections against registering classes that didn't use GDCLASS() 2023-10-22 08:44:09 -05:00
Martin Capitanio a926b96103 clang: Add CallableCustomMethodPointerBase virtual destructor
Fixes #1272
+ clang++ (debian v16/v17) warning:
	destructor called on
	'godot::CallableCustomMethodPointerBase' that is abstract but has non-virtual destructor
	[-Wdelete-abstract-non-virtual-dtor]
2023-10-19 09:37:11 +02: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
Rémi Verschelde 4f0eb2f520
Merge pull request #1263 from dsnopek/string-name-new
Use the new `string_name_new_with_latin1_chars` function to improve StringName construction performance
2023-10-12 18:08:09 +02:00
Mikael Hermansson 6e05b978b8 Declare explicit specializations for `CharStringT` 2023-10-12 16:00:48 +02: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
David Snopek df849651d9 Changes necessary for hot reload to work 2023-09-25 22:13:33 -05: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 3a02feddc3 Update for addition of `get_virtual_call_data_func` and `call_virtual_func` to `GDExtensionClassCreationInfo2` 2023-09-20 12:15:31 -05:00
David Snopek a3dfbbde85
Merge pull request #1245 from AThousandShips/alloc_fix
Fix allocation size overflow check in `CowData`
2023-09-20 07:39:27 -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 0d6de7a80e
Merge pull request #1164 from dsnopek/classdb-singleton-alternate
Add static methods to `ClassDB` for the methods bound to the `ClassDB` singleton
2023-09-19 10:33:15 -05:00
A Thousand Ships 06ffc7e952 Fix allocation size overflow check in `CowData` 2023-09-19 16:14:00 +02:00
A Thousand Ships 1e5767693e Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-13 14:34:04 +02:00
David Snopek aa6867e6c9 Support `_validate_property()` 2023-09-12 13:21:16 -05:00
David Snopek 16ffb2795a
Merge pull request #970 from Daylily-Zeleen/daylily-zeleen/register_unexposed_class
Implement register unexposed classes
2023-09-11 09:35:32 -05: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 5cdc2fc099
Merge pull request #1214 from dsnopek/ptrtoarg-native-struct
Ensure that PtrToArg specializations for native structs are used
2023-09-08 10:12:23 -05:00
A Thousand Ships f651df5e7a Ensure `const` correctness for wrappers 2023-09-06 19:33:03 +02:00
Daylily-Zeleen 2d1f852baf Implement register unexposed class. 2023-09-04 00:59:10 +08:00
David Snopek 0db95a92a6
Merge pull request #1228 from Bromeon/bugfix/yet-another-bool
GDExtension: fix `bool` unknown in C
2023-09-02 16:13:51 -05:00
David Snopek 8990d5a40e
Merge pull request #1091 from Daylily-Zeleen/daylily-zeleen/implement_builtin_classes_vararg_methods
Implement vararg methods of builtin classes.
2023-09-02 08:04:29 -05:00
Jan Haller 54092861f1 GDExtension: fix `bool` unknown in C 2023-09-02 13:19:14 +02: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
A Thousand Ships 52eb77efd4 Add remaining component-wise `min/max` functions to `Vector*` 2023-08-16 13:52:51 +02:00
Adam Scott f5c8e5190f
Fix forgotten not operator 2023-08-16 05:30:40 -04:00
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