Commit graph

5448 commits

Author SHA1 Message Date
Rémi Verschelde
fc6d6b2c00
Merge pull request #82381 from dervus/issue-81916
Fix grid snapping for box shape gizmos
2023-10-13 22:16:39 +02:00
Vladimir Zapparov
088cf59e7a Fix grid snapping for box shape gizmos
"Extruding" box face (i.e. moving it without holding Alt key) will now
always snap new box size exactly to the nearest snap step.
2023-10-13 17:34:59 +02:00
Rémi Verschelde
37ee293be8
Merge pull request #83244 from KoBeWi/tile_map_is_now_tile_set_and_vice_versa
Swap TileMap and TileSet buttons
2023-10-13 11:47:55 +02:00
Rémi Verschelde
f6ff4159a7
Merge pull request #83233 from timothyqiu/babel
Disable port name auto translation in Visual Shader editor
2023-10-13 11:47:08 +02:00
kobewi
291be2c66c Swap TileMap and TileSet 2023-10-13 09:55:24 +02:00
Haoyu Qiu
56f47cc129 Disable port name auto translation in Visual Shader editor 2023-10-13 11:07:05 +08:00
Haoyu Qiu
26b21f110a Don't auto translate theme type list 2023-10-12 10:04:53 +08:00
Rémi Verschelde
25fa5eadd5
Merge pull request #82986 from OmarShehata/fix-external-editor-hot-reload
Fix external editor hot reload for GDScript
2023-10-11 22:38:42 +02:00
Christoph Taucher
2929993575 Prevent the internal Script Editor from reloading
when the external Editor is active in the settings.

This prevents a crash from different race conditions
from edititing files in the external editor while the internal editor
tries to reload open file tabs.

