Commit Graph

261 Commits (07b6a03d77c4dfc7400c44fe40308b3f7a89d1cd)

Author SHA1 Message Date
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 a246aaaaf6 Fix NOTIFICATION_POSTINITIALIZE sent twice to native parent class
(cherry picked from commit 06373ce1cf)
2024-05-17 16:41:42 -05:00
Daylily-Zeleen e8e424ade8 mark return value of `get_class_static` and `get_parent_class_static` as const
(cherry picked from commit 3db8549e19)
2024-05-17 16:40:30 -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
David Snopek 98ad839827 Avoid creating most objects that Godot is going to use placement new to initialize
(cherry picked from commit c4fde852e6)
2024-04-08 11:45:25 -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
David Snopek 7ddd278dea Fix _notification with parent and child classes
(cherry picked from commit 23c010900c)
2024-03-11 12:50:43 -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
bruvzg c2d4ccd592 Switch to 64-bit ints.
(cherry picked from commit 59a5a8b104)
2024-03-11 12:46:27 -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 97214ecd7a Fix `AABB.encloses` failing on shared upper bound
(cherry picked from commit 3943e41d2f)
2024-01-22 15:29:53 -06:00
A Thousand Ships c0b2d85ffc Add missing `OP_POWER` operator to `Variant`
(cherry picked from commit f037a697eb)
2024-01-22 15:29:27 -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
Aaron Franke 0472b6bdd4 Add PackedRealArray as an alias for PackedFloat(32/64)Array
(cherry picked from commit 646c71c277)
2024-01-22 15:28:46 -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