Commit graph

7419 commits

Author SHA1 Message Date
Rémi Verschelde
4e7363cac7
Merge pull request #61996 from smix8/navigation_bp_update_3.x
[3.5] Update NavigationServer backport
2022-06-16 00:17:16 +02:00
Rémi Verschelde
0c5c5381d7
Merge pull request #61980 from KoBeWi/obliterate_scroll
Disable scroll when dragging at edges of TextEdit
2022-06-14 23:47:17 +02:00
kobewi
053fdb8872 Disable scroll when dragging at edges of TextEdit 2022-06-14 23:36:54 +02:00
smix8
8bd7c6188b [3.5] Update NavigationServer backport
Backports features and bugfixes from current Godot 4.0 to 3.5 and brings functions and codebase of both version largely in sync to make tutorials more compatible and future backports easier.
2022-06-14 05:55:14 +02:00
Rémi Verschelde
606ec57d2c
Merge pull request #61985 from bruvzg/win_net_share3
[Windows, 3.x] Add support for handling network share paths.
2022-06-13 09:16:13 +02:00
bruvzg
64a107508a
[3.x] Improve RTL table fill. 2022-06-13 09:57:35 +03:00
bruvzg
11a7997a67 [Windows, 3.x] Add support for handling network share paths. 2022-06-13 09:24:35 +03:00
Rémi Verschelde
0b048b6d73 SoftBody: Fix attachments property names after #61180
Fixes #61581.

(cherry picked from commit 5c3081dae2)
2022-06-10 14:42:05 +02:00
Rémi Verschelde
4987cd43bf
Merge pull request #61346 from AaronRecord/fix-scrollbars-initializing 2022-06-10 14:24:27 +02:00
Rémi Verschelde
a9e966c319
Merge pull request #61544 from lawnjelly/vis_notifier_max_dist
VisibilityNotifier - add max_distance feature
2022-06-10 10:57:53 +02:00
Rémi Verschelde
5c4e95e6e5
Merge pull request #61844 from smix8/navigation_default_navmap_3.x 2022-06-10 09:48:47 +02:00
smix8
96d98d8c4e Backport default World navigation maps
Backports default navigation maps created with each World or World2D.
2022-06-09 14:05:39 +02:00
lawnjelly
0c5a424f65 VisibilityNotifier - add max_distance feature
Enables turning off objects by distance to the camera in addition to testing whether they are in the view frustum.
2022-06-09 11:37:42 +01:00
smix8
e629622598 Remove slash delimiter from NavigationMesh properties
Remove slash delimiter from NavigationMesh properties.

(cherry picked from commit 2c059dcfcb)
2022-06-09 10:31:57 +02:00
smix8
c111d6b621 Expose get_mesh() for NavigationPolygon Resources
Expose get_mesh() for NavigationPolygon Resources.

(cherry picked from commit 8bcce0ebb2)
2022-06-09 10:09:46 +02:00
smix8
106bf9b793 Add NavigationMesh debug when navmesh is added later through scripts
Add NavigationMesh debug when navmesh is added later through scripts

(cherry picked from commit b6eff47bac)
2022-06-09 10:08:55 +02:00
Rémi Verschelde
e9ca65207e
Merge pull request #61822 from smix8/tilemap_texture_offset_fix_3.5 2022-06-08 22:46:04 +02:00
smix8
3aa05b7b67 [3.5] Fix TileMap texture offset for navigationmesh and collisionshapes
[3.5] Fix TileMap texture offset for navigationmesh and collisionshapes
2022-06-08 19:30:52 +02:00
bruvzg
f5fa1ca944
Add readable export errors. Add RTL image vertical alignment support. 2022-06-08 17:56:28 +03:00
Rémi Verschelde
6ec7e2c230
Merge pull request #61729 from lawnjelly/faster_mesh_merging
Optimized Mesh Merging
2022-06-08 07:10:32 +02:00
lawnjelly
1d870403b2 Optimized Mesh Merging
Changes from PoolVector to LocalVector and pre-reserving vectors rather than push_back.
2022-06-07 20:16:51 +01:00
Rémi Verschelde
70951b3a9c
Merge pull request #61728 from YeldhamDev/always_clear_backport
[3.x] Take into account the clear icon's size even when not visible in `LineEdit`s
2022-06-07 14:16:32 +02:00
lawnjelly
ba74643594 Force unsigned behaviour for bitfield enums
Some compilers (notably MSVC) were using signed values for bitfield enums. This was causing problems where 2 bits were used to store 4 or less enum values, where they were being treated as negative numbers.

