David Snopek
fe68c22c3e
Generate GDExtension interface header and loader from JSON
2025-12-18 12:09:41 -06:00
David Snopek
4ae2669dcd
Merge pull request #1864 from janos-ijgyarto/master
...
Added missing namespace prefixes to GDVIRTUAL macros
2025-11-30 06:05:23 -06:00
David Snopek
a9773579cb
Specifically handle each "meta" value, so new ones don't break code generation
2025-10-18 13:59:24 -05:00
janos-ijgyarto
8c5e038744
Added missing namespace prefixes to GDVIRTUAL macros
2025-10-10 00:11:59 +02:00
David Snopek
7f5f02940d
Update for GDExtension interface changes in Godot 4.5
2025-06-23 16:40:43 -05:00
Pāvels Nadtočajevs
ed53a70e71
Fix binding generation for TypedArray/TypedDictionary with refcounted elements.
2025-06-18 13:18:37 +03:00
David Snopek
d5baa7071e
Merge pull request #1757 from Repiteo/ci/version-bumps
...
CI: Various version bumps; sync with main repo
2025-06-07 14:13:14 -05:00
Thaddeus Crews
64cdf089d9
CI: Various version bumps; sync with main repo
2025-04-26 12:23:07 -05:00
David Snopek
f38c056b67
Fix classes without _to_string() always returning "[Wrapped:0]"
2025-04-25 15:54:41 -05:00
Grublady
26201dd27a
Fix TypedDictionary binding generation
2025-04-08 20:34:29 -04:00
Tom
946a693859
.
2025-04-02 19:58:05 +01:00
Tom
a2c37f8a16
Made the Array's ptr and ptrw methods private
2025-04-01 20:47:35 +01:00
David Snopek
654de13b5c
Merge pull request #1702 from zhmt/master
...
binding_generator.py: Don't error if directory already exists
2025-03-14 08:56:30 -05:00
zhmt
d79959c79e
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 >
2025-03-14 14:02:53 +08:00
David Snopek
6f981b33cc
Merge pull request #1704 from BenLubar/missing-braces
...
Fix -Wmissing-braces warning (included in -Wall) in array constructor for generated function call bindings
2025-03-13 12:45:03 -05:00
David Snopek
d8807a10d6
Merge pull request #1734 from Repiteo/style/pragma-once
...
Replace header guards style with `#pragma once`
2025-03-13 11:47:14 -05:00
David Snopek
a5db125d2e
Merge pull request #1714 from dsnopek/extension-api-precision
...
Check that precision of `extension_api.json` matches build options
2025-03-13 11:43:30 -05:00
Thaddeus Crews
107cb1da5e
Style: Integrate #pragma once in builders/checks
2025-03-07 17:57:16 -06:00
David Snopek
0a73df5f53
Check that precision of extension_api.json matches build options
2025-02-27 13:27:11 -06:00
David Snopek
4a9409a30f
Update GDVIRTUAL*() macros to match Godot 4.4
2025-02-26 12:56:55 -06:00
Ben Lubar
a353be57d8
Fix -Wmissing-braces warning (included in -Wall) in array constructor for generated function call bindings
2025-02-09 17:20:06 -06:00
Brecht Kuppens
7576dc5930
Fix buffer overrun with enums pointers cast to int64_t* when enum is only 32-bit
2025-01-20 10:29:16 +01:00
David Snopek
65046d00a5
Merge pull request #1676 from dsnopek/gdextension-virtual-method-compat
...
Update for virtual method compatibility system
2025-01-12 05:28:38 -06:00
David Snopek
5c9529fc84
Update for virtual method compatibility system
2025-01-11 16:36:59 -06:00
Fabio Alessandrelli
c4f1abe3f9
[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).
2025-01-07 20:33:12 +01:00
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