Some conditions that cause the crash where:
* Syntax highlighting (gdscript_highlighter.cpp, syntax_highlighter.cpp)
* Code analysis (code_edit.cpp)
* ... and more
2023-10-11 21:41:09 +02:00
Rémi Verschelde
4b7cc99bc1
Merge pull request #79169 from reduz/debug-canvas-item-redraw
Debug CanvasItem redraw
2023-10-11 08:40:05 +02:00
Hugo Locurcio
936ad63709
Allow Ctrl + KP / and Ctrl + # to toggle comment in the script editor
This complements the existing Ctrl + K and Ctrl + / shortcuts.
2023-10-10 17:18:38 +02:00
Rémi Verschelde
d80ce0c52a
Merge pull request #83093 from groud/fix_polygon_editor_undo_redo
Fixes undo/redo in tileset polygon editor
2023-10-10 12:34:46 +02:00
Gilles Roudière
8b608f3e6e Fixes undo/redo in tileset polygon editor 2023-10-10 10:33:05 +02:00
Rémi Verschelde
71a8ac41fb
Merge pull request #72751 from dalexeev/doc-comment-color
Highlight doc comments in a different color
2023-10-09 23:21:54 +02:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde
7513ae6d06
Merge pull request #81812 from MewPurPur/zoomies
Incorporate min and max zoom limits into the EditorZoomWidget
2023-10-09 15:31:49 +02:00
Danil Alexeev
de7cbe8789
Highlight doc comments in a different color 2023-10-08 19:26:10 +03:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
Omar Shehata
c25a2d832b Fix external editor hot reload 2023-10-07 22:14:54 -04:00
MewPurPur
44d782681c Incorporate min and max zoom limits into the EditorZoomWidget 2023-10-07 20:41:59 +03:00
Hugo Locurcio
ac723b3e44
Enable UV2 on primitive meshes when using the MeshInstance3D context menu
This makes it easier to discover the UV2 generation functionality
on primitive meshes.
2023-10-07 02:18:55 +02:00
Saracen
3defc17646 Fix debugger behaviour with multi-session debugging:
Fixes script editor debug menu on sessions other than 1
Fixes breakpoint toggle from menu in sessions other than 1
Removes execution display when switching to non-breaked sessions
2023-10-06 19:20:37 +01:00
Rémi Verschelde
49e2bd9d5b
Merge pull request #81523 from KoBeWi/epic_self_roast
Allow contextual plugins to persist temporarily
2023-10-06 16:50:53 +02:00
Rémi Verschelde
7b999ee074
Merge pull request #81284 from YeldhamDev/this_one_was_in_the_backlog_for_a_while
Show doc tooltips when hovering properties in the theme editor
2023-10-06 16:50:48 +02:00
kobewi
a6de7a8a3f Allow contextual plugins to persist temporarily 2023-10-06 15:58:50 +02:00
Rémi Verschelde
fba341ce44
Merge pull request #82901 from kleonc/sprite-base-3d-gizmo-plugin
Make gizmo plugin handle `SpriteBase3D` instead of `Sprite3D`
2023-10-06 12:53:13 +02:00
Rémi Verschelde
373c4b22d3
Fix various typos with codespell
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
kleonc
db6a8956b2 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-10-06 11:03:44 +02:00
jsjtxietian
b0ccd5c84f Prompt require editor restart to user when gizmo color changed 2023-10-06 15:02:03 +08:00
Rémi Verschelde
642479db1e
Merge pull request #79872 from dalexeev/sprite-frames-editor-2
SpriteFrames Editor: Fix Frame Duration applied to wrong frame when switching frame
2023-10-05 22:48:04 +02:00
Rémi Verschelde
3cf1bc0a24
Merge pull request #79692 from dalexeev/sprite-frames-editor
SpriteFrames Editor: Fix FPS applied to two animations when switching animation
2023-10-05 22:47:37 +02:00
kobewi
5d85551ab3 Fix unsaved changes not getting discarded 2023-10-05 14:03:02 +02:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Michael Alexsander
34e6b86134
Show doc tooltips when hovering properties in the theme editor 2023-10-04 11:53:08 -03:00
kleonc
6f941cd8e3 Fix transform calculations for drag-moving CanvasItems in editor 2023-10-04 15:44:34 +02:00
Rémi Verschelde
5680d729f2
Merge pull request #80939 from RandomShaper/fix_onion
Revive onion skinning
2023-10-04 15:33:25 +02:00
Rémi Verschelde
f5696c311c
Merge pull request #82728 from KoBeWi/king_icong
Fix node icons appearing too big in some cases
2023-10-03 17:27:53 +02:00
Pedro J. Estébanez
071d8e5c9c Revive onion skinning
This also reverts commit 6bbc3cbf04.
2023-10-03 16:52:25 +02:00
kobewi
52b62921b0 Fix node icons appearing too big in some cases 2023-10-03 15:56:13 +02:00
AttackButton
93cccda827 Add a button to clear curve points in the Path2D editor 2023-10-03 09:33:38 -03:00
Yaohua Xiong
ce4f64524f Improve Path3D gizmo usability
Allow change tilt gizmo color and size in editor setting
2023-10-03 09:43:24 +08:00
Rémi Verschelde
57a6813bb8
Merge pull request #81582 from YuriSizov/graph-toolbarniceness
Make `GraphEdit` toolbar more customizable
2023-10-02 15:18:42 +02:00
Rémi Verschelde
2d6cee48f6
Merge pull request #80555 from GrammAcc/fix-80507
AssetLib: Fix long plugin names breaking the UI
2023-10-02 15:18:38 +02:00
Yuri Sizov
b07c664af9 Make GraphEdit toolbar more customizable
Also adds a semi-transparent background
to make the toolbar stand out in front of nodes.
2023-10-02 13:43:08 +02:00
Rémi Verschelde
1d6f37f80c
Merge pull request #82573 from Chaosus/fix_animationtree_crash
Fix crash when deleting the player in `AnimationPlayerEditorPlugin`
2023-10-02 13:16:35 +02:00
Rémi Verschelde
bc118b36ac
Merge pull request #82370 from YuriSizov/graphs-request-rename-close-delete-please
Rename close requests to delete requests in `GraphEdit`
2023-10-02 13:16:28 +02:00
GrammAcc
d63a88bef1 AssetLib: Fix long plugin names breaking the UI
The UI was extending past the screen width when loading a page diplaying
a plugin with an especially long title in the asset store plugin.

I implemented a new `EditorAssetLibraryItem::clamp_width` method that
checks that the title text is not longer than the column width minus
some padding and truncates it if it is.

I also noticed that the nav buttons for paginated results were causing the UI to extend past
the screen width on higher editor scales since they were hardcoded to
show ten page buttons if there were enough results. I modified the
pagination slightly to display a dynamic number of nav buttons based on
the editor scale in order to fix this other cause of the same problem.

