Commit Graph

16926 Commits

Author SHA1 Message Date
Thaddeus Crews
9995c3eedd
Merge pull request #98446 from TokageItLab/look-at-modifier
Implement LookAtModifier3D
2024-11-12 09:27:35 -06:00
smix8
086bd1d82c Improve NavigationObstacle3D editor tooling
Improves NavigationObstacle3D editing options inside the editor.
2024-11-12 12:44:12 +01:00
Jayden Sipe
722d932466 Expose toast notification methods 2024-11-11 19:39:33 -05:00
kobewi
49dc4e0dda Cleanup EditorInterface selectors' code 2024-11-11 21:48:48 +01:00
Thaddeus Crews
ec6a1c0e79
Merge pull request #97912 from reduz/property-path-store-uid
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Expose path properties save UID internally if referencing a resource
2024-11-11 14:18:41 -06:00
Thaddeus Crews
cea186af2a
Merge pull request #98797 from KoBeWi/toastkill_f
Close toasts instantly when Close button is pressed
2024-11-11 14:18:38 -06:00
Thaddeus Crews
848d90837e
Merge pull request #96730 from tracefree/properly_transforming_obstacles
Make use of NavigationObstacle3D's transform
2024-11-11 14:18:33 -06:00
Thaddeus Crews
2ed6d12652
Merge pull request #97363 from reduz/deterministic-gen-suberesources-id
Allow passing UID to importer
2024-11-11 14:18:30 -06:00
Thaddeus Crews
d76fbb7a40
Merge pull request #97356 from reduz/pck-file-removal
Add ability for PCK patches to remove files
2024-11-11 14:18:27 -06:00
Thaddeus Crews
2430b7f9b4
Merge pull request #97352 from reduz/uids-everywhere
Universalize UID support in all resource types
2024-11-11 14:18:25 -06:00
Thaddeus Crews
93815e7e97
Merge pull request #99013 from TokageItLab/fps-compat-toggle
Add FPS compatible option in second mode of the animation editor snapping
2024-11-11 14:18:24 -06:00
Thaddeus Crews
9be806aef1
Merge pull request #92986 from Repiteo/core/ref-instantiate-integration
Core: Integrate Ref `instantiate` where possible
2024-11-11 14:18:15 -06:00
Thaddeus Crews
563355637e
Merge pull request #97722 from dustdfg/fix_wrong_groups_tooltip
Fix tooltip message of button that opens groups/signals dock
2024-11-11 14:18:13 -06:00
Thaddeus Crews
489d4933ab
Merge pull request #97081 from aXu-AP/uv-editor-without-polygon
Open UV editor in point editing mode if no points
2024-11-11 14:18:12 -06:00
Thaddeus Crews
360f42c281
Merge pull request #98859 from ydeltastar/method-selector
Make the method selector dialog available via `EditorInterface`
2024-11-11 14:18:08 -06:00
Thaddeus Crews
869e059f07
Merge pull request #98074 from YeldhamDev/stop_moving_will_ya
Add a pin toggle to prevent involuntary bottom editor switching
2024-11-11 14:18:02 -06:00
Thaddeus Crews
204f589213
Merge pull request #97551 from lalitshankarchowdhury/resize-audio-waveform
AudioStreamImport: Allow waveform resize
2024-11-11 14:18:00 -06:00
Thaddeus Crews
ed3de25a9a
Merge pull request #97415 from YeldhamDev/i_love_all_my_properties_equally
Make possible to favorite properties in the inspector
2024-11-11 14:17:57 -06:00
Silc Lizard (Tokage) Renew
6fc061b4fe Implement LookAtModifier3D 2024-11-12 05:03:35 +09:00
Silc Lizard (Tokage) Renew
64d04c375c Add FPS compatible option in second mode of animation editor snapping 2024-11-12 04:39:13 +09:00
Juan
2ac562cdf8 Add ability for PCK patches to remove files
Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
2024-11-11 16:34:37 +01:00
Michael Alexsander
bb07b2d619
Add a lock toggle to prevent involuntary bottom editor switching 2024-11-11 12:09:57 -03:00
Juan
d57846087b
Universalize UID support in all resource types
Ensures all resource types support UIDs in a project.

