244 Commits

Author SHA1 Message Date
45f45e8db2 Fix alignment on RID and other classes that use uint8_t opaque[SIZE] 2026-03-24 14:33:08 -05:00
ef6b34d0c2 Sync Ref to godotengine master. 2026-02-28 18:37:34 +01:00
713481f6f9 Merge pull request #1919 from dsnopek/int-min-error
Workaround `unary minus operator applied to unsigned type` error in MSVC with `-2147483648`
2026-02-19 05:11:46 -06:00
67a0b191d3 Filter conflicting global constants
See https://github.com/godotengine/godot/pull/115649
2026-02-18 08:36:15 -08:00
935a616293 Workaround unary minus operator applied to unsigned type error in MSVC with -2147483648 2026-02-01 07:23:54 -06:00
823a08ad8e Don't reloading print_error interface function 2026-01-27 16:24:10 -06:00
ce18d99cb0 Add back support for Godot 4.3 2026-01-15 06:45:44 -06:00
fe68c22c3e Generate GDExtension interface header and loader from JSON 2025-12-18 12:09:41 -06:00
4ae2669dcd Merge pull request #1864 from janos-ijgyarto/master
Added missing namespace prefixes to GDVIRTUAL macros
2025-11-30 06:05:23 -06:00
a9773579cb Specifically handle each "meta" value, so new ones don't break code generation 2025-10-18 13:59:24 -05:00
8c5e038744 Added missing namespace prefixes to GDVIRTUAL macros 2025-10-10 00:11:59 +02:00
7f5f02940d Update for GDExtension interface changes in Godot 4.5 2025-06-23 16:40:43 -05:00
ed53a70e71 Fix binding generation for TypedArray/TypedDictionary with refcounted elements. 2025-06-18 13:18:37 +03:00
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
64cdf089d9 CI: Various version bumps; sync with main repo 2025-04-26 12:23:07 -05:00
f38c056b67 Fix classes without _to_string() always returning "[Wrapped:0]" 2025-04-25 15:54:41 -05:00
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
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
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
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
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
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
107cb1da5e Style: Integrate #pragma once in builders/checks 2025-03-07 17:57:16 -06:00
0a73df5f53 Check that precision of extension_api.json matches build options 2025-02-27 13:27:11 -06:00
4a9409a30f Update GDVIRTUAL*() macros to match Godot 4.4 2025-02-26 12:56:55 -06:00
a353be57d8 Fix -Wmissing-braces warning (included in -Wall) in array constructor for generated function call bindings 2025-02-09 17:20:06 -06:00
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
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
5c9529fc84 Update for virtual method compatibility system 2025-01-11 16:36:59 -06:00
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
2ffff669f5 Implement typed dictionaries 2024-09-17 15:05:16 -05:00
9a89d226c7 Correct type for char16 and char32 meta 2024-08-23 00:33:11 +02:00
265412cc53 Merge pull request #1557 from mihe/cpp-operators
Fix incorrect generation of some C++ operators
2024-08-22 16:45:18 -05:00
62305943a7 Merge pull request #1555 from raulsntos/fix-r1722784216
Avoid hardcoded type conversion for metadata
2024-08-22 16:30:17 -05:00
9949d09f3e Fix incorrect generation of some C++ operators 2024-08-21 20:37:52 +02:00
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
f131efb791 Make generated code mostly style compliant 2024-07-17 17:29:31 +02:00
56cd3fd99e Unexpose UtilityFunctions::is_instance_valid() 2024-07-01 12:29:28 -05:00
e0d363aad8 Integrate .pre-commit-config.yaml 2024-06-24 15:43:55 -05:00
e7a13e3bf4 Fix some style details in generation 2024-06-18 17:46:54 +02:00
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
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
9e2771f918 Enforce p_ prefixes for arguments in binds 2024-06-14 16:05:03 +02:00
ee9acbcf10 Merge pull request #1488 from AThousandShips/default_node_path
Add default argument processing for `NodePath`
2024-06-14 08:15:04 -05:00
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
37e7a6da05 Add default argument processing for NodePath 2024-06-13 20:53:01 +02:00
6c4064125b Merge pull request #1487 from AThousandShips/arg_default_fix
Fix generating default values for `StringName`
2024-06-13 13:49:54 -05:00
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