This PR explicitly requests these enums to be treated as unsigned values.
2022-06-06 16:58:21 +01:00
Haoyu Qiu
d043f91b79 Fix Viewport.own_world documentation
Also fixed the naming of the setter's parameter and made an `if` block
straightforward.
2022-06-06 21:34:36 +08:00
Rémi Verschelde
e80dfb7b12
Merge pull request #61687 from YeldhamDev/double_hover_fix
Fix hover being drawn twice inside `PopupMenu`s
2022-06-06 13:17:25 +02:00
Michael Alexsander
43b0e054be Take into account the clear icon's size even when not visible in LineEdits 2022-06-05 16:22:01 -03:00
Michael Alexsander
b4e4f88cd9 Fix specific bug related to submenus in PopupMenu 2022-06-04 13:26:12 -03:00
Michael Alexsander
78fdebf8cc Fix hover being drawn twice inside PopupMenus 2022-06-04 02:51:22 -03:00
Rémi Verschelde
a6b27b526f
Merge pull request #60822 from lawnjelly/fti_add_child_reset 2022-06-03 14:56:19 +02:00
FireForge
ea46f32246 Fix get_data() for GradientTexture2D 2022-05-31 23:19:25 -05:00
Yuri Sizov
8ed297fc83 Fix theme propagation for children of top level controls 2022-06-01 03:56:51 +03:00
Yuri Sizov
6d53c60bf7 Mark node groups as dirty for every children if parent is moved 2022-05-31 21:23:16 +03:00
Rémi Verschelde
b44928586b
Merge pull request #61483 from kleonc/popup-update-exclusive-when-shown
[3.x] Allow changing `exclusive` of already popped up `Popup`
2022-05-31 12:14:37 +02:00
Rémi Verschelde
51e52b5ed8
Merge pull request #61496 from timothyqiu/asymmetric-le-3.x
[3.x] Fix LineEdit clear button for asymmetric stylebox
2022-05-31 08:56:13 +02:00
bruvzg
553bdc6783
[3.x] Fix Label3D oversampling. 2022-05-30 09:05:41 +03:00
Haoyu Qiu
1e6747d185 Fix LineEdit clear button for asymmetric stylebox 2022-05-28 19:51:50 +08:00
kleonc
9ba598f94f Allow changing exclusive of already popped up Popup 2022-05-28 01:10:49 +02:00
kleonc
736b0c4e97 PopupMenu Fix hover stylebox overflowing horizontally 2022-05-27 23:35:17 +02:00
Hugo Locurcio
011ff93aa5
Tweak TextMesh decomposition error message to mention self-intersecting lines 2022-05-24 15:12:15 +02:00
Aaron Record
ae9e523025 [3.x] Allow ScrollBar params of a ScrollContainer to be modified from _ready()
Cherrypicks b8610dbd31
2022-05-23 21:46:59 -06:00
Rémi Verschelde
88dba8e625 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:41:46 +02:00
bruvzg
eb44e23ca3
[Label3D, 3.x] Monitor default theme font changes, to prevent use of invalid materials. 2022-05-23 18:16:17 +03:00
Rémi Verschelde
b2cdc16a1d
Merge pull request #61281 from bruvzg/textmesh_3x
Backport TextMesh and expose dynamic font vector outlines
2022-05-23 16:16:40 +02:00
Rémi Verschelde
f2e3d89562
Merge pull request #61309 from timothyqiu/label-3d-line-spacing
[3.x] Use float when calculating `Label3D` line height
2022-05-23 16:10:42 +02:00
Haoyu Qiu
ff5e671c81 Use float when calculating Label3D line height 2022-05-23 17:58:51 +08:00
bruvzg
1ab459a951
Fix material shader key for SDF fonts. 2022-05-23 12:03:09 +03:00
bruvzg
d502bd4847
Backport TextMesh and expose dynamic font vector outlines 2022-05-23 10:47:28 +03:00
bruvzg
dc6d8d6098
Backport Label3D node implementation and Sprite*3D material render priority. 2022-05-23 09:14:41 +03:00
smix8
8df9fd076f Process NavigationAgent2D/3D avoidance on demand only
Changes NavigationAgent avoidance callback to a toggle that is disabled by default.
Also fixes a few missing descriptions / wrong warnings.

