Commit Graph

829 Commits

Author SHA1 Message Date
lawnjelly 688dc534e5 Fix get_global_transform_interpolated() with multiple ticks per frame
The previous and current transforms in the interpolation data were not being correctly updated in cases where two or more physics ticks occurred on a frame. This PR introduces a simple mechanism to ensure updates on interpolated spatials.
2022-02-25 11:22:00 +00:00
Rémi Verschelde 4e44a15176
Merge pull request #58386 from KoBeWi/fix3bility 2022-02-21 12:33:28 +01:00
lawnjelly b90f1a3ec0 Disable jitter fix when physics interpolation is enabled. 2022-02-21 10:32:42 +00:00
kobewi 642591b6a9 Fix CanvasItem visibility propagation 2022-02-21 11:11:03 +01:00
Wagner Scholl Lemos 2ed43f940b
Added show and hide methods and updated doc API.
(cherry picked from commit 160ee4ef8e)
2022-02-17 09:52:47 +01:00
lawnjelly 522bce1159 Fixed Timestep Interpolation (3D)
Adds fixed timestep interpolation to the visual server.
Switchable on and off with project setting.

This version does not add new API for set_transform etc, when nodes have the interpolated flag set they will always use interpolation.
2022-02-16 09:41:23 +00:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
reduz e4e3f7d157
Add a signal to notify when children nodes enter or exit tree
-Allows more fine grained notifications (hence better performance) than using the global scene tree signals (node added and removed).
-Required for #55950

(cherry picked from commit fbd9599b04)
2022-02-11 09:50:58 +01:00
Haoyu Qiu f49ffe4bb0 Backport CanvasLayer visibility 2022-02-11 01:00:35 +08:00
Nathan Franke c27b05febb
use exact match when checking focus next / previous 2022-02-09 10:18:58 -06:00
lawnjelly f0af29346b ProjectSettings add dirty flag and project_settings_changed signal
Most frames there will be no change in project settings, and it makes no sense to read settings every frame in case of changes, as a large number of string compares are involved.

This PR adds a signal to ProjectSettings that can be subscribed to in order to keep local settings up to date with ProjectSettings.

In addition a function `ProjectSettings::has_changes()` is provided for objects outside the signal system (e.g. Rasterizers).
2022-02-09 11:20:25 +00:00
Rémi Verschelde 80306cc88a
EditorProperty: Fix range hint parsing with optional step
This could lead to have a step of 0 when parsing e.g. "1,10,is_greater".
2022-02-03 12:33:37 +01:00
kobewi 621cf7d8d5 Update the minimum size of ViewportContainer 2022-02-02 13:21:03 +01:00
Bartłomiej T. Listwon 94ddd4168d Simplify usage of OS::get_window_size() in SceneTree methods 2022-01-28 23:02:48 +01:00
Bartłomiej T. Listwon d3473b2a95
Rework Node::get_node to omit is_absolute() check in best case scenario
(cherry picked from commit e2792cc71c)
2022-01-25 18:13:42 +01:00
Haoyu Qiu 08af6e0407
Replicate load-as-placeholder state on node duplication
(cherry picked from commit 6aecf91e4f)
2022-01-19 16:01:04 +01:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Jake Young 09bc9eb101
Backport NavigationServer with RVO2 to `3.x`
Change the entire navigation system.
Remove editor prefix from nav mesh generator class. It is now used for baking
at runtime as well.
Navigation supports obstacle avoidance now with the RVO2 library.
Nav system will also automatically link all nav meshes together to form one
overall complete nav map.
2022-01-05 16:00:56 +01:00
Pedro J. Estébanez 571e05d3d3
Clear only owners that are no longer in the same tree
(cherry picked from commit 2db9397fb9)
2022-01-05 15:51:18 +01:00
Rémi Verschelde e22f7ea3c0
Merge pull request #55514 from RandomShaper/better_node_delete_3.x 2022-01-05 10:25:33 +01:00
Rémi Verschelde 25369acff9
Merge pull request #51708 from Calinou/viewport-add-32bpc-color-depth 2022-01-04 14:30:24 +01:00
vitika9 e88f387958
Added check for SceneTree being null
(cherry picked from commit 51501dadcc)
2021-12-21 11:27:33 +01:00
Haoyu Qiu 1cada6bfa9 Add proxy support for `HTTPClient` and the editor
* Adds proxy related methods for `HTTPClient` and `HTTPRequest`
* Adds `network/http_proxy/{host,port}` editor settings
* Makes AssetLib and Export Template Manager proxy aware
2021-12-16 19:38:53 +08:00
Rémi Verschelde 35b79284cc
SceneTree: Document font oversampling, remove warnings 2021-12-07 14:15:09 +01:00
Rémi Verschelde 98e0ebfc4b
Merge pull request #55480 from univeous/fix-joystick-focus-3.x 2021-12-07 12:15:42 +01:00
lawnjelly 3d981b8265 Add option to use handles to RID
Adds an option to compile an alternative implementation for RIDs, which allows checks for erroneous usage patterns as well as providing leak tests.
2021-12-06 14:43:34 +00:00
Rémi Verschelde cd4a08ada3
Viewport: Fixup dragging code after a0fb66d
The check was removed by mistake while cherry-picking.
2021-12-03 13:19:59 +01:00
Haoyu Qiu a0fb66d802
Fix mouse cursor and notification for force dragging
(cherry picked from commit 86a47c6540)
2021-12-03 12:51:15 +01:00
Pedro J. Estébanez b4998e7e1b Rationalize Node removals and deletions
- Regarding preservation of owner, `free()` and `remove_child()` now behave the same: owner is kept during `tree_exiting` signal and `null` during `tree_exited`.
- Superfluous code to handle cancelation of ownership is removed.
2021-12-01 14:43:36 +01:00
Univeous cf788ae684 Fix UI navigation with joysticks 2021-12-01 00:19:17 +08:00
kobewi fe28e823c5 Don't show tooltips for paused controls 2021-11-29 16:44:32 +01:00
kobewi 5b55599211 Show tooltips even when paused or time_scale is 0 2021-11-22 12:54:05 +01:00
Marcel Admiraal 4d3690eba5 Remove unimplemented methods 2021-11-18 12:47:36 +00:00
vdyotte 30f359ee3c
fix hardcoded raycast distance with viewport object picking
having the raycast distance hardcoded to `10000` caused input events
to not be registered in very large 3D scenes.

