Commit graph

74771 commits

Author SHA1 Message Date
Lukas Tenbrink
4cb8a0c77e Add resize_initialized and resize_uninitialized to Vector. These functions serve as replacements for resize, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +02:00
Thaddeus Crews
6c9765d87e
Merge pull request #106738 from BastiaanOlij/openxr_add_future_result
OpenXR Futures: Add return value support
2025-05-26 11:24:47 -05:00
Thaddeus Crews
d5301d1cc9
Merge pull request #106736 from TCROC/fix-ios-plugins-broken
Fix ios plugin always invalid due to null ConfigFile
2025-05-26 11:24:46 -05:00
Thaddeus Crews
de2cd663fd
Merge pull request #100463 from PiCode9560/softbody-apply-force-and-impulse
Add ability to apply forces and impulses to `SoftBody3D`
2025-05-26 11:24:45 -05:00
Thaddeus Crews
955744fdaf
Merge pull request #106733 from Ivorforce/ok-rainbows
Use OkHSV for `RichTextLabel` rainbows
2025-05-26 11:24:44 -05:00
Thaddeus Crews
50aa801351
Merge pull request #106731 from stuartcarnie/metal_fx_temporal_no_mobile
Metal: Disable MetalFX Temporal for `mobile` rendering method
2025-05-26 11:24:43 -05:00
Thaddeus Crews
8bcec7afa9
Merge pull request #106730 from Ivorforce/simplify-memnew-arr-placement
Simplify `Memory::memnew_arr_placement` to always initialize memory
2025-05-26 11:24:43 -05:00
Thaddeus Crews
1c151e9980
Merge pull request #106724 from syntaxerror247/theme-attributes
Android: Add export option for custom theme attributes
2025-05-26 11:24:42 -05:00
Thaddeus Crews
34fc2c1bb6
Merge pull request #106339 from Ryan-000/Run-EditorScript-from-FileSystemDock
Allow running EditorScripts from the FileSystemDock
2025-05-26 11:24:41 -05:00
Thaddeus Crews
c38b856f39
Merge pull request #106717 from KoBeWi/uid_in_path_factory
Expose helper methods for converting UIDs
2025-05-26 11:24:40 -05:00
Thaddeus Crews
420d7613fd
Merge pull request #106714 from jorgekorgut/fix-ignore-external-changes
Fix Ignore External Changes Bug
2025-05-26 11:24:39 -05:00
Thaddeus Crews
f3f76df0cd
Merge pull request #103504 from lawnjelly/fti_warn_physics_non_interp4
Physics Interpolation - Add editor configuration warnings
2025-05-26 11:24:39 -05:00
Thaddeus Crews
81953d3cc2
Merge pull request #106445 from YYF233333/opt_sarray
Optimize and simplify `sarray`
2025-05-26 11:24:38 -05:00
Thaddeus Crews
e2d244b7f1
Merge pull request #106052 from uno1982/correct-get_unique_id-windows-null-termination
Fix Windows `OS.get_unique_id()` null termination issue
2025-05-26 11:24:37 -05:00
Thaddeus Crews
04af103d0b
Merge pull request #106815 from timothyqiu/menu-bar-min-size
Fix MenuBar min size not updating after child rename
2025-05-26 11:24:36 -05:00
Thaddeus Crews
e89c4b0f9f
Merge pull request #102330 from RGDTAB/add_partial_smaa
Add SMAA 1x to screenspace AA options
2025-05-26 11:24:35 -05:00
Thaddeus Crews
4db474d4ab
Merge pull request #106810 from syntaxerror247/Fix-UI
Fix Android editor UI
2025-05-26 11:24:35 -05:00
Thaddeus Crews
b144bbb510
Merge pull request #106553 from Lazy-Rabbit-2001/sprite-dragging-improved
Reintroduce the dragging method of Sprite2D's region_rect
2025-05-26 11:24:34 -05:00
Thaddeus Crews
869807a7b8
Merge pull request #106796 from akien-mga/tileset-compat-conversion-prevent-crash
TileSet: Prevent crash in conversion of invalid tiles from Godot 3.x
2025-05-26 11:24:33 -05:00
Thaddeus Crews
76f28c4f63
Merge pull request #106666 from bruvzg/apple_em_blof
Add hardcoded baseline offset for Apple Color Emoji.
2025-05-26 11:24:32 -05:00
Thaddeus Crews
777f1c10fa
Merge pull request #105376 from KoBeWi/quequeque
Queue hover update when creating TreeItem
2025-05-26 11:24:32 -05:00
Thaddeus Crews
9cf026a3b9
Merge pull request #106783 from bruvzg/ac_linux_state
Do not activate accessibility when screen reader detection failed.
2025-05-26 11:24:31 -05:00
Thaddeus Crews
5df01a8c5a
Merge pull request #96925 from SaNeOr/fix-#96908
Fix spaces converted to tabs in triple quote strings
2025-05-26 11:24:30 -05:00
Thaddeus Crews
60c66c0296
Merge pull request #106524 from chocola-mint/animation-player-method-lookup
Implement method lookup for method tracks
2025-05-26 11:24:29 -05:00
Thaddeus Crews
d52dc28324
Merge pull request #106779 from berarma/fix_theora_uv_offset
Theora: Fix UV channel offset when cropping region
2025-05-26 11:24:28 -05:00
Thaddeus Crews
66d20a24b4
Merge pull request #106008 from beicause/cs-byte-array-compress
C#: Expose byte array compress and decompress
2025-05-26 11:24:28 -05:00
Thaddeus Crews
34cf5a03a2
Merge pull request #103833 from nobbele/projectmanager-local-time
Make project manager's "last edited" field display use local time instead of UTC
2025-05-26 11:24:27 -05:00
Thaddeus Crews
06301bee3e
Merge pull request #106775 from Ivorforce/gdsoftclass-expand
Move compatible functionality from `GDCLASS` to `GDSOFTCLASS`.
2025-05-26 11:24:26 -05:00
Thaddeus Crews
506417fe43
Merge pull request #105623 from lodetrick/section-feature-hide
Allow Inspector Section Checkboxes to hide features, Add "On" text to checkboxes
2025-05-26 11:24:25 -05:00
Thaddeus Crews
6132792f05
Merge pull request #106386 from bruvzg/mac_fs_name
Implement `get_filesystem_type` on macOS and Linux.
2025-05-26 11:24:25 -05:00
Thaddeus Crews
5186987dde
Merge pull request #106254 from chsoen/fix-105582
Change Selected value for OptionButton when last item is deleted.
2025-05-26 11:24:24 -05:00
Thaddeus Crews
c2fde491b7
Merge pull request #105996 from a-johnston/fuzzy_search_case_fix
Only update case sensitive fuzzy searching within `set_query`
2025-05-26 11:24:23 -05:00
Thaddeus Crews
b8be0f1634
Merge pull request #106761 from mihe/jolt/move-only-shape-ref
Change `JoltShapeInstance3D` to use move semantics
2025-05-26 11:24:22 -05:00
Thaddeus Crews
f196a7128c
Merge pull request #106759 from aaronp64/time_year_calc
Update `time.cpp` year/unix time conversions to be constant time
2025-05-26 11:24:22 -05:00
Thaddeus Crews
f984e15b39
Merge pull request #106244 from lawnjelly/fti_optimize_scene_tree4
FTI - Optimize `SceneTree` traversal
2025-05-26 11:24:21 -05:00
Thaddeus Crews
f6a56c112f
Merge pull request #106500 from Frozenfire92/global-find-in-files
Make FindInFiles globally accessible
2025-05-26 11:24:20 -05:00
Thaddeus Crews
712d213b2c
Merge pull request #106754 from YYF233333/opt_errarray
Simplify implementation of `errarray`
2025-05-26 11:24:19 -05:00
Lukas Tenbrink
621a8d14fa Move compatible functionality from GDCLASS to GDSOFTCLASS. 2025-05-26 17:41:15 +02:00
Pedro J. Estébanez
6841b45552 Add tests for resource duplication 2025-05-26 17:05:04 +02:00
Fabio Alessandrelli
c28d5d0058 Revert "Expose get_rpc_config and get_node_rpc_config"
This reverts commit 8835f326b1.
2025-05-26 15:57:38 +02:00
Rémi Verschelde
514e80bcc1
D3D12: Fix inconsistent value for DCOMP_ENABLED in platform code 2025-05-26 15:16:19 +02:00
kobewi
ad9b66100e Remember state of built-in script/shader checkbox 2025-05-26 15:00:11 +02:00
Pedro J. Estébanez
342266cfd9 Overhaul Variant::duplicate() for resources
This in the scope of a duplication triggered via any type in the `Variant` realm. that is, the following: `Variant` itself, `Array` and `Dictionary`. That includes invoking `duplicate()` from scripts.

