Commit graph

13587 commits

Author SHA1 Message Date
Yuri Sizov
98f9ef5f88 Check for type variations in inherited themes 2023-09-24 02:54:52 +02:00
Yuri Sizov
b351cffddf Fix theme access and improve UX in AnimationTree editor 2023-09-23 21:47:27 +02:00
Raul Santos
408a08f2c1
Expose the TabBar of a TabContainer
Add `TabContainer::get_tab_bar` method to retrieve the `TabBar` of a `TabContainer`.
2023-09-22 20:08:28 +02: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
bitsawer
71e32364ee Fix ShaderGlobalsOverride property handling 2023-09-22 10:21:20 +03:00
MewPurPur
7b86969719 Overhaul the Gradient Editor 2023-09-21 15:55:28 +03:00
aXu-AP
4d3dc0e944 Use comma as a decimal separator for SpinBox
Add support for comma ',' as a decimal separator for SpinBox. This implementation allows for expressions like `pow(2, 3)` to be used as well. If you use comma to separate decimals, use semicolon `;` to separate function parameters.
Change EditorSpinSlider behavior to match.
2023-09-21 15:45:37 +03:00
Rémi Verschelde
fb4c0cf462
Merge pull request #81971 from KoBeWi/there_is_only_one_scene
Don't allow transforming scene tiles
2023-09-21 14:25:08 +02:00
Rémi Verschelde
44ea5f9470
Merge pull request #81854 from bitsawer/fix_importer_mesh_bones
Fix ImporterMesh bone weight handling during lightmap unwrap
2023-09-21 14:25:03 +02:00
Rémi Verschelde
184e603c99
Merge pull request #80467 from aaronfranke/mesh-lod-limit
Limit mesh complexity in LOD generation to prevent crashing
2023-09-21 14:24:54 +02:00
DESKTOP-UT43QTQ\Garrigan-Desktop
303d0994e9 Avoid resetting the code completion popup excessively 2023-09-20 15:49:25 -05:00
Rémi Verschelde
52104ded69
Merge pull request #81298 from mihe/soft-body-rendering-handler
Fix bindings of `PhysicsServer3DRenderingServerHandler`
2023-09-20 15:18:24 +02:00
kobewi
07a00cf822 Don't allow transforming scene tiles 2023-09-20 14:10:21 +02:00
Rémi Verschelde
73d7651784
Merge pull request #81921 from YuriSizov/gui-less-friendliness
Connect `CodeHighlighter` with `TextEdit` without friend-access
2023-09-20 13:10:00 +02:00
Mikael Hermansson
ee9f41a12d Fix bindings of PhysicsServer3DRenderingServerHandler 2023-09-20 12:24:32 +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
Yuri Sizov
fee1fb8290 Connect CodeHighlighter with TextEdit without friend-access 2023-09-19 14:36:38 +02:00
ajreckof
6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Ryan Hitchman
734b9d2379 Fix Curve3D baking up vectors for nontrivial curves.
The code was modified in 42aa539 to have a different basis vector, but
this line was missed and caused up vectors to invert sometimes.

Fixes #81879
2023-09-18 18:50:36 -06:00
Rémi Verschelde
77623d0a36
Merge pull request #81354 from MJacred/textedit_pixel_pos_fix
Fix `TextEdit.get_rect_at_line_column returning` negative pos even though cursor is in viewable area of the control
2023-09-18 10:37:59 +02:00
bitsawer
145503765a Fix ImporterMesh bone weight handling during lightmap unwrap 2023-09-18 11:21:29 +03:00
Rémi Verschelde
3e233e1f24
Fix various typos with codespell
Using 2.2.6.dev193+g907e5380.
2023-09-18 09:53:39 +02:00
Arkadiusz Marcin Kołek
18811ac814 Allow to focus individual tabs in TabBar/TabContainer 2023-09-17 18:49:48 +02:00
Rémi Verschelde
04d2aa61a3
Merge pull request #81641 from MewPurPur/bus-go-brrrr-2
Add a `bus_renamed` AudioServer signal
2023-09-17 14:47:29 +02:00
Rémi Verschelde
f4d85d58f7
Merge pull request #80736 from Ughuuu/add-get-rid-to-joints
Expose the `get_rid` method of Joint2D and Joint3D
2023-09-17 14:47:04 +02:00
Rémi Verschelde
4a48fd4b9f
Merge pull request #63634 from Spartan322/itemlist-predraw-size
Expose and rename ItemList's `_check_shape_changed` to `force_update_list_size`
2023-09-17 14:45:19 +02:00
Rémi Verschelde
4c01c62233
Merge pull request #79182 from MewPurPur/polyline-close
Add closed property to Line2D
2023-09-16 21:20:47 +02:00
Aaron Franke
f95f2d1149
Limit mesh complexity in LOD generation to prevent crashing 2023-09-15 18:40:02 -05:00
Yuri Sizov
dd3638d425 Merge pull request #81669 from kleonc/gui-tooltip-transparent-background
Enable transparent background for GUI tooltips
2023-09-15 19:48:37 +02:00
Yuri Sizov
b797fa18c8 Merge pull request #81621 from PrecisionRender/fix-popup-menu-accelerators
Expose `PopupMenu` `activate_item_by_event` method
2023-09-15 19:48:27 +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
vPumpking
bd575c5fe5 Add 'get_tree_string()' and 'get_tree_string_pretty()' to Node class to complement printing methods 2023-09-15 19:18:53 +02:00
George L. Albany
421e8c5455
Expose force_update_list_size
Rename ItemList::_check_shape_changed to force_update_list_size

