1
0
Fork 0
Commit Graph

361 Commits

Author SHA1 Message Date
Thaddeus Crews b1792e5fb5
Merge pull request #109309 from dsnopek/gdextension-startup-callback-after-reload
GDExtension: Call startup callback only after reload is fully finished
2025-08-07 10:40:35 -05:00
David Snopek 92d9227d4a GDExtension: Call startup callback only after reload is fully finished 2025-08-05 08:30:39 -05:00
Yarvin 1aca96d139 Postpone adding new extension plugins to the editor.
----

Extension EditorPlugins added during Hot Reload on Initialization level
Editor were being attached to the scene tree before all the GDExtension
Classes (such as already loaded resources) are re-initialized.
2025-08-04 21:57:22 +02:00
David Snopek e325c4bdba GDExtension: Prevent compatibility breakage from change to `ClassDB::instantiate()` for unexposed classes 2025-07-14 14:09:23 -05:00
A Thousand Ships f11aff3841
Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
David Snopek d5eb66947b Fix minor inconsistencies and errors in `gdextension_interface.h` 2025-06-22 07:56:00 -05:00
David Snopek 3b7e34556c GDExtension: Always run shutdown callback before deinitializing any levels 2025-06-18 07:51:12 -05:00
Lukas Tenbrink b13a0e1834 Rename `String::resize` to `resize_uninitialized`, to better communicate to callers that new characters must be initialized. 2025-06-11 18:13:02 +02:00
Rémi Verschelde e9775a0c57
Merge pull request #106030 from raulsntos/gdextension/main-loop-callbacks
[GDExtension] Add function to register main loop callbacks
2025-06-10 12:29:52 +02:00
Raul Santos 73488f5afd
[GDExtension] Add function to register main loop callbacks 2025-06-10 04:55:20 +02:00
David Snopek e4aaf9fbc6 GDExtension: Check if class without recreate callback is creatable, before marking whole extension as unreloadable 2025-06-09 10:34:57 -05:00
Thaddeus Crews cc4bbf78fb
Merge pull request #105345 from Zylann/gdextension_print_version
Print Godot version when an extension is found to be incompatible
2025-06-04 10:34:24 -05:00
Michael Alexsander 454e4f817c
Make build profile project detection also set build options 2025-06-03 11:11:33 -03:00
Thaddeus Crews d237e31a89
Style: Remove redundant `DEBUG_METHODS_ENABLED`
• Replaced with functionally identical and far more ubiquitous `DEBUG_ENABLED`
2025-05-15 13:09:41 -05:00
Thaddeus Crews 5b935881fc
Typed array equality operator logic updated
• Instead of calling to `_ref`, the same effect is achieved by calling to the base class assignment operator
• No longer need to be expose `_ref`; set back to private & remove reference from gdextension_interface
2025-05-13 14:41:16 -05:00
Lukas Tenbrink ec32dae1da Rename `_strlen_clipped` to `strnlen` (and use the system equivalent for `char *` inputs).
Add `strnlen` for `char16_t *` and `wchar_t *`.
2025-05-06 15:17:07 +02:00
Thaddeus Crews 01fc9aee6c
Core: Modernize C headers with C++ equivalents 2025-05-02 08:23:01 -05:00
kobewi 5af4bef46f Inline static variables (part 1) 2025-04-29 18:10:44 +02:00
Thaddeus Crews f8a8d6cf04
Merge pull request #105700 from dementive/config-file-get-improvement
Improve ConfigFile get_sections and get_section_keys by returning Vector<String>
2025-04-27 19:21:31 -05:00
Lukas Tenbrink f2bab45202 Fix `GDExtensionLoader` using the wrong super type in `GDSOFTCLASS`. 2025-04-27 10:28:08 +02:00
dementive b8e44a0000 Improve ConfigFile get_sections and get_section_keys by returning Vector<String> 2025-04-24 20:10:31 -04:00
Marc Gilleron ab36db2cfa Print Godot version when an extension is found to be incompatible 2025-04-13 14:14:23 +02:00
Thaddeus Crews 0fbb22c095
Merge pull request #104432 from YYF233333/dict_iter2
Do not iterate `Dictionary` with `Dictionary::keys()`
2025-04-07 08:43:33 -05:00
Thaddeus Crews 5edb235018
CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
Yufeng Ying 8ae16699c5 Do not use Dictionary::keys() for Dictionary iteration. 2025-04-05 18:42:13 +08:00
Thaddeus Crews abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink fa0a3c9c6e Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`. 2025-03-31 20:49:50 +02:00
Kiro 23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
Thaddeus Crews 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Yyf2333 22b5ec17fb Using iterator pattern instead of List::Element *.
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
2025-03-28 13:29:15 +08:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +01:00
Thaddeus Crews 1b631edf67
Merge pull request #104129 from dsnopek/gdextension-get-used-classes
GDExtension: Add mechanism to get which classes an extension is using
2025-03-17 16:03:27 -05:00
David Snopek 2dff9fef37 GDExtension: Add mechanism to get which classes an extension is using 2025-03-17 15:27:14 -05:00
Thaddeus Crews b377562b52
Merge pull request #91660 from AThousandShips/methodinfo_vec
[Core] Use `Vector` for `MethodInfo::arguments`
2025-03-14 10:06:13 -05:00
Thaddeus Crews c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -05:00
Aaron Franke 97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
Yufeng Ying bebe037abf Add ConstIterator to Dictionary. 2025-03-13 01:28:46 +08:00
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 d9721954e6
[Core] Use `Vector` for `MethodInfo::arguments` 2025-03-10 13:57:53 +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