Commit graph

5300 commits

Author SHA1 Message Date
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
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
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