This is required to fix:
* Scripts and many other resource types can't be referenced by UID and when refactored the references are lost.
* Path export properties can't use UID for unsupported types.
* Refactoring problems when files are moved outside the editor (this PR effectively fixes it).
* Editor properly refreshing paths if they changed externally while opened (as example, git update).
  This needs to be addressed in a subsequent PR, but this one effectively sets the prerequisites.

Resource types that do not support UID will get a .uid file appended to them (this includes .gd, .gdshader, .gdextension, etc. files).
2024-11-11 15:59:56 +01:00
Juan
fe34c45d2a
Allow passing UID to importer
This helps, for importers spitting out new resources to the res://
filesystem to actually hash them to generate deterministic UIDs.

This PR also fixes the determinism for translations.
2024-11-11 15:22:42 +01:00
yds
9db8b0e333 Make the method selector dialog available via EditorInterface 2024-11-11 08:36:02 -03:00
UnfavorableEnhancer
d9a1e65d50 fix holding shift not lowering animation snap 2024-11-11 13:12:09 +03:00
kobewi
cb7304662b Close toasts instantly when Close button is pressed 2024-11-10 21:23:48 +01:00
Thaddeus Crews
925b690c98
Core: Integrate Ref::instantiate where possible 2024-11-10 12:41:26 -06:00
Thaddeus Crews
0f5f3bc954
Merge pull request #98558 from jasonmorgado/add-track-filter
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Add type filters to AnimationPlayer's "Add Track"
2024-11-10 12:13:10 -06:00
Thaddeus Crews
c4a52e1ade
Merge pull request #98809 from bruvzg/mac_gde_libs_non_uni
[GDExtension] Improve macOS library loading/export.
2024-11-10 12:13:06 -06:00
Thaddeus Crews
297ceda96d
Merge pull request #98794 from KoBeWi/programming_a_toaster_aka_internet_of_things
Improve EditorToaster code
2024-11-10 12:13:00 -06:00
Thaddeus Crews
63838c936c
Merge pull request #98278 from a-johnston/fuzzy-search-rebase
Add fuzzy string matching to quick open search
2024-11-10 12:12:56 -06:00
Thaddeus Crews
f3294e59e1
Merge pull request #98891 from Faless/debugger/game_view_settings
[Debugger] Better settings configuration for RuntimeNodeSelect and Window quit
2024-11-10 12:12:46 -06:00
Thaddeus Crews
68c35f498a
Merge pull request #98232 from dbnicholson/editor-dock-select-root
Fix selecting root node before button released
2024-11-10 12:12:39 -06:00
Thaddeus Crews
5d7a7c01b4
Merge pull request #98988 from AThousandShips/fix_game_feature
[Editor] Fix order of editor features
2024-11-10 12:12:35 -06:00
Thaddeus Crews
90ce26a27b
Merge pull request #94889 from rune-scape/no-const-list-erase
Remove const_cast in `List::erase`
2024-11-10 12:12:34 -06:00
Thaddeus Crews
560dfc738d
Merge pull request #98980 from Logharaa/remove-unnecessary-condition
Remove unnecessary condition in WAV importer
2024-11-10 12:12:33 -06:00
Thaddeus Crews
fbded4e0d7
Merge pull request #98716 from Calinou/editor-improve-mesh-uv-preview
Improve Mesh UV1/UV2 preview in the editor
2024-11-10 12:12:29 -06:00
Thaddeus Crews
a3efd2b498
Merge pull request #98710 from YeldhamDev/runtime_reimport_reload
Reload cached resources in runtime on file reimport
2024-11-10 12:12:27 -06:00
Rie
44ef3d35eb Make use of NavigationObstacle3D's transform
Co-authored-by: a0kami <dev.aokami@netc.fr>
2024-11-10 17:08:12 +01:00
Jason Morgado
d5176757c0 Add type filters to AnimationPlayer's "Add Track"
Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-Authored-By: Tomek <kobewi4e@gmail.com>
2024-11-09 10:14:06 -05:00
A Thousand Ships
2d8eb290f1
[Editor] Fix order of editor features
Order was broken after adding `Game View`
2024-11-09 10:51:55 +01:00
Felix Yuan
f491d2fe24 Don't try to move selection if there are no visible elements 2024-11-09 01:29:44 -08:00
Logharaa
b40e04d94f Remove unnecessary condition 2024-11-09 10:42:22 +09:00
rune-scape
a47daa0a44 Avoid const_cast in List::erase by requiring mutable elements 2024-11-08 00:10:08 -08:00
Thaddeus Crews
36e6207bb4
Merge pull request #98911 from KoBeWi/😵‍💫
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Fix wrong checked menu item in 3D editor
2024-11-07 12:36:36 -06:00
Thaddeus Crews
3a7efc9edf
Merge pull request #98874 from aaronfranke/gltf-preserve-visibility
GLTF: Preserve node visibility on import
2024-11-07 12:36:35 -06:00
Thaddeus Crews
671d6e3230
Merge pull request #98150 from hunterloftis/fix-default-import-threaded
Fix freeze on non-thread-safe custom importers
2024-11-07 12:36:20 -06:00
Fabio Alessandrelli
c3e2e46855 [Debugger] Add configuration to the GameView debugger plugin 2024-11-07 15:03:17 +01:00
Fabio Alessandrelli
7cd850b909 [Debugger] Move quit shortcut configuration to the SceneDebugger 2024-11-07 15:03:17 +01:00
kobewi
4cbf15608c Fix wrong checked menu item in 3D editor 2024-11-07 00:15:38 +01:00
Aaron Franke
924732772b
GLTF: Preserve node visibility on import 2024-11-05 19:06:08 -08:00
Thaddeus Crews
88a48d52f0
Merge pull request #98801 from zeux/my-final-form
Rewrite index optimization code for maximum efficiency
2024-11-05 18:36:13 -06:00
aXu-AP
f168d0c80f Highlight scripts used by current scene 2024-11-05 17:10:02 +02:00
Michael Alexsander
81cb7658f8
Reload cached resources in runtime on file reimport 2024-11-05 10:51:20 -03:00
passivestar
a6bcff9cfd Add missing audio bus button styles 2024-11-05 14:58:31 +04:00
Thaddeus Crews
2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Thaddeus Crews
e38068f768
Merge pull request #96778 from aaronfranke/gltf-dont-fail-import
GLTF: Don't give up loading a texture if importing it fails
2024-11-04 21:51:56 -06:00
Aaron Franke
0b7354dfa9
GLTF: Don't give up loading image if import fails 2024-11-04 19:28:18 -08:00
Thaddeus Crews
bb5f390fb9
Style: Apply clang-tidy fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply clang-tidy fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Arseny Kapoulkine
260287b3a1 Rewrite index optimization code for maximum efficiency
While all the previous fixes to optimizeVertexCache invocation fixed the
vertex transform efficiency, the import code still was missing two
crucial recommendations from meshoptimizer documentation:

