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
Rémi Verschelde
5070db2575
Merge pull request #97208 from kleonc/transform3d_aabb_multiplication_fix_csharp
...
Fix C# `operator *(Transform3D, Aabb)`
2024-09-20 16:06:56 +02:00
Rémi Verschelde
7e62565f1e
Merge pull request #95787 from timothyqiu/domestic
...
Add translation domain
2024-09-20 16:06:23 +02:00
Rémi Verschelde
6bf8a3e3f8
Merge pull request #95449 from SlashScreen/array_functions
...
Add callable support for `find` and `rfind` `Array` methods
2024-09-20 16:06:13 +02:00
kleonc
3bfadeff25
Fix C# operator *(Transform3D, AABB)
2024-09-20 00:18:54 +02:00
aaronp64
714357e55c
Assign return value on Variant operator failure
...
Variant operators for String formatting and "in" could result in errors, which would return from validated_evaluate without assigning r_ret. This would cause scripts using the return value from these operators to get results from previously run code. Updated to return the original String value in the String formatting case, and false for "in" when an error occurs.
2024-09-19 11:22:35 -04:00
Rémi Verschelde
b638967d01
Revert "Return error when no ResourceFormatLoader found."
...
This reverts commit 6df3621b47 .
Fixes #97153 .
2024-09-19 12:41:51 +02:00
Rémi Verschelde
d8a82a8945
Merge pull request #97068 from Mickeon/allow_joy_axis_invalid
...
Allow `JOY_AXIS_INVALID` in InputEventJoypadMotion's `axis`
2024-09-18 17:41:08 +02:00
Rémi Verschelde
57c868483a
Merge pull request #90703 from ZerxZ/core/classdb_get_api_type
...
Expose `ClassDB.class_get_api_type()` method
2024-09-18 17:40:39 +02:00
深淵の鴿子
949d24b388
Expose ClassDB::class_get_api_type method
2024-09-18 15:45:21 +01:00
David Snopek
971e154588
GDExtension: Allow directly getting `ObjectID` from `Variant`
2024-09-17 11:58:55 -05:00
kobewi
41d0971c7e
Fix path error when saving ProjectSettings
2024-09-17 15:05:20 +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
Haoyu Qiu
68d494e24e
Add translation domain
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
a6d84bc0ce
Merge pull request #97059 from Gaktan/fix_weird_msvc_compilation_error
...
Fix weird MSVC compilation error
2024-09-16 13:36:06 +02:00
Rémi Verschelde
46d9db565b
Merge pull request #96904 from RandomShaper/fix_previewer_deadlock
...
ResourceLoader: Fix deadlocks caused by the resource changed feature
2024-09-16 13:35:21 +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
08c5ce1d9c
Merge pull request #96797 from Repiteo/core/typed-dictionary-bracket-fix
...
Core: Fix `operator[]` for typed dictionaries
2024-09-16 13:35:02 +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
Rémi Verschelde
67c9708eb8
Merge pull request #95915 from BlueCube3310/betsy-bc1
...
Betsy: Add caching and BC1 compression support
2024-09-16 13:34:26 +02:00
Rémi Verschelde
91553f5811
Merge pull request #94246 from theashtronaut/fix-astar-partial-path
...
Fix AStar2D, AStar3D, AStarGrid2D from not returning a path when the destination is disabled/solid even with `allow_partial_path` option
2024-09-16 13:34:22 +02:00
Micky
3ecf346f12
Allow JOY_AXIS_INVALID in InputEventJoypadMotion's `axis`
2024-09-16 12:12:27 +02:00
Gaktan
453f32ae0a
Fix weird MSVC compilation error
...
For some reason, MSVC doesn't appreciate uint8 math with enum constants
2024-09-15 23:13:24 +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
Pedro J. Estébanez
e3ddf3d44a
ResourceLoader: Fixup resource changed feature (no. 2)
2024-09-13 11:32:55 +02:00
Rémi Verschelde
b60e16ff62
Merge pull request #96592 from bruvzg/alt_u
...
Add Control+Shift+U (rebindable) action for Unicode input, show hex as it is entered.
2024-09-13 11:21:51 +02:00
Slashscreen
89491f4403
Add callable support for `find` and `rfind` `Array` methods
2024-09-13 00:01:53 -07:00
allison
c46b5af06b
fix astar partial path destination can be solid/disabled
...
* AStar2D, AStar3D and AStarGrid2D will now return a path when allow_partial_path is true even if the destination is a solid/disabled point.
# Conflicts:
# core/math/a_star_grid_2d.cpp
# core/math/a_star_grid_2d.h
2024-09-12 20:09:41 -07:00
Thaddeus Crews
b3d7960df4
Core: Fix `operator[]` for typed dictionaries
2024-09-12 11:10:17 -05: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
bruvzg
b776f55bcb
Add Control+Shift+U (rebindabe) action for Unicode input, show hex as it is entered.
2024-09-12 11:47:24 +03:00
Rémi Verschelde
60ffa9645a
Merge pull request #96864 from KoBeWi/dictionerrory
...
Fix `Dictionary.merge()` type validation
2024-09-12 09:25:42 +02: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
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
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
Hilderin
27d1fb63e1
Fix Unable to use ResourceLoader in C# after threaded load in GDScript #92798
2024-09-11 19:03:55 -04:00
BlueCube3310
606eedb0c9
Betsy: Add caching and BC1 compression support
2024-09-11 23:48:29 +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
kobewi
48d5b8a8b8
Fix Dictionary.merge() type validation
2024-09-11 17:22:49 +02: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
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
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
Rémi Verschelde
0d3d4e67f3
Merge pull request #96501 from scgm0/Allow-class-names-to-be-unicode
...
GDExtension: Allow class names to be unicode
2024-09-11 12:34:49 +02:00
Rémi Verschelde
d1caac5e75
Merge pull request #93856 from timothyqiu/expression-period
...
Fix parsing of `4.` in Expression
2024-09-11 12:34:39 +02:00
Pedro J. Estébanez
c8acf561ef
Make languages' thread enter/exit more resilient
2024-09-10 17:22:32 +02:00
Raul Santos
9e57674550
Remove `get_rid_func` from `GDExtensionClassCreationInfo4`
2024-09-10 12:35:24 +02:00
Pedro J. Estébanez
2d1dd41ef5
WorkerThreadPool: Enhance lifetime for more flexibility
2024-09-10 11:08:51 +02:00
bruvzg
3009073b39
[Resource Loader] Do not check property type for non registered properties.
2024-09-10 11:27:16 +03: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
Rémi Verschelde
effbc07976
Merge pull request #96617 from RandomShaper/res_loader_pending
...
ResourceLoader: Add last resort life-time insurance for tokens
2024-09-06 22:38:41 +02:00
Rémi Verschelde
8aae31b879
Merge pull request #94434 from bruvzg/nonblock_pipes
...
Add support for non-blocking IO mode to `OS.execute_with_pipe`.
2024-09-06 22:38:21 +02:00
Rémi Verschelde
0b4ae20156
Merge pull request #78656 from Repiteo/typed-dictionary
...
Implement typed dictionaries
2024-09-06 22:38:13 +02:00
Pedro J. Estébanez
97197ff5e9
ResourceLoader: Fixup resource changed feature
...
This is a complement to: https://github.com/godotengine/godot/pull/96593
2024-09-06 18:31:51 +02:00
Pedro J. Estébanez
ccd470d33c
ResourceLoader: Add last resort life-time insurance for tokens
2024-09-06 14:00:10 +02:00
bruvzg
10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`.
2024-09-06 14:16:39 +03:00
Rémi Verschelde
05d985496c
Merge pull request #96593 from RandomShaper/res_changed_multiverse
...
ResourceLoader: Add thread-aware resource changed mechanism
2024-09-06 11:11: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
Pedro J. Estébanez
74b9c38d58
ResourceLoader: Add thread-aware resource changed mechanism
2024-09-06 08:57:09 +02:00
Rémi Verschelde
a8e3feb788
Merge pull request #96244 from Repiteo/scons/msvc-__cplusplus
...
SCons: Pass `/Zc:__cplusplus` in MSVC builds
2024-09-05 19:42:51 +02:00
Rémi Verschelde
38447c545e
Merge pull request #93319 from 10Drenth/astar_jump_performance_improvement
...
Improve `AStarGrid2D` performance when jumping is enabled
2024-09-05 19:42:44 +02:00
Thaddeus Crews
4c84cb6ae8
SCons: Pass `/Zc:__cplusplus` in MSVC builds
2024-09-05 11:44:57 -05:00
Martijn
202e197717
Improve AStarGrid2D performance when jumping is enabled
2024-09-05 18:12:43 +02:00
Rémi Verschelde
4629f7d040
Merge pull request #96496 from aXu-AP/lerp-transform
...
Add support for Transform2D/3D in `lerp()`
2024-09-05 17:44:11 +02:00
Pedro J. Estébanez
c450f4d667
ResourceLoader: Simplify handling of unregistered tasks
2024-09-05 09:54:03 +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
Rémi Verschelde
cb21a207b3
Merge pull request #96555 from dalexeev/doc-theme-items-deprecated-experimental
...
Docs: Add missing deprecated/experimental tag support for theme items
2024-09-04 18:55:49 +02:00
Thaddeus Crews
9853a69144
Implement typed dictionaries
2024-09-04 10:27:26 -05:00
Danil Alexeev
2dd043d1f6
Docs: Add missing deprecated/experimental tag support for theme items
2024-09-04 17:49:05 +03:00
Rémi Verschelde
906a4e9db9
Merge pull request #96525 from bruvzg/rem_gl_renderer_incl
...
Store GLES over GL status in the OS to avoid direct renderer includes in the editor.
2024-09-04 11:16:48 +02:00
Rémi Verschelde
69ca549ef9
Merge pull request #92570 from rune-scape/rune-stringname-bits
...
StringName: `operator==` compares in-place
2024-09-04 11:16:32 +02:00
rune-scape
6abd17265b
StringName: operator== compares in-place
2024-09-03 17:31:08 -07: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
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
aXu-AP
7218dd6a3a
Add support for Transform2D/3D in lerp()
...
Implements godotengine/godot-proposals#10579
2024-09-03 16:59:15 +03:00
bruvzg
d4e78b8db5
Store GLES over GL status in the OS to avoid direct renderer includes in the editor.
2024-09-03 16:11:59 +03:00
Rémi Verschelde
262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
...
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +02:00
Rémi Verschelde
866099684c
Merge pull request #92667 from Hilderin/fix-addon-requires-editor-restart
...
Fix Addon requires editor restart to become functional
2024-09-03 11:42:52 +02:00
Hilderin
7dd235905e
Fix Addon requires editor restart to become functional
2024-09-02 16:54:45 -04:00
Rémi Verschelde
88197d4a51
Merge pull request #96462 from RandomShaper/opt_comp_loc
...
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 12:14:01 +02:00
Rémi Verschelde
04f1977199
Merge pull request #96406 from Bromeon/bugfix/bool-in-header
...
Fix `bool` type appearing in GDExtension header
2024-09-02 12:13:42 +02:00
Pedro J. Estébanez
cfb7443e26
TranslationServer: Add fast path for comparison of equal locales
2024-09-02 10:50:14 +02:00
bruvzg
c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-01 18:22:40 +03:00
BlueCube3310
205a10e0ae
Reduce code duplication in FileAccess
2024-09-01 12:39:32 +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
Rémi Verschelde
52d1b0be4a
Merge pull request #96328 from object71/fix-animation-snap-96159
...
Add `modf` function and fix animation editor snap behavior
2024-08-30 23:38:02 +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
Hristo Iliev
fcc8518bce
Add modf function and fix snap behavior
...
Fixes #96159
2024-08-30 17:49:57 +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
acc48797e1
Merge pull request #96303 from MBCX/huf-decompress-x64-only
...
zstd: Make sure `huf_decompress` is only applied to 64-bit x86.
2024-08-30 09:59:55 +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
Rémi Verschelde
4c6bac15a3
Merge pull request #92656 from fire/vsk-json-to-native-4.3
...
Ability to convert native engine types to JSON and back.
2024-08-30 09:58:57 +02:00
Chaosus
75055a8278
Write path instead of name at verbose output of leaked instances
2024-08-30 10:58:50 +03:00
Rémi Verschelde
d5385491f6
Merge pull request #86183 from demolke/extras
...
Import/export GLTF extras to `node->meta` and back
2024-08-30 09:58:47 +02:00
MBCX
6b13236956
Make sure huf_decompress is only applied to 64-bit x86.
2024-08-29 17:12:09 -04: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
K. S. Ernest (iFire) Lee
71bdbcdfb1
Ability to convert native engine types to JSON and back.
...
Implements support for all engine types in JSON encoding/decoding
Co-Authored-By: Juan <reduzio@gmail.com>
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-08-29 10:57:15 -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
David Snopek
6d0a57c9fd
Fix loading GDExtensions in exported games
2024-08-29 09:50:56 -05: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
Rémi Verschelde
cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
...
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Alula
346cbc7f1f
Add support for compiling with VS clang-cl toolset
2024-08-28 13:30:44 -05:00
Rémi Verschelde
622393c115
Merge pull request #95317 from esainane/when-i-am-64
...
binder_common: Fix uninitialized marshalling for `PtrToArg<char32_t>`
2024-08-28 17:15:05 +02:00
Rémi Verschelde
e439154407
Merge pull request #96225 from RandomShaper/wtp_fix_yield
...
WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks
2024-08-28 15:46:57 +02:00
Rémi Verschelde
9f05ca9fc5
Merge pull request #96218 from RandomShaper/res_loader_user_case
...
ResourceLoader: Handle another case of user tokens
2024-08-28 15:46:53 +02:00
Rémi Verschelde
8c5d1b42ab
Merge pull request #92530 from Naros/expose-resource-cache-get-ref
...
Expose `get_cached_ref` from `ResourceCache`
2024-08-28 15:46:35 +02:00
Pedro J. Estébanez
5dade0e08b
WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocks
2024-08-28 15:26:08 +02:00
Pedro J. Estébanez
0441c67de6
ResourceLoader: Handle another case of user tokens
2024-08-28 13:53:39 +02:00
Rémi Verschelde
de7d4b6f5b
Merge pull request #94920 from gongpha/bring-back-print-verbose-when-loading-resources
...
Fix ResourceLoader is not printing a resource path on loading when `verbose_stdout` is enabled
2024-08-28 00:12:38 +02:00
Rémi Verschelde
56ffcabae1
Merge pull request #94792 from akien-mga/core-remove-poolallocator
...
Core: Remove unused PoolAllocator
2024-08-28 00:12:20 +02:00
Rémi Verschelde
71accb9008
Merge pull request #94679 from rune-scape/remove-unused-initialize_ref
...
Remove unused `initialize_ref`
2024-08-28 00:12:16 +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
Rémi Verschelde
330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
...
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +02:00
Rémi Verschelde
2fadd095a7
Merge pull request #93893 from Togira123/fix-rand-weighted-return-value
...
Fix `rand_weighted` incorrectly returning -1
2024-08-28 00:11:35 +02:00
Rémi Verschelde
1e6b6eaf49
Merge pull request #92123 from timothyqiu/estimate-end
...
Change param name of AStar's `_estimate_cost` method
2024-08-28 00:10:47 +02:00
Rémi Verschelde
9c7cf5440c
Merge pull request #91868 from Chaosus/astargrid_get_point_positions_in_region
...
Add a method to retrieve all points within a region to `AStarGrid2D`
2024-08-28 00:10:42 +02:00
Kongfa Waroros
bfb5570c03
Fix ResourceLoader is not verbosely printing a resource path on loading
2024-08-28 03:37:51 +07:00
Rémi Verschelde
012ccbc301
Merge pull request #95048 from KoBeWi/keep_the_party_going
...
Add `keep_screen_on` editor setting
2024-08-27 22:27:35 +02:00
Rémi Verschelde
8ae2c3a000
Merge pull request #93605 from RadiantUwU/thread-barriers
...
Add optional count argument to `Semaphore::post`
2024-08-27 22:27:21 +02:00
Rémi Verschelde
6e3320446a
Merge pull request #92799 from BlueCube3310/image-detech-signed
...
Image: Add a method for detecting signed values
2024-08-27 22:27:18 +02:00
Danil Alexeev
be5068d44b
Core: Bind and document iterator API virtual methods
2024-08-27 21:57:22 +03:00
Rémi Verschelde
142d33211c
Merge pull request #96173 from Repiteo/core/fix-unreachable-code
...
Core: Fix unreachable code
2024-08-27 17:52:47 +02:00
Rémi Verschelde
431c5839fe
Merge pull request #96168 from CreatedBySeb/remove-user-prefix
...
Remove confusing USER prefix from script-logged errors
2024-08-27 17:52:40 +02:00
Thaddeus Crews
231f3323d3
Core: Fix unreachable code
2024-08-27 10:26:06 -05:00
Radiant
6311ee5bd5
Add optional count argument to Sempahore::post
...
Co-authored-by: RandomShaper <RandomShaper@users.noreply.github.com>
Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Mickeon <Mickeon@users.noreply.github.com>
2024-08-27 18:18:01 +03: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
Sébastien Dunne Fulmer
c3ed8a842c
Remove confusing USER prefix from script-logged errors
2024-08-27 15:00:48 +01:00
Danil Alexeev
2d8f6c1b1d
GDScript: Fix message when calling non-tool function in tool mode
2024-08-27 12:30:15 +03:00
BlueCube3310
76c8211653
Image: Add a method for detecting signed values
2024-08-27 09:23:17 +02: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
2e825c7d9c
Merge pull request #93141 from RadiantUwU/add_static_classdb_calls
...
Implement `ClassDB::class_call_static_method`
2024-08-26 23:28:36 +02:00
Rémi Verschelde
c7702b350a
Merge pull request #92548 from AThousandShips/string_cleaning
...
[Core] Optimize some `String` methods
2024-08-26 23:28:24 +02:00
Rémi Verschelde
ac5a528620
Merge pull request #84944 from KoBeWi/legacy_of_ancient_godots
...
Fix some legacy code
2024-08-26 23:28:14 +02:00
Rémi Verschelde
8019cdb444
Merge pull request #94137 from Craig-Stoneham/master
...
Improve template class conditionals with constexpr (code style)
2024-08-26 22:45:17 +02:00
Rémi Verschelde
ce44c91223
Merge pull request #93739 from AThousandShips/lock_unlock
...
[Core] Allow locking/unlocking of `MutexLock`
2024-08-26 22:45:13 +02:00
Rémi Verschelde
0f16336be0
Merge pull request #93526 from m4gr3d/add_apksigner_util
...
[Android Editor] Add support for exporting platform binaries
2024-08-26 22:45:09 +02:00
Rémi Verschelde
b78da13e2a
Merge pull request #93064 from Hilderin/fix-fileSystem-dock-wont-show-any-file-folders
...
Fix FileSystem dock won't show any file folders (v2)
2024-08-26 22:45:04 +02:00
Rémi Verschelde
8dad1ba482
Merge pull request #92933 from TokageItLab/match-concatenating
...
Match the coding style for concatenating String
2024-08-26 22:44:59 +02:00
Fredia Huya-Kouadio
794ea99240
Update the storage access handler logic to support accessing / retrieving contents with the `assets:/` prefix
2024-08-26 11:16:37 -07:00
Pedro J. Estébanez
9cbc3f1419
Change warning muting so it affects all levels, but locally
2024-08-26 13:13:29 +02:00
A Thousand Ships
723f5500f4
[Core] Allow locking/unlocking of `MutexLock`
2024-08-26 12:38:03 +02: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
04f6321ecc
Merge pull request #91166 from raulsntos/gdextension/loader
...
GDExtension: Implement `GDExtensionLoader` concept
2024-08-26 10:51:21 +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
Craig-Stoneham
604df4fc83
Improve Template Class Conditionals (Code Style)
...
Refactored the following template classes by replacing runtime checks with compile-time checks using if constexpr for improved code clarity and maintainability:
- RID_Alloc
- SortArray
- PagedAllocator
Changes made:
- Updated conditional checks for THREAD_SAFE in the RID_Alloc class.
- Updated conditional checks for Validate in the SortArray class.
- Updated conditional checks for thread_safe in the PagedAllocator class.
2024-08-25 18:10:51 +01:00
Matias N. Goldberg
59d0422dcd
Disable extra memory tracking by default
...
PR #90993 added several debugging utilities.
Among them, advanced memory tracking through the use of custom
allocators and VK_EXT_device_memory_report.
However as issue #95967 reveals, it is dangerous to leave it on by
default because drivers (or even the Vulkan loader) can too easily
accidentally break custom allocators by allocating memory through std
malloc but then request us to deallocate it (or viceversa).
This PR fixes the following problems:
- Adds --extra-gpu-memory-tracking cmd line argument
- Adds missing enum entries to
RenderingContextDriverVulkan::VkTrackedObjectType
- Adds RenderingDevice::get_driver_and_device_memory_report
- GDScript users can easily check via print(
RenderingServer.get_rendering_device().get_driver_and_device_memory_report()
)
- Uses get_driver_and_device_memory_report on device lost for appending
further info.
Fixes #95967
2024-08-24 20:52:39 -03:00
Radiant
02fc4bbc2a
Implement `ClassDB::class_call_static_method`
2024-08-23 02:56:29 +03:00
Raul Santos
4dd6e8eca5
GDExtension: Implement `GDExtensionLoader` concept
...
- Implements the concept of GDExtension loaders that can be used to customize how GDExtensions are loaded and initialized.
- Moves the parsing of `.gdextension` config files to the new `GDExtensionLibraryLoader`.
- `GDExtensionManager` is now meant to be the main way to load/unload extensions and can optionally take a `GDExtensionLoader`.
- `EditorFileSystem` avoids unloading extensions if the file still exists, this should prevent unloading extensions that are outside the user project.
2024-08-22 05:29:11 +02:00
Rémi Verschelde
568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
...
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde
39b77ea04e
Merge pull request #95790 from aaronfranke/rect-aabb-support
...
Simplify Rect2/AABB `get_support` function
2024-08-22 00:10:39 +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
Matias N. Goldberg
364f916f3f
Add debug utilities for Vulkan
...
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
- Debug-only Breadcrumb info for debugging GPU crashes and device lost
- Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks
Functionality marked as "debug-only" is only available in debug or dev
builds.
Misc fixes:
- Early break optimization in RenderingDevice::uniform_set_create
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +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
df23858488
ResourceLoader: Fix edge cases in the management of user tokens
...
1. Make handling of user tokens atomic:
Loads started with the external-facing API used to perform a two-step setup of the user token. Between both, the mutex was unlocked without its reference count having been increased. A non-user-initiated load could therefore destroy the load task when it unreferenced the token.
Those stages now happen atomically so in the one hand, the described race condition can't happen so the load task life insurance doesn't have a gap anymore and, on the other hand, the ugliness that the call to load could return `ERR_BUSY` if happening while other thread was between both steps is gone.
The code has been refactored so the user token concerns are still outside the inner load start function, which is agnostic to that for a cleaner implementation.
2. Clear ambiguity between load operations running on `WorkerThreadPool`:
The two cases are: single-loaded thread directly started by a user pool task and a load started by the system as part of a multi-threaded load.
Since ensuring all the code dealing with this distinction would make it very complex, and error-prone, a different measure is applied instead: just take one of the cases out of the dicotomy. We now ensure every load happening on a pool thread has been initiated by the system.
The way of achieving that is that a single-threaded user-started load initiated from a pool thread, is run as another task.
2024-08-21 12:22:52 +02:00
Pedro J. Estébanez
5c970db2e4
ResourceLoader: Optimize remap check by deferring until a non-mutex zone
2024-08-21 12:19:43 +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
Pedro J. Estébanez
bd0959ebdd
ResourceLoader: Properly push & pop TLS state on recursive load tasks
2024-08-21 12:19:43 +02:00
Rémi Verschelde
5ca419e32c
Merge pull request #94801 from gamelessone/fix-cond-var
...
Fix use-after-free of `ConditionVariable` in `ResourceLoader`
2024-08-21 11:14:22 +02:00
Rémi Verschelde
4b8946102b
Merge pull request #91535 from BlueCube3310/betsy-bc6h
...
Add Betsy to speed up BC6 compression
2024-08-21 06:38:03 +02:00
Hilderin
1b0c5cbc01
Fix FileSystem dock won't show any file folders (v2)
2024-08-20 21:23:13 -04: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
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +02:00
Rémi Verschelde
6a9ecdcf0c
Merge pull request #91818 from rburing/fti_multimesh
...
Physics interpolation: `MultiMesh`
2024-08-20 10:01:46 +02:00
Aaron Franke
7db24a9ad5
Simplify and fix Rect2/AABB get_support function
2024-08-19 23:55:31 -07:00
Rémi Verschelde
af919a845f
Merge pull request #94683 from kisg/string_name_fix
...
StringName: Use inline static field definitions
2024-08-19 16:05:16 +02:00
Rémi Verschelde
6a829d5a86
Merge pull request #95508 from Summersay415/loaded-when-not
...
Return error when no ResourceFormatLoader found
2024-08-19 14:34:17 +02:00
Rémi Verschelde
86212c1fe4
Merge pull request #94666 from RandomShaper/fix_tangled_obj_clear_crash
...
Avoid potential crash on signal disconnection
2024-08-19 14:33:44 +02:00
Pedro J. Estébanez
e9407d4877
ResourceLoader: Revert workaround resource loading crashes due to buggy TLS
...
This reverts commit 41c0785636 .
2024-08-19 12:22:31 +02:00
Pedro J. Estébanez
32b7f835d8
Avoid potential crash on signal disconnection
2024-08-19 12:18:04 +02:00
Rémi Verschelde
ab2b06b8b1
Merge pull request #95730 from voidedWarranties/fix_reload_scripts_bind
...
Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`
2024-08-19 12:09:39 +02:00
Rémi Verschelde
4afcbb1c8b
Merge pull request #92546 from AThousandShips/faster_replace
...
[Core] Optimize `String::replace` methods
2024-08-19 12:08:45 +02:00
Rémi Verschelde
f4037d6f6c
Merge pull request #92496 from clayjohn/HDR-2D-sRGB
...
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-08-19 12:08:40 +02:00
Ricardo Buring
1728f80e7c
Fixed Timestep Interpolation: MultiMesh
...
Adds fixed timestep interpolation to multimeshes.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-08-18 17:14:59 +02:00
mosquito chang
b32395ade9
Fix `InputMap::event_get_index` to handle unmatched events correctly
2024-08-18 14:46:34 +02:00
BlueCube3310
394ea653aa
Add Betsy to speed up BC6 compression
2024-08-18 11:14:05 +02:00
voidedWarranties
d65ea6fb9c
Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`
2024-08-17 21:09:32 -07:00
Rémi Verschelde
49e5fbfbd2
Merge pull request #95184 from jsjtxietian/shader-include-relative
...
Fix `String::simplify_path` handling of relative paths to parent dir (`../`), fixes relative shader includes
2024-08-17 00:46:11 +02:00
Rémi Verschelde
82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
...
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Fredia Huya-Kouadio
a57a99f5bc
Memory cleanup and optimizations
...
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects
- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables
- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use
- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations
- Disable showing the boot logo for Android XR projects
- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
Rémi Verschelde
803dfcc3cb
Merge pull request #95613 from timothyqiu/split-empty
...
Fix `split_floats` behavior when spaces are used as separators
2024-08-16 14:36:40 +02:00
Rémi Verschelde
f01e052162
Merge pull request #95549 from timothyqiu/split-translation-server
...
Split `TranslationServer` into its own file
2024-08-16 14:36:16 +02:00
Rémi Verschelde
1d4303c1fe
Merge pull request #95502 from bruvzg/net_ext_detect
...
[.NET] Move search in files extension list definition to be after Scene level module init.
2024-08-16 14:35:12 +02:00
Rémi Verschelde
69db19f058
Merge pull request #94826 from Naros/classdb-expose-property-getter-setter
...
Expose ClassDB methods `get_property_setter` / `get_property_getter`
2024-08-16 14:32:32 +02:00
Rémi Verschelde
6042c66663
Merge pull request #94720 from noidexe/fix-gamepad-triggers
...
Fix gamepad triggers not working on web exports
2024-08-16 14:32:27 +02:00
Haoyu Qiu
f483c3aafa
Fix split_floats behavior when spaces are used as separators
2024-08-16 17:30:44 +08:00
Rémi Verschelde
ae2044dccb
Merge pull request #95477 from RandomShaper/res_load_dev_bugs
...
ResourceLoader: Use better error handling for possible engine bugs
2024-08-16 10:36:33 +02:00
Rémi Verschelde
f1d6677713
Merge pull request #95469 from bruvzg/cowdata_unref
...
`CowData` remove hardcoded offset and unused argument from `_unref`.
2024-08-16 10:36:28 +02:00
Rémi Verschelde
886d5865a4
Merge pull request #95291 from BlueCube3310/hdr-optimizations
...
Optimize .hdr loading and RGB9E5 conversion
2024-08-16 10:35:32 +02:00
Rémi Verschelde
a8bbb09bd5
Merge pull request #95143 from TV4Fun/fix_non_windows_library_load
...
Fix reload of GDExtension libraries in framework package on macOS
2024-08-16 10:35:19 +02:00
Rémi Verschelde
70096c0e6a
Merge pull request #94558 from stuartcarnie/sgc/sprintf_allocations
...
Reduce allocations in `String::sprintf`
2024-08-16 10:34:28 +02:00
Rémi Verschelde
91bf992168
Merge pull request #94353 from aaronp64/cowdata_insert
...
Improve `CowData::insert` performance
2024-08-16 10:34:22 +02:00
Rémi Verschelde
27f3dd8d01
Merge pull request #93149 from Malcolmnixon/smoothstep-degenerate-case
...
Handle the smoothstep degenerate case of empty range
2024-08-16 10:33:58 +02:00
Rémi Verschelde
71ca5aa5ec
Merge pull request #92555 from AThousandShips/insert_improve
...
[Core] Optimize `String::insert`
2024-08-16 10:33:47 +02:00
Rémi Verschelde
e057c49bf7
Merge pull request #92550 from AThousandShips/join_improve
...
[Core] Optimize `String::join`
2024-08-16 10:33:42 +02:00
Rémi Verschelde
46c6865979
Merge pull request #92391 from rburing/fti_3d
...
Physics interpolation (3D)
2024-08-16 10:33:37 +02:00
Rémi Verschelde
eb684cccdc
Merge pull request #92291 from BlueCube3310/image-convert-optimized
...
Optimize image conversion for half and float formats.
2024-08-16 10:33:32 +02:00
Malcolm Nixon
23fc704cbc
This PR handles the smoothstep degenerate case where the range is empty.
...
It also updates the documentation to describe positive and negative ranges.
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-Authored-By: kleonc <9283098+kleonc@users.noreply.github.com>
2024-08-15 19:08:05 -04:00
A Thousand Ships
ee19a092d9
[Core] Optimize some `String` methods
...
Avoids unnecessary COW checks by using pointers directly.
2024-08-15 17:17:11 +02:00
A Thousand Ships
e211d08c92
[Core] Optimize `String::join`
...
Avoid reallocation by pre-computing size
2024-08-15 16:19:07 +02:00
A Thousand Ships
746c6b87eb
[Core] Optimize `String::insert`
2024-08-15 16:18:47 +02:00
A Thousand Ships
cbaec62b03
[Core] Optimize `String::replace` methods
...
Performs a single allocation, only when any instances are found, and
avoids concatenations and other unnecessary conversions.
2024-08-15 16:15:58 +02:00
Haoyu Qiu
7343dc3a5d
Split TranslationServer into its own file
2024-08-15 15:00:47 +08:00
Lisandro Lorea
9dd372f316
Fix gamepad triggers not working on web exports
...
Fixes #81758
DisplayServerWeb::process_joypads handles buttons 6 and 7 of the
HTML5 Standard Gamepad as a special case by doing:
`input->joy_axis(idx, (JoyAxis)b, s_btns[b]);`
This doesn't work because there is no JoyAxis 6 or 7 in the enum
To fix this we use JoyAxis::TRIGGER_LEFT and TRIGGER_RIGHT for button 6
and 7
However since we are now lying to input->joy_axis we also need to lie in
the mappings for the standard gamepad in godotcontrollersdb.txt,
otherwise input->joy_axis will try to find a mapping to axis 4(LT) and
axis 5(RT) that's not defined.
Therefore we set lefttrigger to +a4 and righttrigger to +a5 in the
mapping, to match what we are actually sending.
A cleaner, and more involved fix to this would be modifying
input->joy_button so that it can handle analog buttons and map them to
axes preserving their value instead of converting to boolean
2024-08-14 16:13:16 -03:00
Summersay415
6df3621b47
Return error when no ResourceFormatLoader found.
2024-08-14 11:45:23 +07:00
bruvzg
69d52ed081
[.NET] Move search in files extension list definition to be after Scene level module init.
2024-08-14 00:16:09 +03:00
Pedro J. Estébanez
31a9e10ddb
ResourceLoader: Use better error handling for possible engine bugs
2024-08-13 12:52:08 +02:00
Pedro J. Estébanez
17ea4b405a
ResourceLoader: Fix error on querying progress for uncached loads
2024-08-13 12:41:11 +02:00
bruvzg
273ba27c2f
`CowData` remove hardcoded offset and unused argument from `_unref`.
2024-08-13 08:53:45 +03:00
BlueCube3310
80cf6cbfe9
Optimize .hdr loading and RGB9E5 conversion
2024-08-09 22:39:30 +02:00
Sai Nane
e6a7c63125
binder_common: Fix uninitialized marshalling
...
C# uses `long`s to access many native values. With `PtrToArg<m_enum>` and
`PtrToArg<bitfield<m_enum>>` this isn't a problem, as C++ code converts
through a `*(int64_t*)` cast in assignment, so all 64-bits are initialized.
However, with `PtrToArg<char32_t>`, value assignment happens through an
`*(int *)` cast, leaving 32 bits uninitialized where `int` is 32 bits. On
platforms where `int` is 16 bits, there are presumably 48 bits uninitialized,
though there are very few platforms where this is still the case.
The easiest way to see the practical effects of this is by looking at
`EventInputKey.Unicode`:
```csharp
public override void _Input(InputEvent @event) {
if (@event is InputEventKey keyEvent) {
if (keyEvent.IsPressed() && !keyEvent.Echo) {
var raw = keyEvent.Unicode;
var value = raw & 0xffffffff;
GD.Print($"Key pressed: raw: {raw}; masked: {(char) value} ({value})");
}
}
}
```
Pressing 'a' emits the following line:
```
Key pressed: raw: -3617008645356650399; masked: a (97)
```
Examining execution flow in gdb shows this conversion going through the
following line:
```
PtrToArg<char32_t>::encode (p_ptr=0x7ffcd5bb4b18, p_val=97 U'a') at ./core/variant/binder_common.h:221
221 *(int *)p_ptr = p_val;
```
Here, `p_val` is still 97, which is the value `InputEventKey.Unicode`
is expected to have. After assignment, `p *(int64_t *)0x7ffcd5bb4b18` displays
`-3617008645356650399`, with only the lower 32 bits being properly assigned,
and is the value we see from C#.
With this patch applied, the above testing `_Input` now prints:
```
Key pressed: raw: 97; masked: a (97)
```
Thank you to blujay1269 for asking about an unexpected value they saw in
`EventInputKey.Unicode`, which prompted this investigation.
2024-08-09 05:15:54 +00:00
Mikael Hermansson
613600fa89
Fix use-after-free in `FileAccess::exists`
2024-08-09 03:33:51 +02: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
Joel Croteau
f44d6a235f
Fix reload of GDExtension libraries in framework package on macos
...
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.
This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.
This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.
2024-08-08 08:31:49 -06:00
jsjtxietian
6cf9af2817
Fix error when use relative #include in .gdshader / .gdshaderinc file
2024-08-08 11:59:14 +08:00
bruvzg
f5bb14dceb
[ResourceLoader] Add check to prevent double free crashes.
2024-08-06 08:31:03 +03:00
kobewi
ab4c23583a
Add keep_screen_on editor setting
2024-08-02 03:44:29 +02:00
kobewi
0d1c388991
Fix some legacy code
2024-08-01 12:08:14 +02:00
Hilderin
1ed723bd19
Fix global class cache file not present when no class name
2024-07-31 16:57:25 -04:00
Rémi Verschelde
372b3f8437
Merge pull request #94910 from RandomShaper/res_load_unlocked
...
ResourceLoader: Let resource setup late steps invoke loading in turn
2024-07-31 11:37:41 +02:00
Aleksey Vasenev
2ff6594928
Fix use condition_variable after free
2024-07-30 13:59:20 +03:00
Pedro J. Estébanez
5640e8adc9
ResourceLoader: Let resource setup late steps invoke loading in turn
2024-07-29 18:13:37 +02:00
Alvin Wong
c9f4436073
Fix use-after-free in WorkerThreadPool
2024-07-29 14:26:48 +02:00
Chris Cranford
7963e63165
Expose ClassDB methods `get_property_setter` / `get_property_getter`
2024-07-27 00:13:34 -04:00
Rémi Verschelde
13edeb3ee4
Core: Remove unused PoolAllocator
2024-07-26 13:05:51 +02:00
A Thousand Ships
8f3e2c96eb
[Core] Fix `Variant::construct` of `Object`
...
Variant type was not updated correctly causing leaks in ref-counted
2024-07-25 12:25:29 +02:00
Stuart Carnie
67eb6bed2b
use operator += (char32_t)
...
This prevents an allocation of a new string for every character.
Additionally, use some static constants for padding and sign characters
2024-07-25 09:17:58 +10:00
Gergely Kis
723878bbab
StringName: Use inline static field definitions
...
Before this change StringName used regular static field
definitions for its mutex, _table, configured and debug_stringname
fields.
Since in the general case the ordering of the static variable and field
initialization and destruction is undefined, it was possible that
the destruction of StringName's static fields happened prior to
the destruction of statically allocated StringName instances.
By changing the static field definitions to inline in string_name.h,
the C++17 standard guarantees the correct initialization and destruction
ordering.
2024-07-24 02:40:36 +02:00
bruvzg
25f78a5eb6
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-23 23:46:14 +03:00
BlueCube3310
0ed45629fd
Support 64-bit image sizes for VRAM compression
2024-07-21 21:06:14 +02:00
Hugo Locurcio
0445ccf428
Fix Image CowData crash when baking large lightmaps
...
This switches to 64-bit integers in select locations of the Image
class, so that image resolutions of 16384×16384 (used by
lightmap texture arrays) can be used properly. Values that are larger
should also work.
VRAM compression is also supported, although most VRAM-compressed
formats are limited to individual slices of 16384×16384. WebP
is limited to 16383×16383 due to format limitations.
2024-07-19 16:04:30 +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
Pedro J. Estébanez
28a7a95531
ResourceLoader: Fix sync issues with error reporting
...
This is about not letting the resource format loader set the error code directly on the task anymore. Instead, it's stored locally and assigned only when it is right to do so.
Otherwise, other tasks may see an error code in the current one before it's state having transitioned to errored. While this, besides the technically true data race, may not be a problem in practice, it causes surprising situations during debugging as it breaks assumptions.
2024-07-19 10:00:41 +02:00
Fabio Alessandrelli
31454423ba
[Core] Fix TypedArray encoding when full objects is disabled
2024-07-18 09:58:17 +02:00
Rémi Verschelde
0918fd2a21
Merge pull request #94452 from jamie-pate/fix_73374
...
Fix game window stops responding when debugger pauses
2024-07-17 15:45:14 +02:00
Rémi Verschelde
31f696cf03
Merge pull request #94373 from maiself/fix-library-path-as-abs
...
Fix to restore `library_path` as absolute path
2024-07-17 12:24:07 +02:00
Rémi Verschelde
59737bf3f0
Merge pull request #94413 from rburing/fix_action_press_tick
...
Fix physics tick count in `Input.action_press` and `Input.action_release`
2024-07-17 11:44:31 +02:00
Rémi Verschelde
1d13e95e06
Merge pull request #94307 from Bromeon/feature/bitfield-unsigned-docs
...
GDExtension docs: Advise bindings to use `uint64_t` for bitfields
2024-07-17 11:43:54 +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
Rémi Verschelde
496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
...
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
Alvin Wong
4091abd727
Respect integrated GPU preference in Windows Settings
2024-07-16 23:46:37 +08: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
Ricardo Buring
b41ec93d63
Fix physics tick count in Input.action_press and Input.action_release
...
The physics tick count was not yet updated there.
2024-07-16 00:31:44 +02:00
Jan Haller
b2a9ea6d22
GDExtension docs: advise bindings to use uint64_t for bitfields
2024-07-15 22:37:33 +02:00
aaronp64
c1afe7dcdf
Improve CowData::insert performance
...
Update CowData::insert to call ptrw() before loop, to avoid calling _copy_on_write for each item in the array, as well as repeated index checks in set and get. For larger Vectors/Arrays, this makes inserts around 10x faster for ints, 3x faster for Strings, and 2x faster for Variants. Less of an impact on smaller Vectors/Arrays, as a larger percentage of the time is spent allocating.
2024-07-15 14:01:19 -04: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
62d9ce6445
Re-add resource thread-safety measures
...
These deferring measures were added to aid threaded resource loading in being safe.
They were removed as seemingly unneeded, but it seems they are needed so resources involved in threaded loading interact with others only after "sync points".
2024-07-15 12:15:22 +02:00
Pedro J. Estébanez
76bfe8e0fd
Make errors on RefCounted.free() more accurate
2024-07-15 08:51:42 +02:00
Mai Lavelle
16eea2c837
Fix to restore `library_path` as absolute path
2024-07-14 20:37:38 -04: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
Rémi Verschelde
34d4c9197d
Merge pull request #94133 from akien-mga/fix-gcc14-Wmaybe-uninitialized
...
Fix a couple GCC 14 `-Wmaybe-uninitialized` warnings
2024-07-11 00:27:32 +02:00
Jamie Pate
b18e1e0dcd
Fix Game window stops responding when debugger pauses
...
Fixes #73374
As of godot 4 On windows/osx the game window will be frozen and will not
be updated.
In the debugger loop it calls
OS::get_singleton()->process_and_drop_events();
which allows windows/osx to handle system events. If the window doesn't
handle these events then both systems will judge the window to be 'not
responding' (osx beachball cursor)
When the event processing code was migrated from OS to DisplayServer the
process_and_drop_events() logic was moved to DisplayServer, but the call
inside the remote debugger pause loop was not updated to call the
DisplayServer version, there are currently no implementations of
OS::process_and_drop_events() so i removed it and switched to the new
DisplayServer::force_process_and_drop_events() method.
2024-07-10 13:38:57 -07: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
Fredia Huya-Kouadio
5e59819727
Cleanup Android input on render thread settings
...
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.
Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
2024-07-09 09:15:18 -07:00
Rémi Verschelde
247a481001
Fix a couple GCC 14 `-Wmaybe-uninitialized` warnings
2024-07-09 16:12:22 +02:00
Danil Alexeev
110c4d4067
GDScript: Fix "Mismatched external parser" for autoloads
2024-07-09 16:16:45 +03:00
Rémi Verschelde
daba91d8c6
Merge pull request #93897 from akien-mga/vformat-better-error-message
...
Core: Improve `vformat` error reporting on `sprintf` failure
2024-07-09 00:03:17 +02:00
Rémi Verschelde
8ed9bfdc25
Merge pull request #94089 from dsnopek/gdext-valid-runtime-properties
...
GDExtension: Fix setting base class properties on a runtime class
2024-07-08 23:53:12 +02:00
David Snopek
91fcdff01e
GDExtension: Fix setting base class properties on a runtime class
2024-07-08 12:33:55 -05:00
Rémi Verschelde
3ced38cf28
Merge pull request #94073 from mihe/macos-home-end
...
Add Home/End to text caret movements on macOS
2024-07-08 19:13:39 +02:00
Mikael Hermansson
085f0cc50a
Add Home/End to text caret movements on macOS
2024-07-08 16:08:27 +02:00
Pedro J. Estébanez
a426479b3f
ResourceLoader: Fix error message due to already-awaited tasks being re-awaited
2024-07-08 12:19:44 +02:00
Danil Alexeev
151f34bb80
Core: Remove unused method `_is_gpl_reversed()`
2024-07-08 12:31:09 +03:00
Pedro J. Estébanez
f952d3956c
ResourceLoader: Fixup management of thread-specific status
...
- Allows the message queue override to flush after loading each resource, which was the original intent.
- Removes a redundant call to mark the thread as safe-for-nodes.
2024-07-08 10:30:25 +02:00
Ricardo Buring
2f8ab4a654
Fixed Timestep Interpolation (3D)
...
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
Ricardo Buring
23521635d2
Fix physics tick counter
...
The counter is now incremented at the start of a physics tick rather than at the end.
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 19:04:05 +02:00
Rémi Verschelde
438382cdc2
Merge pull request #94006 from alvinhochun/log-file-utf8-fix
...
Fix UTF-8 misintepreted as Latin-1 when logging to file
2024-07-07 12:38:54 +02:00
Rémi Verschelde
5bc5ea898c
Merge pull request #93993 from Chaosus/astargrid2d_update_fix
...
Add a check to prevent user to call `AStarGrid2D::update` when its not needed
2024-07-07 12:38:44 +02:00
Rémi Verschelde
7197678df2
Merge pull request #91551 from m4rr5/configure_timestamp_query_elements
...
Add a project setting to configure the maximum number of timestamps.
2024-07-07 12:38:19 +02:00
Alvin Wong
5b3857e5f1
Fix UTF-8 misintepreted as Latin-1 when logging to file
2024-07-07 02:46:41 +08:00
Yuri Rubinsky
453c8753a9
Add a check to prevent user to call `AStarGrid2D::update` when its not needed
2024-07-06 14:59:38 +03:00
Rémi Verschelde
496b7b8482
Core: Improve vformat error reporting on sprintf failure
...
And fix a few occurrences of formatting errors that led me to this.
2024-07-04 10:54:55 +02:00
Togira
ab13513403
Fix RandomPCG::rand_weighted incorrectly returning -1
2024-07-04 02:00:59 +02:00
rune-scape
c8b697c64c
Remove unused `initialize_ref`
2024-07-03 13:32:50 -07:00
Danil Alexeev
68481b6cdb
Core: Fix `Freed Object` booleanization
2024-07-03 09:49:47 +03:00
Haoyu Qiu
ee9cea521d
Fix parsing of `4.` in Expression
2024-07-02 20:53:52 +08:00
lawnjelly
0ed71f3e0c
Physics Interpolation - Fix `interpolated_transform_2d`
...
Uses the skew correct `Transform2D::interpolate_with()` function rather than the bugged 3.x version.
2024-07-02 08:10:55 +01:00
Rémi Verschelde
152d7c1bba
Revert "Make freed object different than null in comparison operators"
...
This reverts commit 150b50cfcd .
As discussed with the GDScript team, this has some implications which aren't
fully consensual yet, and which we want to revisit.
For now we revert to the 4.2 behavior for the 4.3 release, to avoid breaking
user expectations.
2024-07-01 14:11:43 +02: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
e052a53bb6
Merge pull request #93695 from RandomShaper/res_load_main_th
...
`ResourceLoader`: Support polling and get-before-complete on the main thread
2024-06-28 14:43:01 +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
Pedro J. Estébanez
ec61c5064c
ResourceLoader: Support polling and get-before-complete on the main thread
2024-06-28 11:25:10 +02:00
Rémi Verschelde
6cdd303c68
Merge pull request #93564 from Calinou/project-user-dir-prevent-trailing-periods
...
Prevent folder names with trailing periods from being used automatically
2024-06-26 18:15:19 +02:00
Rémi Verschelde
0364443d12
Merge pull request #93346 from RandomShaper/gds_cyc_alt
...
GDScript: Enhance handling of cyclic dependencies
2024-06-26 18:15:16 +02:00
Rémi Verschelde
3d8562d775
Merge pull request #89197 from AThousandShips/arr_typed_fix
...
[Core] Fix sharing of typed arrays from constructor
2024-06-26 18:15:09 +02:00
Pedro J. Estébanez
c1391489e3
GDScript: Enhance handling of cyclic dependencies
2024-06-26 17:44:32 +02:00
Hugo Locurcio
492787b134
Prevent folder names with trailing periods from being used automatically
...
Folder names ending with one or more `.` characters are not allowed
on Windows, so this would break writing logs, shader cache and other
project-specific files. Trailing periods are now stripped in this case.
On non-Windows platforms, this change still applies in the interest
of portability.
2024-06-26 17:42:47 +02:00
Ibrahn Sahir
607c5ec49f
Move MIDI parsing up from ALSA driver to platform independent driver.
...
Aims for more consistent MIDI support across Windows, MacOS, Linux and
to provide a base for adding MIDI drivers for other platforms.
Reworks the MIDIDriverALSAMidi MIDI parsing implementation as a platform
independent version in MIDIDriver::Parser.
Uses MIDIDriver::Parser to provide running status support in MacOS
MIDIDriverCoreMidi.
Collects connected input names at open, ensuring devices indices reported
in events match names in array returned from get_connected_inputs.
Fixes #77035 .
Fixes #79811 .
With code review changes by: A Thousand Ships (she/her)
<96648715+AThousandShips@users.noreply.github.com>
2024-06-25 16:46:30 +01:00
Rémi Verschelde
6b281c0c07
Merge pull request #93563 from mihe/nothreads-feature
...
Add `nothreads` feature tag to signify lack of `THREADS_ENABLED`
2024-06-25 10:08:33 +02:00
Rémi Verschelde
b9038501db
Merge pull request #90582 from Repiteo/core/remove-macro-_NO_DISCARD_
...
Core: Replace `_NO_DISCARD_` macro with `[[nodiscard]]`
2024-06-25 10:01:39 +02:00
Mikael Hermansson
53d3d66f9f
Add `nothreads` feature tag to signify lack of `THREADS_ENABLED`
2024-06-24 19:52:21 +02:00
Rémi Verschelde
f11e8d033d
Remove editor pseudolocalization debug feature
...
We've seen multiple users enable it by mistake and get utterly confused,
reporting as a bug that the interface text is garbled.
On the other hand we haven't really seen much use of the feature by editor
UI developers, so we can likely simply remove it.
If there's a need eventually, we can re-add it as a command line option
(which is also better than an editor setting as one would typically want
to toggle it during development).
2024-06-24 17:08:26 +02:00
Rémi Verschelde
e78dc83ee8
Merge pull request #93540 from RandomShaper/res_load_uncached
...
`ResourceLoader`: Fix handling of uncached loads
2024-06-24 13:20:24 +02:00
Pedro J. Estébanez
884d1da938
ResourceLoader: Fix handling of uncached loads
...
- `CACHE_MODE_IGNORE_DEEP` is checked in addition to `CACHE_MODE_IGNORE` to determine if a load is uncached. This avoids crashes in uncached loads due to prematurely freed load tasks.
- Cached load tasks are isolated (not registered in the task map ever). This avoids regular loads from reusing in-flight cached loads, which is not correct.
2024-06-24 11:25:57 +02:00
Raul Santos
175e5bcf4e
Lookup method also in base scripts of a PlaceHolderScriptInstance
2024-06-22 08:11:48 +02:00
Rémi Verschelde
c53a4a7f64
Merge pull request #90069 from KoBeWi/file_suicide_prevention_measures
...
Don't allow copying file into its own path
2024-06-21 16:49:26 +02:00
Rémi Verschelde
74f9f12c71
Merge pull request #92320 from Hilderin/fix-importing-assets-with-csv
...
Fix reimporting assets with csv in the project
2024-06-21 13:54:35 +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
19bf77f666
Merge pull request #91382 from adamscott/sample-player
...
Add sample playback support
2024-06-19 07:59:07 +02:00
bruvzg
dd883bebd4
Improve PR plural translation rules handling.
2024-06-18 19:04:00 +03: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
Rémi Verschelde
a492b32ed0
Merge pull request #93281 from TitanNano/jovan/fix_get_frame_data
...
Make `profiling_get_frame_data` call the correct GDVIRTUAL method
2024-06-18 17:59:22 +02:00
Adam Scott
52fa4f05f3
Add samples playback support
2024-06-18 11:06:31 -04:00
Rémi Verschelde
470cc59706
Merge pull request #93293 from rune-scape/cleanup-order
...
Fix cleanup order in `unregister_core_types()`
2024-06-18 14:09:04 +02:00
rune-scape
818fb63f03
fixed cleanup order in `unregister_core_types()`
2024-06-18 00:44:01 -07: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
Fabio Alessandrelli
ae7045f67e
[Crypto] Expose OS.get_entropy
2024-06-17 12:02:37 +02:00
Rémi Verschelde
c3336aa110
Merge pull request #93178 from Faless/crypto/expose_tls_options_getters
...
[Crypto] Expose TLSOptions getters
2024-06-17 10:58:51 +02:00
Fabio Alessandrelli
3639c1f0ca
[Crypto] Expose TLSOptions getters
2024-06-14 22:33:10 +02:00
Fabio Alessandrelli
33d0e1c50c
[Crypto] Expose get_system_ca_certificates.
2024-06-14 22:27:03 +02:00
Rémi Verschelde
087ef4b942
Merge pull request #93124 from RandomShaper/skull_trio
...
`ResourceLoader`: Let the caller thread use its own message queue override
2024-06-14 17:13:38 +02:00
Rémi Verschelde
75eb8ad510
Merge pull request #93091 from RandomShaper/remove_false_safety
...
Remove no longer needed thread safety measures
2024-06-14 17:13:31 +02:00
Rémi Verschelde
08a21fda8d
Merge pull request #93082 from RandomShaper/fix_err_deadlock
...
ResourceLoader: Avoid deadlock when awaiting a loader thread that failed early
2024-06-14 17:13:28 +02:00
Pedro J. Estébanez
cc6f5d1a7a
ResourceLoader: Let the caller thread use its own message queue override
2024-06-13 10:31:11 +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
bruvzg
e651421905
[TextServer, GDExtension] Fix building text servers as GDExtension, expose new/changed low-level methods to GDExtension API.
2024-06-12 19:30:19 +03:00
Pedro J. Estébanez
b6994a414d
Remove no longer needed thread safety measures
...
This is basically a revertion of commit 84b85d894c .
2024-06-12 18:10:11 +02:00
Pedro J. Estébanez
bdcceef0e2
ResourceLoader: Avoid deadlock when awaiting a loader thread that failed early
2024-06-12 13:49:37 +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
Hilderin
f1099ab943
Fix reimporting assets with csv in the project
2024-06-11 17:04:15 -04: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
4629845ead
Merge pull request #92718 from jsjtxietian/importer-duplicate
...
Fix same importer will be added multiple times in `get_importers_for_extension`
2024-06-11 11:51:06 +02:00
Rémi Verschelde
e4fa8543ea
Revert "Fix FileSystem dock won't show any file folders"
...
This reverts commit 72856d633a .
Fixes #93022 .
2024-06-11 11:46:35 +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
Rémi Verschelde
0a9f2d2262
Merge pull request #92650 from Hilderin/fix-fileSystem-dock-wont-show-any-file-folders
...
Fix FileSystem dock won't show any file folders
2024-06-11 10:48:46 +02:00
Hilderin
72856d633a
Fix FileSystem dock won't show any file folders
2024-06-10 19:54:37 -04:00
Chris Cranford
8577340501
Expose several EngineDebugger methods and signals as plugin callbacks
2024-06-10 19:46:23 -04:00
Silc Lizard (Tokage) Renew
12571a1e95
Match the coding style for concatenating String
2024-06-09 18:35:23 +09:00
bruvzg
d8e1ab085a
[Windows] Fix 32-bit MinGW LTO build.
2024-06-04 13:46:03 +03:00
Rémi Verschelde
7b63ac488e
Merge pull request #92722 from rune-scape/fix-callable-crash
...
Fix callable not clearing freed pointer
2024-06-04 10:16:14 +02:00
jsjtxietian
7552d242a3
Fix same importer will be added multiple times in `get_importers_for_extension`
2024-06-03 17:28:46 +08:00
Rémi Verschelde
ef886b0a41
Merge pull request #92426 from RandomShaper/fix_ed_toast_mt
...
Avoid editor error reporting using resource loader thread's call queues
2024-06-03 11:20:50 +02:00
Rémi Verschelde
41e762ca29
Merge pull request #91454 from akien-mga/coverity-checks
...
Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable
2024-06-03 10:35:38 +02:00
rune-scape
4463e7dee9
fix callable not clearing freed pointer
2024-06-02 21:22:16 -07:00
Thaddeus Crews
05203b6a43
SCons: Fix `mono` dependency
2024-06-01 16:37:54 -05:00
Rémi Verschelde
62120c7841
Fix Steam input "crc" errors, and some other Coverity reports of uninitialized scalar variable
...
- Fixes #88630 .
- Fixes #92578 .
2024-05-31 09:55:02 +02: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
be2c5e66f4
Merge pull request #92201 from bruvzg/input_flush
...
Clean `Input::frame_parsed_events` before de-initialising scripting languages to ensure no script created events exist at the exit.
2024-05-30 15:41:56 +02:00
kobewi
17d3f26e5d
Add event_index to InputEventAction
2024-05-30 12:51:15 +02:00
bruvzg
2c9df769ad
Clean Input::frame_parsed_events before de-initialising scripting languages to ensure no script created events exist at the exit.
2024-05-30 13:23:00 +03:00
Rémi Verschelde
9d4a736d0c
Merge pull request #91502 from lyuma/gdextension_open_library_compat
...
Bind compatibility GDExtension methods removed in #88418
2024-05-30 11:47:43 +02:00
Chris Cranford
f76b7ed5fc
Expose `get_cached_ref` from `ResourceCache`
2024-05-29 18:43:56 -04:00
clayjohn
3b9d074fd7
Ensure MovieWriter output is in gamma space when using HDR 2D
2024-05-28 15:30:13 -07:00
Rémi Verschelde
b8f3c5e2ab
Merge pull request #92427 from AThousandShips/bind_go_away
...
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-28 15:50:01 +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
A Thousand Ships
4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-27 13:29:57 +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
BlueCube3310
d260a2ba74
Optimize half and float image conversion
2024-05-24 11:01:20 +02:00
Danil Alexeev
49594d8c41
Optimize `Color::find_named_color()`
2024-05-23 15:19:19 +03:00
Rémi Verschelde
c40c89f94c
Merge pull request #90457 from Chubercik/ruff-formatter
...
Replace `black` formatter with `ruff`
2024-05-22 09:26:42 +02:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black`
2024-05-21 18:02:29 -05: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
lawnjelly
331ecf3ca8
Clarify is_polygon_clockwise() coordinate system
...
The function assumes a normal Cartesian coordinate system.
2024-05-20 18:34:45 +01:00
Haoyu Qiu
ed61d41697
Change param name of AStar's _estimate_cost method
2024-05-19 22:08:36 +08:00
Rémi Verschelde
944b95e1a5
Merge pull request #91897 from RandomShaper/res_unreg_if_true
...
Add an identity check to resource unregistration from cache
2024-05-16 09:32:03 +02:00
Rémi Verschelde
e63b5ba9e4
Merge pull request #91416 from Calinou/d3d12-sdk-update-install-script
...
Update dependencies in D3D12 SDK installer script
2024-05-15 13:51:31 +02:00
Rémi Verschelde
527bf78486
Merge pull request #91955 from Repiteo/core/variant-class-initializer
...
Core: Readd Variant class initializer, fix comment
2024-05-15 12:10:03 +02:00
Thaddeus Crews
7599a7b719
Core: Readd Variant class initializer, fix comment
2024-05-14 12:20:40 -05:00
kobewi
59f05ed31a
Cleanup unused/underused singleton StringNames
2024-05-14 18:18:29 +02: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
Rémi Verschelde
3585c2e8f9
Merge pull request #91870 from scgm0/fix_disabled_classes
...
SCons: Fix generation of `disabled_classes.gen.h` after #91624
2024-05-13 12:05:59 +02:00
Pedro J. Estébanez
b70afac286
Add an identity check to resource unregistration from cache
...
This is needed because resources loaded with CACHE_MODE_IGNORE still have path_cache set.
2024-05-13 11:55:50 +02:00
scgm0
973d3a472d
SCons: Fix generation of `disabled_classes.gen.h` after #91624
2024-05-13 11:25:29 +02:00
Yuri Rubinsky
db2e09e9cd
Add a method to retrieve all points within a region to `AStarGrid2D`
2024-05-12 18:14:13 +03:00
kobewi
a262d2d881
Add shorthand for using singleton string names
2024-05-11 18:53:08 +02:00
Rémi Verschelde
5e28260a10
Merge pull request #91806 from dsnopek/gdextension-shutdown-crash
...
GDExtension: Prevent crash during shutdown as singletons are deleted
2024-05-11 12:38:30 +02:00
Rémi Verschelde
816f6170fa
Merge pull request #86755 from lawnjelly/aabb_intersect_fix
...
Fix AABB Ray intersection - return inside
2024-05-11 12:38:08 +02:00
David Snopek
14506a4282
GDExtension: Prevent crash during shutdown as singletons are deleted
2024-05-10 13:17:36 -05:00
Rémi Verschelde
e6780b54bb
Merge pull request #91727 from RandomShaper/cmd_queue_prealloc
...
`CommandQueueMT`: Pre-allocate memory to avoid a bunch of allocations at startup
2024-05-10 09:55:57 +02:00
Rémi Verschelde
6fcdd24468
Merge pull request #91624 from Repiteo/scons/native-generation
...
SCons: Generate all scripts natively, implement wrapper function
2024-05-10 09:55:51 +02:00
lawnjelly
b35264ad95
Fix AABB Ray intersection - return inside
...
* Separates find_intersects from test_intersects for rays, and wraps the former.
* Changes parameter name to "r_intersection_point".
* Fixes broken old version which returned per axis t.
* Returns whether the ray origin is within the AABB.
* Returns intersection point when origin outside.
* Returns "backtracking" intersection point when inside.
* Returns sensible normal when inside.
* Returns valid results on borders.
* Returns robust results dealing with floating point error.
Co-authored-by: Claire Blackshaw <evilkimau@gmail.com>
2024-05-09 20:41:19 +01:00
Pedro J. Estébanez
c0529dc4f2
CommandQueueMT: Pre-allocate memory to avoid a bunch of allocations at startup
2024-05-09 11:51:07 +02:00
Rémi Verschelde
c4279fe3e0
Merge pull request #91725 from RandomShaper/cmd_queue_avoid_skip
...
`CommandQueueMT`: Fix sync command awaiters missing the chance
2024-05-09 02:06:34 +02:00
Pedro J. Estébanez
a4014a2f78
CommandQueueMT: Fix sync command awaiters missing the chance
2024-05-08 18:56:58 +02:00
Pedro J. Estébanez
1589433e8f
Apply additional fixes to servers' threading
2024-05-08 17:41:40 +02:00
Pedro J. Estébanez
6f0760beb3
CommandQueueMT: Fix command cleanup (revive destructor call + plus handle buffer realloc)
2024-05-08 17:41:40 +02:00
Pedro J. Estébanez
b834037841
Object: Add missing lock
2024-05-08 17:41:40 +02:00
Rémi Verschelde
a9a1d0a162
Merge pull request #91619 from AThousandShips/find_improve
...
Replace `find` with `contains/has` where applicable
2024-05-08 14:35:44 +02:00
A Thousand Ships
b4c6cc7d82
[Core] Add case-insensitive `String::containsn`
2024-05-08 12:48:01 +02:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
17a81260cb
Merge pull request #91684 from Chubercik/embree4_aftermath
...
Fix `builtin_embree=no` build linking the wrong version of Embree
2024-05-08 09:54:24 +02:00
Rémi Verschelde
63ed5749ac
Merge pull request #91104 from RandomShaper/simple_type_cpp
...
Redefine `GetSimpleTypeT<>` in terms of `<type_traits>`
2024-05-08 09:54:16 +02:00
Jakub Marcowski
7699d678c4
Fix `builtin_embree=no` build linking the wrong version of Embree
2024-05-08 00:40:45 +02:00
Thaddeus Crews
34fb3f7730
SCons: Generate all scripts natively
2024-05-07 15:30:45 -05:00
Hugo Locurcio
47ac22486d
Update dependencies in D3D12 SDK installer script
...
- Add colored console output.
2024-05-07 19:10:58 +02:00
Wilson E. Alvarez
d4154dbc55
Add const char * overloads to String class
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-05-07 10:53:00 -04:00
Lyuma
0e5e743258
Bind compatibility GDExtension methods removed in 88418
...
These functions were likely not used, but we must ensure they are still bound to ensure API stability.
2024-05-07 01:36:36 -07:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
...
Using 2.2.7.dev217+g10c2abcf.
Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
A Thousand Ships
09460d33e6
[Core] Fix sharing of typed arrays from constructor
2024-05-07 09:52:17 +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
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
...
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Pedro J. Estébanez
187e5ef258
Let materials' shaders update happen on loader threads
2024-05-06 19:40:00 +02:00
A Thousand Ships
86de59d60a
[Core] Add `LocalVector::has` for convenience
2024-05-06 18:03:37 +02:00
Rémi Verschelde
1069d7b7c6
Merge pull request #88343 from Riteo/warped-mouse-float
...
Handle warped mouse motion as floating point
2024-05-06 15:14:46 +02:00
Marcel Offermans
2bb34a4489
Added a project setting to configure the maximum amount of timestamps, with a description and a reference to the setting when the limit is hit and an ERR_FAIL_COND is hit.
2024-05-05 09:09:04 +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
Rémi Verschelde
03e6fbb010
Merge pull request #85474 from fire/packedvector4array
...
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde
25fe3d4b46
Merge pull request #81639 from MJacred/is_letter
...
Add `is_valid_letter()` to `TextServer`
2024-05-03 01:21:34 +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
MJacred
717513a62d
Add is_valid_letter() to TextServer
2024-05-02 21:32:20 +02:00
Radiant
789c6ebdfd
Implement `amplitude` to Input.vibrate_handheld
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
Rémi Verschelde
28a18cf1b8
Merge pull request #88763 from BlueCube3310/image-is-compressed-static
...
Image: Add static `is_format_compressed` function.
2024-05-02 14:01:18 +02:00
A Thousand Ships
0f5e0d1637
Expose `Vector*` component-wise and scalar `min/max` to scripting
2024-05-02 13:02:40 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
A Thousand Ships
c4e24d2b3b
[GDScript] Correctly report invalid read-only access
2024-05-01 12:28:47 +02:00
Rémi Verschelde
4e30bc71f5
Merge pull request #91376 from clayjohn/DOCS-reflect-vec3
...
Update the description and parameter name for Vector3 reflect to correct how the plane is constructed
2024-05-01 09:55:27 +02:00
Rémi Verschelde
645be5cdbb
Merge pull request #90760 from RandomShaper/cmd_queue_good_sync
...
CommandQueueMT: Optimize & fix handling of sync/ret commands
2024-05-01 09:54:54 +02:00
Rémi Verschelde
273a643145
Merge pull request #89647 from AThousandShips/read_only_dict
...
[Core] Fix property access on read-only `Dictionary`
2024-05-01 09:54:48 +02:00
clayjohn
4d580b15be
Update the description and parameter name for Vector3 reflect to correct how the plane is constructed
2024-04-30 13:50:39 -07:00
Rémi Verschelde
ef481148b2
Merge pull request #90394 from dsnopek/object-ptrcall-null-unlikely
...
Use `likely()` in `PtrToArg<T *>` when checking for null `Object *`s
2024-04-30 17:03:16 +02:00
Rémi Verschelde
32070144af
Merge pull request #91100 from bruvzg/x_finks
...
Add symlink API support for Windows, expose symlink methods.
2024-04-29 13:00:37 +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
Rémi Verschelde
dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
...
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde
2bf4509353
Merge pull request #91208 from akien-mga/gcc-14-Wtemplate-id-cdtor-warning
...
Fix GCC 14 `-Wtemplate-id-cdtor` warnings
2024-04-29 10:10:06 +02:00
Rémi Verschelde
7dd31b4082
Merge pull request #91179 from Bromeon/feature/free-property-list-count
...
GDExtension: provide `free_property_list_func` with length of array
2024-04-29 10:09:53 +02:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation
2024-04-28 16:24:48 -05:00
bruvzg
fc948e87f6
Add symlink API support for Windows, expose symlink methods.
2024-04-28 19:59:34 +03: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
6118592c6d
Merge pull request #91210 from Faless/fix/core_unztell64
...
[Core] Use unztell64 in FileAccessZIP to ensure 64 bit return
2024-04-26 15:13:44 +02:00
Rémi Verschelde
bd598d5657
Merge pull request #85678 from KoBeWi/editor_walktime
...
Add separate feature tags for editor runtime
2024-04-26 15:13:16 +02:00
Rémi Verschelde
53ef784519
Merge pull request #84581 from KoBeWi/varray(1,2,3,4,5,6,7,8,9,100);
...
Make `varray()` variadic
2024-04-26 15:13:09 +02:00
kobewi
3ebb5b84a0
Add separate feature tags for editor runtime
2024-04-26 14:44:38 +02:00
kobewi
f647888006
Make varray() variadic
2024-04-26 14:33:11 +02:00
Fabio Alessandrelli
efccebd3db
[Core] Use unztell64 in FileAccessZIP to ensure 64 bit return
2024-04-26 11:49:54 +02:00
Rémi Verschelde
a8ff47b6d6
Fix GCC 14 -Wtemplate-id-cdtor warnings
...
Fixes #91206 .
2024-04-26 11:41:09 +02:00
kobewi
4324d01c8e
Allow loading custom ProjectSettings instance
2024-04-26 11:34:37 +02:00
David Snopek
45463f75d6
Fix ptrcalls to static GDExtension methods
2024-04-25 08:20:22 -05:00
Rémi Verschelde
de9933444e
Merge pull request #91108 from akien-mga/sync-gamecontrollerdb
...
Sync controller mappings DB with SDL 2 community repo
2024-04-24 18:55:22 +02:00
Rémi Verschelde
dcdaa7d5a9
Merge pull request #90900 from Calinou/file-logging-strip-ansi-escape-codes
...
Strip ANSI escape codes from file logging
2024-04-24 18:55:10 +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
00cc0a3e8f
Merge pull request #90091 from ajreckof/Fix-load-subtask-not-being-registered-leading-to-false-progress-values-
...
Fix load subtask not being registered leading to false progress values.
2024-04-24 18:55:04 +02:00
Rémi Verschelde
1da02fa7be
Sync controller mappings DB with SDL 2 community repo
...
Synced with mdqinc/SDL_GameControllerDB@5b4efa3a20
2024-04-24 11:55:55 +02:00
Pedro J. Estébanez
dee65d1435
Redefine GetSimpleTypeT<> in terms of <type_traits>
2024-04-24 11:43:13 +02:00
Hugo Locurcio
459f14c098
Strip ANSI escape codes from file logging
...
Text editors cannot display ANSI escape codes, so these should be
stripped from log files to ensure readability.
Since this uses a regex, this works both for `print_rich()`
and manually inserted ANSI escape codes.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-04-24 01:02:47 +02:00
Pedro J. Estébanez
15de869a9c
CommandQueueMT: Optimize & fix handling of sync/ret commands
2024-04-23 19:57:12 +02:00
Rémi Verschelde
ff9d78c141
Merge pull request #90889 from timothyqiu/compat
...
Use compatible text resource format when possible
2024-04-23 19:11:46 +02:00
Rémi Verschelde
cb1d6140be
Merge pull request #90866 from Repiteo/core/variant-initalizer-lists
...
Core: Utilize initalizer lists in Variant constructors
2024-04-23 19:11:29 +02:00
Haoyu Qiu
941e5c4820
Use compatible text resource format when possible
2024-04-23 12:04:44 +08:00
Rémi Verschelde
e22743298a
Merge pull request #90961 from Lateasusual/gdextension-hot-reloading-borked
...
GDExtension: Fix missing library path breaking hot reloading
2024-04-22 22:18:34 +02:00
Rémi Verschelde
2980a6b295
Merge pull request #90916 from Naros/expose-classdb-class-get-property-default-value
...
Expose `ClassDB::class_get_property_default_value` method
2024-04-22 22:18:26 +02:00
A Thousand Ships
ec29c3e784
[Core] Fix property access on read-only `Dictionary`
2024-04-22 13:57:34 +02:00
Rémi Verschelde
659cf339bc
Merge pull request #90931 from aaronfranke/is-ascii-alphabet-char
...
Rename internal `is_ascii_char` to `is_ascii_alphabet_char`
2024-04-22 12:53:28 +02:00
Rémi Verschelde
61d146c89e
Merge pull request #90748 from aaronfranke/fix-basis-scale-global
...
Fix incorrect name of internal Basis global scale getter
2024-04-22 12:52:52 +02:00
Rémi Verschelde
4b6629978e
Merge pull request #90701 from permelin/improve-delaunay3d-triangulation
...
Delaunay3D/LightmapGI: Improve triangulation
2024-04-22 12:52:12 +02:00
Rémi Verschelde
504d01b61e
Merge pull request #90403 from bruvzg/file_resize
...
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
Rémi Verschelde
0b89b8b64c
Merge pull request #90368 from Naros/expose-classdb-is-enum-bitfield
...
Expose `ClassDB::is_enum_bitfield` as `ClassDB::is_class_enum_bitfield`
2024-04-22 12:51:51 +02:00
Rémi Verschelde
fb3c3ace62
Merge pull request #90153 from rburing/clipper2_electric_boogaloo
...
Replace Clipper1 library by Clipper2 library
2024-04-22 12:51:46 +02:00
Rémi Verschelde
0cf1557045
Merge pull request #89780 from AThousandShips/import_fix
...
Fix import and saving related crashes
2024-04-22 12:51:37 +02:00
A Thousand Ships
49ae632b7d
Fix import and saving related crashes
...
* Don't add empty mesh to result when importing obj files
* Check for null resources in `ResourceSaver`
2024-04-22 12:13:19 +02:00
Chris Clyne
8564e94547
GDExtension: Fix missing library path breaking hot reloading
2024-04-20 21:08:11 +01:00
Ricardo Buring
8a28f816d0
Replace Clipper1 library by Clipper2 library
2024-04-20 13:37:59 +02:00
Aaron Franke
b1f5e9fe3a
Rename internal is_ascii_char to is_ascii_alphabet_char
2024-04-20 02:36:41 -07:00
Chris Cranford
fdf31011a5
Expose ClassDB::class_get_property_default_value method
2024-04-19 13:51:28 -04:00
Chris Cranford
c936ee54ee
Expose `ClassDB::is_enum_bitfield` as `ClassDB::is_class_enum_bitfield`
2024-04-19 12:46:36 -04:00
Fredia Huya-Kouadio
764de7fe31
Collapse the gdextension arguments into the `GDExtensionData` struct
...
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio
ede88cf59d
Fix loading GDExtension dependencies on Android
2024-04-19 07:55:08 -07: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
Thaddeus Crews
b95e7fcecd
Core: Integrate initalizer lists for Variant
2024-04-19 08:52:17 -05: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
Rémi Verschelde
56dfed4efd
Merge pull request #90751 from dalexeev/core-marshalls-fix-objects-as-id-in-typed-arrays
...
Core: Fix binary serialization of objects in typed arrays
2024-04-17 10:59:01 +02:00
Chris Cranford
d0fa2c3cfa
Defer call to set_break_language
2024-04-16 20:01:53 -04:00
Danil Alexeev
27b94eb44c
Core: Fix binary serialization of objects in typed arrays
...
* Allow typed arrays to be encoded even if `p_full_objects` is `false`.
* Use `Array[EncodedObjectAsID]` instead of the encoded element type
when decoding an array if `p_allow_objects` is `false`.
2024-04-16 16:19:10 +03:00
Rémi Verschelde
0ae1dcc3d2
Merge pull request #90741 from yorickdewid/patch-1
...
Fix missing return in `StreamPeerTCP::poll` when connection is `STATUS_CONNECTED`
2024-04-16 13:31:03 +02:00
Rémi Verschelde
dc8e82b00a
Merge pull request #90730 from timothyqiu/root-auto-translate
...
Add project setting for root node auto translate mode
2024-04-16 13:31:00 +02:00
Rémi Verschelde
7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
...
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +02:00
Aaron Franke
e83807ef85
Fix incorrect name of Basis global scale getter
2024-04-16 04:26:52 -07:00
kobewi
dce4a3e4c2
Add get_process_exit_code() method
2024-04-16 12:46:15 +02:00
Yorick de Wid
61a2f5c534
FIX: Return if TCP is in STATUS_CONNECTED
...
If the `StreamPeerTCP` is polled and the TCP connection is `STATUS_CONNECTED` it should return after polling netsocket. Without `return` poll keeps calling `_sock->connect_to_host` and `connect()`.
2024-04-16 10:32:11 +02:00
Haoyu Qiu
8d1cb7e74c
Add project setting for root node auto translate mode
2024-04-16 11:02:04 +08:00
Hugo Locurcio
9558d4f28f
Make TextEdit autocompletion replace word unless Shift is held
...
This makes Tab and Enter act identical by default for autocompletion.
If Shift is held, the suggestion is added in-place without the word
being replaced. This matches the behavior found in Visual Studio Code
where the following occurs:
- Pressing Tab accepts the suggestion and replaces the word.
- Pressing Enter accepts the suggestion and replaces the word.
- Pressing Shift + Tab accepts the suggestion and doesn't replace the word.
- Pressing Shift + Enter accepts the suggestion and doesn't replace the word.
2024-04-16 00:21:14 +02:00
Per Melin
89d0934f71
Delaunay3D: Improve triangulation
2024-04-15 18:48:21 +02:00
Danil Alexeev
3c62f5fe5c
Core: Fix `RefCounted` handling in `marshalls.cpp`
2024-04-15 13:53:40 +03:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Rémi Verschelde
50fd380359
Merge pull request #90562 from bruvzg/fix_links
...
[Unix / DirAccess] Fix removing directory symlinks with `remove`, ensure `erase_contents_recursive` is not following directory symlinks.
2024-04-15 10:00:22 +02:00
A Thousand Ships
80cb914e06
[Core] Fix incorrect comparison for `Array` const iterator
2024-04-13 17:32:33 +02:00
ajreckof
ca020ad8cd
Fix load subtask not being registered leading to false progress values.
2024-04-13 01:42:29 +02:00
Thaddeus Crews
55a4836e5b
Core: Replace `_NO_DISCARD_` macro with attribute
2024-04-12 16:40:01 -05:00