David Snopek
566742d057
Avoid creating objects that Godot is going to use placement new to initialize
2024-02-01 13:46:02 -06:00
bruvzg
59a5a8b104
Switch to 64-bit ints.
2024-01-10 15:36:36 +02:00
Jakub Mateusz Marcowski
b733102f4a
Add `Vector2i/3i/4i` methods: `distance_to` and `distance_squared_to`
2024-01-03 11:45:05 +01:00
David Snopek
cad5be53b1
Avoid error from -Werror=type-limits on GCC 11
2023-11-30 17:52:33 -06:00
David Snopek
20c4e843b0
Send NOTIFICATION_POSTINITIALIZE to extension classes
2023-11-29 12:00:43 -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
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