Commit Graph

269 Commits (6cb5eb9bca1cf13d6528a5ebe07689bc19beeb90)

Author SHA1 Message Date
George L. Albany 9d26e3418c Fix GCC 14 -Wtemplate-id-cdtor warning
As was fixed with godotengine/godot#91208

(cherry picked from commit 7b31f39bea)
2024-09-03 17:16:17 -05:00
Klaim (Joël Lamotte) deaf37120f removes warnings generated by GDCLASS usage
This change removes the warnings (unused parameters) coming from code injected by the GDCLASS macro.
Contrary to warnings coming from the normal source code which can be suppressed with most compiles by specifying the include directories of this library as external or system,
when the code is injected through a macro it is considered in the context of the user, which is the source code of user of the library.
That forces the users to modify their code to hide the warnings coming from the mandatory `GDCLASS` here.
That's why it's important to remove these warning from that specific macro and ideally any other macro that the user must use.

(cherry picked from commit 738859f49b)
2024-09-03 17:11:52 -05:00
Chris Cranford cc70884db3 Make sure `_get` and `_set` dispatch up the class hierarchy
(cherry picked from commit c77d44f3f6)
2024-09-03 17:11:10 -05:00
Aaron Franke a0d56336c3
[4.2] Fix missing MAKE_TYPED_ARRAY_INFO for Packed*Arrays 2024-08-22 21:04:51 -07:00
Yuri Sizov 80aec184df Fix argument metadata when binding methods
While there doesn't seem to be any runtime issues,
this triggers the address sanitizer in a few ways,
depending on what kind of method you're
binding.

(cherry picked from commit 2b34bd0d8b)
2024-07-17 09:19:30 -05:00
A Thousand Ships 18c31e3e31 Fix sharing of typed arrays from constructor
(cherry picked from commit 41aa71f8c3)
2024-07-17 09:18:11 -05:00
Thaddeus Crews c35e7545b7 Integrate `.pre-commit-config.yaml`
(cherry picked from commit e0d363aad8)
2024-07-17 09:17:36 -05:00
Thaddeus Crews 1a22e43075 Fix `#include` formatting
(cherry picked from commit 999018e7d1)
2024-07-17 09:14:04 -05:00
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