(cherry picked from commit 7f3688603c)
2022-05-22 19:43:56 +02:00
Hugo Locurcio
548c511f57 Tweak the disabled files text color in FileDialog for readability
Contrast rate is still fairly low, but the text needs to be easy enough
to distinguish from non-disabled items.

(cherry picked from commit 8962d2760d)
2022-05-22 19:43:56 +02:00
Haoyu Qiu
4a03bc8f75 Update last min size when Control becomes visible
(cherry picked from commit 4ac999cc3f)
2022-05-22 19:43:56 +02:00
Daniel Kariv
47ead8504a add check for selection when try to push a meta.
Add a check for when we select a text but end on a link. Before it would act as if we just click an link, but now it changes it so if we click-drag over a link, we could select it (and not move to other page).

(cherry picked from commit e6c909b489)
2022-05-22 19:26:45 +02:00
smix8
b03f6bc170 Remove arbitrary NavigationMesh bake property limits
Lowers or removes the slider limits and steps from NavigationMesh resources and changes some default values to better work with realistic unit sizes by default.

(cherry picked from commit cda93057f7)
2022-05-22 19:26:45 +02:00
bruvzg
b5d5515a2b Fix incorrect encoding used in _error_handler functions
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2022-05-22 18:56:41 +08:00
Rémi Verschelde
67208ae80b
Merge pull request #60402 from Calinou/httprequest-timeout-float 2022-05-20 15:27:29 +02:00
Rémi Verschelde
2a1a2380e5
Merge pull request #61027 from timothyqiu/quit-prop-3.x
[3.x] Make `auto_accept_quit` and `quit_on_go_back` properties
2022-05-20 08:13:41 +02:00
smix8
88acb5b798 Make Navigation Agents and Obstacles respect parent process mode
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.

(cherry picked from commit 6b51ab66d8)
2022-05-19 15:34:56 +02:00
smix8
44915696d2 Add wrong surface warnings to NavigationMesh.create_from_mesh()
Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.

(cherry picked from commit 4185fce0ef)
2022-05-19 15:25:43 +02:00
Rémi Verschelde
78a9d21da3
Merge pull request #61185 from okla/3.x 2022-05-19 12:02:14 +02:00
Sergey Pershenkov
46ab2512b8 Return -1 from get_selected_id() when not selected
Partial cherry pick from 3b146c5eaa
2022-05-19 12:42:54 +03:00
Rémi Verschelde
b7523a953f Revert invalid PopupMenu breaking change from #61102
Fixes #61179.
2022-05-19 10:02:02 +02:00
Haoyu Qiu
b657d0c76c Add dedicated macros for property name extraction
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NOEDITOR
2022-05-19 11:31:35 +08:00
Rémi Verschelde
b0a2b34d48
Merge pull request #61150 from smix8/navigation_region2d_update_navpoly_3.x 2022-05-18 14:36:55 +02:00
smix8
37530b0871 Update NavigationPolygonInstance when polygons of NavigationPolygon change
Updates NavigationPolygonInstance polygons on the NavigationServer2D when the NavigationPolygon Resource emits its changed signal due to e.g. polygons altered by script.
2022-05-18 13:53:46 +02:00
Yuri Rubinsky
32b9818965 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-18 12:36:00 +03:00
Rémi Verschelde
281c5c9a56
Merge pull request #61102 from okla/3.x
[3.x] Make various improvements to OptionButton
2022-05-16 23:51:55 +02:00
Sergey Pershenkov
431c032d8c Make various improvements to OptionButton
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.

