Commit Graph

212 Commits (a98d41f62bdb8b7aa903e8e37c1faa48fe8fdae8)

Author SHA1 Message Date
Thaddeus Crews 2ffff669f5
Implement typed dictionaries 2024-09-17 15:05:16 -05:00
Raul Santos 9a89d226c7
Correct type for `char16` and `char32` meta 2024-08-23 00:33:11 +02:00
David Snopek 265412cc53
Merge pull request #1557 from mihe/cpp-operators
Fix incorrect generation of some C++ operators
2024-08-22 16:45:18 -05:00
David Snopek 62305943a7
Merge pull request #1555 from raulsntos/fix-r1722784216
Avoid hardcoded type conversion for metadata
2024-08-22 16:30:17 -05:00
Mikael Hermansson 9949d09f3e Fix incorrect generation of some C++ operators 2024-08-21 20:37:52 +02:00
Raul Santos 4829199081
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.
2024-08-20 14:53:22 +02:00
A Thousand Ships f131efb791
Make generated code mostly style compliant 2024-07-17 17:29:31 +02: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
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