A `duplicate_deep(deep_subresources_mode)` method is added to `Variant`, `Array` and `Dictionary` (for compatibility reasons, simply adding an extra parameter was not possible). The default value for it is `RESOURCE_DEEP_DUPLICATE_NONE`, which is like calling `duplicate(true)`.

Remarks:
- The results of copying resources via those `Variant` types are exactly the same as if the copy were initiated from the `Resource` type at C++.
- In order to keep some separation between `Variant` and the higher-level animal which is `Resource`, `Variant` still contains the original code for that, so it's self-sufficient unless there's a `Resource` involved. Once the deep copy finds a `Resource` that has to be copied according to the duplication parameters, the algorithm invokes the `Resource` duplication machinery. When the stack is unwind back to a nesting level `Variant` can handle, `Variant` duplication logic keeps functioning.

While that is good from a responsibility separation standpoint, that would have a caveat: `Variant` would not be aware of the mapping between original and duplicate subresources and so wouldn't be able to keep preventing multiple duplicates.

To avoid that, this commit also introduces a wormwhole, a sharing mechanism by which `Variant` and `Resource` can collaborate in managing the lifetime of the original-to-duplicates map. The user-visible benefit is that the overduplicate prevention works as broadly as the whole `Variant` entity being copied, including all nesting levels, regardless how disconnected the data members containing resources may be across al the nesting levels. In other words, despite the aforementioned division of duties between `Variant` and `Resource` duplication logic, the duplicates map is shared among them. It's created when first finding a `Resource` and, however how deep the copy was working at that point, the map kept alive unitl the stack is unwind to the root user call, until the first step of the recursion.

