1
0
Fork 0
Commit Graph

323 Commits

Author SHA1 Message Date
Thaddeus Crews be429eb404
SCons: Make builders prettier, utilize `constexpr` 2025-03-11 18:31:20 -05:00
Thaddeus Crews 69529ff0aa
Merge pull request #102373 from dsnopek/gdextension-set-script-instance
GDExtension: Add interface functions for `Object::set_script_instance()`
2025-03-11 16:53:57 -05:00
Lukas Tenbrink 1818453faa Make use of `latin1` encoding explicit in `gdextension_interface.cpp`. 2025-03-10 19:33:56 +01:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 96fdaa616b
Style: Integrate `#pragma once` in builders/checks 2025-03-07 17:32:33 -06:00
Thaddeus Crews a5dbf3bd49
Merge pull request #103199 from raulsntos/gdextension/version+status
GDExtension: Add `status` to `get_godot_version`
2025-03-07 15:12:53 -06:00
Thaddeus Crews f8ca861e25
Merge pull request #103137 from dsnopek/extension-api-precision
GDExtension: Include precision in `extension_api.json`
2025-03-07 15:12:47 -06:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
Raul Santos 05ffa218f3
GDExtension: Add all `Engine.get_version_info` fields to `get_godot_version`
Added in a new `get_godot_version2` function with a new
`GDExtensionGodotVersion2` to avoid breaking compatibility.
2025-02-24 17:37:27 +01:00
David Snopek bd962dd2c4 GDExtension: Include precision in `extension_api.json` 2025-02-21 13:55:45 -06:00
David Snopek 7095431aa7 GDExtension: Add interface functions for `Object::set_script_instance()` 2025-02-04 14:47:06 -06:00
Pāvels Nadtočajevs b983b9d9f4 [RTL] Add cell option to control if cell is shrinked to its contents width. 2025-01-13 21:44:06 +02:00
David Snopek 696285f23a Use `MethodInfo::get_compatibility_hash()` to generate the hash for `MethodBind::get_hash()` and other GDExtension hash clean up 2025-01-11 15:57:42 -06:00
Rémi Verschelde 6a8ca81789 Merge pull request #100674 from dsnopek/gdextension-virtual-method-compat
GDExtension: Add compatibility system for virtual methods
2025-01-11 22:29:38 +01:00
David Snopek 39f16e70f8 GDExtension: Add compatibility system for virtual methods 2025-01-10 16:00:05 -06:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Rémi Verschelde c9e99291c1
Merge pull request #100622 from dsnopek/gdextension-compat-hashes
Rename `GDExtensionCompatHashes` to make it clear it's only for exceptional situations
2024-12-20 23:57:02 +01:00
Rémi Verschelde 119c99a8d0
Merge pull request #100193 from raulsntos/gdextension/set_class_icon
GDExtension: Add method to set the class icon
2024-12-20 23:56:48 +01:00
David Snopek 506600a560 Rename `GDExtensionCompatHashes` to make it clear it's only for exceptional situations 2024-12-19 18:08:42 -06:00
Raul Santos 69f1cc10b6
GDExtension: Add icon path to class creation info
Allows GDExtensions to set the icon of a class programmatically, which is useful for extensions that don't use a `.gdextension` file.
2024-12-17 08:43:12 +01:00
Lukas Tenbrink b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
Rémi Verschelde 88e81ee730
Fix various typos and code style issues 2024-11-28 17:40:42 +01:00
Thaddeus Crews 7f3242a7e8
Merge pull request #99201 from Ivorforce/variant-get-contents-ptr
Add GDExtension `variant_get_ptr_internal_getter`, facilitating `VariantGetInternalPtr`-like behavior in GDExtension
2024-11-26 13:04:40 -06:00
Lukas Tenbrink ffd4de67d0 Add variant_get_ptr_internal_getter to gdextension_interface.h. The function returns functions to retrieve a pointer to a Variant's internal value. This enables GDExtensions to implement functionality similar to VariantGetInternalPtr, to access Variant internal values directly. 2024-11-26 02:19:03 +01:00
David Snopek 2599df3b8a GDExtension: Fix method binds not saying if they are varargs 2024-11-18 13:19:22 -06:00
Thaddeus Crews 363c0b5fec
Merge pull request #47502 from KoBeWi/add_0
Always add decimal when converting float to string
2024-10-31 20:14:39 -05:00
A Thousand Ships 38f9769bc6
[Core] Improve error messages with `vformat` 2024-10-30 15:55:51 +01:00
kobewi 5c0f2414cd Always add decimal when printing float 2024-10-23 15:00:21 +02:00
Yevhen Babiichuk (DustDFG) af6d260c17 Don't include `core/io/image.h` in `core/os/os.h`
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Rémi Verschelde 4dd812f2ed
Merge pull request #97119 from dsnopek/gdextension-object-instance-id
GDExtension: Allow directly getting `ObjectID` from `Variant`
2024-10-04 17:18:06 +02:00
Gergely Kis 8a41b1d90f GDExtension: Use loader to check if the library exists. 2024-09-29 07:38:45 +02:00
Rémi Verschelde 8a9a26ef19
Merge pull request #93311 from dsnopek/gdextension-required-virtuals
GDExtension: Mark virtual function as `is_required` in `extension_api.json`
2024-09-27 13:53:16 +02:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
David Snopek 971e154588 GDExtension: Allow directly getting `ObjectID` from `Variant` 2024-09-17 11:58:55 -05:00
Rémi Verschelde f8fbb860f5
Merge pull request #95840 from raulsntos/char_metadata
Add metadata for `char16_t` and `char32_t`
2024-09-12 09:25:19 +02:00
Raul Santos aaffab8afb
Add metadata for `char16_t` and `char32_t`
We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it.

