1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-15 13:51:40 +00:00
Commit Graph

11163 Commits

Author SHA1 Message Date
Thaddeus Crews
2fc072585d Merge pull request #106820 from OzelotVanilla/fix-editor-plugin-callback-path-param
Fix `EditorContextMenuPlugin` `CONTEXT_SLOT_FILESYSTEM_CREATE` does not receive path information for some menus
2025-06-02 18:51:43 -05:00
Thaddeus Crews
028a7d3776 Merge pull request #89530 from dalexeev/ed-allow-rename-theme-types
Editor: Add ability to rename theme types
2025-06-02 18:51:40 -05:00
Thaddeus Crews
67d5d4b790 Merge pull request #107062 from KoBeWi/ultimate_initial_clarification
Clarify `set_initial_value()`
2025-06-02 18:51:39 -05:00
Thaddeus Crews
ec5a771d62 Merge pull request #104999 from RobProductions/patch-1
[Docs] Update RichTextLabel alignment documentation
2025-06-02 18:51:35 -05:00
Thaddeus Crews
79db51871c Merge pull request #106917 from shiena/fix/camera-feed-document
Update CameraFeed document for Android
2025-06-02 18:51:32 -05:00
Thaddeus Crews
46a7fc317b Merge pull request #103716 from aaronp64/script_dictionary_docs
Link `Script` method documentation to details about returned dictionaries
2025-06-02 18:51:30 -05:00
Thaddeus Crews
a654f7b2b5 Merge pull request #105502 from tehKaiN/editor_interface_close_scene
Add `EditorInterface::close_scene()`
2025-06-02 18:51:29 -05:00
Thaddeus Crews
e8a02152c4 Merge pull request #105757 from bruvzg/no_temp
[PCK] Move directory to the end of file, write exported/saved PCK in place.
2025-06-02 18:51:28 -05:00
Thaddeus Crews
4f64eaef0c Merge pull request #69012 from KoBeWi/settings_of_editor_project
Allow to override editor settings per project
2025-06-02 18:51:26 -05:00
Thaddeus Crews
430bb6294c Merge pull request #107022 from Calinou/doc-softbody3d-recommend-jolt
Recommend Jolt Physics in SoftBody3D class reference
2025-06-02 18:51:23 -05:00
Thaddeus Crews
e41af67e29 Merge pull request #107020 from Aioshiro/typo-array-slice
Fix extra parenthesis in `Array.slice` description
2025-06-02 18:51:22 -05:00
Thaddeus Crews
d7d6bc77ed Merge pull request #106369 from Calinou/doc-array-get
Improve documentation for `Array.get()` and `Packed*Array.get()` methods
2025-06-02 18:51:20 -05:00
kobewi
55c139f9f5 Clarify set_initial_value() 2025-06-02 21:58:49 +02:00
kobewi
b41d6ecf8c Allow to override editor settings per project 2025-06-02 17:51:26 +02:00
Pāvels Nadtočajevs
8cb2817976 [PCK] Move directory to the end of file, write exported/saved PCK in place. 2025-06-02 12:54:09 +03:00
Ozelot Vanilla
94669955d8 fix: EditorContextMenuPlugin CONTEXT_SLOT_FILESYSTEM_CREATE does not receive path information for some menu
Also add explanation in `EditorContextMenuPlugin`'s doc for fixing path information passing