`force_update_list_size` is especially useful for updating the auto_height_value early
2023-09-15 13:18:02 -04:00
PrecisionRender
76fad10978 Expose PopupMenu activate_item_by_event method 2023-09-15 10:27:49 -05:00
bitsawer
34574db5b9 Fix BoneAttachment3D signal connection 2023-09-15 17:35:12 +03:00
Yuri Sizov
6e11fcb92c Warn about accessing non-existing editor theme items 2023-09-15 14:51:01 +02:00
MewPurPur
f29b6e73c2 Add a bus_renamed AudioServer signal 2023-09-15 13:02:03 +03:00
kleonc
c66dfd2cfe Enable transparent background for GUI tooltips 2023-09-14 23:39:28 +02:00
Yuri Sizov
325ec7fdda Merge pull request #81600 from aaronfranke/fix-graph-edit-valid-port-conn-type
Fix GraphEdit port valid connections incorrectly checking sides
2023-09-14 15:21:59 +02:00
Yuri Sizov
56e54b49b6 Merge pull request #81551 from YuriSizov/gui-cache-all-the-theme
Bind remaining theme properties to their respective classes
2023-09-14 15:21:45 +02:00
Mansur Isaev
4982bec8b7 Removes the equality check for set_tab_metadata
Makes the code equivalent to the `Tree.set_metadata` code.