I had to use the font of the `title`, which is a `LinkButton` in order
to determine the text width, so I added a public getter `get_button_font` to the `LinkButton` class.
2023-09-30 18:16:39 -05:00
Yuri Rubinsky
8980211c08 Fix crash when deleting the player in AnimationPlayerEditorPlugin 2023-09-30 09:53:12 +03:00
Silc Lizard (Tokage) Renew
afe25937e4 Add useful functions to FilterEdit in AnimationBlendTreeEditor 2023-09-30 03:01:16 +09:00
Rémi Verschelde
55ba576c58
Merge pull request #81688 from Chaosus/vs_custom_dropdown_list_props
Implement drop-down list properties to the custom visual shader nodes
2023-09-29 19:45:54 +02:00
Rémi Verschelde
94377f50b2
Merge pull request #80813 from TokageItLab/rework-animation-manager
Implement `AnimationMixer` as a base class of `AnimationPlayer` and `AnimationTree`
2023-09-29 10:20:16 +02:00
Yuri Roubinski
4575cc0c6f Implement drop-down list properties to the custom visual shader nodes 2023-09-29 10:55:05 +03:00
Silc Lizard (Tokage) Renew
1b95827d3e Implement AnimationManager the base class of AnimationPlayer/Tree 2023-09-29 08:23:57 +09:00
aXu-AP
0506d6f192 Fix opening docs writing extra navigation history
Fix #82292
Removes extraneous call to change the tab if the page wasn't yet open when opening class member description.
2023-09-29 00:03:18 +03:00
Yuri Sizov
0b7ff759f9 Merge pull request #82465 from smix8/tilemap_navmesh_bake_4.x
Update TileMap to use new navigation polygon baking
2023-09-28 20:04:33 +02:00
Yuri Sizov
7c23d4082b Merge pull request #82391 from warriormaster12/improve-skeleton_ik3D
Fix `SkeletonIK3D` editor preview when changing active node
2023-09-28 20:04:30 +02:00
Yuri Sizov
f2ab40cd4d Merge pull request #81708 from JoNax97/drop-resource-with-variable
Create a field when Ctrl-dropping a resource into the code editor
2023-09-28 20:04:07 +02:00
smix8
27267b62cb Update TileMap to use new navigation polygon baking
Updates TileMap to use new navigation polygon baking.
2023-09-28 10:35:47 +02:00
warriormaster12
ddf93f3f59 Make SkeletonIk3D node usable 2023-09-28 07:38:50 +03:00
Joaquin Muñiz
a93c19f373 create a constant when dropping a resource into the code editor while CRTL is held, and fix some inconsistencies 2023-09-27 14:37:00 -03:00
Yuri Sizov
5e3229b7ed Fix leak when closing theme editor preview tabs 2023-09-27 15:29:20 +02:00
Hugo Locurcio
fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
kobewi
e30e84d77a Fix submenus deleted accidentally 2023-09-26 16:47:33 +02:00
Yuri Sizov
378ab38b1f Rename close requests to delete requests in GraphEdit 2023-09-26 16:41:39 +02:00
Rémi Verschelde
2c8c7b95aa
Merge pull request #82313 from AThousandShips/null_check_servers
[Servers] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 13:45:31 +02:00
Rémi Verschelde
10cf3d0524
Merge pull request #81843 from TokageItLab/improve-automapping
Improve retarget auto-mapping algorithm
2023-09-26 08:22:11 +02:00
Rémi Verschelde
7dccb9e039
Merge pull request #80796 from smix8/navgenerator_2d_4.x
Add 2D navigation mesh baking
2023-09-26 08:17:58 +02:00
PucklaMotzer09
d2e651f403 Add Duplicate Lines shortcut to CodeTextEditor
This keyboard shortcut has been made with inspiration from the VS Code keyboard shortcut editor.action.copyLinesDownAction. It duplicates all selected lines and inserts them below no matter where the caret is within the line.
2023-09-25 23:41:31 +02:00
smix8
0ee7e3102b Add 2D navigation mesh baking
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
A Thousand Ships
fdd3d36c6d [Servers] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-25 18:45:30 +02:00
Rémi Verschelde
fcbc50ec14
Merge pull request #82302 from MewPurPur/alt-font-icon
Add Font and Mesh icons that aren't grayed out
2023-09-25 18:38:29 +02:00
Rémi Verschelde
8ddf73c74d
Merge pull request #81939 from YuriSizov/gui-flat-and-depressed
Replace flat buttons with flat-styled buttons with a visible pressed state
2023-09-25 17:18:29 +02:00
MewPurPur
fb030beac5 Add white Font and Mesh icons 2023-09-25 17:29:14 +03:00
Dario
057367bf4f Add FidelityFX Super Resolution 2.2 (FSR 2.2.1) support.
Introduces support for FSR2 as a new upscaler option available from the project settings. Also introduces an specific render list for surfaces that require motion and the ability to derive motion vectors from depth buffer and camera motion.
2023-09-25 10:37:47 -03:00
Rémi Verschelde
37d5e1e0e3
Merge pull request #82210 from YuriSizov/editor-animation-uiux-cleanup
Fix theme access and improve UX in AnimationTree editor
2023-09-24 23:36:33 +02:00
Rémi Verschelde
810021c7cd
Merge pull request #82181 from Chaosus/curve_fix_crash
Fix CurveEdit crash when dragging the curve if it is null
2023-09-24 23:34:58 +02:00
Rémi Verschelde
04317bc784
Merge pull request #82171 from timothyqiu/sep-leak
Fix leak when calling `remove_control_from_menu_panel`
2023-09-24 23:34:35 +02:00
Rémi Verschelde
6d8b33f5d4
Merge pull request #82131 from jsjtxietian/fix-skeleton-editor-deleted-in-wrong-container
Fix skeleton 3d editor's toolbar ui deleted from wrong container
2023-09-24 23:33:42 +02:00
Rémi Verschelde
3237b5d08f
Merge pull request #71915 from MewPurPur/grid-ient
Overhaul the Gradient Editor
2023-09-24 23:29:35 +02:00
jsjtxietian
2679118d51 Fix skeleton 3d editor's toolbar ui deleted from wrong container 2023-09-24 11:28:46 +08:00
Haoyu Qiu
2d67ce4e60 Fix leak when calling remove_control_from_menu_panel 2023-09-24 08:35:45 +08:00
Yuri Sizov
b351cffddf Fix theme access and improve UX in AnimationTree editor 2023-09-23 21:47:27 +02:00
Yuri Rubinsky
6d9e4e9704 Fix CurveEdit crash when dragging the curve if it is null 2023-09-23 11:44:54 +03:00
DennisManaa
f248420a2b made visual shader ports expandable by default if there is only one output port and it's of any vector type
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
2023-09-22 15:28:59 +02:00
MewPurPur
7b86969719 Overhaul the Gradient Editor 2023-09-21 15:55:28 +03:00
kobewi
07a00cf822 Don't allow transforming scene tiles 2023-09-20 14:10:21 +02:00
Rémi Verschelde
f2baba6ddb
Merge pull request #81927 from KoBeWi/uid﹕﹕∕∕c1ick
Make UIDs clickable in the script editor
2023-09-20 13:10:08 +02:00
Rémi Verschelde
b7c524d358
Merge pull request #81925 from groud/fix_tilemap_editor_ctrl_deselect
Fix TileMap editor so that pressing control deselects cells correctly
2023-09-20 13:10:04 +02:00
Yuri Sizov
4bd569be95 Replace flat buttons with flat-styled buttons with a visible pressed state 2023-09-19 22:36:29 +02:00
kobewi
3f43044a40 Make UIDs clickable in the script editor 2023-09-19 15:59:03 +02:00
Gilles Roudière
83f1e31483 Fix TileMap editor so that pressing control deselects cells correctly 2023-09-19 15:12:03 +02:00
ajreckof
6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Rémi Verschelde
01d9162a98
Merge pull request #81813 from MewPurPur/fix-paint-icon
Fix grayed out paint icons
2023-09-18 10:38:28 +02:00
Rémi Verschelde
9892bc2478
Merge pull request #81810 from AThousandShips/camera_m
Make editor camera speed indicator use `m/s` and `m`
2023-09-18 10:38:24 +02:00
Rémi Verschelde
3e233e1f24
Fix various typos with codespell
Using 2.2.6.dev193+g907e5380.
2023-09-18 09:53:39 +02:00
Silc Lizard (Tokage) Renew
c1c4a09527 Improve retarget auto-mapping algorithm 2023-09-18 12:51:15 +09:00
MewPurPur
c094631ba0 Fix grayed out paint icons 2023-09-17 19:23:28 +03:00
A Thousand Ships
8d7a2c615c Make editor camera speed indicator use m/s and m 2023-09-17 18:04:58 +02:00
Rémi Verschelde
ba54c34551
Merge pull request #81735 from KoBeWi/360_no_scope
Fix rotated 2D movement gizmo
2023-09-16 21:25:17 +02:00
Rémi Verschelde
cdef53df1e
Merge pull request #81705 from AThousandShips/null_check_editor
[Editor] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-16 21:24:53 +02:00
Rémi Verschelde
91dee347ad
Merge pull request #81609 from AThousandShips/gizmo_fix
Fix local 3D translation editing
2023-09-16 21:24:06 +02:00
Rémi Verschelde
7ca579cb27
Merge pull request #81554 from Calinou/editor-gizmos-add-decal
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
2023-09-16 21:22:54 +02:00
kobewi
447a4b6bcf Fix rotated 2D movement gizmo 2023-09-16 19:26:20 +02:00
A Thousand Ships
dae27d1311 Fix local 3D translation editing 2023-09-16 11:11:54 +02:00
Hugo Locurcio
5345cf3e75
Add 3D editor gizmo icons for Decal, LightmapProbe and FogVolume
- Tweak CPUParticles3D editor gizmo icon to use the same outline
  color as other gizmo icons. Make the internal icon easier to see
  by using an orange color instead of gray.