(Accept PR #106820 suggestion by: Tomasz Chabora <kobewi4e@gmail.com>)
2025-06-02 15:37:12 +09:00
Hugo Locurcio
b89b2e9aa7 Recommend Jolt Physics in SoftBody3D class reference
Jolt Physics has greatly improved SoftBody3D usability in Godot
compared to what was previously available with GodotPhysics3D.
2025-06-01 17:16:04 +02:00
Aioshiro
8fc060b8b3 Fix extra parenthesis in Array.slice description 2025-06-01 17:05:30 +02:00
Danil Alexeev
e6c9a832c1 Editor: Add ability to rename theme types 2025-05-29 21:57:48 +03:00
KOGA Mitsuhiro
7762f70f69 Update CameraFeed document for Android 2025-05-29 07:24:00 +09:00
KaiN
8cdb1768a4 Add EditorInterface::close_scene()
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2025-05-28 21:53:32 +02:00
Thaddeus Crews
bb47f01481 Merge pull request #106390 from akien-mga/linux-drop-ppc32
Linux: Drop `ppc32` (32-bit PowerPC) architecture support
2025-05-28 09:47:34 -05:00
Thaddeus Crews
f619ca2519 Merge pull request #60143 from Rindbee/better-connection-dialog
Add a flag to make the connection automatically emit the source object.
2025-05-27 09:39:34 -05:00
Thaddeus Crews
91b3a26438 Merge pull request #106848 from Faless/mp/rpc_config_revert
Expose `get_rpc_config` and `get_node_rpc_config`
2025-05-27 09:39:32 -05:00
Thaddeus Crews
05ceab6b7b Merge pull request #106321 from elzewyr/shrink-factor
SoftBody3D: Add a property for scaling rest lengths of edge constraints
2025-05-27 09:39:29 -05:00
Thaddeus Crews
63dff62948 Merge pull request #100673 from RandomShaper/res_duplicate
Overhaul resource duplication
2025-05-27 09:39:25 -05:00
Thaddeus Crews
bdf03ac2b3 Merge pull request #106811 from OzelotVanilla/fix-editor-plugin-filesystem-create
Fix missing popup item defined in `EditorContextMenuPlugin` with slot `CONTEXT_SLOT_FILESYSTEM_CREATE`
2025-05-27 09:39:24 -05:00
Thaddeus Crews
15b4b6b3d2 Merge pull request #106807 from Calinou/doc-editorproperty-not-ready
Document EditorProperty behavior when the node isn't fully ready yet
2025-05-27 09:39:23 -05:00
Thaddeus Crews
d4793d016f Merge pull request #106157 from Calinou/doc-acceptdialog-close-on-escape
Clarify the input action that affects `AcceptDialog.dialog_close_on_escape`
2025-05-27 09:39:22 -05:00
Thaddeus Crews
482dacc300 Merge pull request #103583 from beicause/color-picker-add-intensity
ColorPicker: Add an intensity slider to all modes for HDR
2025-05-27 09:39:21 -05:00
Rindbee
5e2396e001 Add a flag to make the connection automatically emit the source object.
Mainly used to improve the connection dialog.

Not implemented in `emit_signalp()`, append the source object when a PackScene is instantiated.
2025-05-27 20:19:03 +08:00
Ozelot Vanilla
14d9aa9672 fix: EditorContextMenuPlugin with slot CONTEXT_SLOT_FILESYSTEM_CREATE does not add popup item to all menu
As there are multiple menu containing creating new files, this commit add the popup menu item from the plugin to all those menu to keep consistency.
The fixing uses empty array to indicate different types of context menu.

Added to these menu:
* Right-click on empty space on the tree (`_tree_empty_click`).
* Right-click on empty space on the file panel (`_file_list_empty_clicked`)

Also add explanation in `EditorContextMenuPlugin::CONTEXT_SLOT_FILESYSTEM_CREATE`'s doc for previous fixing

(Accept PR #106811 code suggestion by: Tomasz Chabora <kobewi4e@gmail.com>)
2025-05-27 10:15:21 +09:00
Haoyu Qiu
8d93b6a54c Add translation preview in editor 2025-05-27 07:59:28 +08:00
Fabio Alessandrelli
b73ec1fa9b Expose get_rpc_config and get_node_rpc_config 2025-05-27 00:43:21 +02:00
Hugo Locurcio
260af83647 Document EditorProperty behavior when the node isn't fully ready yet 2025-05-27 00:42:10 +02:00
Hugo Locurcio
3168fd4c56 Clarify the input action that affects AcceptDialog.dialog_close_on_escape
It uses `ui_cancel` behind the scenes, which allows users to add/modify
which keys or gamepad buttons are taken into account for this.
2025-05-27 00:38:58 +02: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
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
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
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
f984e15b39 Merge pull request #106244 from lawnjelly/fti_optimize_scene_tree4
FTI - Optimize `SceneTree` traversal
2025-05-26 11:24:21 -05: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
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
kobewi
9c37ca5383 Expose helper methods for converting UIDs 2025-05-25 00:26:16 +02:00
lawnjelly
c7764ef26b FTI - Optimize SceneTree traversal 2025-05-24 17:38:33 +01:00
Pāvels Nadtočajevs
d609cf62a0 Implement get_filesystem_type on macOS and Linux. 2025-05-23 23:05:06 +03:00
PiCode
fe3aaa2ae3 Add functions to apply impulse and force to SoftBody on GodotPhysics and JoltPhysics 2025-05-23 22:04:52 +03:00