Fix: https://github.com/godotengine/godot/issues/81647
2023-09-14 17:07:14 +04:00
Yuri Sizov
fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
Aaron Franke
366e54b0a3
Fix GraphEdit port valid connections incorrectly checking sides 2023-09-12 20:46:43 -05:00
A Thousand Ships
a29416e332 [Scene,Main] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-12 12:53:06 +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
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
6a007c7512
Merge pull request #81546 from YuriSizov/there-isnt-enough-room-for-two-ways-to-customize-a-dialog-in-this-town-boy
Hide the `dialog_text` property from `FileDialog`
2023-09-12 08:51:09 +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
Rémi Verschelde
64fce49dc6
Merge pull request #81423 from kleonc/tile-map-get-used-rect-fix
Fix `TileMap::get_used_rect` incorrectly handling empty layers
2023-09-12 08:50:21 +02:00
Jean-Michel Bernard
67dce301aa Add code region folding to CodeEdit 2023-09-11 18:36:40 +02:00
Yuri Sizov
d0e26572fe Hide the dialog_text property from FileDialog
It's useless in `FileDialog`, because dialogs can have either
a text label or a custom layout, and `FileDialog` already
has a custom layout.
2023-09-11 16:24:54 +02:00
Rémi Verschelde
1695bf09b4
Merge pull request #81485 from bluenote10/feature/remove_some_dead_declarations_in_audio_stream_player
Remove some dead declarations in `audio_stream_player.h`
2023-09-11 15:39:18 +02:00
Rémi Verschelde
013bbd1a1e
Merge pull request #81477 from timothyqiu/aligned
Fix submenu alignment with parent menu item
2023-09-11 15:38:54 +02:00
Rémi Verschelde
d08401236c
Merge pull request #81312 from YuriSizov/theme-static-binds
Register theme properties with ThemeDB
2023-09-11 15:38:06 +02:00
Rémi Verschelde
ca2d5b25fd
Merge pull request #81094 from OXTyler/81071
Fix SpinBox not clearing text on improper input
2023-09-11 15:37:18 +02:00
Rémi Verschelde
afd01030a8
Merge pull request #80956 from MarcusElg/deselectmulticaret
Deselect multi caret when alt clicking on it
2023-09-11 15:36:21 +02:00
bitsawer
8c26da5460 Fix LightmapGI baking with GridMap 2023-09-11 15:15:40 +03: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
Yuri Sizov
2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
MJacred
6170381bd7 Fix TextEdit.get_rect_at_line_column returning negative pos even though cursor is in viewable area of the control 2023-09-11 12:32:36 +02:00
kleonc
52f8886ad0 Fix TileMap::get_used_rect incorrectly handling empty layers 2023-09-11 10:55:27 +02:00
MewPurPur
e39875a20d Add closed property to Line2D 2023-09-11 11:28:25 +03:00
Fabian Keller
178aad9a4e remove some dead declarations in audio_stream_player.h 2023-09-09 14:12:27 +02:00
Haoyu Qiu
e5ad35a95f Fix submenu alignment with parent menu item 2023-09-09 14:32:21 +08:00
kobewi
a9f3154da3 Add per-tile flipping and transposing 2023-09-09 00:56:38 +02:00
Rémi Verschelde
fc99492d30
Merge pull request #81463 from YuriSizov/theme-variate-those-tooltips
Correctly setup tooltip's style as theme variation
2023-09-08 23:16:29 +02:00
Rémi Verschelde
fb4edf50d7
Merge pull request #81452 from tcoxon/fix_57271
Fix animation keyframes being skipped when played backwards
2023-09-08 23:16:05 +02:00
Rémi Verschelde
867e20e7b9
Merge pull request #81450 from KoBeWi/call_deferred()_is_too_powerful._It's_frightening
Fix FindReplaceBar losing focus too early
2023-09-08 23:15:41 +02:00
Rémi Verschelde
5fef875cd8
Merge pull request #81070 from groud/improve_tilemap_performances
Improve TileMap performances by using quadrants only for rendering
2023-09-08 23:13:56 +02:00
Yuri Sizov
3d45f4b07e Correctly setup tooltip's style as theme variation 2023-09-08 21:51:06 +02:00
Gilles Roudière
8c1e28237b Improve TileMap performances by using quadrants only for rendering 2023-09-08 15:33:43 +02:00
Tom Coxon
1a52c0c543 Fix animation keyframes being skipped sometimes when being played backwards. #57271 2023-09-08 14:13:53 +01:00
kobewi
db4daa5249 Fix FindReplaceBar losing focus too early 2023-09-08 14:46:34 +02:00
Rémi Verschelde
baad99220e
Merge pull request #81443 from bruvzg/le_off_del
[LineEdit] Update line edit offset on text delete.
2023-09-08 11:50:49 +02:00
Rémi Verschelde
4330a94b13
Merge pull request #65011 from Rindbee/fix-first-set-in-main-scene
Fix the behavior of the resource property of the sub-scene root node on instantiation
2023-09-08 11:50:30 +02:00
Rémi Verschelde
31a7fd1951
Merge pull request #81406 from bruvzg/ts_dict_chk2
[TextServer] Pass Dictionary properties by value and check property values instead of references.
2023-09-08 09:11:23 +02:00
bruvzg
6a1fdc213c
[LineEdit] Update line edit offset on text delete. 2023-09-08 08:58:51 +03: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
23ab351a9b
Merge pull request #81396 from bruvzg/te_idir
Fix TextEdit placeholder with Inherited text direction.
2023-09-07 13:54:33 +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
Rémi Verschelde
4bf3de7853
Merge pull request #81383 from AThousandShips/valid_remove
Remove unnecessary validity checks from `Button` and `TextureRect`
2023-09-07 13:53:20 +02:00
bruvzg
1ced1f9c99
[TextServer] Pass Dictionary properties by value and check property values instead of references.. 2023-09-07 11:59:51 +03:00
bruvzg
3842694d4f
Fix TextEdit placeholder with Inherited text direction. 2023-09-07 08:26:10 +03:00
KurtBliss
bb98843b61 Fixed: TextFile's not reloading when changed from external editors 2023-09-06 17:34:36 -04: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
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
58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
A Thousand Ships
380db4d03e Remove unnecessary validity checks from Button and TextureRect
The one in `TextureRect` appears to be a leftover from earlier code, and
the one in `Button` was copied from there.
2023-09-06 16:39:06 +02:00
Yuri Sizov
16957fd35b Merge pull request #81286 from lemilonkh/unshaded-materials-ignore-fog
Implement render mode `fog_disabled` and BaseMaterial3D setting Disable Fog
2023-09-06 14:49:16 +02:00
Yuri Sizov
6f87ab7244 Merge pull request #81268 from timothyqiu/icon-scale-changes
Fix ItemList not updating when icon scale changes
2023-09-06 14:49:13 +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
Milan Gruner
45a33cc749 Implement render mode fog_disabled and BaseMaterial3D setting Disable Fog 2023-09-05 18:15:02 +02:00
Yuri Sizov
36cc4754f5 Merge pull request #81305 from YuriSizov/theme-fix-tests-shadowing
Fix ThemeDB initialization in tests
2023-09-05 15:14:27 +02:00
Yuri Sizov
3604b46bda Merge pull request #81300 from bitsawer/fix_empty_shader_handling
Fix empty shader resource loading
2023-09-05 15:14:24 +02:00
Yuri Sizov
cfdc016038 Merge pull request #81296 from AThousandShips/blend_fix
Fix incorrect cast when animating `int`
2023-09-05 15:14:21 +02:00
Yuri Sizov
c9bf824124 Merge pull request #79166 from bruvzg/ts_dict_chk
[TextServer] Remove excessive Dictionary checks.
2023-09-05 15:14:14 +02:00
Yuri Sizov
4328ffcc79 Fix ThemeDB initialization in tests
Also fixes class name shadowing in Viewport/Window tests.
2023-09-04 18:07:16 +02:00
bitsawer
15eec2450a Fix empty shader resource loading 2023-09-04 14:59:59 +03:00
A Thousand Ships
035cf5e210 Fix incorrect cast when animating int
Type was cast to `int` rather than `int64_t`
Also corrects `real_t` to `double`
2023-09-04 11:58:29 +02:00
Rémi Verschelde
f05c7f6d68
Merge pull request #81239 from Malcolmnixon/xr-tracking-signals
Add XR tracking state-change signals
2023-09-04 09:08:59 +02:00
Rémi Verschelde
92da5a7654
Merge pull request #79792 from Miguel0312/SceneTreeTooltips
Correctly display tooltips for buttons in Tree when they overlap cell content
2023-09-04 09:07:24 +02:00
bruvzg
31a8a9b2e1
[TextServer] Remove excessive Dictionary checks. 2023-09-04 09:47:55 +03:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Marcus Elg
aac10705d7 Deselect multi caret when alt clicking on it 2023-09-03 19:22:33 +02:00
Malcolm Nixon
22de1b31b5 Added XR tracking-state change signals
Add "pose_lost_tracking" signal to XRPositionalTracker.
Add "tracking_changed" signal to XRNode3D.
2023-09-03 12:17:16 -04:00
Haoyu Qiu
1bf4c12c0a Fix ItemList not update when icon scale changes 2023-09-03 19:10:24 +08:00
Rémi Verschelde
80bfca20c6
Merge pull request #81198 from KoBeWi/MissingRID
Add placeholder RID to GradientTexture1D
2023-09-01 16:03:22 +02:00
Rémi Verschelde
39b1d860c3
Merge pull request #75382 from AThousandShips/duplicate_bind
Ensure binds are duplicated with `Node` signals
2023-09-01 16:00:05 +02:00
kobewi
02857570d3 Add placeholder RID to GradientTexture1D 2023-08-31 15:53:32 +02:00
Rémi Verschelde
ae7bab8c37
Merge pull request #81040 from Ymanawat/control-theme-80989
Fix setting TabContainer's `font_hovered_color` theme property
2023-08-31 08:54:29 +02:00
Yogendra Manawat
a16fdb05ae Fix scrolling popup_menu On keyboard/controller input 2023-08-30 23:31:22 +05:30
BlueCube3310
c759ac0e4f Fix TreeItem range slider not working 2023-08-30 19:17:13 +02:00
Yogendra Manawat
d7bf05b490 Fix TabContainer's font_hovered_color theme property 2023-08-30 21:25:41 +05:30
Chia-Hsiang Cheng
749db00227 Draw separators before selected style boxes 2023-08-30 16:32:58 +08:00
Rémi Verschelde
f7c48cf803
Merge pull request #81128 from KoBeWi/devourer_of_input_meets_destroyer_of_focus
Unfocus LineEdit when pressing Escape
2023-08-30 08:47:26 +02:00
Rémi Verschelde
fc0b3f7021
Merge pull request #80320 from Sauermann/fix-remove-invalidation-function
Remove `CanvasItem::_invalidate_global_transform`
2023-08-30 08:45:27 +02:00
Rémi Verschelde
8edc0b43b9
Merge pull request #78634 from Sauermann/fix-notification-order
Fix `Object::notification` order
2023-08-30 08:44:36 +02:00
Markus Sauermann
7f317ef1bf Remove CanvasItem::_invalidate_global_transform
The only use of that function can be replaced by `_notify_transform`,
which makes the `propagate_call` unnecessary.
As far as I can tell, the `data.blocked`-checks of `propagate_call`
are not needed in this case, because `_invalidate_global_transform`
causes no user-noticeable changes.
2023-08-30 00:29:42 +02:00
Markus Sauermann
c4705a590b Fix Object::notification order
Previously the `p_reversed` parameter didn't influence the order
in a correct way.
Also script overridden _notification functions were not called in
the correct order.