- All meshes should be optimized for vertex cache (this reorders
  vertices for maximum fetch efficiency)
- When LODs are used with a shared vertex buffer, the vertex order
  should be generated by doing a vertex fetch optimization on the
  concatenated index buffer from coarse to fine LODs; this maximizes
  fetch efficiency for coarse LODs

The last point is especially crucial for Mali GPUs; unlike other GPUs
where vertex order affects fetch efficiency but not shading, these GPUs
have various shading quirks (depending on the GPU generation) that
really require consecutive index ranges for each LOD, which requires the
second optimization mentioned above. However all of these also help
desktop GPUs and other mobile GPUs as well.

Because this optimization is "global" in the sense that it affects all
LODs and all vertex arrays in concert, I've taken this opportunity to
isolate all optimization code in this function and pull it out of
generate_lods and create_shadow_mesh; this doesn't change the vertex
cache efficiency, but makes the code cleaner. Consequently,
optimize_indices should be called after other functions like
create_shadow_mesh / generate_lods.

This required exposing meshopt_optimizeVertexFetchRemap; as a drive-by,
meshopt_simplifySloppy was never used so it's not exposed anymore - this
will simplify future meshopt upgrades if they end up changing the
function's interface.
2024-11-04 06:58:06 -08:00
bruvzg
2d66988f99
[GDExtension] Improve macOS library loading/export. 2024-11-04 09:28:30 +02:00
kobewi
025976dc45 Improve EditorToaster code 2024-11-03 14:16:22 +01:00
tetrapod00
6454ea4606 Add quad mesh to material preview 2024-11-01 14:20:10 -07:00
Thaddeus Crews
7982030b25
Merge pull request #69197 from aaronfranke/fix-tiny-convex
Fix debug line drawing with tiny convex hull mesh colliders
2024-10-31 20:14:37 -05:00
Thaddeus Crews
194ddfd0c4
Merge pull request #97257 from YeldhamDev/guess_godot_is_unity_after_all
Add "Game" editor for better runtime debugging
2024-10-31 20:14:34 -05:00
Thaddeus Crews
e84fae43be
Merge pull request #98662 from KoBeWi/never_has_been
Remove unused FILE_INFO from FileSystem dock
2024-10-31 20:14:33 -05:00
Hugo Locurcio
416e1a538f
Improve Mesh UV1/UV2 preview in the editor
- Use an AspectRatioContainer to prevent stretching that occurs depending
  on the dialog size.