I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future.

To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`.
2024-09-12 02:15:55 +02:00
David Snopek c2af6bcb59 GDExtension: Mark virtual function as `is_required` in `extension_api.json`
Co-authored-by: Jovan Gerodetti <jovan.gerodetti@titannano.de>
2024-09-11 16:48:14 -05:00
Rémi Verschelde d8e5d61f22
Merge pull request #96787 from raulsntos/gdextension/remove-get-rid-func
Remove `get_rid_func` from `GDExtensionClassCreationInfo4`
2024-09-11 12:35:10 +02:00
Rémi Verschelde 3cad849b1f
Merge pull request #96586 from rune-scape/fix-empty-stringname-hash
StringName: Fix empty hash
2024-09-11 12:34:56 +02:00
Raul Santos 9e57674550
Remove `get_rid_func` from `GDExtensionClassCreationInfo4` 2024-09-10 12:35:24 +02:00
rune-scape 0dde931bc9 StringName: Fix empty hash
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
scgm0 3badff1f53 Allow class names to be unicode 2024-09-07 05:46:28 +08:00
Thaddeus Crews 9853a69144
Implement typed dictionaries 2024-09-04 10:27:26 -05:00
Rémi Verschelde d15de6f264
Merge pull request #96292 from AThousandShips/null_check_ref_fix
Cleanup of raw `nullptr` checks with `Ref`
2024-09-03 16:13:55 +02:00
Jan Haller 82b2a58f4c Fix `bool` type appearing in GDExtension header 2024-08-31 22:40:48 +02:00
A Thousand Ships 194bdde947
Cleanup of raw `nullptr` checks with `Ref`
Using `is_valid/null` over checks with `nullptr` or `ERR_FAIL_NULL` etc.
2024-08-31 15:01:09 +02:00
Danil Alexeev 49bcdf78a7
Core: Сheck `r_error` after calling `callp()` 2024-08-30 21:09:30 +03:00
Rémi Verschelde f0ee0bdd37
Merge pull request #93972 from Hilderin/fix-editor-needs-restart-after-adding-gdextensions
Fix editor needs restart after adding GDExtensions
2024-08-30 09:59:05 +02:00
David Snopek 6d0a57c9fd Fix loading GDExtensions in exported games 2024-08-29 09:50:56 -05:00