To fix this some `notification` functions had to add a `p_reversed`
parameter.

This made it necessary to adjust cpp-bindings.

Co-authored-by: David Snopek <dsnopek@gmail.com>
2023-08-30 00:15:55 +02:00
kobewi
9f9210e60c Fix consistency of GradientTexture changes 2023-08-29 20:28:39 +02:00
A Thousand Ships
9cf13cedfd Ensure binds are duplicated with Node signals 2023-08-29 16:52:38 +02:00
kobewi
e21c30ec11 Unfocus LineEdit when pressing Escape 2023-08-29 14:53:49 +02:00
kobewi
598d9972c8 Prevent errors if Tween callback's object is freed 2023-08-29 14:50:53 +02:00
Rémi Verschelde
b272d7ed58
Merge pull request #81067 from bitsawer/fix_voxelgi_exposure
Fix VoxelGI CameraAttributes exposure normalization handling
2023-08-29 12:46:20 +02:00
Tyler
468e57dfe5 fixes issue 81071 2023-08-28 17:09:48 -04:00
Rémi Verschelde
541674d106
Merge pull request #81076 from Jordyfel/spinbox
Only allow finite numbers in `Range.value`.
2023-08-28 20:38:22 +02:00
Rémi Verschelde
ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +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
Jordyfel
78304282f0 Only allow finite numbers in Range.value. 2023-08-28 17:03:17 +03:00
kobewi
52d41cc555 Add option to cleanup tiles outside the texture 2023-08-28 15:15:45 +02:00
Rémi Verschelde
8df1d90336
Merge pull request #81065 from YuriSizov/themable-chairs
Move default theme files to `scene/theme`
2023-08-28 15:05:04 +02:00
Rémi Verschelde
8b8b6d1e87
Merge pull request #81006 from KurtBliss/Chance-of-crash-when-Control-overrides-mouse-input-on-Area2D-#79371
Fix possible crash when Control overrides mouse input on Area2D
2023-08-28 15:04:41 +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
1c9e45f5dd
Merge pull request #80705 from bitsawer/add_shader_load_error_checks
Fix Shader and ShaderInclude resource loading
2023-08-28 15:03:02 +02:00
bitsawer
c73e1f0d22 Fix VoxelGI CameraAttributes exposure normalization handling 2023-08-28 13:25:34 +03:00
Rémi Verschelde
713bfaf5ea
Merge pull request #81064 from bruvzg/rtl_char_count_line_edge
[RTL] Fix character line index for non-visual characters and characters on the line edge.
2023-08-28 12:12:22 +02:00
Rémi Verschelde
072ba70424
Merge pull request #81012 from Jordyfel/center-window
Implement center window function.
2023-08-28 12:07:27 +02:00
Rémi Verschelde
2f82687334
Merge pull request #80984 from MarcusElg/particleoffsetstutter
Fix GPUParticle2D offset stutter
2023-08-28 12:05:52 +02:00
Rémi Verschelde
2967084fe3
Merge pull request #80490 from YuriSizov/editor-scene-tabs-unchained
Extract editor scene tabs into their own component
2023-08-28 12:04:41 +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
Rémi Verschelde
2c0a74a149
Merge pull request #80105 from Sauermann/fix-global-transform
Fix global transform validity for `Node2D` and `Control`
2023-08-28 12:03:53 +02:00
Rémi Verschelde
b00796eb1a
Merge pull request #79818 from garychia/select_all
RichTextLabel: Ensure the `select_all` function selects all items
2023-08-28 12:03:29 +02:00
bruvzg
2273509721
[RTL] Fix character line index for non-visual characters and characters on the line edge. 2023-08-28 10:50:01 +03:00
Yuri Sizov
fd2ec47ec9 Move default theme files to scene/theme
This also puts the default theme icons into their own folder.
2023-08-28 00:23:38 +02:00
Miguel Pereira
8278a5f274 Correctly display tooltips for buttons in Tree when they overlap cell content 2023-08-27 18:21:12 +02: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
Chia-Hsiang Cheng
f93f1952cb Avoid selecting the first item automatically in Open Folder Mode 2023-08-27 17:25:17 +08:00
Dragos Daian
f9435b6d72 Expose the get_rid method of Joint2D and Joint3D
update occurance of get_joint

