Commit Graph

7369 Commits

Author SHA1 Message Date
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
Haoyu Qiu 76343f4055 Validate theme type/item names 2022-04-26 20:09:18 +08:00
kobewi e1c74ae83f Implement Scene Unique Nodes 2022-04-26 13:55:48 +02:00
Rémi Verschelde 4fc1a57295
Merge pull request #60347 from lawnjelly/interpolation_cpuparticles_process
Fix CPUParticles emission updating using physics interpolation
2022-04-25 16:29:55 +02:00
Haoyu Qiu f33dec8084 Improve RayCast2D debug shape
Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2022-04-20 17:28:35 +08:00
lawnjelly fbbb208a35 Fix CPUParticles emission updating using physics interpolation
When switching emission on and off, processing was always being switched on and off using internal_process, which was incorrect for using physics interpolation (where physics_process is the relevant one).

This PR correctly updates the process mode according to whether physics interpolation is being used.
2022-04-18 15:30:37 +01:00
Haoyu Qiu d43b4039db Fix Label autowrap for CJK text 2022-04-18 21:54:46 +08:00
Hugo Locurcio 90044d6ac9
Add a property hint for AspectRatioContainer's `ratio` property
Zero or negative ratios are not valid, so the property hint prevents
choosing such values.

The property hint allows using 4 decimals so that common aspect ratios
like 16/9 can be specified with a good level of precision.
2022-04-17 22:04:39 +02:00
Michael Alexsander b6c501f9b0 Draw relationship lines for items offscreen 2022-04-15 16:31:15 -03:00
Michael Alexsander 21bdadbf79 Fix `GridContainer` not ignoring toplevel children
(cherry picked from commit 506d8ba526)
2022-04-14 21:36:07 +02:00
Rémi Verschelde 8182a754d2
Merge pull request #59827 from ConteZero/fix_right_menu 2022-04-14 21:29:57 +02:00
Rémi Verschelde 4e4f6311b6
Merge pull request #60233 from ZheisterCoding/leading-space-fix-3.x
Fixed leading spaces pushing text outside Label autowrap boundary problem
2022-04-14 12:15:33 +02:00
DESKTOP-893BK8A\howar c0513268bd Fixed #59985 leading spaces autowrap boundary problem
Bug problem:
No condition for when the first character of the label is a space character

Fix:
Added an IF condition for when the first character is a space character
The autowrap boundary treat this space character as another dummy word in the WordCache linked list and proceed to function normally, by detecting when line width is 0
2022-04-14 16:05:35 +07:00
Haoyu Qiu 19a0145742 Fix undo history for function name autocompletion 2022-04-14 14:37:31 +08:00
Rémi Verschelde e1eb3c2fb1
Merge pull request #60147 from lawnjelly/interpolation_out_of_scenario 2022-04-13 17:08:08 +02:00
Rémi Verschelde 9a45eb70b4
Merge pull request #60204 from akien-mga/3.x-cherrypicks 2022-04-13 14:23:56 +02:00
Rémi Verschelde 57b53f5b53
Merge pull request #60035 from Calinou/camera-allow-lower-size-3.x 2022-04-13 12:48:17 +02:00
Eric McGuirk f82cd740cf Fix toggling GraphEdit's minimap with `minimap_enabled`
Fixes #53831.

(cherry picked from commit b1441bbcfc)
2022-04-13 11:43:49 +02:00
kobewi bf6e7dc6f6 Fix GraphEdit's valid connections being reversed
(cherry picked from commit b29aff8dac)
2022-04-13 11:43:49 +02:00
Haoyu Qiu 1d476d7737 Consider chained operation when selecting text in TextEdit::undo()
(cherry picked from commit 8cefbfcf43)
2022-04-13 11:43:49 +02:00
kobewi 73248ccf89 Fix TouchScreenButton error spam
(cherry picked from commit db19cc60fb)
2022-04-13 11:43:49 +02:00
Rémi Verschelde 229a8218da
Merge pull request #60021 from timothyqiu/tilemap-nav-region
[3.x] Free region RID when cleaning NavPoly in `TileMap`
2022-04-13 08:56:40 +02:00
Rémi Verschelde 7efe238069
Merge pull request #60176 from madmiraal/backport-53000-3.x
[3.x] Add selection getter methods to `LineEdit`
2022-04-12 23:10:09 +02:00
Hugo Locurcio cd1432eb12
Hide Viewport properties not applicable to the current rendering backend
This also adds a missing property range hint for the Sharpen Intensity
property (similar to the project setting).
2022-04-12 18:11:45 +02:00
Yuri Roubinsky e54a4646c7 Add selection getter methods to `LineEdit`
Co-authored-by: Yuri Roubinsky <chaosus89@gmail.com>
2022-04-12 14:31:51 +02:00
lawnjelly d2b1d29634 Physics interpolation - Move out of Scenario
Move VisualServer interpolation data out of Scenario and into VisualServerScene, so the interpolation data and enabled status is now common to all Scenarios.

Fix physics interpolation in multithreaded mode by ensuring tick and pre-draw are called.
2022-04-11 15:04:24 +01:00
Hugo Locurcio b9dd0180eb
Hide Tonemap White property when tonemapper is Linear in Environment
The whitepoint property isn't used when the tonemapper is Linear.
2022-04-10 23:50:14 +02:00