- Draw UV bounds and a grid at 1/8th increments.
- Scale lines according to editor scale for better visibility on hiDPI displays.
2024-11-01 02:04:10 +01:00
Yuri Rubinsky
ef8d981267
Merge pull request #98303 from Chaosus/vs_transparency_preview
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Add alpha channel display to vec4 previews of visual shader nodes
2024-10-31 11:17:34 +03:00
Clay John
7187c251da
Merge pull request #98620 from zeux/lodgen-cleanup
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
2024-10-30 17:13:57 -07:00
Clay John
a997001bd5
Merge pull request #98584 from Nazarwadim/emit_only_one_signal
Emit `filesystem_changed` only once per frame
2024-10-30 14:47:15 -07:00
Michael Alexsander
baffa731ab
Make possible to scale multiple nodes at once in the canvas editor
And also some smaller enhancements.
2024-10-30 13:24:00 -03:00
Michael Alexsander
16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Aaron Franke
96ec117d19
Fix debug line drawing with tiny convex hull mesh colliders 2024-10-30 00:47:56 -07:00
kobewi
f96ef5fc0d Remove unused FILE_INFO from FileSystem dock 2024-10-30 06:08:52 +01:00
Thaddeus Crews
696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Thaddeus Crews
6b70a6197f
Merge pull request #98597 from timothyqiu/on-your-lawn
Fix heap-use-after-free when ctrl-clicking controls in a container
2024-10-29 19:25:44 -05:00
Thaddeus Crews
f8f9763c4a
Merge pull request #98075 from KoBeWi/based_folder
Fix wrong base directory when creating folder
2024-10-29 19:25:40 -05:00
Thaddeus Crews
674b0aecb0
Merge pull request #97936 from ev13bird/inspector_dock_filesystem_icon
Add Show in FileSystem icon for Inspector dock resource options menu item
2024-10-29 19:25:38 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Michael Alexsander
d678b095f9
Make possible to favorite properties in the inspector 2024-10-28 21:18:21 -03:00
Haoyu Qiu
514c3278a2 Fix duplicated Delete shortcut entries in Tiles Editor 2024-10-29 08:07:52 +08:00
Adam Johnston
3ac043c508 Add fuzzy string matching to quick open search
Co-authored-by: sam <samsface@gmail.com>
2024-10-28 11:24:36 -07:00
Arseny Kapoulkine
494fe2fe21 LOD: Remove "Raycast Normals" and associated "Normal Split Angle" settings
"Raycast Normals" was introduced in 4.4 dev and defaulted to "false".
The limited testing results at the time suggested that raycasting
generally reduces normal quality compared to native simplifier results,
at the same time increasing vertex memory and import time.