Update documentation as per feedback.

update

update

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-27 00:34:47 +03:00
Jordyfel
9819ffb166 Implement window center function. 2023-08-26 21:34:21 +03:00
KurtBliss
dbb01bc451 Fixed, chance of crash when Control overrides mouse input on Area2D
Made Viewport::_cleanup_mouseover_colliders queue up mouse_exit and
mouse_shape_exit signals to emit and at the end of the function's
execution to avoid potential crashes.
2023-08-25 17:51:38 -04:00
bruvzg
88177a5a58
[RTL] Use list iterators for item/paragraph removal. 2023-08-25 17:49:13 +03:00
Chia-Hsiang Cheng
d66c7a2ac5 Ensure the 'select_all' function selects all items 2023-08-25 21:07:33 +08:00
Marcus Elg
936fd8db38 Fix GPUParticle2D offset stutter 2023-08-25 09:59:05 +02:00
Danil Alexeev
07d23489f4
GUI: Fix text overlapping icon in Tree 2023-08-24 22:09:02 +03:00
A Thousand Ships
e70b83c7a0 Expose finding valid focus neighbors of a Control by side
Exposes the functionality used for ui navigation
2023-08-24 18:25:35 +02:00
Yuri Sizov
6ab34005ad Extract editor scene tabs into their own component 2023-08-24 12:24:29 +02:00
bruvzg
5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
Andrés Botero
eee95aff04 Add transform support to CharFXTransform
Use absolute transforms for CharFX