Co-authored-by: MewPurPur <mew.pur.pur@abv.bg>
2023-09-15 20:44:45 +02:00
A Thousand Ships
75ee58fd04 [Editor] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-15 20:15:39 +02:00
Yuri Sizov
2febb246e1 Merge pull request #81606 from jsjtxietian/hide-animation-tool--correctly-when-switching-scenes
Hide animation toolbar above the viewport correctly when switching scenes
2023-09-15 19:48:23 +02:00
Yuri Sizov
df6cd37a69 Merge pull request #81516 from YuriSizov/editor-theme-access-the-success
Fix accessing editor theme items throughout the UI
2023-09-15 19:48:14 +02:00
Yuri Sizov
508a758eab Merge pull request #75303 from Calinou/3d-gizmos-only-selected
Show visual-oriented 3D node gizmos only when selected
2023-09-15 19:48:10 +02:00
Yuri Sizov
8ecc0c4f47 Fix accessing editor theme items throughout the UI
This also exposes `EditorInterface::get_editor_theme`.
2023-09-15 14:51:01 +02:00
jsjtxietian
0113e6961d Hide animation tool correctly when switching scenes 2023-09-15 10:48:26 +08:00
Hugo Locurcio
1024ba0c0d
Show visual-oriented 3D node gizmos only when selected
Affected nodes:

- DirectionalLight3D, OmniLight3D, SpotLight3D
- ReflectionProbe
- LightmapGI
- VoxelGI
- GPUParticles3D (but not collision/attractor nodes)
- AudioStreamPlayer3D

This reduces visual clutter in the editor with 3D scenes.
2023-09-15 01:59:49 +02:00
Rémi Verschelde
5a74ce9a56
Merge pull request #81557 from YuriSizov/editor-toolbars-divided
Improve the looks of 2D/3D viewport contextual toolbars
2023-09-14 23:40:33 +02:00
Yuri Sizov
f542dffb39 Improve the looks of 2D/3D viewport contextual toolbars 2023-09-13 13:04:55 +02:00
kobewi
015953a3d9 Add helper for 3D gizmos and unify box 2023-09-12 18:08:02 +02:00
Haoyu Qiu
b8b0339549 Improve undo action names
* Avoid concating strings manually for better i18n and easy l10n
   * Use `vformat` when possible
   * Use separate strings if the changing part is only a few hardcoded strings
* Don't put a period at the end of the name
2023-09-12 18:53:50 +08:00
Rémi Verschelde
3e68ed0ca1
Merge pull request #81255 from JohnGabrielUK/primary-line-separate-xy
Allow configuring primary line X/Ys separately
2023-09-12 12:01:15 +02:00
Rémi Verschelde
475860839c
Merge pull request #80144 from KoBeWi/freedom_tiles
Add per-tile flipping and transposing
2023-09-12 12:00:20 +02:00
John Gabriel
984eb96c43 Allow configuring primary line X/Ys separately 2023-09-12 10:24:07 +01:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Rémi Verschelde
7471ac2c4d
Merge pull request #81543 from DarioSamo/lightmap-size-crash-fix
Propagate error correctly when max texture size for lightmaps is too small.
2023-09-12 08:50:45 +02:00
Jean-Michel Bernard
67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
Dario
7dfb854556 Propagate error correctly when max texture size for lightmaps is too small.
Add error handling for BAKE_ERROR_LIGHTMAP_TOO_SMALL, which was previously ignored. Fixes #81453.
2023-09-11 09:14:39 -03:00
kobewi
a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
Yuri Sizov
639aba4ee1 Improve handling of archives when installing assets 2023-09-08 20:45:49 +02:00
Hendrik Brucker
5afe78bd9c Clean up/refactor GraphNode and make it more flexible
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
Rémi Verschelde
074931a3aa
Merge pull request #81410 from bitsawer/fix_shader_include_reload
Fix shader text editor include file reloading
2023-09-07 16:32:54 +02:00
Rémi Verschelde
7663c69922
Merge pull request #81388 from YuriSizov/core-gdvirtual-but-less-confused-about-itself
Extract `ScriptInstance` into its own file to simplify includes
2023-09-07 13:53:45 +02:00
bitsawer
d50595c0e9 Fix shader text editor include file reloading 2023-09-07 14:35:26 +03:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Yuri Sizov
fc01e2e7f6 Add a theme preview switcher to the 2D viewport
This commit adds a new View submenu that allows switching
between the project theme (default), the editor theme, and
the default theme. The last selected option is stored per
project and is restored when reloading the project.
2023-09-06 19:40:43 +02:00
Yuri Sizov
512182f147 Add theme contexts to various parts of the editor
This change defines additional theme contexts for editor
branches to prevent theme leaking between the default
theme, the project theme, and the editor theme.

- Both editor window and EditorNode define an editor-specific
context with the editor theme and the default theme.
- The 2D viewport defines a project-specific context with
the project theme and the default theme.
- Theme editor preview tabs define the default-only context
with the default theme.

Additionally, the default theme context now only includes
the project theme for running projects (both export and debug).
This prevents the project theme from leaking into the editor.