To play it safe, we introduced a setting that defaulted to false, with
the goal of removing it later in 4.4 development cycle if no regressions
are noticed. Since we already had three dev snapshots and no reports,
this change removes the setting and associated code.

"Normal Split Angle" was only used when raycast normals were enabled;
this change removes it from the settings, but keeps it in the script
binding for compatibility.

Existing meshes import exactly the same after this change (unless they
chose to override raycasting which would be surprising).

split_normals helper was only used in this code path and is also removed
for simplicity; it is unlikely that this code will be useful as is, as
it can only regenerate normals without fixing tangents or updating
positions.
2024-10-28 10:14:04 -07:00
Nazarii
01d1f10845 Emit filesystem_changed only once per frame 2024-10-28 09:09:52 +02:00
Hugo Locurcio
d352bbcb46
Add "OpenGL 3", "GLES" and "Linux/*BSD" to editor property capitalization
This is required to capitalize the following settings:

- "Fallback to OpenGL 3" project setting
- "Fallback to GLES" project setting
- "Linux/*BSD" category in the Editor Settings
2024-10-26 16:24:00 +02:00
Haoyu Qiu
574b413bef Fix heap-use-after-free when ctrl-clicking controls in a container 2024-10-26 10:43:54 +08:00
Thaddeus Crews
61accf0605
Merge pull request #97535 from HolonProduction/gizmo-cylinder
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
🔗 GHA / 🪲 Godot CPP (push) Has been cancelled
Editor: Improve cylinder gizmos
2024-10-25 13:04:14 -05:00
Thaddeus Crews
a2e3473532
Merge pull request #98378 from dalexeev/doc-clarify-engine-debugger
Clarify `EngineDebugger` and `EditorDebugger*` documentation
2024-10-25 13:04:04 -05:00
Thaddeus Crews
6ad513b0e8
Merge pull request #97090 from KoBeWi/secret_cloning_research
Don't rescan filesystem when duplicating
2024-10-25 13:04:03 -05:00
Thaddeus Crews
cd3c86d604
Merge pull request #90047 from ajreckof/fix-editing-exported-nodes-in-array-as-text
Fix editing exported nodes in array as text.
2024-10-25 13:04:00 -05:00
Thaddeus Crews
851516eeec
Merge pull request #97711 from EAinsley/fix#94718
Fix freeze when data chunk size in WAV header is larger than the actual size
2024-10-25 13:03:57 -05:00
Thaddeus Crews
de6814daae
Merge pull request #94108 from Calinou/obj-import-add-generate-lods-shadow-mesh-lightmap-uv2
Add Generate LODs, Shadow Mesh and Lightmap UV2 options to OBJ mesh import
2024-10-25 13:03:50 -05:00
Thaddeus Crews
cf313e4492
Merge pull request #96786 from passivestar/spin-slider-focus-fix
Fix EditorSpinSlider blocking viewport from getting focus
2024-10-25 13:03:47 -05:00
Thaddeus Crews
f8f7e42044
Merge pull request #93578 from Calinou/editor-filesystem-dock-context-add-shortcuts
Add default keyboard shortcuts to various actions in the FileSystem dock
2024-10-25 13:03:43 -05:00
Adam Scott
0d350e7108
Set clang-format RemoveSemicolon rule to true
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Clay John
2a8869e0ac
Merge pull request #98323 from Calinou/advanced-import-settings-button-no-swap-ok-cancel
Don't swap Advanced Import Settings button position based on Swap OK Cancel
2024-10-24 19:13:55 -07:00
Hugo Locurcio
b8ee61f45d
Add Generate LODs, Shadow Mesh and Lightmap UV2 options to OBJ mesh import
This puts OBJ mesh import on parity with 3D scene import. It's now
possible to have the same level of optimization as imported 3D scenes
while using the OBJ mesh workflow.

`optimize_indices_for_cache()` is now always called on import as well,
similar to what the 3D scene import already does.
2024-10-25 02:48:42 +02:00