fix formatting
2023-08-23 00:18:37 -05:00
Rémi Verschelde
8e0346bade
Merge pull request #80848 from bruvzg/rtl_lang
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph.
2023-08-21 19:32:29 +02:00
Rémi Verschelde
ddb7430536
Merge pull request #80847 from bruvzg/rtl_rem_para
[RTL] Fix `remove_paragraph` crashes
2023-08-21 19:32:25 +02: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
bruvzg
299808cc26
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph. 2023-08-21 14:56:43 +03:00
bruvzg
cd6b0368f6
[RTL] Fix remove_paragraph crashes. 2023-08-21 14:36:07 +03:00
Rémi Verschelde
76a4b5d710
Merge pull request #80809 from jsjtxietian/early-quit-in-_get_column_pos_of_word
Edit early in `TextEdit::_get_column_pos_of_word` to improve highlight performace
2023-08-21 08:25:26 +02:00
Rémi Verschelde
4bba963f0a
Merge pull request #80782 from KoBeWi/MessLibrary
Cleanup MeshLibrary changed signals
2023-08-21 08:23:48 +02:00
Rémi Verschelde
b24eb34669
Merge pull request #80780 from HolonProduction/sub-window-focus-crash
Fix crash when hiding subwindow during popup of new subwindow
2023-08-21 08:23:23 +02:00
HolonProduction
e2cea458a3 Fix crash when hiding subwindow during popup of new subwindow 2023-08-20 17:51:54 +02:00
jsjtxietian
70dad7e5a3 Fixes a text find perf issue, if can't find any
match words, just early break the while loop. This
will improve a lot when p_search.length is way too
long since p_from_column will only plus 1 every loop
2023-08-20 21:48:25 +08:00
kobewi
ecc3944b1e Cleanup MeshLibrary changed signals 2023-08-19 11:56:31 +02:00
Yuri Roubinski
7fcb91f077 Implement conversion from CPUParticles to GPUParticles (3D/2D) 2023-08-19 11:58:57 +03:00
Rémi Verschelde
b51ee8b029
Merge pull request #80650 from bruvzg/comp_char_fix
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-18 17:24:54 +02:00
kobewi
a88e3b8604 Improve scene tiles workflow 2023-08-18 13:55:30 +02:00
Rindbee
bd42d337df Fix the behavior of the resource property of the sub-scene root node on instantiation
The sub-scene root node will be set successively in the sub-scene and the main scene.

The PR is simply to determine intent from the record. Mainly the cases when
`resource_local_to_scene` is enabled in main scene.

When updating resources according to the records of the main scene, use the
`scene_unique_id` in the main scene to prevent the ID of the resource from
changing continuously when saving the scene.
2023-08-18 19:08:34 +08:00
Rémi Verschelde
d81767495a
Merge pull request #80512 from mihe/global-basis
Add `global_basis` property to `Node3D`
2023-08-18 09:31:41 +02:00
A Thousand Ships
b060a22719 Pass missing arguments to TileMap::get_used_cells_by_id 2023-08-17 19:55:56 +02:00
Rémi Verschelde
0511f9d9a7
Merge pull request #80708 from garychia/anim_seek
Ensure methods skipped by `AnimationPlayer::seek` are not called
2023-08-17 15:44:03 +02:00
Rémi Verschelde
e73a4a382e
Merge pull request #79201 from Rindbee/fix-setup-state-not-cleared
Clear the previously set state when configuring for a new scene root node
2023-08-17 15:43:38 +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
e6e79255ed
Merge pull request #77943 from aaronfranke/mass-dist
Add Mass Distribution, Deactivation, Solver inspector property groups
2023-08-17 12:26:59 +02:00
Chia-Hsiang Cheng
125ae78a89 Ensure methods skipped by AnimationPlayer::seek are not called 2023-08-17 17:35:54 +08:00
Rémi Verschelde
c5a7462a00
Merge pull request #80702 from KoBeWi/lagging_animation
Fix initial value with delay in PropertyTweener
2023-08-17 11:28:15 +02:00
Rémi Verschelde
06eade1bc2
Merge pull request #80367 from garychia/anim_signals
Avoid emitting signals if the animation is not ready to be processed
2023-08-17 11:25:28 +02:00
Rémi Verschelde
0fff0b1054
Merge pull request #80203 from WhalesState/Dev2
Add shortcut handling to `OptionButton`
2023-08-17 11:24:14 +02:00
Rémi Verschelde
37d213b24e
Merge pull request #79972 from smix8/navgenerator_multithreading_4.x
Add multi-threaded NavMesh baking to NavigationServer
2023-08-17 11:22:11 +02:00
Rémi Verschelde
ef77ae7d6c
Merge pull request #74250 from daBlesr/bugfix-selection-signals-when-disabled-or-not-selectable
ItemList: Clarify distinction between disabled and selected in sending signals
2023-08-17 11:19:17 +02:00
Rémi Verschelde
4b11bc2b34
Merge pull request #36493 from KoBeWi/echo_menus
Add option to allow echo events in menu shortcuts
2023-08-17 11:18:50 +02:00
Niels Drost
fa63107bd1
ItemList: Clarify distinction between disabled and selected in sending signals
disabled -> not sending any signal at all (activated, selected, deselected, ...)
selected -> only possible when not disabled, and when selectable

