David Snopek
07b6a03d77
Explicitly refer to `godot` namespace in `GDREGISTER_*_CLASS()` macros
...
(cherry picked from commit 246a803954
)
2024-06-14 12:44:10 -05:00
David Snopek
18354f9b9b
Clean up instance bindings for engine singletons to prevent crash
...
(cherry picked from commit 88df025aa0
)
2024-05-17 16:40:13 -05:00
David Snopek
acee69a3f6
Allow forwarding from `ClassDB` to `ClassDBSingleton` to support enumerations
...
(cherry picked from commit e1b3b32db5
)
2024-05-17 16:35:22 -05:00
David Snopek
ddfcca62a8
Correctly handle `Object *` arguments that were encoded as `nullptr`
...
(cherry picked from commit 37542dc2ec
)
2024-05-17 16:34:41 -05:00
David Snopek
8aef77a64d
Give compile-time error if registering a class without its own `_bind_methods()` function
...
(cherry picked from commit ca46ef4d25
)
2024-05-17 16:33:38 -05:00
pupil1337
897280444b
Add static_assert() for register_class
...
(cherry picked from commit 1fa7a9cb19
)
2024-05-17 16:32:54 -05:00
A Thousand Ships
3d814f6e87
[Math] Add `is_finite` methods
...
(cherry picked from commit d389171905
)
2024-05-17 16:32:05 -05:00
Chris Cranford
8f8ea90088
Implement to/from dict helpers for PropertyInfo/MethodInfo
...
(cherry picked from commit 2a041b5240
)
2024-05-17 16:30:54 -05:00
David Snopek
9afbdb9cf6
Backport miscellaneous changes that can't be cherry-picked
2024-05-08 16:49:18 -05:00
Chris Cranford
77f1d228cd
Fix PropertyInfo to use hint/usage default constants
...
(cherry picked from commit e160966163
)
2024-04-17 11:09:24 -05:00
A Thousand Ships
f8477fb9f2
Fix incorrect utility call signature
...
(cherry picked from commit d055b575fb
)
2024-04-08 11:50:07 -05:00
Thaddeus Crews
7473b984cb
Enforce template syntax `typename` over `class`
...
(cherry picked from commit 87f5fb0691
)
2024-04-08 11:49:37 -05:00
A Thousand Ships
f002ca18c7
Fix invalid `void` return in `BitField`
...
(cherry picked from commit 7ed8ef7221
)
2024-03-11 12:51:07 -05:00
Marc Gilleron
3fe7c2e87b
Fix explicit namespaces in macros
...
(cherry picked from commit e607790647
)
2024-03-11 12:50:56 -05:00
bruvzg
cae4bf58ac
[Core] Improve `CowData` and `Memory` metadata alignment.
...
(cherry picked from commit b173a4d935
)
2024-03-11 12:47:09 -05:00
DaylilyZeleen
dc19986497
Fix object return value of builtin types' methods.
...
(cherry picked from commit 6a3753c076
)
2024-03-11 12:46:39 -05:00
Chris Cranford
dc76664cea
Rework GDCLASS macro to allow pure virtual functions
...
(cherry picked from commit 5f350e2572
)
2024-01-22 15:30:04 -06:00
A Thousand Ships
62eed50524
Fix expected argument count for call errors
...
(cherry picked from commit b77cb648c3
)
2024-01-22 15:29:18 -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
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
David Snopek
d33bd47219
Add `CallableCustom` that devs can use in their GDExtensions
2023-11-06 00:09:06 -06:00
David Snopek
a61cdc8860
Add protections against registering classes that didn't use GDCLASS()
2023-10-22 08:44:09 -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
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
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
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
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
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
Daylily-Zeleen
2d1f852baf
Implement register unexposed class.
2023-09-04 00:59:10 +08: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
3cd3f24150
Ensure that PtrToArg specializations for native structs are used
2023-08-15 17:54:11 -05: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
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
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
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
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
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
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