(cherry picked from commit 3b146c5eaa)
2022-05-16 22:47:46 +03:00
Haoyu Qiu
96b1b1991b Fix AnimatedSprite doesn't emit animation_finished when changing playback direction
(cherry picked from commit d5f5e96e11)
2022-05-16 21:12:21 +02:00
Markus Sauermann
ff52becb47 Distribute remaining pixel to expanding childs of GridContainer
(cherry picked from commit 6b3207644b)
2022-05-16 21:12:21 +02:00
FireForge
67e6fc8e43 Fix Theme type group naming in the inspector
(cherry picked from commit 197be78bc5)
2022-05-16 21:12:21 +02:00
smix8
3e01d32b4c Clamp NavigationMesh sample_distance above zero
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.

This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.

(cherry picked from commit e33fa9d833)
2022-05-16 21:10:36 +02:00
smix8
c3b39ca1e9 Disable threaded NavigationMesh bake on unsupported OS
Automatically disables threaded NavigationMesh bake when OS does not support threads.

(cherry picked from commit 49c603e127)
2022-05-16 17:52:07 +02:00
smix8
b11708c50d Expose NavigationObstacle2D/3D get_rid() and add config warning
Exposes get_rid() function for scripting.
Adds configuration warning when obstacle is used with not intended static body parent.

(cherry picked from commit 001d89223f)
2022-05-16 17:52:07 +02:00
smix8
847fab6272 Fix NavigationObstacle2D/3D get_global_transform() error
Fixes NavigationObstacle2D/3D reporting a 'get_global_transform: Condition "!is_inside_tree()" error when estimating the agent radius.

The collisionshapes that are lower in the SceneTree order than the obstacle node are not loaded in the SceneTree yet so the global_transform function fails.

Also adds warning message when this happens.

(cherry picked from commit cc707412e9)
2022-05-16 17:52:07 +02:00
Hendrik Brucker
7a4187495d Fix button icon expansion calculation with empty text
(cherry picked from commit c09a5e2774)
2022-05-16 17:14:43 +02:00
Rémi Verschelde
5e693b6d84 Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.