This commit also does a little clean up on the theming aspects
of the EditorNode.
2023-09-06 19:40:43 +02:00
Yuri Sizov
3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
Fredia Huya-Kouadio
8cc7739197 Godot Android plugin re-architecture 2023-09-03 17:04:10 -07:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Rémi Verschelde
07035466e8
Merge pull request #81189 from jsjtxietian/Fix-press-space-when-enter-editor-layout-name-will-confirm-save
Use `ui_text_submit` instead of `ui_accept` to confirm and close text prompts
2023-09-02 14:30:12 +02:00
jsjtxietian
ba41910967 Use ui_text_submit to confirm and close text prompts
Fix press space when enter editor layout name will
confirm and save layout, same in theme editor
2023-09-01 12:23:30 +08:00
jsjtxietian
cfd7dfd985 Fix a crash when built-in script is not saved and have syntax error
When built-in script is not saved, it has empty path, and origin
code assumes error with empty path is a depended_error but that's
not always the case.
Also add protection before access list index 0.
2023-08-30 17:45:58 +08:00
Rémi Verschelde
3417f34a37
Merge pull request #80529 from KoBeWi/unfortunate_fix_is_unfortunate🤦‍♂️
Fix TileSet not disappearing on deselecting TileMap
2023-08-29 12:43:10 +02:00
Rémi Verschelde
1ffc24e19e
Merge pull request #80124 from Calinou/3d-editor-frame-time-initialize-fps
Initialize View Frame Time estimates to match 120 FPS
2023-08-29 12:42:16 +02:00
Rémi Verschelde
9229ea121c
Merge pull request #77986 from KoBeWi/outside_the_texture,_only_death_awaits
Cleanup tiles outside the texture
2023-08-28 20:37:04 +02:00
Hugo Locurcio
15b31f0891
Initialize View Frame Time estimates to match 120 FPS
This prevents the estimation from being extremely high (close to 100,000 FPS)
until enough time has passed to display an accurate estimation.
2023-08-28 17:25:56 +02:00
kobewi
52d41cc555 Add option to cleanup tiles outside the texture 2023-08-28 15:15:45 +02:00
Rémi Verschelde
6636ccc3ea
Merge pull request #80943 from rakkarage/tileset-atlas-merge-rgb8
Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed
2023-08-28 15:04:16 +02:00
Rémi Verschelde
bcbe1fd5e0
Merge pull request #80754 from KoBeWi/TileSetImprovementsCollectionSource
Improve scene tiles workflow
2023-08-28 15:03:26 +02:00
Rémi Verschelde
a7ded904de
Merge pull request #79678 from thiagola92/auto_create_tilesets_for_multiple_atlas
Auto create tile for multiple atlases
2023-08-28 15:02:37 +02:00
Rémi Verschelde
2d42357464
Merge pull request #77316 from rakkarage/tileset_atlas_merge
Include animation frames in tile atlas merge.
2023-08-28 15:01:24 +02:00
Juan Linietsky
407b16ab00
Debug CanvasItem redraw
I wanted to add this tool for years and always forget. This command line option:

```
$ godot.exe -e --debug-canvas-item-redraw
```

Allows to see when a canvas item is redrawn. This helps find out if something
in the UI is refreshing in a way it should not. Examples as such:

* Signals causing more of the UI to redraw.
* Container resizing causes more UI elements to redraw.
* Something using a timer is redrawing all time time, which can go unnoticed.

To my surprise, the editor UI is redrawing very efficiently. There is some
weird stuff with the scene tabs, redrawing when the inspector changes but most
things for the most part are fine.
2023-08-28 12:53:56 +02:00
Rémi Verschelde
00d1fafc77
Merge pull request #81022 from YuriSizov/editor-run-scripts-valid-and-toasty
Improve warnings when running scripts in the editor
2023-08-28 12:08:37 +02:00
Rémi Verschelde
8f07644867
Merge pull request #81011 from 21dhruvp/remove-meta-array
Added checks to remove meta arrays when creating and undoing guides
2023-08-28 12:07:03 +02:00
Rémi Verschelde
0655a7d7d3
Merge pull request #80517 from YuriSizov/tsa-randomly-picked-you-for-mandatory-inspection-i-think-not
Avoid unnecessary inspector updates when loading or switching scenes
2023-08-28 12:05:06 +02:00
Rémi Verschelde
33a3e12fe1
Merge pull request #80435 from YuriSizov/region-editor-quality-pass
Fix multiple usability issues in the texture region editor
2023-08-28 12:04:18 +02:00
thiagola92
c8a94ea3e8 Support auto create tiles when adding multiple atlases
TileSet add button support multiple files
Join most of the code of `_drop_data_fw()` and `_texture_file_selected()` in a new function `_load_texture_files()`
Rename `init_source` to `init_new_atlases`
2023-08-27 10:45:03 -03:00
Yuri Sizov
4b7d0c84a1 Fix multiple usability issues in the texture region editor
- Correctly display atlas textures when used by other objects.
- Make region handles easier to hit in ninepatchable objects.
- Correctly initialize and restore various visual properties.
- Improve code quality.
2023-08-27 14:25:49 +02:00
Yuri Sizov
2270f4917a Improve warnings when running scripts in the editor 2023-08-27 13:59:06 +02:00
21dhruvp
a7b2819540 Added checks to remove meta arrays when creating and undoing guides
Added checks to remove meta arrays when creating and undoing guides