Fixes #74086.
2023-08-17 10:34:18 +02:00
kobewi
1660575bd8 Fix initial value with delay in PropertyTweener 2023-08-17 10:28:26 +02:00
bitsawer
26e3443eef Fix Shader and ShaderInclude resource loading 2023-08-17 11:17:54 +03:00
Tomasz Chabora
3dd881b4e4 Add option to allow echo events in menu shortcuts 2023-08-16 16:59:17 +02:00
Rémi Verschelde
77fd8f3416
Merge pull request #80673 from YeldhamDev/give_me_my_windows!
Allow to get a list of visible embedded `Window`s
2023-08-16 16:56:31 +02:00
Rémi Verschelde
e31cb25d50
Merge pull request #79165 from Koyper/enable_missing_tree_title_font_settings
Enabled missing Tree title button font and font size theme settings
2023-08-16 16:54:55 +02:00
Rémi Verschelde
c081d1bd24
Merge pull request #78816 from kleonc/scene-tree-fix-drag-drop-to-parent-with-internal-nodes
Fix drag-dropping nodes to parent with internal nodes
2023-08-16 16:54:06 +02:00
Michael Alexsander
de27df5da3
Allow to get a list of visible embedded Windows 2023-08-16 10:42:08 -03:00
Koyper
e84588987a Enabled missing Tree title button font and font size theme settings. 2023-08-16 08:10:31 -05:00
Rémi Verschelde
ed81c93be7
Merge pull request #80658 from Sch1nken/tilemap-erase-scenes
TileMap: Check for possible scenes to be erased
2023-08-16 09:18:11 +02:00
Rémi Verschelde
ed1180a97e
Merge pull request #80638 from sepTN/fix-particle-shader-rand
Fix particle shader deterministic random values
2023-08-16 09:16:14 +02:00
Rémi Verschelde
da80a033f1
Merge pull request #80606 from bruvzg/rtl_scroll_hide
[RTL] Improve scroll bar responsiveness during updates.
2023-08-16 09:14:40 +02:00
Rémi Verschelde
a7dc4c22a9
Merge pull request #80334 from Sauermann/fix-window-out-of-viewport-events
Fix nodes receiving mouse events in black bars of `Window`
2023-08-16 09:12:42 +02:00
Rémi Verschelde
132b97c325
Merge pull request #79747 from kleonc/canvas_modulate_fix_updating_logic
Fix `CanvasModulate` logic for modulating the canvas
2023-08-16 09:12:18 +02:00
Sch1nken
7aa90d1667 Check for possible scenes to be erased 2023-08-15 15:17:06 +02:00
bruvzg
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
Septian
cb7400d67a Fix particle shader deterministic random values 2023-08-15 15:06:37 +07:00
bruvzg
3709ca5404
[RTL] Improve scroll bar responsiveness during updates. 2023-08-14 11:36:05 +03:00
Rémi Verschelde
0308422f46
Merge pull request #80594 from rsubtil/fix_window_input_event
Support other input methods on Popup/Dialogs' `_input_from_window`
2023-08-14 09:38:08 +02:00
Rémi Verschelde
8b3de35c64
Merge pull request #79867 from WhalesState/master
Fix Camera2D is not working inside a MainScreenEditorPlugin
2023-08-14 09:36:06 +02:00
Mounir Tohami
4e4a725fff Fix Camera2D is not working inside EditorPlugin 2023-08-13 22:14:13 +00:00
Ricardo Subtil
f0927250ca Support controller input on popup/dialogs 2023-08-13 17:32:08 +01:00
Daniel Roberts
46e395abb1 Add handles to control Curve3D tilt 2023-08-12 14:55:38 +08:00
Mikael Hermansson
8be20c495c Add global_basis property to Node3D 2023-08-11 11:41:49 +02:00
Rémi Verschelde
a8edbcfe13
Merge pull request #80485 from Calinou/volumetric-fog-clamp-length
Clamp Volumetric Fog Length property to prevent rendering issues
2023-08-11 10:33:23 +02:00
Rémi Verschelde
33198d0df0
Merge pull request #75784 from Riteo/int-scale
Add content scale stretch modes, implement integer scaling
2023-08-11 10:32:11 +02:00
Riteo
87cfc415a3 Add content scale stretch modes, implement integer scaling
Integer scaling is achieved (after aspect expansion) by "lying" to the
stretching code about the window's size, telling it that it's always an
integer multiple of the viewport so that it only gets stretched to an
integer factor.

This approach works with all stretch and aspect modes and doesn't
require handling for each, only requiring to "loosen up" some
self-excluding conditions (in other words, replacing some `else if`s
with just `if`s) regarding viewport offset and margin calculation (black
bars).

