Commit Graph

108 Commits

Author SHA1 Message Date
12b95cdc1f Ported from godot4: Add navigation layer bitmask helper functions
Adds helper functions to work with the navigation layer bitmask.
- smix8
55923ade68
2023-06-09 15:44:12 +02:00
e98e415168 Fix signal handler error. 2023-06-09 14:18:08 +02:00
268645ff0b Ported from godot4: Add NavigationAgent Path Debug Visualization
Adds path debug visuals for NavigationAgent2D, NavigationAgent3D and NavigationServer.
- smix8
0ab764e84b
2023-06-09 14:17:54 +02:00
23daaf95a6 Ported from godot4: Fix 2D navigation debug visuals ignoring half the ProjectSettings
Fixes that NavigationRegion2D and TileMap debug visuals ignored more or less half the ProjectSetting. E.g. random color could not be disabled, edges did not display.
2b19c70664
2023-06-09 11:29:33 +02:00
c11500d480 Ported from godot4: Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
- smix8
bf1571979c
2023-06-09 10:28:31 +02:00
0438c3cc3f Backported from godot4: Added node for Navigation links .
- DarkKilauea
3dd59013f4
2023-06-08 20:46:09 +02:00
5ace0cd58f Fix signal double connection. 2023-06-06 23:17:46 +02:00
316a53bfbf Fix non tools build. 2023-06-06 13:51:33 +02:00
27ee583bb8 Ported missing changes to NavigationPolygonInstance from the navigation mesh generator rework pr. 2023-06-06 13:17:59 +02:00
3c9d9bdad4 Ported from godot4: Fix NavigationRegion3D gizmo's odd visual behavior .
- DarkKilauea
92c40bcf32
2023-06-05 19:02:24 +02:00
654cfb81b7 Renamed NavigationRegion2D back to NavigationPolygonInstance, as I think it fits the engine better. 2023-06-05 18:09:53 +02:00
68b9f4c90e Ported from godot4: Add more detailed Navigation Debug Visualization
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
- smix8
c394ea518e
2023-06-05 18:05:15 +02:00
8cbb1bb879 Started porting pull request from godot 4: Rework NavigationMeshGenerator
Reworks NavigationMeshGenerator and navigation mesh parse and bake process. Adds navigation mesh baking for 2D.
- smix8
https://github.com/godotengine/godot/pull/70724
38699a8259
2023-06-03 18:22:12 +02:00
2114b2239b Split NavigationPolygon and NavigationPolygonInstance into 2 files. Also renamedNavigationPolygonInstance to NavigationRegion2D. 2023-06-03 16:54:48 +02:00
f4a4956b7a Ported: Fix Polygon2D skinned bounds (for culling)
The bound Rect2 was previously incorrect because bone transforms need to be applied to verts in bone space, rather than local space. This was previously resulting in skinned Polygon2Ds being incorrectly culled.
- lawnjelly
dd6c213dac
2023-05-01 13:34:35 +02:00
BimDav
ad6e504a5b Add option in VisibilityEnabler2D to hide the parent for better performance 2023-05-01 12:22:39 +02:00
Richard Adenling
689a7340f3 Fix for 2D viewport not updating in the editor when the camera moves
This fixes a problem with 2D viewports not taking the camera position
into consideration when previewed in the editor.