Update editor/plugins/canvas_item_editor_plugin.cpp

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Update editor/plugins/canvas_item_editor_plugin.cpp

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-26 10:35:54 -04:00
Yuri Sizov
6da4ad1662 Merge pull request #80968 from rakkarage/alternative-icon-scale
Call `add_child` after `set_rect` to fix size bug
2023-08-25 21:26:50 +02:00
Yuri Sizov
43f61836ad Merge pull request #80934 from philippesic/TileSet-Sep-Suffix
Add `px` suffix for TileSet `separation` property
2023-08-25 21:26:41 +02:00
Pippo Pesic
0044217a7f Add px suffix to TileSet Separation value
Add px suffix to TileSet separation value
2023-08-25 08:58:11 -07:00
Rakka Rage
e93d2a04df Call add_child after set_rect to fix size bug 2023-08-25 10:10:47 -04:00
Yuri Sizov
e21ded8f8f Merge pull request #80450 from KoBeWi/settings_freeze,_no_more_changes
Deprecate `project_settings_changed` signal
2023-08-25 14:58:32 +02:00
Rakka Rage
dc2aa69c46 Convert TileSet Atlas Merge input images to RGBA8 to match output, if needed 2023-08-23 19:26:57 -04:00
Rakka Rage
c17848f07d Include animation frames in tile atlas merge. 2023-08-23 16:19:24 -04:00
Rémi Verschelde
cc01b28886
Merge pull request #80779 from Chaosus/cpuparticles_converter
Implement conversion from `CPUParticles` to `GPUParticles` (3D/2D)
2023-08-21 19:26:48 +02:00
Rémi Verschelde
23db0240a2
Merge pull request #78996 from Tetane/create_shader_node_popup
Fix "Create Shader Node" window position when visual shader editor is floating
2023-08-21 08:20:42 +02:00
Yuri Roubinski
7fcb91f077 Implement conversion from CPUParticles to GPUParticles (3D/2D) 2023-08-19 11:58:57 +03:00
kobewi
0d8f8d7054 Simplify making texture nodes in 2D editor 2023-08-19 00:17:34 +02:00
kobewi
a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Rémi Verschelde
446dfdbd87
Merge pull request #80329 from xiongyaohua/path3d_tilt_gizmo
Add handles to control Curve3D tilt
2023-08-17 12:29:55 +02:00
Rémi Verschelde
a42f95f9e2
Merge pull request #80689 from AThousandShips/gizmo_fix
Fix gizmo for `BoxShape3D`
2023-08-17 11:27:28 +02:00
Rémi Verschelde
c7356c795b
Merge pull request #80647 from jsjtxietian/CollisionShape3D-Shape-Size-handles-missing-when-Script-editor-floating
Fix 2D/3D viewport context switching issues when script editor is floating
2023-08-17 11:27:04 +02:00
Rémi Verschelde
8d0c9a4c87
Merge pull request #80317 from KoBeWi/taking_shortcuts
Ensure TileMap editor shortcuts are handled
2023-08-17 11:24:39 +02:00
Rémi Verschelde
aa9e4b8ace
Merge pull request #77096 from spanzeri/skeleton-editor-cleanup-followup
Additional cleanup of bone editors
2023-08-17 11:19:44 +02:00
A Thousand Ships
1dcb45a79c Fix gizmo for BoxShape3D 2023-08-16 16:49:04 +02:00
jsjtxietian
fec0396cac fix CollisionShape3D Shape Size handle will missing
when Script editor floating
2023-08-15 12:41:20 +08:00
Rémi Verschelde
c78be12f42
Merge pull request #80610 from lawnjelly/fix_tilemap_editor_plugin_crash2
Fix `TileMapEditorPlugin` crash by storing tilemap ID instead of pointer
2023-08-14 15:31:19 +02:00
lawnjelly
356fc728a4 Fix TileMapEditorPlugin crash by storing tilemap ID instead of pointer
Store the tilemap ObjectID instead of raw pointer, and check it is valid before access.
2023-08-14 12:56:52 +01:00
lawnjelly
fa7be20ee1 Fix crash on exit where TileSet calls destroyed TileSetAtlasSourceEditor
Removes signal from TileSet on destroying TileSetAtlasSourceEditor, to prevent TileSet calling function in destroyed TileSetAtlasSourceEditor.
2023-08-14 10:25:50 +01:00
Yuri Sizov
2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
Daniel Roberts
46e395abb1 Add handles to control Curve3D tilt 2023-08-12 14:55:38 +08:00
kobewi
6b7829b5ff Fix TileSet not disappearing on deselecting TileMap 2023-08-12 00:47:26 +02:00
Rémi Verschelde
48a447b5ee
Merge pull request #58389 from rcorre/blender-numeric
Implement numeric blender-style transforms.
2023-08-11 10:31:40 +02:00
kobewi
fca3ab5564 Deprecate project_settings_changed signal 2023-08-10 15:07:25 +02:00
Ryan Roden-Corrent
d6a83a6bac
Implement numeric blender-style transforms.
This allows the user to input numbers during an "instant" (blender
style) transform operation to specify exactly how far to transform the
object. For example:

g2.5xx: Translate 2.5 units along the local x-axis
ry-45: Rotate -45 degrees around the y-axis
s.25Z: Scale by a factor of .25 on the xy plane

Some shared code between the traslate/rotate/scale branches of update_transform
was refactored into apply_transform so numeric transforms could reuse it.

This removes any "{X,Y,Z}-Axis Transform" messages. These prevented the
"Transforming: (x,y,z)" messages from showing, and the latter are more
useful, as they tell you the actual units.

This also rearranges finish_transform to clear _edit before updating
the axis rendering, so an axis doesn't remain highlighted.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-08-10 07:18:18 -04:00
kobewi
f02133a4a2 Fix TileSet with TileMap handling 2023-08-09 23:50:45 +02:00
Rémi Verschelde
8375f73680
Merge pull request #80355 from jcovin293/issue/80347/fix-missing-ellipsis
Fix menu items that trigger secondary interface missing ellipsis
2023-08-09 17:46:26 +02:00
RandomWalrus13
585633ea85 Fix menu items that trigger secondary interface missing ellipsis
fix #80347
2023-08-09 08:30:35 -05:00
Rémi Verschelde
f6b9d445b5
Merge pull request #80285 from YeldhamDev/just_a_little_bit
Further separate icon from text of buttons in both editor and default themes
2023-08-09 15:20:25 +02:00
Rémi Verschelde
1163dac9e3
Merge pull request #80215 from clayjohn/HDR-2D
Add option to enable HDR rendering in 2D
2023-08-08 16:57:33 +02:00
Hugo Locurcio
e21388d9f4
Readd a Camera3D icon gizmo to the 3D editor, renew Camera2D/3D icons
The lack of icon gizmo made it no longer possible to select Camera3D
nodes in the 3D viewport by clicking on them.

A new Camera3D icon gizmo was designed to be direction-neutral.
This avoids the issue that the previous icon gizmo had, since it was
always facing right.

This also adds icons for CameraAttributesPractical and CameraAttributesPhysical.
2023-08-08 16:04:53 +02:00
Michael Alexsander
98bdb56815
Further separate icon from text of buttons in both editor and default themes 2023-08-07 13:22:39 -03:00
Rémi Verschelde
169a28bd0f
Merge pull request #80362 from Calinou/string-use-unicode-compiletime
Use compile-time Unicode string conversion
2023-08-07 14:55:58 +02:00
Rémi Verschelde
02709d57ee
Merge pull request #78858 from MewPurPur/tweak-mesh-preview
Improve material and mesh preview buttons
2023-08-07 14:44:34 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
clayjohn
57eb762bae Add option to enable HDR rendering in 2D
This is needed to allow 2D to fully make use of 3D effects (e.g. glow), and can be used to substantially improve quality of 2D rendering at the cost of performance

Additionally, the 2D rendering pipeline is done in linear space (we skip linear_to_srgb conversion in 3D tonemapping) so the entire Viewport can be kept linear.
This is necessary for proper HDR screen support in the future.
2023-08-07 11:24:03 +02:00
Hugo Locurcio
e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
kobewi
181eecc51b Ensure TileMap editor shortcuts are handled 2023-08-06 03:38:03 +02:00
MewPurPur
50f4c298e6 Improve material and mesh preview buttons 2023-08-04 01:47:32 +03:00
Yuri Sizov
e4b8dc81b8 Merge pull request #78300 from ajreckof/fix-replace-node-destroying-Node-properties
Auto-update properties when replacing a node
2023-08-03 22:37:40 +02:00
ocean (they/them)
bf3af190c3 Increase vertical size of CurveEdit when Inspector widens
This should allow users to edit points in a less constrained space,
which feels like a UX improvement.

That said, changing minimum size according to current size might be a
hack that causes issues in certain situations.
2023-08-03 16:02:28 -04:00