Thanks to that common map of duplicates, this commit is able to fix the issue that `Resource::duplicate_for_local_scene()` used to ignore overridden duplicate logic.
2025-05-26 10:06:40 +02:00
Pedro J. Estébanez
2a03b459b9 Overhaul Resource::duplicate()
Thanks to a refactor, `Resource::duplicate_for_local_scene()` and `Resource::duplicate()` are now both users of the same, parametrized, implementation.

`Resource::duplicate()` now honors deepness in a more consistent and predictable fashion. `Resource::duplicate_deep()` is added (instead of just adding a parameter to the former, for compatibility needs).

The behavior after this change is as follows:
  - Deep (`deep=true`, formerly `subresources=true`):
    - Previously, only resources found as direct property values of the one to copy would be, recursively, duplicated.
    - Now, in addition, arrays and dictionaries are walked so the copy is truly deep, and only local subresources found across are copied.
    - Previously, subresources would be duplicated as many times as being referenced throughout the main resource.
    - Now, each subresource is only duplicated once and from that point, a referenced to that single copy is used. That's the enhanced behavior that `duplicate_for_local_scene()` already featured.
    - The behavior with respect to packed arrays is still duplication.
    - Formerly, arrays and dictionaries were recursive duplicated, with resources ignored.
    - Now, arrays and dictionaries are recursive duplicated, with resources duplicated.
    - When doing it through `duplicate_deep()`, there's a` deep_subresources_mode` parameter, with various possibilites to control if no resources are duplicated (so arrays, etc. are, but keeping referencing the originals), if only the internal ones are (resources with no non-local path, the default), or if all of them are. The default is to copy every subresource, just like `duplicate(true)`.
  - Not deep (`deep=false`, formerly `subresources=false`): <a name="resource-shallow"></a>
    - Previously, the first level of resources found as direct property values would be duplicated unconditionally. Packed arrays, arrays and dictionaries were non-recursively duplicated.
    - Now, no subresource found at any level in any form will be duplicated, but the original reference kept instead. Packed arrays, arrays and dictionaries are referenced, not duplicated at all.
    - Now, resources found as values of always-duplicate properties are duplicated, recursively or not matching what was requested for the root call.

This commit also changes what's the virtual method to override to customize the duplication (now it's the protected `_duplicate()` instead of the public `duplicate()`).
2025-05-26 10:05:25 +02:00
Haoyu Qiu
b2d47352d0 Fix MenuBar min size not updating after child rename 2025-05-26 14:37:30 +08:00
Bastiaan Olij
16659e37c1 OpenXR Futures: Add return value support 2025-05-26 14:54:25 +10:00
Anish Mishra
08f13a030d Android Editor: Disable nomedia file creation for Android 11 (api level 30)
Fixes https://github.com/godotengine/godot/issues/106479
Fixes https://github.com/godotengine/godot/issues/105399
2025-05-26 05:49:25 +05:30
Anish Mishra
e084e479bf
Fix Android editor UI 2025-05-25 22:59:41 +05:30
Anish Mishra
a89f083ffa Fix OS.get_version() on Android. 2025-05-25 21:17:07 +05:30
LuoZhihao
fc8328d5f1 C#: Expose byte array compress and decompress 2025-05-25 23:42:23 +08:00