This resolves the issue by using the cameras far distance instead.
Creating the more predictable behavior of if an object is visible,
it will be picked by the viewport.

resolves: #49735
(cherry picked from commit 02b6bbc5df)
2021-11-15 16:31:25 +01:00
Rémi Verschelde 6f4858f184
Modules: Make sure to include `modules_enabled.gen.h` where needed
Fixes #51677.

Co-authored-by: Arkadiusz Marcin Kołek <aksoftware91@gmail.com>
2021-11-12 13:45:33 +01:00
Rémi Verschelde bee67513fb
Merge pull request #54033 from nekomatata/fix-collision-mouse-exit-error-3.x 2021-11-09 00:00:47 +01:00
Pedro J. Estébanez 4dba25b3ff Add property value pinning 2021-11-08 17:42:27 +01:00
Josh Jones 7df8bd6b85 Fix request headers being included in response. 2021-11-06 12:56:25 -07:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
kobewi cef504b955
Fix multiple definitions of Listener2D
(cherry picked from commit 6b68445e4d)
2021-10-26 13:34:33 +02:00
Sean Kim 378ca68dc1
Fix potential nullptr dereference in CanvasLayer
* Changed another instance of ERR_FAIL_COND in the same file to
  ERR_FAIL_NULL_MSG instead.
* Checked for potential access of the viewport pointer elsewhere in same
  file.

Fixes #54098

(cherry picked from commit 497b00a937)
2021-10-23 11:57:52 +02:00
PouleyKetchoupp b4b94ac8a0 Fix errors in mouse detection when removing collision object from tree
Now behaves the same way as ui elements, mouse exit is skipped when the
object is removed from the tree.
2021-10-20 09:01:26 -07:00
Fabio Alessandrelli 6c4bb3fc4a Revert HTTPRequest gzip compression support.
Partial revert of commit c1135cf006.
2021-10-14 12:51:37 +02:00
Hugo Locurcio 7dcefa7c1b
Add a warning for Timer nodes with very low wait times
Very low wait times behave in unpredictable ways depending on the
rendered frame rate. This is because the timeout signal is only emitted
once per rendered frame (or physics frame, depending on the timer's
process mode).
2021-10-09 11:36:03 +02:00
Rémi Verschelde c00848ae03
Merge pull request #53572 from kleonc/scene-tree-free-objects-queued-during-destruction-3x 2021-10-08 18:10:45 +02:00
kleonc ae96da28d8 Delete objects enqueued for deletion during SceneTree destruction 2021-10-08 16:38:38 +02:00
Rémi Verschelde 77f52bdf99
Merge pull request #52137 from Ansraer/3.x-2d-scale-factor 2021-10-05 19:12:19 +02:00
Rémi Verschelde d35fccb651
Merge pull request #52365 from jitspoe/3.x.viewport_error_fix
[3.x] Fix ViewportTexture error when viewport is used from a child scene
2021-10-05 18:51:51 +02:00
Ansraer d44aa61735 implement better ui scaling 2021-10-05 14:30:38 +02:00
kobewi f9720a9bf2 Add Listener2D 2021-10-05 13:29:59 +02:00