Fixes #40441
2023-04-15 10:44:38 +02:00
32e9927ac8 Ported from godot 4: Remove NOTIFICATION_MOVED_IN_PARENT
* This notification makes node children management very inefficient.
* Replaced by a NOTIFICATION_CHILDREN_CHANGED (and children_changed signal).
* Changed Canvas code (and similar) to use the above signal, to perform more efficiently.
This PR breaks compatibility (although this notification was very rarely used, even within the engine), but provides an alternate way to do the same.
It is required for the changes in #75627 to be entirely effective.
- reduz
Note that I removed NOTIFICATION_MOVED_IN_PARENT, as keeping it, but making it just not work is worse in my opinion.
104392ef4e
2023-04-10 15:55:34 +02:00
7d2667830d Ported from godot 4: Fix Viewport root order after Node2D raise
- Sauermann
022d24a9ae
2023-04-10 11:42:15 +02:00
smix8
90f81c0013 Add error messages for collision exception functions
Adds error messages to collision exception functions when used with the wrong object/node instead of failing silently.
2023-03-12 14:24:56 +01:00
stmSi
9b65e9df6a Fix Editor hanging if audiostream's pitch_scale is NaN 2023-03-12 14:14:29 +01:00
Brian Semrau
2b7327e014 Fix Line2D UVs when using BOX end cap mode 2023-03-12 12:45:31 +01:00
15bf4aefd0 Ported: Rework how current Camera2D is determined
7e2a8afb57
- KoBeWi
and
Fix Camera2D crashes
724d6581d6
- KoBeWi
From godot4.
Also fixed issues with active Camera2D switching.
2023-03-04 21:29:49 +01:00
Hugo Locurcio
04338a5018 Tweak particles animation offset property hint to allow more precise values 2023-01-16 13:47:55 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
ce5e82d910 Ported: Include the follow-viewport-transform into CanvasLayer transform calculations
The follow-viewport-transform was missing from several calculations
3.x version of #59682
- Sauermann
608cbd8296
2022-12-22 19:06:10 +01:00
8aa456b4c4 Ported: Add Vector2/3 linking to more properties
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- SpatialMaterial.uv1_scale
- SpatialMaterial.uv2_scale
- fire-forge and timothyqiu
0d602ce881
2022-12-22 18:52:47 +01:00
b8009c85f4 Ported: Add vector value linking - KoBeWi and timothyqiu
9499ebecee
2022-12-22 18:50:17 +01:00
Haoyu Qiu
1d2a560819 Make NavigationAgent target_location a property 2022-12-22 14:42:05 +01:00
smix8
9225e78f68 Fix Navigation agent callback wild pointer crash
Fixes crash in sanitizer builds when callback agent or object are already freed.

(cherry picked from commit 194c1c44e0a20faa4463e3a41bb12cf93a71fc03)
2022-12-22 14:12:00 +01:00
Wilson E. Alvarez
f7d04cc052 Avoid compiling Editor checks in release builds for VisibilityNotifier2D 2022-12-22 14:00:42 +01:00
smix8
4a9c859c6d Add detail to NavigationPolygon outline error msg
Adds additional information to the error msg when the convex partition fails due to invalid outline arrays.

(cherry picked from commit f30ebacbe851bd207e1c55e82d04caf150a59690)
2022-12-12 12:13:36 +01:00
Hugo Locurcio
7d1abdb3db Fix BackBufferCopy rect property appearing when not relevant in inspector
The `rect` property is only effective if `copy_mode` is Rect.
2022-12-11 19:18:17 +01:00
kobewi
43cb6e940a Remove error condition from get_global_transform()
(cherry picked from commit 2ff676a696a9cc1d77c0a8f4d5f31de8c7b5bc1a)
2022-12-11 19:02:12 +01:00
Hugo Locurcio
cbcd6bad4a Improve collision exception error messages for easier understanding 2022-11-30 14:37:35 +01:00
kleonc
d7ddaf619a Add ShapeCast2D/3D::get_collider_rid method 2022-11-13 00:50:18 +01:00
Sam Briels
799a6e334f fix: emit target_reached signal after updating state 2022-11-13 00:41:37 +01:00
Haoyu Qiu
dbd2b16a35 Fix NavigationObstacle not registering to default navigation map 2022-10-08 17:04:14 +02:00
kobewi
903c9932e5 Don't store frame of playing AnimatedSprite 2022-10-08 16:33:38 +02:00
67b7c1689f Fix compile. 2022-10-08 16:15:55 +02:00
lawnjelly
cd68b6e1e2 CPUParticles initialize data on set_amount
Fills particle data with zeroes on resize using set_amount(), to prevent garbage data including Nans being sent to VisualServer, which can corrupt the spatial partitioning.
2022-10-08 16:13:50 +02:00
lawnjelly
dae57cd077 Low priority redraw request for AnimatedSprite
Prevents animated sprite from creating continuous redraws in vital_redraws_only mode.
2022-09-17 00:05:36 +02:00
b6dc768e74 Fix build. 2022-09-16 19:47:02 +02:00
Marcin Nowak
a697c239b8 Backport panning strength parameters from 4.0 2022-09-16 19:44:55 +02:00
Yuri Sizov
494dc2f957 Backport fixes to documentation for paths, curves and navigation servers 2022-09-16 13:07:20 +02:00
9b3714a274 Now CanvasItems work with World overrides aswell. 2022-08-30 01:40:03 +02:00
24a1580dbf Renamed the files aswell. 2022-08-29 17:33:10 +02:00
b9f3d3b26a Moved Skeleton2D and it's related classes into a module. 2022-08-28 13:57:25 +02:00