Commit Graph

80742 Commits

Author SHA1 Message Date
DeeJayLSP 3e5c53a673 AudioEffectCompressor: recommend HardLimiter over deprecated Limiter 2025-03-09 00:26:15 -03:00
风青山 7fd154c4b4 Set unsupported to true on error in FreeDesktopScreenSaver
This avoids possible memory leaks when the editor exits.
2025-03-09 11:10:27 +08:00
Haoyu Qiu f329439249 ScriptEditor: Disable auto translation of the filename label 2025-03-09 10:01:26 +08:00
dugramen 672b2d4f22 Inspect SceneTree node when anything is dragged over 2025-03-08 18:49:55 -05:00
dugramen ad812cf29d Apply transform for LineEdit, RichTextLabel, and TextEdit popup positions 2025-03-08 17:57:44 -05:00
A Thousand Ships 466590d0ec Use get_slicec instead of get_slice for single character splitters 2025-03-08 20:36:37 +01:00
Thomas ten Cate 93d342b745 Allow dragging items onto array property editor Add Element button
Instead of having to first click the button, then drag the item into the
new slot, this allows just dragging the item onto the button directly.
The button is highlighted as a valid drop target to signal this.
2025-03-08 19:28:05 +01:00
Thomas ten Cate b557840af5 Allow dragging resources (not just files) onto array property editor
The most common scenario is dragging a file from the filesystem dock,
which drags it as type "file", not "resource". This already worked. This
change also makes it possible to drag a resource from another property
editor.
2025-03-08 19:28:05 +01:00
Thomas ten Cate 11b3900a0e Allow dragging custom node types onto array property editor
For example, an Array[MyScript] property now accepts any node with the
script MyScript on it. This works for Node and NodePath arrays alike,
and also with the @export_node_path annotation.
2025-03-08 19:28:05 +01:00
Thomas ten Cate 0c46089d1b Allow dragging custom resources onto array property editor
This duplicates some of the logic in EditorResourcePicker, but that's
unavoidable: EditorResourcePicker works on a single, loaded resource,
whereas we'd like this to be efficient and not need to load all
(potentially many) dragged resources. Instead, we use the
EditorFileSystem cache to get the information we need.

Note that EditorResourcePicker also supports some automatic conversions,
such as from Shader to ShaderMaterial. This change does not attempt to
make that work for arrays as well.
2025-03-08 19:27:51 +01:00
Thomas ten Cate cd8eaaa07b Fix resource property editor incorrectly accepting script files
See discussion on #102534. Before this fix, it was possible to drag a
file `CustomResource.gd` with `class_name CustomResource` onto a
property of type `CustomResource`. Of course, the intention is that only
`Resource`s with the `CustomResource` script attached are accepted.

(Actually accepting the script, but creating a resource from it
automatically, is left as a future improvement.)
2025-03-08 19:24:33 +01:00
Thomas ten Cate 36c1b019fa Highlight Node and NodePath properties as valid drop targets
This was already done for Resource properties; this just makes things
consistent.
2025-03-08 19:24:33 +01:00
Grublady 8fd5de438f Use NSTrackingActiveWhenFirstResponder 2025-03-08 13:22:10 -05:00
ASamBlur 2d4c32b3ae Fix GraphNode port positions of children with size flag expand
- Changed slot_y_cache calculations in  _resort function so ports will be drawn correctly for expanded children.

- Similarly calculate the port_cache.pos in _port_pos_update function so the connection matches the port's position.
2025-03-08 19:29:29 +02:00
Thaddeus Crews 713a1ba554 Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
Pāvels Nadtočajevs fe38504aa0 [X11] Fix native dialog parent selection condition. 2025-03-08 16:28:25 +02:00
Pāvels Nadtočajevs 9363433458 Save queued ProjectSettings changes immediately when settings dialog is closed. 2025-03-08 16:26:52 +02:00
Matias N. Goldberg 21133425cc Delay expensive operations to get_perf_report
The function update_perf_report() is expensive and is called every
frame.
Most of it is not necessary unless the user calls get_perf_report

Affects #102173
2025-03-08 11:25:46 -03:00
arkology 186d68740c FindReplaceBar: Fix "Replace (All)" buttons repositioning, improve "Hide" button visual feedback
"Replace" and "Replace All" buttons now do not change their position depending on the availability of search results.
Additional changes:
- `VBoxContainer *vbc_lineedit` declaration has been removed from the header because it is not used outside the `FindReplaceBar` constructor.
- `hide_button` was changed from `TextureButton` to `Button` for consistency - this allows to visually see the feedback when hovering and pressing and also not set its icon 3 times instead of 1.
2025-03-08 14:02:29 +03:00
Ricardo Subtil d776682741 Fix recovery mode lock file not being cleared on import/export 2025-03-08 10:58:09 +00:00
Aaron Franke 4f1bcbd97f Rename internal view_menu in 3D editor code 2025-03-08 02:06:56 -08:00
Rudolph Bester 18eb1c1072 Fix occlusion culling by using depth instead of Euclidean distance when selecting the closest point
Co-authored-by: Florent Guiocheau <florent.guiocheau@gmail.com>
2025-03-08 08:48:34 +02:00
clayjohn 5efcd64b23 Reduce per-frame memory allocations from the heap in the Mobile renderer. 2025-03-07 22:01:24 -08:00
Ivan Shakhov 45889fac8b Add dynamic exec flags update when exec path is set for an external text editor.
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-03-08 06:36:58 +01:00
风青山 ac19f2ca68 Fix memory leak caused by hidden tooltip controls
Using hidden controls can override the default tooltip behavior, but these
controls are forgotten to be deleted.
2025-03-08 13:16:41 +08:00
Stuart Carnie f31ddce6d1 MetalFX: change fallback behaviour
Closes #103782
2025-03-08 15:35:45 +11:00
Domino ae6c87372c Fix visible avoidance debug rendering in NavigationRegion2D 2025-03-08 02:15:08 +01:00
Matias N. Goldberg 860f1da3b8 Fix build errors when building with disable_xr=yes
Building with the following params (note: scu_build is enabled):