(cherry picked from commit d8935b27a9)
2022-05-16 16:38:26 +02:00
kobewi
bdbbc78da4 Mention that Area2D doesn't support one_way_collision
(cherry picked from commit c836bdf5b1)
2022-05-16 16:27:51 +02:00
kobewi
5fa7ed7686 Rescue orphan nodes in inherited scenes
(cherry picked from commit 2b53826ee6)
2022-05-16 15:59:55 +02:00
kobewi
93482809e5 Fix error spam when tweened node leaves tree
(cherry picked from commit 45e4cb2bbf)
2022-05-16 15:57:41 +02:00
Haoyu Qiu
58650af062 Make auto_accept_quit and quit_on_go_back properties 2022-05-14 18:24:43 +08:00
FireForge
f17c5fa7bd Add interpolation modes to Gradient
- Linear, Constant, and Cubic interpolation modes
- Partial backport of #53321
2022-05-12 14:24:04 -05:00
Hugo Locurcio
069c955af7
Use a floating-point number for the timeout property in HTTPRequest
This allows for greater precision when specifying a timeout in
HTTPRequest in `3.x`, similar to what is already possible in `master`.
2022-05-11 08:41:40 +02:00
lawnjelly
a4c0e2ecce Physics Interpolation - add warnings to RESET_PHYSICS_INTERPOLATION
Adds warnings when NOTIFICATION_RESET_PHYSICS_INTERPOLATION is called and has no effect due to the node being hidden or not interpolated.
2022-05-10 11:17:58 +01:00
lawnjelly
328866ee6a Physics Interpolation - Reset on adding child to SceneTree
For convenience, branches added to the SceneTree now have physics interpolation reset after the first update of the transform to the VisualServer.
2022-05-10 11:09:20 +01:00
Rémi Verschelde
16abb7f471
Merge pull request #60858 from lawnjelly/fti_add_mode_property
Physics Interpolation - add interpolation mode property to node
2022-05-10 08:42:41 +02:00
Rémi Verschelde
cf6dce2c1e
Merge pull request #60876 from timothyqiu/outline-size-hint
[3.x] Fix mismatched font outline size hint
2022-05-09 22:20:16 +02:00
Rémi Verschelde
20c72e8275
Merge pull request #60891 from YeldhamDev/pm_sep_font 2022-05-09 13:57:02 +02:00
Haoyu Qiu
20d3632268 Fix tree button icon not centered vertically 2022-05-09 10:53:02 +08:00
Michael Alexsander
2e4e76b2e3 Add font_separator to PopupMenu 2022-05-08 14:11:59 -03:00
Haoyu Qiu
b277390267 Fix mismatched font outline size hint 2022-05-08 10:01:38 +08:00
Michael Alexsander
4f70201fbe Fix separator height influencing labeled variation in PopupMenu 2022-05-07 21:15:57 -03:00
lawnjelly
0ab077fcef Physics Interpolation - add interpolation mode property to node
Exposes the "interpolated" flag on nodes via a property, physics_interpolation_mode.

Mode can be INHERIT, OFF and ON. This makes it easy to turn off interpolation for nodes in the editor, versus via code.
2022-05-07 13:51:49 +01:00
Hugo Locurcio
8682874419
Rename profiler "Idle Time" to "Process Time"
References to "idle time" are progressively being replaced by
"process time" throughout the engine to avoid confusion.

This also changes some debug prints to be printed only when verbose
mode is enabled (like in `master`).
2022-05-06 19:31:31 +02:00
kobewi
72e1088df6 Fix tscn not listed as Resource extension
(cherry picked from commit e3511dd9d7)
2022-05-05 13:47:48 +02:00
kobewi
ce36f2f699 Improve Tween infinite loop detection
(cherry picked from commit f473aab00d)
2022-05-05 13:47:23 +02:00
ScottVMariotte
25ef0aaf3e Replaced loops_current with end_loop
(cherry picked from commit c526ee6683)
2022-05-05 13:42:54 +02:00
Rémi Verschelde
13bb7c6c35
Merge pull request #60763 from lawnjelly/fti_physics_flush 2022-05-05 11:59:15 +02:00
Haoyu Qiu
0f7f3d08ba Add autocompletion for AnimatedSprite.play() 2022-05-05 09:04:40 +08:00
Pawel Lampe
505ace250d Add ability to bake_navigation_mesh off thread.
This feature makes it possible to workaround problems such as:
 - long baking time due to heavy synchronization when parsing geometry
   from mesh instances
 - crash when freeing `NavigationMeshInstance` while baking
 - errors when actively baking node tree is being detached from the
   scene tree
2022-05-04 22:41:38 +02:00
lawnjelly
df7fab51a3 Physics Interpolation - Flush transforms after physics tick
Leftover transforms from the physics tick were being flushed during idle, which was causing problems for physics interpolation.

This PR flushes the transforms at the end of the physics tick when physics interpolation is active.
2022-05-04 20:30:46 +01:00