Commit graph

7398 commits

Author SHA1 Message Date
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
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
Rémi Verschelde
815f7fe636
Merge pull request #49952 from Calinou/spatialmaterial-depth-triplanar-print-warning
Print warning in SpatialMaterial when depth and triplanar are active
2022-05-02 23:59:52 +02:00
Rémi Verschelde
4b6e5f5da6
Merge pull request #60530 from timothyqiu/theme-validation-3.x 2022-05-02 10:49:27 +02:00
Rémi Verschelde
6ee64331db
Merge pull request #60527 from KoBeWi/unique_names_demastered 2022-05-02 10:48:27 +02:00
Rémi Verschelde
8835654578 Merge pull request #60656 from akien-mga/tilemap-methods-const-ref-vector2 2022-05-02 09:51:51 +02:00
Rémi Verschelde
e61c4dd787
Merge pull request #60282 from YeldhamDev/backwards_relationships_are_even_harder 2022-05-02 09:49:09 +02:00
smix8
ebcbbec563 Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
2022-04-30 15:54:12 +02:00
Rémi Verschelde
2834332591 TileMap: Use const ref for all Vector2 parameters 2022-04-30 14:05:57 +02:00
Haoyu Qiu
153dc4d57e Backport the new Tween system as SceneTreeTween
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2022-04-29 20:01:12 +08:00
bruvzg
ff381f6e84
Fixed implementation of RTL remove_line()
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-04-29 10:59:31 +03:00
Rémi Verschelde
73e6b7c145
Merge pull request #60592 from Calinou/styleboxflat-add-skew-3.x 2022-04-28 22:29:56 +02:00
Hugo Locurcio
4b399b2285
Add a Skew property to StyleBoxFlat
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-04-28 20:40:01 +02:00
Rémi Verschelde
841d6e7fad
Merge pull request #59439 from fabriceci/3x-fix-move-and-collide-reported-collisions 2022-04-28 18:47:28 +02:00
lawnjelly
49eaa7bd65 Physics interpolation - fix streaking when unhiding nodes
The data flow to the VisualServer of current and previous transforms is essential for allowing correct interpolation. An optimization was present that disabled sending transforms when nodes were hidden, however this meant that when unhidden, nodes would interpolate incorrectly from the last transform received when hiding, rather than the up to date previous transform.

This PR disables the optimization and sends always sends transforms when a node is interpolated.
2022-04-28 12:15:14 +01:00
Silc 'Tokage' Renew
cb5f13649b fixed rotated RootMotionView grid glitch
(cherry picked from commit df89969865)
2022-04-27 12:42:43 +02:00
Rémi Verschelde
510ed791f9
Merge pull request #60554 from timothyqiu/editor-settings-cleanup 2022-04-27 11:51:03 +02:00
Rémi Verschelde
3b2ed9bdd6
Merge pull request #60330 from Calinou/aspectratiocontainer-add-property-hint-3.x 2022-04-27 10:17:04 +02:00
Haoyu Qiu
d088128b43 Remove duplicate editor settings definitions 2022-04-27 15:26:46 +08:00
Rémi Verschelde
ad76e071fa
Merge pull request #60389 from timothyqiu/raycast2d-shape
[3.x] Improve RayCast2D debug shape
2022-04-27 08:07:42 +02:00