Commit Graph

128 Commits

Author SHA1 Message Date
bruvzg
5b66d10760 Fix incorrect encoding used in _error_handler functions
Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2022-07-27 23:05:03 +02:00
60b854d657 Ported: 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.
- smix8
88acb5b798
2022-07-27 20:07:55 +02:00
53f8707713 Ported: Add node list param to GraphEdit::delete_nodes_request signal - Chaosus
32b9818965
2022-07-27 20:01:38 +02:00
smix8
ced2f890b6 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 4185fce0eff4c0fc40f077120d0ed26220e6c995)
2022-07-27 19:55:18 +02:00
Sergey Pershenkov
c819fe68dd Return -1 from get_selected_id() when not selected
Partial cherry pick from 3b146c5eaa06d9f6827c651802b9fb2a9a1e013d
2022-07-27 19:49:47 +02:00
Rémi Verschelde
e81d1f010a Revert invalid PopupMenu breaking change from #61102
Fixes #61179.
2022-07-27 19:49:17 +02:00
smix8
1d428ac1c9 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-07-27 19:45:42 +02:00
52183f16da Ported: 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.
- okla
431c032d8c
2022-07-27 19:26:59 +02:00
Haoyu Qiu
5ceff7f039 Fix AnimatedSprite doesn't emit animation_finished when changing playback direction
(cherry picked from commit d5f5e96e118d6904aaa071fcb8e8f08fa2d4eae5)
2022-07-27 19:14:49 +02:00
Markus Sauermann
ee4f41951e Distribute remaining pixel to expanding childs of GridContainer
(cherry picked from commit 6b3207644b8d2338a9a55f8cfeb0ec65f1cea207)
2022-07-27 19:12:28 +02:00
FireForge
04b2405843 Fix Theme type group naming in the inspector
(cherry picked from commit 197be78bc558aa90413bd0420c24736a989e5f0e)
2022-07-27 19:10:49 +02:00
smix8
63a51b546e 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 e33fa9d8331f38c8c404b9d6ea286eacb503d3bb)
2022-07-27 19:05:26 +02:00
ad080c7017 Ported: Disable threaded NavigationMesh bake on unsupported OS. Automatically disables threaded NavigationMesh bake when OS does not support threads. - smix8
c3b39ca1e9
2022-07-27 18:51:18 +02:00
smix8
4a5982b9e1 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 001d89223f1377717d2b3d5ec453ff8dd3604182)
2022-07-27 18:49:00 +02:00
smix8
96b8c4d323 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 cc707412e909f117ad53ebe53e19bad43acf086a)
2022-07-27 18:48:43 +02:00
Hendrik Brucker
3585f416d4 Fix button icon expansion calculation with empty text
(cherry picked from commit c09a5e277410761733a59a2b207d7320131b2511)
2022-07-27 18:42:10 +02:00
24eccc4281 Ported: Fix warnings found by Emscripten 3.1.10
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
- akien-mga
5e693b6d84
2022-07-27 18:39:35 +02:00
b4ed478b6c Ported: Mention that Area2D doesn't support one_way_collision - KoBeWi
bdbbc78da4
2022-07-27 18:32:54 +02:00
kobewi
b6fc4de92f Rescue orphan nodes in inherited scenes
(cherry picked from commit 2b53826ee6872d48acafb9ece1b9027467d2611d)
2022-07-27 18:29:21 +02:00
cb6e070227 ported: Make auto_accept_quit and quit_on_go_back properties. - timothyqiu
58650af062
2022-07-27 18:26:15 +02:00
FireForge
71d20ea670 Add interpolation modes to Gradient - Linear, Constant, and Cubic interpolation modes - Partial backport of #53321 2022-07-27 18:12:14 +02:00
Hugo Locurcio
8c930d98b8 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-07-27 18:01:11 +02:00
75606b352f Ported: 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. - lawnjelly
328866ee6a
2022-07-27 17:51:39 +02:00
8e6b320144 Added back method removed by accident. 2022-07-27 15:52:05 +02:00
Haoyu Qiu
390735e803 Fix tree button icon not centered vertically 2022-07-27 15:21:35 +02:00
Michael Alexsander
9af14c8d90 Add font_separator to PopupMenu 2022-07-27 15:21:19 +02:00
Haoyu Qiu
d9d2b3a7e3 Fix mismatched font outline size hint 2022-07-27 15:18:57 +02:00
Michael Alexsander
1e2c8637c2 Fix separator height influencing labeled variation in PopupMenu 2022-07-27 15:17:29 +02:00
eaa0c1016a Ported: 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. - lawnjelly
0ab077fcef
2022-07-27 15:16:37 +02:00
Hugo Locurcio
f7585bea99 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-07-27 15:08:06 +02:00
kobewi
b7907d951c Fix tscn not listed as Resource extension
(cherry picked from commit e3511dd9d7637488368fbf82b53a029fa70fce5e)
2022-07-27 14:30:26 +02:00
ScottVMariotte
d858779450 Replaced loops_current with end_loop
(cherry picked from commit c526ee6683b74a8e0b283b1630dd29c5280aae19)
2022-07-27 14:27:06 +02:00
285c02bf76 Ported: Add autocompletion for AnimatedSprite.play() - timothyqiu
0f7f3d08ba
2022-07-27 14:23:27 +02:00
Pawel Lampe
106c45519b 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-07-27 14:14:50 +02:00
lawnjelly
da628411d2 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-07-27 14:14:36 +02:00
Hugo Locurcio
724566309b Print warning in SpatialMaterial when depth and triplanar are active
Using both depth mapping and triplanar mapping isn't supported.
2022-07-27 14:09:11 +02:00
smix8
1317f7000a Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
Add get_region_rid() to NavigationPolygonInstance and NavigationMeshInstance
2022-07-27 13:54:43 +02:00
b9fb0ae733 Ported: Backport the new Tween system as SceneTreeTween - timothyqiu, KoBeWi
153dc4d57e
2022-07-27 13:37:17 +02:00
bruvzg
814f76bf6b Fixed implementation of RTL remove_line()
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-07-27 13:08:20 +02:00
Hugo Locurcio
de8e9fc231 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-07-27 13:07:30 +02:00
lawnjelly
3a191189ca 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-07-27 13:06:20 +02:00
Silc 'Tokage' Renew
3250bdc1e4 fixed rotated RootMotionView grid glitch
(cherry picked from commit df89969865ffe84d36a666716934089afa16c51f)
2022-07-27 09:04:43 +02:00
Haoyu Qiu
84ee52250c Validate theme type/item names 2022-07-27 00:46:56 +02:00
d1108dc8bc Ported: Implement Scene Unique Nodes - KoBeWi
e1c74ae83f
2022-07-27 00:45:48 +02:00
Haoyu Qiu
5d3645c8cf Improve RayCast2D debug shape
Co-authored-by: fabriceci <fabricecipolla@gmail.com>
2022-07-26 15:05:00 +02:00
lawnjelly
4d6dda4df0 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-07-26 15:03:37 +02:00
Haoyu Qiu
7190c806ec Fix Label autowrap for CJK text 2022-07-26 15:03:08 +02:00
Hugo Locurcio
4951e23481 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-07-26 15:02:39 +02:00
Michael Alexsander
691b99f40c Draw relationship lines for items offscreen 2022-07-26 15:02:12 +02:00
Michael Alexsander
21d66d3a68 Fix GridContainer not ignoring toplevel children
(cherry picked from commit 506d8ba526188bb683eeb4e4389c8bd4a18abab8)
2022-07-26 14:59:18 +02:00