```
platform=linuxbsd builtin_embree=yes builtin_enet=no
builtin_freetype=yes builtin_graphite=yes builtin_harfbuzz=yes
builtin_libogg=no builtin_libpng=yes builtin_libtheora=no
builtin_libvorbis=no builtin_libwebp=no builtin_miniupnpc=no
builtin_pcre2=no builtin_zlib=yes builtin_zstd=no linker=mold
optimize=none debug_symbols=True tests=True dev_mode=True dev_build=True
use_llvm=yes use_lld=yes opengl3=no openxr=no disable_xr=yes -j 24
scu_build=yes scu_limit=256
```

Results in compiler errors:

```
In file included from servers/register_server_types.cpp:99:
servers/xr/xr_interface.h:52:7: error: redefinition of 'RefCounted'
   52 | class XRInterface : public RefCounted {
      |       ^
./servers/rendering/rendering_method.h:40:21: note: expanded from macro
'XRInterface'
   40 | #define XRInterface RefCounted
      |                     ^
./core/object/ref_counted.h:37:7: note: previous definition is here
   37 | class RefCounted : public Object {
      |       ^
```

This happens because of:

```
#ifdef XR_DISABLED
// RendererSceneCull::render_camera is empty when 3D is disabled, but
// it and RenderingMethod::render_camera have a parameter for
XRInterface.
#define XRInterface RefCounted
#else
#include "servers/xr/xr_interface.h"
#endif // XR_DISABLED
```

In rendering_method.h
2025-03-07 21:13:09 -03:00
clayjohn 574f5126a2 Optimize _fill_instance_data function in Forward+ and Mobile renderers.
This batches together a couple of micro-optimizations that were discovered in profiling and analyzing disassembly.

Importantly, this reduces the amount of instructions in a heavy loop. This has the biggest impact when there are lots of objects and lights in the scene as the function is called once per objects + once per light that touches the object
2025-03-07 15:44:53 -08:00
Thaddeus Crews b5bdb88062 Merge pull request #102298 from Repiteo/style/pragma-once
Replace header guards style with `#pragma once`
2025-03-07 17:37:04 -06:00
Thaddeus Crews 1e22a194bd Ignore #pragma once commit 2025-03-07 17:34:15 -06:00
Thaddeus Crews 324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Thaddeus Crews 96fdaa616b Style: Integrate #pragma once in builders/checks 2025-03-07 17:32:33 -06:00
Lukas Tenbrink b6cfcdeab5 Add String::ascii creator functions, to parse a char buffer as ASCII.
The function will log errors if any characters above value 127 are found.
2025-03-08 00:01:27 +01:00
Thaddeus Crews 7459a0361d Merge pull request #103177 from Murrent/shader_default_at_top
Allow `default` case at the top of a switch scope in shaders
2025-03-07 15:12:55 -06:00
Thaddeus Crews 67d4a245d8 Merge pull request #103267 from YeldhamDev/reality_got_too_extended
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Thaddeus Crews a5dbf3bd49 Merge pull request #103199 from raulsntos/gdextension/version+status
GDExtension: Add `status` to `get_godot_version`
2025-03-07 15:12:53 -06:00
Thaddeus Crews c8ce6e7b51 Merge pull request #101776 from Ratstail91/master
Specify `max_slides` must be greater than 0
2025-03-07 15:12:51 -06:00
Thaddeus Crews 850599c36d Merge pull request #98153 from Delsin-Yu/dotnet-warn-missing-tool-preprocessor
[Editor] Prevent `TOOLS` .Net DefineConstants being overriden by the user
2025-03-07 15:12:49 -06:00
Thaddeus Crews f8ca861e25 Merge pull request #103137 from dsnopek/extension-api-precision
GDExtension: Include precision in `extension_api.json`
2025-03-07 15:12:47 -06:00
Thaddeus Crews 3d9b37911d Merge pull request #103011 from Repiteo/style/svgo-newline
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews 77022096ef Merge pull request #102451 from ryevdokimov/add-fail-cond-msg-reparent-self
Add `ERR_FAIL_COND_MSG` for reparenting to self
2025-03-07 15:12:35 -06:00
Thaddeus Crews 3c43508ed7 Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews 0c8f4f3d91 Merge pull request #97908 from atlasapplications/just-linux-bionic
Add `linux-bionic` RID export option
2025-03-07 15:12:32 -06:00
Thaddeus Crews bb8ef4e052 Merge pull request #101878 from Chubercik/automate_char_range
Core: Automate generation of the `char_range.inc` file
2025-03-07 15:12:31 -06:00
Thaddeus Crews 0c6efe572e Merge pull request #79599 from Calinou/add-license-notices-gui
Add built-in GUI to display license notices
2025-03-07 15:12:29 -06:00
Thaddeus Crews 1237536364 Merge pull request #102630 from KoBeWi/what_the_loop
Improve `_is_drop_valid()` code in EditorPropertyArray
2025-03-07 15:12:28 -06:00
Thaddeus Crews 47761b1bbe Merge pull request #81503 from matorin57/font-tests
Add getter tests for dynamic fonts
2025-03-07 15:12:27 -06:00
Thaddeus Crews c937b6d180 Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews 30221571f2 Merge pull request #99094 from KoBeWi/preload_dct2slt82u81fo8dkxkak5o57
Drop preload Resources as UID
2025-03-07 15:12:24 -06:00