Adam Scott
4988fa1ece
Force `get_thread_count()` to `1` if single threaded
2024-11-18 22:27:17 -05:00
Thaddeus Crews
323b2d53d7
Merge pull request #98963 from RandomShaper/fix_classdb_deadlock
...
Fix deadlocks related to ClassDB queries about global classes
2024-11-10 12:12:24 -06:00
Silc Lizard (Tokage) Renew
761a20f7a7
Add hint for oneshot & warning when it will be updated continuously
2024-11-11 01:12:45 +09:00
Pedro J. Estébanez
56bdef9f6f
Fix deadlocks related to ClassDB queries about global classes
...
`ClassDB::can_instantiate()` and other reflection methods deadlock if the type is an script global class, when such script indirectly uses a not-yet-registered class. The reason is the `ClassDB` read lock is still held when invoking the `ResourceLoader` to load the class script, which may in turn need to lock for writing (for the class registration).
In particular, this happens with some types related to animation tree, that aren't registered at engine startup, but can happen with others, especially ones from the user. Registration statements are also added for the animation-related types that were lacking them.
2024-11-08 18:15:58 +01:00
Thaddeus Crews
bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
...
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
A Thousand Ships
ec650a2f09
[Core,Drivers] Improve use of `Ref.is_null/valid`
...
Use `is_null` over `!is_valid` and vice versa.
2024-11-01 16:50:11 +01:00
A Thousand Ships
38f9769bc6
[Core] Improve error messages with `vformat`
2024-10-30 15:55:51 +01:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Rémi Verschelde
9ce149c7a3
Merge pull request #93299 from rune-scape/fix-ref
...
Fix RefCounted releasing early and not clearing reference
2024-10-02 15:00:47 +02:00
Danil Alexeev
85dfd89653
Add `@export_tool_button` annotation for easily creating inspector buttons
...
Co-authored-by: jordi <creptthrust@gmail.com>
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
Co-authored-by: Mack <86566939+Macksaur@users.noreply.github.com>
2024-09-27 22:24:15 +01: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
Rémi Verschelde
9d5b59b2ae
Merge pull request #94864 from rune-scape/add-missing-method-bind
...
Add missing CallableCustomMethodPointer for const methods
2024-09-26 12:45:27 +02:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
kobewi
7aef30c2a8
Discard additional redo on commiting actions
2024-09-24 15:47:55 +02:00
rune-scape
a84c480049
Add missing CallableCustomMethodPointer for const methods
2024-09-23 11:46:10 -07:00
rune-scape
cee0e6667a
Refactor ref-counting code and fix ref counted releasing before aquiring
2024-09-21 11:36:58 -07:00
Rémi Verschelde
dd7cb059f5
Merge pull request #87344 from AThousandShips/signal_connected
...
[Core] Add way to check if a signal has any connections
2024-09-21 11:50:24 +02:00
Rémi Verschelde
621cadcf65
Merge pull request #97168 from Hilderin/fix-reloading-scripts-already-in-use
...
Fix reloading scripts already in use
2024-09-20 21:35:08 +02:00
Hilderin
9638220473
Fix reloading scripts already in use
2024-09-20 12:12:24 -04:00
A Thousand Ships
203d3be200
[Core] Add way to check if a signal has any connections
...
Added to `Object` and `Signal`
2024-09-20 16:39:09 +02:00
Haoyu Qiu
818acb4290
Make editor use translation domains
...
How editor plugins use this feature:
1. Pick a unique translation domain name.
2. `_enter_tree()`: load translations into that translation domain.
3. Call `set_translation_domain()` for its root UI node.
4. `_exit_tree()`: remove that translation domain.
Plugins can also set the translation domain to `godot.editor` for
nested nodes that should use editor translations. `EditorFileDialog`
automatically does this.
2024-09-17 13:09:44 +08:00
Haoyu Qiu
c5d147b9b5
Allow configuring which translation domain Object.tr uses
2024-09-17 13:09:44 +08:00
Clay John
48403b5358
Merge pull request #96959 from RandomShaper/revamp_languages_exit
...
WorkerThreadPool: Revamp interaction with ScriptServer
2024-09-16 16:05:57 -07:00
Pedro J. Estébanez
5d371e3378
WorkerThreadPool: Add safety point between languages finished and pool termination
2024-09-16 18:20:10 +02:00
Pedro J. Estébanez
2a483fa9ba
WorkerThreadPool: Refactor running and exit-requested as runlevels
2024-09-16 18:06:22 +02:00
Pedro J. Estébanez
2640960706
WorkerThreadPool: Improve logic
...
- The main thread function and the collaborative wait functions have a much more similar structure than earlier, which yields (pun intended) better maintainability.
- Also, there are not assertions anymore about the reason for ending a wait being valid, because spurious awakes can happen and so the assert would fail without that indicating an issue.
2024-09-16 18:03:36 +02:00
Rémi Verschelde
f7daa0fb2f
Merge pull request #96856 from RandomShaper/selfdestruct_correctness
...
Object: Let debug lock handle callee destruction within call chain gracefully
2024-09-16 13:35:06 +02:00
Rémi Verschelde
8ebfd89359
Merge pull request #96024 from Ryan-000/expose_get_rpc_config
...
Expose `get_rpc_config` and `get_node_rpc_config`
2024-09-16 13:34:34 +02:00
Pedro J. Estébanez
e2fd88ed91
Revert "WorkerThreadPool: Enhance lifetime for more flexibility"
...
This reverts commit 2d1dd41ef5 .
2024-09-13 14:39:11 +02:00
A Thousand Ships
df29cc696f
[Core] Optionally delete `Ref` `nullptr` comparisons
...
Adds an optional (default false) compile option to enable comparing
`Ref` to `nullptr` to ensure correct use, as well as future expandsion
for more general dev checks (enabled with `dev_mode`)
2024-09-12 11:26:49 +02:00
Rémi Verschelde
23e51c3cb5
Merge pull request #92888 from Hilderin/fix-unable-to-use-resourceLoader-in-c#-after-threaded-load
...
Fix inability to use ResourceLoader in C# after threaded load in GDScript
2024-09-12 09:25:05 +02:00
Rémi Verschelde
cd9da3344f
Merge pull request #95292 from aaronp64/is_parent_class_perf
...
Improve `ClassDB::_is_parent_class` performance
2024-09-12 09:17:39 +02:00
Pedro J. Estébanez
10e2318bde
Object: Let debug lock handle callee destruction within call chain gracefully
...
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-09-12 08:51:24 +02:00
Hilderin
27d1fb63e1
Fix Unable to use ResourceLoader in C# after threaded load in GDScript #92798
2024-09-11 19:03:55 -04: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
658b8a8704
Merge pull request #96760 from RandomShaper/wtp_langs_exit_thread
...
Make use of languages' thread enter/exit more correct
2024-09-11 12:35:07 +02:00
Pedro J. Estébanez
c8acf561ef
Make languages' thread enter/exit more resilient
2024-09-10 17:22:32 +02:00
Pedro J. Estébanez
2d1dd41ef5
WorkerThreadPool: Enhance lifetime for more flexibility
2024-09-10 11:08:51 +02:00
rune-scape
0dde931bc9
StringName: Fix empty hash
...
+Fixed compat hashes
2024-09-09 13:30:02 -07:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Rémi Verschelde
58b3481eaf
Merge pull request #89649 from dalexeev/core-bind-and-doc-iter-virtual-methods
...
Core: Bind and document iterator API virtual methods
2024-09-06 11:10:58 +02:00
Ryan
8835f326b1
Expose get_rpc_config and get_node_rpc_config
...
add documentation
Update doc/classes/Node.xml
change name of get_node_rpc_config to get_rpc_config
Co-Authored-By: moondog <159832633+dog-on-moon@users.noreply.github.com>
Co-Authored-By: Micky <66727710+Mickeon@users.noreply.github.com>
2024-09-04 15:45:22 -04:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Rémi Verschelde
13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
...
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Jan Haller
82b2a58f4c
Fix `bool` type appearing in GDExtension header
2024-08-31 22:40:48 +02:00
Rémi Verschelde
4c0ce657d5
Merge pull request #96322 from RandomShaper/wtp_info
...
WorkerThreadPool: Print info about thread count at startup
2024-08-30 23:37:58 +02:00
Danil Alexeev
49bcdf78a7
Core: Сheck `r_error` after calling `callp()`
2024-08-30 21:09:30 +03:00
Pedro J. Estébanez
db4672f83f
WorkerThreadPool: Print info about thread count at startup
2024-08-30 13:04:46 +02:00
Rémi Verschelde
a5830f6eb9
Merge pull request #96317 from Chaosus/objectdb_write_path_instead_of_name_at_cleanup
...
Write path instead of name at verbose output of leaked instances
2024-08-30 11:43:13 +02:00
Rémi Verschelde
909629d9f9
Merge pull request #96166 from AThousandShips/more_lock_raii
...
Use `MutexLock` in more places
2024-08-30 09:59:19 +02: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
Chaosus
75055a8278
Write path instead of name at verbose output of leaked instances
2024-08-30 10:58:50 +03:00
rune-scape
154049ce17
StringName Dictionary keys
...
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
demolke
c409e6d722
Import/export GLTF extras to node->meta
...
This is useful for custom tagging of objects with properties (for example in Blender) and having this available in the editor for scripting.
- Adds import logic to propagate the parsed GLTF extras all the way to the resulting Node->meta
- Adds export logic to save Godot Object meta into GLTF extras
- Supports `nodes`, `meshes` and `materials` (in GLTF sense of the words)
2024-08-29 19:17:04 +02:00
A Thousand Ships
e33fdb4296
Use `MutexLock` in more places
2024-08-29 14:12:59 +02:00
Hilderin
ef6f873938
Fix editor needs restart after adding GDExtensions
2024-08-29 06:15:32 -04:00
Pedro J. Estébanez
5dade0e08b
WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks
2024-08-28 15:26:08 +02:00
Rémi Verschelde
3e8d051a4a
Merge pull request #94068 from dalexeev/core-remove-is-gpl-reversed
...
Core: Remove unused method `_is_gpl_reversed()`
2024-08-28 00:11:58 +02:00
Danil Alexeev
be5068d44b
Core: Bind and document iterator API virtual methods
2024-08-27 21:57:22 +03:00
Thaddeus Crews
231f3323d3
Core: Fix unreachable code
2024-08-27 10:26:06 -05:00
Rémi Verschelde
9dfc41568a
Merge pull request #95984 from timothyqiu/what-identifier
...
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
Danil Alexeev
2d8f6c1b1d
GDScript: Fix message when calling non-tool function in tool mode
2024-08-27 12:30:15 +03:00
Haoyu Qiu
8bf4ecc026
Add `String.is_valid_unicode_identifier()`
...
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
Rémi Verschelde
0ba0be27c7
Merge pull request #94169 from RandomShaper/wtp_rl_prize
...
Batch of fixes for `WorkerThreadPool` and `ResourceLoader`
2024-08-26 10:51:25 +02:00
Rémi Verschelde
b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
...
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Rémi Verschelde
091212b4f1
Merge pull request #93602 from aaronp64/inspector_latency
...
Improve Editor Inspector/Theme item lookup performance
2024-08-22 00:10:26 +02:00
Pedro J. Estébanez
f4d76853b9
WorkerThreadPool (plus friends): Overhaul unlock allowance zones
...
This fixes a rare but possible deadlock, maybe due to undefined behavior. The new implementation is safer, at the cost of some added boilerplate.
2024-08-21 12:22:52 +02:00
Pedro J. Estébanez
28619e26cf
ResourceLoader: Enhance deadlock prevention
...
Benefits:
- Simpler code. The main load function is renamed so it's apparent that it's not just a thread entry point anymore.
- Cache and thread modes of the original task are honored. A beautiful consequence of this is that, unlike formerly, re-issued loads can use the resource cache, which makes this mechanism much more performant.
- The newly added getter for caller task id in WorkerThreadPool allows to remove the custom tracking of that in ResourceLoader.
- The check to replace a cached resource and the replacement itself happen atomically. That fixes deadlock prevention leading to multiple resource instances of the same one on disk. As a side effect, it also makes the regular check for replace load mode more robust.
2024-08-21 12:19:43 +02:00
aaronp64
7593e55527
Improve Editor Inspector/Theme item lookup performance
...
Changes to reduce the latency between changing node selection in the editor and seeing the new node reflected in the Inspector tab
- Use Vector instead of List for ThemeOwner::get_theme_type_dependencies and related functions
- Use Vector instead of List for ThemeContext::themes, set_themes(), and get_themes()
- Add ClassDB:get_inheritance_chain_nocheck to get all parent/ancestor classes at once, to avoid repeated ClassDB locking overhead
- Update BIND_THEME_ITEM macros and ThemeDB::update_class_instance_items to use provided StringNames for call to ThemeItemSetter, instead of creating a new StringName in each call
These changes reduce the time taken by EditorInspector::update_tree by around 30-35%
2024-08-20 13:39:40 -04:00
Daylily-Zeleen
3d575801ce
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-20 20:19:02 +08:00
Pedro J. Estébanez
32b7f835d8
Avoid potential crash on signal disconnection
2024-08-19 12:18:04 +02:00
voidedWarranties
d65ea6fb9c
Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`
2024-08-17 21:09:32 -07:00
Haoyu Qiu
7343dc3a5d
Split TranslationServer into its own file
2024-08-15 15:00:47 +08:00
aaronp64
6e5175592d
Improve ClassDB::_is_parent_class performance
...
Change ClassDB::_is_parent_class to use ClassInfo::inherits_ptr, instead of looking up each inherited class name.
2024-08-08 13:16:42 -04:00
Hilderin
1ed723bd19
Fix global class cache file not present when no class name
2024-07-31 16:57:25 -04:00
Alvin Wong
c9f4436073
Fix use-after-free in WorkerThreadPool
2024-07-29 14:26:48 +02:00
Rémi Verschelde
293c0f7646
Merge pull request #94526 from RandomShaper/wtp_rl_prize_prequel
...
Batch of fixes for WorkerThreadPool and ResourceLoader (safe set)
2024-07-19 11:11:03 +02:00
Rémi Verschelde
ab67408390
Merge pull request #94238 from RandomShaper/ref_is_now_rc
...
Make errors on `RefCounted.free()` more accurate
2024-07-17 11:43:32 +02:00
Pedro J. Estébanez
5b5cdf2414
Fixup recent changes to threading concerns
...
ResourceLoader:
- Fix invalid tokens being returned.
- Remove no longer written `ThreadLoadTask::dependent_path` and the code reading from it.
- Clear deadlock hazard by keeping the mutex unlocked during userland polling.
WorkerThreadPool:
- Include thread call queue override in the thread state reset set, which allows to simplify the code that handled that (imperfectly) in the ResourceLoader.
- Handle the mutex type correctly on entering an allowance zone.
CommandQueueMT:
- Handle the additional possibility of command buffer reallocation that mutex unlock allowance introduces.
2024-07-16 11:03:02 +02:00
Pedro J. Estébanez
10b543f8a7
WorkerThreadPool: Fix wrong sync logic breaking task map integrity
2024-07-15 12:15:25 +02:00
Pedro J. Estébanez
76bfe8e0fd
Make errors on RefCounted.free() more accurate
2024-07-15 08:51:42 +02:00
Rémi Verschelde
fe5d567917
Merge pull request #93942 from MikeSchulze/73525
...
Fix GDScript analyzer error when instantiating EditorPlugins.
2024-07-11 09:41:09 +02:00
baptr
810fcc7431
Fix gdscript analyzer error when instantiating EditorPlugins.
...
Editor code is not instantiable outside of the editor
(1d14c054a1/core/object/class_db.cpp (L369) ).
This is fine for editor plugins and the like, but the GDScript analyzer
balks at it, causing F5 runs to fail: #73525 .
Instead, we really just want to know if the type is abstract - so add
a new ClassDB method to check that and nothing else.
Update core/object/class_db.cpp
Apply code review comments
Co-Authored-By: Bryce <1522777+baptr@users.noreply.github.com>
2024-07-10 10:24:57 +02:00
David Snopek
91fcdff01e
GDExtension: Fix setting base class properties on a runtime class
2024-07-08 12:33:55 -05:00
Danil Alexeev
151f34bb80
Core: Remove unused method `_is_gpl_reversed()`
2024-07-08 12:31:09 +03:00
Pedro J. Estébanez
f2f9a6b8a1
WorkerThreadPool: Fix wrong pointer used in the case of BinaryMutex
2024-06-28 19:46:55 +02:00
Rémi Verschelde
6f8b90e412
Merge pull request #93032 from RandomShaper/wtp_antilock
...
GDScript: Avoid deadlock possibility in multi-threaded load
2024-06-28 14:42:48 +02:00
Raul Santos
175e5bcf4e
Lookup method also in base scripts of a PlaceHolderScriptInstance
2024-06-22 08:11:48 +02:00
Pedro J. Estébanez
03d14e436b
WorkerThreadPool: Refactor deadlock prevention collaboration into a generic mechanism
...
This is strictly beyond a refactor because it also changes when the mutexes are relocked,
but that's only for extra safety.
2024-06-19 14:01:54 +02:00
Rémi Verschelde
0a83e7c5da
Merge pull request #93288 from rune-scape/gdextension-const-stringname-weird
...
Object: Use const correct `GDExtensionConstStringNamePtr`
2024-06-18 17:59:25 +02:00
rune-scape
ca916a536a
Object: use correct GDExtensionConstStringNamePtr
2024-06-17 19:06:40 -07:00
Jovan Gerodetti
21586da50e
Make profiling_get_frame_data call the correct GDVIRTUAL method.
2024-06-18 00:53:25 +02:00
Pedro J. Estébanez
21c03d1956
WorkerThreadPool: Fix thread message queue not restored after overridden in a task
...
Also, simplifies the thread override teardown in MessageQueue.
2024-06-13 10:31:08 +02:00
Rémi Verschelde
5bab95a556
Merge pull request #92827 from raulsntos/core/node-to_string
...
Use GDExtension `to_string` in Node
2024-06-12 10:00:29 +02:00
Raul Santos
29bf60cc02
Use GDExtension `to_string` in Node
...
Matches the `Object::to_string` implementation.
2024-06-11 17:40:51 +02:00
Rémi Verschelde
94929439b6
Revert "Fix method name for custom callable"
...
This reverts commit e88095ed8f .
Fixes #92695 .
2024-06-11 11:02:03 +02:00
Chris Cranford
8577340501
Expose several EngineDebugger methods and signals as plugin callbacks
2024-06-10 19:46:23 -04:00
Pedro J. Estébanez
f61c63e3a1
Avoid editor error reporting using resource loader thread's call queues
2024-05-31 09:42:37 +02:00
Rémi Verschelde
4808f24312
Merge pull request #92350 from 4d49/undo-redo-fix-callable-name
...
Fix `UndoRedo` method name for custom `Callable`
2024-05-28 15:49:26 +02:00
Mansur Isaev
e88095ed8f
Fix method name for custom callable
2024-05-25 10:23:10 +04:00
Mikael Hermansson
e312f147aa
Fix `ClassDB` not checking for `API_EDITOR_EXTENSION`
2024-05-25 00:23:12 +02:00
David Snopek
62f9365b21
Don't use `ERR_PRINT_ONCE()` for runtime class error because it will hide errors
2024-05-21 13:55:56 -05:00
Rémi Verschelde
bdefe53992
Merge pull request #91909 from KoBeWi/have_fun_reviewing_this
...
Use Core/Scene stringnames consistently
2024-05-14 12:07:03 +02:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
Rémi Verschelde
5cb9a748d6
Merge pull request #91630 from RandomShaper/enh_mat_sh_update
...
Let materials' shaders update happen on loader threads
2024-05-13 17:32:11 +02:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
David Snopek
14506a4282
GDExtension: Prevent crash during shutdown as singletons are deleted
2024-05-10 13:17:36 -05:00
Pedro J. Estébanez
b834037841
Object: Add missing lock
2024-05-08 17:41:40 +02:00
Rémi Verschelde
a1905b8e7d
Merge pull request #91570 from Naros/preferred_file_name_casing_default
...
Add default implementation of `ScriptLanguageExtension::preferred_file_name_casing`
2024-05-07 09:04:48 +02:00
Pedro J. Estébanez
187e5ef258
Let materials' shaders update happen on loader threads
2024-05-06 19:40:00 +02:00
Chris Cranford
fdc5b42646
Add default implementation of `ScriptLanguageExtension::preferred_file_name_casing`.
2024-05-04 18:50:04 -04:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
K. S. Ernest (iFire) Lee
f9b488508c
Add PackedVector4Array Variant type
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
Jan Haller
27a637d287
GDExtension: provide `free_property_list_func` with length of array
2024-04-27 14:13:17 +02:00
Rémi Verschelde
2e92fb00d4
Merge pull request #90540 from Repiteo/core/type-info-use-type-traits
...
Core: Use `<type_traits>` where applicable
2024-04-24 18:55:07 +02:00
Rémi Verschelde
e50867ae34
Merge pull request #90776 from Naros/avoid-script-language-not-overridden
...
Defer call to `set_break_language`
2024-04-19 16:27:33 +02:00
Rémi Verschelde
0b8042180e
Merge pull request #90447 from dsnopek/gdextension-hot-reload-not-classdb-instantiate
...
Fix GDExtension hot reload for classes not created via `ClassDB::instantiate()`
2024-04-19 16:27:26 +02:00
Pedro J. Estébanez
8192d1cbc7
WorkerThreadPool: Fix yield-over for not-yet-started tasks
2024-04-18 19:25:19 +02:00
Rémi Verschelde
866f2c56f7
Merge pull request #90674 from RadiantUwU/change_stuff
...
Implement `Object.remove_user_signal(signal: StringName)`
2024-04-18 12:24:34 +02:00
Radiant
e263b11cdd
Implement remove_user_signal()
...
Co-authored-by: Timothe Bonhoure <tbonhoure@ymail.Com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-04-18 11:22:59 +03:00
Pedro J. Estébanez
9653bcaa43
WorkerThreadPool: Polish yielding (fix corner case, remove misleading warning)
2024-04-17 18:32:14 +02:00
Chris Cranford
d0fa2c3cfa
Defer call to set_break_language
2024-04-16 20:01:53 -04:00
Thaddeus Crews
127025679b
Core: Use `<type_traits>` where applicable
2024-04-11 13:13:59 -05:00
Pedro J. Estébanez
1b104ffcd8
WorkerThreadPool: Support daemon-like tasks (via yield semantics)
2024-04-10 18:47:42 +02:00
Pedro J. Estébanez
71facbaa88
WorkerThreadPool: Fix data race
2024-04-10 18:47:41 +02:00
A Thousand Ships
64146cb7f3
[Core] Add iteration support to `Array`
2024-04-10 14:49:34 +02:00
David Snopek
87aec2745d
Fix GDExtension hot reload for classes not created via `ClassDB::instantiate()`
2024-04-09 13:40:33 -05:00
Rémi Verschelde
48cf825839
Merge pull request #89451 from AThousandShips/emit_fix
...
[Core] Disconnect one-shot signals before calling callbacks
2024-03-24 01:15:52 +01:00
Rémi Verschelde
d5f944ff10
Merge pull request #89261 from paulloz/core/fix-script-reloading-outside-script-editor
...
Fix how scripts reload outside of ScriptEditor
2024-03-24 01:15:23 +01:00
A Thousand Ships
db455e5bee
[Core] Disconnect one-shot signals before calling callbacks
...
This prevents infinite recursion with one-shot connections emitting
themselves
2024-03-20 20:24:44 +01:00
Paul Joannon
63674648fb
Fix how scripts reload outside of ScriptEditor
2024-03-18 10:29:06 +01:00
Rémi Verschelde
68ad520da4
Merge pull request #89519 from YeldhamDev/are_you_kidding_me_right_now
...
Fix translation fallback not working in the Project Manager
2024-03-15 17:01:34 +01:00
Michael Alexsander
11937d3a79
Fix translation fallback not working in the Project Manager
2024-03-15 12:00:20 -03:00
Rémi Verschelde
7d4804e945
Merge pull request #89490 from AThousandShips/queue_print_fix
...
[Core] Prevent further infinite recursion when printing errors
2024-03-15 10:40:08 +01:00
A Thousand Ships
14897f6dd7
[Core] Prevent further infinite recursion when printing errors
2024-03-14 22:44:22 +01:00
Rémi Verschelde
4163fb9c26
Merge pull request #89489 from YeldhamDev/yet_another_etr_fix
...
Fix some translations not properly falling back
2024-03-14 22:35:41 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
Michael Alexsander
05f6c56a48
Fix some translations not properly falling back
2024-03-14 16:38:12 -03:00
A Thousand Ships
0c19d0f5a0
Add extension support for argument count to `ScriptInstance`
2024-03-13 22:40:09 +01:00
Rémi Verschelde
a1c476f9d7
Merge pull request #87680 from AThousandShips/the_angry_count
...
Add methods to get argument count of methods
2024-03-13 22:16:43 +01:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove `run_in_subprocess` dependency
2024-03-11 13:20:09 -05:00
Rémi Verschelde
0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
...
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 14:01:23 -05:00
A Thousand Ships
59bcc2888c
Add methods to get argument count of methods
...
Added to:
* `Callable`s
* `Object`s
* `ClassDB`
* `Script(Instance)`s
2024-03-10 11:02:43 +01:00
Thaddeus Crews
d9fa40f2df
Enforce `\n` eol for Python writes
...
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
Thaddeus Crews
9903e6779b
Enforce template syntax `typename` over `class`
2024-03-07 22:39:09 -06:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
Rémi Verschelde
9b94c80e9a
Merge pull request #89175 from paulloz/dotnet/fix-exported-nodes-reset-without-build-artifacts
...
Hint fallback property as node when it is a node
2024-03-06 13:32:00 +01:00
Rémi Verschelde
b85337b7ea
Merge pull request #87222 from RandomShaper/fix_obj_leaks_report
...
Fix inaccuracies in the report of leaked objects
2024-03-06 13:16:48 +01:00
Pedro J. Estébanez
fdc47adf1e
Help compilers optimize Object::cast_to()
2024-03-06 12:45:26 +01:00
Sofox
f249667dc8
Fixed MERGE_ALL commit from repeating actions
2024-03-05 23:40:26 +00:00
Paul Joannon
e7c90e0884
Hint fallback property as node when it is a node
2024-03-05 12:47:11 +01:00
RedMser
2bd714e34e
Allow configuring the script filename casing rule
...
Defaults to "Auto", which detects the casing based on the
preference of the currently selected language (C# for example
prefers PascalCase whereas GDScript prefers snake_case).
2024-03-05 09:43:29 +01:00
Rémi Verschelde
50ca190286
Merge pull request #89055 from dsnopek/gdextension-script-free-lists
...
GDExtension: Pass count when freeing method and property lists for script instances
2024-03-04 13:33:45 +01:00
David Snopek
0badf07657
GDExtension: Pass count when freeing method and property lists for script instances
2024-03-02 10:13:37 -06:00
Rémi Verschelde
c1377920cd
Merge pull request #86743 from Mickeon/autocompletion-optimise-object
...
Optimise comparisons for Object's `get_argument_options`
2024-03-01 14:56:06 +01:00
Micky
cd2032a90b
Optimise Object's `get_argument_options`
2024-02-29 18:00:54 +01:00
Rémi Verschelde
9101067666
Merge pull request #88958 from 398utubzyt/gltf/use-correct-name
...
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-29 13:54:35 +01:00
Michael Alexsander
d70c45b5c8
Add option to add built-in strings in the POT generation
2024-02-28 11:34:26 -03:00
398utubzyt
4c69e8c026
Fix compilation errors when `DISABLE_DEPRECATED` is defined
2024-02-28 05:09:29 -08:00
Rémi Verschelde
8b9a6cfa9f
Merge pull request #88870 from dsnopek/gdextension-fix-runtime-class-ancestor-methods
...
GDExtension: Fix calling ancestor methods on runtime classes
2024-02-27 10:18:31 +01:00
David Snopek
3335528954
GDExtension: Fix calling ancestor methods on runtime classes
2024-02-26 10:23:23 -06:00
Robert Yevdokimov
13e82094ee
Remove word duplicates in comments and strings, and fix casing and punctuation
2024-02-23 17:28:28 -05:00
Rémi Verschelde
45dd2bd31e
Merge pull request #88683 from dsnopek/runtime-classes-in-modules
...
Allow registering "runtime classes" in modules (not just GDExtension)
2024-02-23 11:29:46 +01:00
Raul Santos
5ba92e5a57
Fix some DEFVALs to use the right type
...
- Use `StringName()` in DEFVAL for StringNames.
- Use `Variant()` in DEFVAL for Variants.
2024-02-23 01:50:18 +01:00
David Snopek
4d0b989bb8
Allow registering "runtime classes" in modules (not just GDExtension)
2024-02-22 14:50:41 -06:00
Rémi Verschelde
b652a81da7
Merge pull request #82554 from dsnopek/gdextension-placeholders
...
Allow registering "runtime classes" from GDExtension
2024-02-20 17:13:24 +01:00
David Snopek
ea75307a11
Allow registering "runtime classes"
2024-02-20 09:20:58 -06:00
Rémi Verschelde
09df8f4a56
Merge pull request #87952 from paulloz/dotnet/byebye-signal-callback-generation
...
Disable signal callback generation in C#
2024-02-15 15:44:55 +01:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Paul Joannon
9fa2355cef
Disable signal callback generation in C#
2024-02-14 13:26:45 +01:00
Rémi Verschelde
306dd5be3f
Merge pull request #87758 from dsnopek/gdextension-register-virtual-method
...
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 23:29:37 +01:00
David Snopek
be11002e41
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 13:29:18 -06:00
Thaddeus Crews
b3cac9c092
Allow Ref `instantiate` to accept constructor args
2024-02-10 13:19:14 -06:00
Rémi Verschelde
1774c17b64
Merge pull request #87625 from YuriSizov/editor-lightweight-script-previews
...
Generate script resource preview without parsing
2024-02-09 12:34:36 +01:00
Rémi Verschelde
63d6bda8e9
Merge pull request #87871 from vittorioromeo/use_v_shorthand
...
Use `_v` shorthand for type traits and `if constexpr` where appropriate
2024-02-05 15:00:23 +01:00
EterDelta
fee70558f8
Expose NOTIFICATION_EXTENSION_RELOADED to ClassDB
2024-02-02 14:57:00 -05:00
vittorioromeo
55ed34e37c
Use '_v' shorthand for type traits and 'if constexpr' where appropriate
2024-02-02 15:43:21 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary `this->` expressions
2024-01-29 09:59:18 +01:00
Yuri Sizov
9c919ea285
Generate script resource preview without parsing
2024-01-26 19:04:10 +01:00
Yuri Sizov
412f5b3422
Merge pull request #87353 from OverloadedOrama/max-undo-steps
...
Implement maximum undo steps in UndoRedo
2024-01-24 14:08:25 +01:00
Emmanouil Papadeas
c73bfd5d81
Implement maximum undo steps in UndoRedo
2024-01-22 21:38:10 +02:00
Rémi Verschelde
266ae93291
Merge pull request #87331 from KoBeWi/you_can_ref_count_on_that
...
Simplify RefCounted check in `free()`
2024-01-18 16:35:38 +01:00
Rémi Verschelde
baf87e2717
Merge pull request #87294 from vnen/allow-free-callable
...
Allow `free()` to be used as Callable
2024-01-18 16:35:14 +01:00
George Marques
b4e08eb752
Allow `free()` to be used as Callable
...
This method is registered in a special way so ClassDB doesn't naturally
know about its existence. Here it is hardcoded if any other option fail
to check if it is about the `free()` method and, if so, say it exists
and return a Callable.
2024-01-18 09:33:44 -03:00
kobewi
2de8bc00a1
Simplify RefCounted check in free()
2024-01-18 12:29:58 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
...
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
2024-01-17 13:58:29 -05:00
Yuri Sizov
c027aecc2e
Merge pull request #86676 from rune-scape/sparse-script-reload
...
GDScript: Hot-reload changed scripts only
2024-01-17 18:52:54 +01:00
Pedro J. Estébanez
a04a67ead6
Fix inaccuracies in the report of leaked objects
2024-01-15 19:35:14 +01:00
Rémi Verschelde
dc79e956b6
Merge pull request #86587 from RandomShaper/wtp_enhance
...
Enhance & fix `WorkerThreadPool`
2024-01-11 17:38:09 +01:00
Pedro J. Estébanez
a731774813
WorkerThreadPool: Avoid most runtime allocations
...
Just a little optimization.
**NOTE:**
With `RID_Owner` we could replace each pair of `PagedAllocator` and
`HashMap`-of-ids-to-pointers. However, that would force us to expose
`RID` as the task/group id, instead of `int`, which would break the
API. Too bad. Let's wait until Godot 5.0.
2024-01-08 12:46:31 +01:00
Pedro J. Estébanez
ae418f9469
WorkerThreadPool: Avoid deadlocks when CommandQueueMT is involved
...
This commit lets CommandQueueMT play nicely with the WorkerThreadPool to avoid
non-progressable situations caused by an interdependence between both. While a
command queue is being flushed, it allows the WTP to release its lock while tasks
are being awaited so they can make progress in case they need in turn to post
to the command queue.
2024-01-08 12:45:43 +01:00
Pedro J. Estébanez
9444d297ed
WorkerThreadPool: Overhaul scheduling and synchronization
...
This commits rewrites the sync logic in a way that the
`use_system_threads_for_low_priority_tasks` setting, which was added due to
the lack of a cross-platform wait-for-multiple-objects functionality, can be
removed (it's as if it was effectively hardcoded to `false`).
With the new implementation, we have the best of both worlds: threads don't
have to poll, plus no bespoke threads are used.
In addition, regarding deadlock prevention, since not every possible case of
wait-deadlock could be avoided, this commits removes the current best-effort
avoidance mechanisms and keeps only a simple, pessimistic way of detection.
It turns out that the only current user of deadlock prevention, ResourceLoader,
works fine with it and so every possible situation in resource loading is now
properly handled, with no possibilities of deadlocking. There's a comment in
the code with further details.
Lastly, a potential for load tasks never being awaited/disposed is cleared.
2024-01-08 12:45:42 +01:00
Muller-Castro
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 -03:00
rune-scape
cde478bda6
Hot-reload only changed scripts
2024-01-02 17:56:52 -08:00
Rémi Verschelde
3dae50aa4f
Merge pull request #86520 from touilleMan/fix-ScriptLanguageExtension-_find_function-documentation
...
Fix `ScriptLanguageExtension::_find_function` documentation
2024-01-02 18:05:26 +01:00
Rémi Verschelde
35d1ffb8de
Merge pull request #86259 from TitanNano/jovan/fix_MethodInfo_eq
...
Include `name` field in MethodInfo operator ==
2024-01-02 15:09:02 +01:00
Emmanuel Leblond
0124b513cd
Fix `ScriptLanguageExtension::_find_function` documentation
2023-12-26 14:05:53 +01:00
msreis
f1cc14d525
Fix missing time for some script functions in profiler
...
Fixes the issue by adding a mechanism by which the functions that were
previously disappearing can be profiled too. This is optional with
an editor setting, since collecting more information naturally slows the engine
further while profiling.
Fixes #23715 , #40251 , #29049
2023-12-19 19:42:21 +01:00
Alfonso J. Ramos
e7e35e8366
Expose `Script.get_global_name()`
2023-12-18 15:13:09 +01:00
Jovan Gerodetti
179c92eb0b
Include name field in MethodInfo operator ==
2023-12-17 12:42:14 +01:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Yuri Sizov
f16057522e
Merge pull request #85770 from Repiteo/make-virtuals-refactor-and-fix
...
Refactor and fix `make_virtuals.py`
2023-12-08 16:58:44 +01:00
Thaddeus Crews
c9a4086da6
Fix EncodeT assignment in make_virtuals.py
...
• Adding EncodeT type casting allows generated code to support enum classes.
2023-12-05 10:37:04 -06:00
Thaddeus Crews
ceb6dadf4e
Refactor make_virtuals.py
...
Output reformatted to be comparable to clang-formatted code, without compromising readability
2023-12-05 10:37:03 -06:00
Rémi Verschelde
75d7aab015
Merge pull request #85486 from paulloz/fix/property-groups-shadowing
...
Fix property groups overriding real properties
2023-12-05 13:05:28 +01:00
Pedro J. Estébanez
cba15cd625
Add WorkerThreadPool::get_thread_index()
2023-12-01 16:42:26 +01:00
Paul Joannon
decf3b21ae
Fix property groups overriding real properties
2023-11-28 21:34:18 +01:00
A Thousand Ships
d10617bb3b
[Core] Prevent infinite recursion when printing errors
2023-11-26 18:53:28 +01:00
bruvzg
eb81e8b2dc
Prevent read-after-free in the queued CallableCustomStaticMethodPointer.
2023-11-23 23:22:08 +02:00
Pedro J. Estébanez
fe4850c0d0
Use mingw-std-threads in MinGW builds
2023-11-18 11:56:05 +01:00
Rémi Verschelde
a28476d1cd
Merge pull request #84847 from RandomShaper/lang_init_term
...
Let languages init & finish run without locks held
2023-11-14 19:31:37 +01:00
Pedro J. Estébanez
f05f8c399e
Let languages init & finish run without locks held
2023-11-13 16:06:48 +01:00
kobewi
4296f0a771
Fill remaining global scope constant descriptions
2023-11-13 15:17:10 +01:00
Sofox
4006397339
Reduced output spam from rapid property changes
2023-11-12 14:49:51 +00:00
Rémi Verschelde
96fa86f9a0
Merge pull request #84557 from TheSofox/undo-history-sync-fix
...
Fix for stopping the Undo History being desynchronised from actual Undo queue
2023-11-10 21:55:46 +01:00
Sofox
662522ae5a
Fix for stopping the Undo History being desynchronised from actual Undo queue.
2023-11-10 13:04:12 +00:00
Rémi Verschelde
19db9308ff
Merge pull request #84657 from RandomShaper/lang_srv_threading
...
Make languages bookkeeping thread-safe
2023-11-09 18:09:01 +01:00
Pedro J. Estébanez
f3e96a8548
Make languages bookkeeping thread-safe
2023-11-09 18:03:43 +01:00
Rémi Verschelde
ce53362f98
Merge pull request #83670 from raulsntos/notification-predelete-cleanup
...
Add `NOTIFICATION_PREDELETE_CLEANUP` notification to fix C# `Dispose()`
2023-11-09 11:45:49 +01:00
Pedro J. Estébanez
a1d8fc1af9
Polish & fix editor help cache generation
...
- Isolated the generation of extensions's docs. They're now not cached and refreshed as needed.
- Removed superfluous sorting of the class list.
- Removed some superfluous/unused elements.
- Renamed some items for clarity.
2023-11-02 13:46:37 +01:00
Rémi Verschelde
bc5d5978ea
Merge pull request #83695 from YuriSizov/core-lock-and-key
...
Improve threading in ClassDB and EditorHelp
2023-10-24 10:54:19 +02:00
Rémi Verschelde
792afd2cad
Merge pull request #83588 from voidedWarranties/fix_sle_validate
...
Add `path` option to `ScriptLanguageExtension::_validate`
2023-10-24 10:54:11 +02:00
voidedWarranties
e8309dd192
Add `path` option to `ScriptLanguageExtension::_validate`
2023-10-22 21:49:34 -07:00
Yuri Sizov
9b03fb36f9
Improve threading in ClassDB and EditorHelp
2023-10-20 22:14:04 +02:00
Raul Santos
9750e49c57
Add `NOTIFICATION_PREDELETE_CLEANUP` notification
...
New notification sent after `NOTIFICATION_PREDELETE` to let Objects cleanup at the very end, it should be the last notification sent.
2023-10-20 13:43:42 +02:00
anrp
4c33c60500
Allow coexistance of GDScript and GDExtension virtual methods in the same object
...
Resolves https://github.com/godotengine/godot-cpp/issues/1224
2023-10-19 10:21:26 -04:00
pancelor
d66b1752b8
Fix tilemap live editing while game is running
2023-10-14 18:54:03 -07:00
Rémi Verschelde
71a8ac41fb
Merge pull request #72751 from dalexeev/doc-comment-color
...
Highlight doc comments in a different color
2023-10-09 23:21:54 +02:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
...
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde
336260b7b3
Merge pull request #83002 from AThousandShips/safety_check
...
Replace `sanity` with `safety` for checks
2023-10-09 15:36:49 +02:00
Danil Alexeev
de7cbe8789
Highlight doc comments in a different color
2023-10-08 19:26:10 +03:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +02:00
A Thousand Ships
034c0f1624
Replace `sanity` with `safety` for checks
2023-10-08 16:22:24 +02:00
Mai Lavelle
5e15586ec2
Fixes to allow object-less callables throughout Godot
...
This fixes #81887
2023-10-06 16:31:35 -04:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
Rémi Verschelde
c7ed5d795e
Merge pull request #82799 from CedNaru/feature/expose_free_instance_binding
...
Expose `Object::free_instance_binding()` to GDExtension
2023-10-05 10:10:58 +02:00
Ced Naru
0a246e9b54
expose Object::free_instance_binding to GDExtension
2023-10-04 19:24:37 +02:00
Danil Alexeev
ed0b3c08e1
Core: Fix `Object::has_method()` for script static methods
2023-10-04 19:44:32 +03:00
Rémi Verschelde
dbd4c79c38
Merge pull request #82682 from dsnopek/gdextension-dont-deprecate-script-category
...
GDExtension: Don't deprecate old method of getting script category
2023-10-03 17:26:41 +02:00
David Snopek
cbf939e121
GDExtension: Don't deprecate old method of getting script category
2023-10-02 09:23:27 -05:00
Danil Alexeev
aff767ef07
Fix expected argument count for `Callable` call errors
2023-09-29 20:00:10 +03:00
David Cambré
531f56e830
add GDExtensionScriptInstanceGetClassCategory
...
Change GetClassCategory so it is handled in native directly
2023-09-27 17:45:48 +02:00
Rémi Verschelde
017541bcec
Merge pull request #80527 from raulsntos/dotnet/generate-compat-methods-from-classdb
...
C#: Generate and use compat methods
2023-09-26 13:44:52 +02:00
Rémi Verschelde
7e67b496ff
Merge pull request #82332 from Sauermann/fix-struct-type
...
Fix type of `notification_func`
2023-09-26 08:32:15 +02:00
Rémi Verschelde
55dfbd7761
Merge pull request #80284 from dsnopek/gdextension-hot-reload
...
Implement reloading of GDExtensions
2023-09-26 08:17:28 +02:00