David Snopek
52937a3850
Fix classes without _to_string() always returning "[Wrapped:0]"
...
(cherry picked from commit f38c056b67 )
2025-06-24 12:43:31 -05:00
zhmt
dacaa81f2f
binding_generator.py: Don't error if directory already exists
...
It should be ok when folders exist. Exception shouldn't be thrown.
Update binding_generator.py
It should be ok when folds exist. It will fail to build without this patch, in vs code on windows with compiler ( visual studio community 2022 amd 64) .
Co-Authored-By: Chris Cranford <ccranfor@redhat.com >
(cherry picked from commit d79959c79e )
2025-03-17 10:52:48 -05:00
David Snopek
40e65753f9
Check that precision of extension_api.json matches build options
...
(cherry picked from commit 0a73df5f53 )
2025-03-17 10:52:37 -05:00
Brecht Kuppens
08e4c89da9
Fix buffer overrun with enums pointers cast to int64_t* when enum is only 32-bit
...
(cherry picked from commit 7576dc5930 )
2025-01-28 10:37:36 -06:00
Fabio Alessandrelli
4b9cd6ae9d
[Bindings] Build profile now strips methods and skip files
...
This allows removing dependencies that are not explicitly unused by the
gdextension being built and is implemented using an intermediate json
API file with the methods and classes stripped (i.e. without touching
the file generators).
(cherry picked from commit c4f1abe3f9 )
2025-01-28 10:37:36 -06:00
David Snopek
1cce4d15ab
Merge pull request #1592 from dsnopek/4.3-revert-unexpose-is-instance-valid
...
[4.3] Revert "Unexpose `UtilityFunctions::is_instance_valid()`"
2024-09-23 10:46:45 -05:00
David Snopek
17ca325aeb
Revert "Unexpose UtilityFunctions::is_instance_valid()"
...
This reverts commit 56cd3fd99e .
2024-09-17 10:03:25 -05:00
Raul Santos
c823e84ff2
Correct type for char16 and char32 meta
2024-09-03 16:35:02 -05:00
Mikael Hermansson
26cb3292a0
Fix incorrect generation of some C++ operators
2024-09-03 16:34:54 -05:00
Raul Santos
150e45071b
Avoid hardcoded type conversion for metadata
...
The engine uses the names `int` and `float` to refer to the 64-bit types, so in the bindings generator we have a hardcoded conversion for those types.
But this type conversion should not be used for metadata. Even though the underlying type should still be 64-bit for interop, metadata is meant to specify the correct type to expose. So if metadata says `float` it means the type is really meant to be a 32-bit `float` and not `double`. Other hardcoded type conversions (`int` and `Nil`) won't ever be metadata.
This change corrects the `float` type, to use the right type in the generated C++ code. Before we were always using `double` due to this type conversion.
(cherry picked from commit 4829199081 )
2024-09-03 16:34:41 -05:00
David Snopek
56cd3fd99e
Unexpose UtilityFunctions::is_instance_valid()
2024-07-01 12:29:28 -05:00
Thaddeus Crews
e0d363aad8
Integrate .pre-commit-config.yaml
2024-06-24 15:43:55 -05:00
A Thousand Ships
e7a13e3bf4
Fix some style details in generation
2024-06-18 17:46:54 +02:00
David Snopek
ed1e963a31
Merge pull request #1490 from AThousandShips/arg_name_fix
...
Enforce `p_` prefixes for arguments in binds
2024-06-18 10:43:27 -05:00
Fabio Alessandrelli
1186c488bd
Add support for build profiles.
...
Allow enabling or disabling specific classes (which will not be built).
2024-06-15 16:19:41 +02:00
A Thousand Ships
9e2771f918
Enforce p_ prefixes for arguments in binds
2024-06-14 16:05:03 +02:00
David Snopek
ee9acbcf10
Merge pull request #1488 from AThousandShips/default_node_path
...
Add default argument processing for `NodePath`
2024-06-14 08:15:04 -05:00
David Snopek
64f1bc847a
Merge pull request #1485 from dsnopek/classdb-call-static-method
...
Fix vararg methods forwarded to the `ClassDB` singleton
2024-06-14 08:14:42 -05:00
A Thousand Ships
37e7a6da05
Add default argument processing for NodePath
2024-06-13 20:53:01 +02:00
David Snopek
6c4064125b
Merge pull request #1487 from AThousandShips/arg_default_fix
...
Fix generating default values for `StringName`
2024-06-13 13:49:54 -05:00
bruvzg
2360f84513
[TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API.
2024-06-13 18:57:24 +03:00
A Thousand Ships
6cd6c8923a
Fix generating default values for StringName
...
Cases other than `&""` were not processed correctly
2024-06-13 16:57:23 +02:00
David Snopek
e04a26b2bc
Fix vararg methods forwarded to the ClassDB singleton
2024-06-12 10:32:38 -05:00
David Snopek
88df025aa0
Clean up instance bindings for engine singletons to prevent crash
2024-05-10 19:51:31 -05:00
David Snopek
23178e81ff
Add support for PackedVector4Array
2024-05-06 14:30:04 -05:00
David Snopek
e1b3b32db5
Allow forwarding from ClassDB to ClassDBSingleton to support enumerations
2024-04-23 13:47:36 -05:00
David Snopek
44d78ec881
Merge pull request #1409 from Repiteo/class-to-typename
...
Enforce template syntax `typename` over `class`
2024-04-02 14:30:01 -05:00
David Snopek
a62f633ceb
Merge pull request #1379 from dsnopek/uninitialized-value-mk2
...
Avoid creating most objects that Godot is going to use placement new to initialize
2024-03-14 11:06:59 -05:00
David Snopek
e6b6df5893
Merge pull request #1399 from bruvzg/init_list
...
[Packed*Array] Add support for initializer lists.
2024-03-12 14:30:38 -05:00
David Snopek
12ebe4b180
Use explicit ::godot namespace in gdvirtual.gen.inc
2024-03-12 13:06:57 -05:00
Thaddeus Crews
87f5fb0691
Enforce template syntax typename over class
2024-03-10 16:02:43 -05:00
A Thousand Ships
fc986c2d12
Fix crash on virtual method calls
2024-03-05 15:30:59 +01:00
bruvzg
8c98a90f32
[Packed*Array] Add support for initializer lists.
2024-03-03 12:50:53 +02:00
David Snopek
c4fde852e6
Avoid creating most objects that Godot is going to use placement new to initialize
2024-02-26 10:36:16 -06:00
David Snopek
5fcc43e54d
Merge pull request #1377 from dsnopek/gdextension-register-virtual-method
...
Allow GDExtensions to register virtual methods and call them on scripts (godot-cpp support)
2024-02-12 18:43:12 -06:00
David Snopek
9a13efa0e3
Merge pull request #1363 from Daylily-Zeleen/daylily-zeleen/fix_object_return_value_of_builtin_types_methods
...
Fix object return value of builtin types' methods.
2024-02-12 14:33:20 -06:00
David Snopek
8fbb7cf795
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 13:30:07 -06:00
DaylilyZeleen
6a3753c076
Fix object return value of builtin types' methods.
2024-02-13 03:20:02 +08: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
Rémi Verschelde
64529361b4
Merge pull request #1351 from Daylily-Zeleen/daylily-zeleen/remove_namespace_in_global_constants_binding
...
Remove "godot" namespace when binding global constants.
2024-01-11 13:10:51 +01:00
bruvzg
59a5a8b104
Switch to 64-bit ints.
2024-01-10 15:36:36 +02:00
Daylily-Zeleen
bd40a94424
Remove "godot" namespace when binding global constants.
2024-01-07 15:24:02 +08:00
A Thousand Ships
f037a697eb
Add missing OP_POWER operator to Variant
2024-01-06 21:12:52 +01:00
Mikael Hermansson
943d1c8cdf
Change bit field enums to use uint64_t as underlying type
2023-11-28 01:03:41 +01:00
Rémi Verschelde
4fed88afcf
Merge pull request #1307 from LAK132/master
...
Fix file list issues when trying to build with meson via cmake
2023-11-24 12:35:29 +01:00
LAK132
39c139c814
Fix file list issues when trying to build with meson via cmake
2023-11-11 23:29:33 +10:30
David Snopek
d33bd47219
Add CallableCustom that devs can use in their GDExtensions
2023-11-06 00:09:06 -06: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