Commit Graph

80742 Commits

Author SHA1 Message Date
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
Pāvels Nadtočajevs 1d33693e0d Add missing TRANSLATION_CHANGED notifications. 2025-05-26 07:52:07 +03: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
Aaron Franke 528a0a551b GLTF: Don't export AnimationPlayer nodes as glTF nodes 2025-05-25 12:30:51 -07:00
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
Patrick Gelvin 6842a5861b Workaround X11 crash issue 2025-05-25 08:07:24 -07:00
Rémi Verschelde b323212e0e TileSet: Prevent crash in conversion of invalid tiles from Godot 3.x
Fixes #80898.
2025-05-25 15:20:56 +02:00
Rémi Verschelde d0f99ec3d3 TileSet: Fix potential crash updating stale atlas source editor toolbar 2025-05-25 14:06:57 +02:00
Alfonso Grimaldo e1e1933244 fix missing ibl reconstruction from dfg multiscattering 2025-05-24 20:10:02 -06:00
kobewi 9c37ca5383 Expose helper methods for converting UIDs 2025-05-25 00:26:16 +02:00
Pāvels Nadtočajevs f92fd74268 Do not activate accessibility when screen reader detection failed. 2025-05-25 00:17:23 +03:00
Max Shawabkeh d042763750 Fix shader compiler crash when parsing case labels with non-existent vars. 2025-05-24 13:19:35 -07:00
Bernat Arlandis 78a66b4c16 Theora: Fix UV channel offset when cropping region 2025-05-24 20:00:41 +02:00