Includes a tiny usability change that adds a range hint for the content
scale factor between 0.5 to 8.0.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-08-10 19:45:47 +02:00
Hugo Locurcio
8041cff865
Clamp Volumetric Fog Length property to prevent rendering issues
A length of 0 units doesn't make sense anyway.
2023-08-10 15:55:36 +02:00
ajreckof
1eb3d99ff7 Fix CodeEdit completion being very slow in certain cases 2023-08-10 08:15:41 +02:00
Rémi Verschelde
7257d1667e
Merge pull request #80441 from Calinou/editor-torusmesh-inspector-hint-or-greater
Allow setting values greater than the maximum in TorusMesh inspector
2023-08-10 00:43:27 +02: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
3a0086eb6f
Merge pull request #78426 from Daylily-Zeleen/daylily-zeleen/graph_edit_virtual
Make GraphEdit's cpp virtuals equal to gdscript.
2023-08-09 15:20:07 +02:00
Markus Sauermann
59c13fea5d Fix nodes receiving mouse events in black bars of Window
Previously for InputEvents there was no distinction between
Window-area and Viewport-area.
This was problematic in cases where stretching was used and the Window
contained black bars at the sides of the Viewport.
This PR separates the area of Window and Viewport regarding InputEvents.
2023-08-09 12:34:22 +02:00
Hugo Locurcio
acd5dee478
Allow setting values greater than the maximum in TorusMesh inspector
This is consistent with other PrimitiveMeshes' behavior.
2023-08-09 10:14:00 +02:00
Daylily-Zeleen
2f0639e7ae Make GraphEdit's cpp virtuals equal to gdscript. 2023-08-09 00:21:35 +08:00
Rindbee
4795c3cdfa Clear the previously set state when configuring for a new scene root node
Saving a subscene causes the main scene to be re-instantiated. And the resource
instance in the main scene will be reused when the main scene is re-instantiated.
So for resources with `resource_local_to_scene` enabled, resetting state may be
necessary (at least for `ViewportTexture`).
2023-08-08 23:49:53 +08:00
Rémi Verschelde
0ce1ca4677
Merge pull request #80402 from timothyqiu/overrun-icon
Fix Button text when overrun is not trim nothing
2023-08-08 17:00:46 +02:00
Rémi Verschelde
70e77a8383
Merge pull request #80381 from Calinou/audio-bus-master-use-scenestringnames
Use StringName consistently to refer to the Master audio bus name
2023-08-08 16:59:11 +02:00
Rémi Verschelde
b49478acce
Merge pull request #80366 from timothyqiu/option-button-lean-and-mean
Fix OptionButton min size when fit longest item is enabled
2023-08-08 16:58:23 +02:00
Rémi Verschelde
46c9a1427d
Merge pull request #80364 from Calinou/control-escape-dismiss-tooltips
Dismiss currently visible or upcoming tooltips when pressing Escape
2023-08-08 16:57:59 +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
Rémi Verschelde
af722e2bab
Merge pull request #80187 from Sauermann/fix-mouseover-error-handling
Handle potential platform-specific `Window` mouse-enter/exit bugs gracefully
2023-08-08 16:57:09 +02:00
Rémi Verschelde
14256a2395
Merge pull request #78468 from KoBeWi/enmarginalization
Fix ColorPicker margin theme property
2023-08-08 16:55:32 +02:00
Markus Sauermann
2f8673dc07 Handle potential platform-specific Window mouse-enter/exit bugs gracefully
Also replace `DEV_ASSERT` by `WARN_PRINT_ONCE`.
2023-08-08 13:05:18 +02:00
Markus Sauermann
152572ac38 Fix global transform validity for Node2D and Control
Set global transform to invalid when changing transform
2023-08-08 12:22:55 +02:00
Haoyu Qiu
7f70ac56a0 Fix Button text when overrun is not trim nothing 2023-08-08 15:08:28 +08:00
Hugo Locurcio
6307b0be3c
Dismiss currently visible or upcoming tooltips when pressing Escape
This is standard UI behavior in most applications out there.
2023-08-08 07:40:39 +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
Hugo Locurcio
49b6067aba Use StringName consistently to refer to the Master audio bus name 2023-08-07 18:06:17 +02:00
smix8
8686e84b44 Add multi-threaded NavMesh baking to NavigationServer
Adds multi-threaded NavMesh baking to NavigationServer.
2023-08-07 17:14:37 +02: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
7eb047a5ed
Merge pull request #79643 from smix8/navgenerator_4.x
Move navigation mesh baking to NavigationServer
2023-08-07 14:48:15 +02:00
Faolan
b3b791350b
Move registration of fallbacks property in the base Font class 2023-08-07 13:46:44 +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
Chia-Hsiang Cheng
ef5d0b1c06 Avoid emitting signals if the animation is not ready to be processed 2023-08-07 18:21:28 +08:00
Haoyu Qiu
5dd854513e Fix OptionButton min size when fit longest item is enabled 2023-08-07 17:25:10 +08: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
Aaron Franke
49e0a01bf1
Add Mass Distribution, Deactivation, Solver inspector property groups 2023-08-06 21:26:33 -05:00
Danil Alexeev
5fb975e4a5
GUI: Fix Tree performance regression by using cache 2023-08-04 16:11:26 +03:00
Yuri Sizov
a56e960150 Merge pull request #71233 from PrecisionRender/barycentric-coords
Add ability to get face index and barycentric coordinates from raycast
2023-08-03 22:37:30 +02:00
smix8
744fa87da2 Move navigation mesh baking to NavigationServer
Moves navigation mesh baking to NavigationServer.
2023-08-03 19:49:07 +02:00
Rémi Verschelde
725beaa7af
Merge pull request #80219 from YeldhamDev/override_all_the_things
Improve `Window._get_contents_minimum_size()`'s code
2023-08-03 15:33:37 +02:00
Michael Alexsander
6d2453425b
Improve Window._get_contents_minimum_size()'s code 2023-08-03 10:25:05 -03:00