Commit Graph

3114 Commits

Author SHA1 Message Date
f058c87868 Backported from godot4: Rework Navigation Avoidance
Rework Navigation Avoidance.
- smix8
a6ac305f96
2023-06-10 20:58:49 +02:00
8b18898609 Backported from godot4: Rework const on NavigationServer methods
`const` is used on all methods, even when they cause modification of the server.  This reworks the methods of the server to only use `const` on method that don't change the state of the server.
- DarkKilauea
a0715b30f9
2023-06-09 22:03:42 +02:00
6384b9624f Ported from godot4: Make navigation mesh edge connections optional
Makes navigation mesh edge connections optional.
- smix8
f986b52b3c
2023-06-09 20:54:05 +02:00
81c392489a Ported from godot4: Add NavigationLink helper functions for global positions
Adds helper functions to set the links start and end position with global positions or get them as global positions.
Adds global start and end position for the navigation link to the 'link_reached' signal of NavigationAgent. That signal gets emitted when a navigation link waypoint is reached. Requires that 'owner' meta data is enabled on the NavigationAgent.
- smix8
d87f124768
2023-06-09 20:00:28 +02:00
29784d5d5b Ported from godot4: Enable assigning an owner to navigation regions and links
This allows users of the server APIs to get back the nodes that created certain regions and links.
- DarkKilauea
5769b0e8d8
2023-06-09 19:46:44 +02:00
160cb38a50 Ported from godot4: Add support for emitting a signal when entering a NavLink
- DarkKilauea
5d8ba2b2d1
2023-06-09 19:08:38 +02:00
e07fd6da59 Ported from godot4: Prevent unnecessary navigation map synchronizations
Prevents unnecessary navigation map synchronizations triggered by redundant calls to setters of e.g. region, link or map properties.
- smix8
7e1a261cc6
2023-06-09 16:43:14 +02:00
19fac49904 Turn PoolVectors in NavigationPathQueryResults into Vectors. 2023-06-09 16:27:24 +02:00
b2d8199a7b Ported from godot4: Update NavigationAgent to use query_path
This paves the way for having agents respond to link traversal.
- DarkKilauea
a2c53b881b
2023-06-09 16:19:22 +02:00
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
ae018648fe Added missing binds. 2023-06-09 14:19:41 +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
11c84049fa Ported from godot4: Fix NavigationMesh debug visuals for non-triangulated meshes
Fixes NavigationMesh debug visuals for non-triangulated meshes.
- smix8
4490a3303b
2023-06-09 13:03:30 +02:00
0bb4e0a9c2 Fix non tools build. 2023-06-09 11:39:52 +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
b940854ca9 Ported from godot4: Add NavigationServer Performance Monitor
Adds Performance Monitor for NavigationServer3D.
- smix8
9802914f97
2023-06-09 10:17:43 +02:00
2b4d3e69de Fix non tools build. 2023-06-09 09:12:30 +02:00
a5a07d8ff6 Backported from godot4: Add NavigationServer2D debug functions
Adds debug functions to NavigationServer2D to mirror NavigationServer3D functions for 2D users.
- smix8
d254f0fa5f
2023-06-09 09:03:33 +02:00
9c95fade84 Backported from godot4: Fix navigation debug not toggleable in scripts
Fixes that navigation debug was not toggleable in script while even the docs mentioned it.
- smix8
aecad7bb25
2023-06-09 09:01:01 +02:00
d434a1c4e5 Backported from godot4: Fix Editor Navigation debug edge connection visuals
Fixes missing Navigation debug edge connection visuals in Editor due to disabled NavigationServer.
- smix8
8bfea7dcb4
2023-06-09 08:55:21 +02:00
038329e7d0 Backported form godot4: Fix NavigationServer internals still using float instead of real_t
Fixes that some NavigationServer internals still used float instead of real_t in some parts.
- smix8
217a27014b
2023-06-09 08:53:00 +02:00
7acef201ce Fix inconsistent overrides. 2023-06-08 21:00:23 +02:00
ffc0acba42 Fix virtual method overrides. 2023-06-08 20:51:36 +02:00
0438c3cc3f Backported from godot4: Added node for Navigation links .
- DarkKilauea
3dd59013f4
2023-06-08 20:46:09 +02:00
f6e65112d7 Backported from godot4: Add NavigationPathQuery
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
- smix8
63dcb9aa80
2023-06-08 18:23:48 +02:00
b8d9ffec6d Moved TileMap's Geometry Parser to TileMap's module. 2023-06-07 15:44:25 +02:00
c8d05fe667 Remove module dependency. 2023-06-07 15:44:00 +02:00
6f88656bc7 Removed the Clipper2 module, and also the remaining c++17 defines. 2023-06-07 15:33:59 +02:00
443482ee47 Make MeshInstance2DNavigationGeometryParser2D use the Geometry singleton instead of the clipper2 module. 2023-06-07 15:32:30 +02:00
2e1e153bc3 Make MultiMeshInstance2DNavigationGeometryParser2D use the Geometry singleton. And by proxy clipper 1. 2023-06-07 15:25:32 +02:00
d9a03e7eab Remove temp code. 2023-06-07 09:21:42 +02:00
6eb37ff901 Ported clipper2 usage to clipper1 in PandemoniumNavigationMeshGenerator. Also moved them to the Geometry singleton. 2023-06-07 09:20:36 +02:00
91f365b183 Added CapsuleShape2D support for StaticBody2DNavigationGeometryParser2D. 2023-06-07 00:36:53 +02:00
683feba2e1 Fix RectangleShape2D size calculation in StaticBody2DNavigationGeometryParser2D. 2023-06-07 00:27:27 +02:00
99207066c5 Disable offsetting in PandemoniumNavigationMeshGenerator for 2d, as it seems to be bugged. 2023-06-07 00:24:59 +02:00
f8ae128f72 Fix UndoRedo handling in NavigationPolygonEditor. 2023-06-06 23:48:51 +02:00
d344005b8d Don't unref() the NavigationMesh in NavigationPolygon. 2023-06-06 23:44:33 +02:00
9386fa1639 Fix typo. 2023-06-06 23:25:03 +02:00
5ace0cd58f Fix signal double connection. 2023-06-06 23:17:46 +02:00
1af5c4c412 Removed the old NavigationPolygonEditorPlugin. 2023-06-06 23:09:16 +02:00
919a1ddd14 Use the new temporary clipper2 module for the rest of the code that needs clipper2. 2023-06-06 22:59:09 +02:00
a5c03b77c1 Make the NavigationMesh generator and the TileMapNavigationGeometryParser use the new Clipper2 module. (Note that the clipper2 module is only temporary, it only exists to help with backporting the code.) 2023-06-06 19:02:33 +02:00
a65ad4d279 Added note. 2023-06-06 19:00:05 +02:00
13fa54d9cf Also added Polypartition to the new clipper2 module from godot4. (Temporarily) 2023-06-06 18:07:49 +02:00
1d8be4224e Added Clipper2 as a module from the navigation mesh generator rework pr. 2023-06-06 18:03:03 +02:00
7ce5f939a9 Ported the docs from the navigation mesh generator rework pr. 2023-06-06 16:52:04 +02:00
32e0e80ac8 Ported the tweaks for the TIleSetEditor. 2023-06-06 16:19:46 +02:00
2481e1ac65 Fix inconsistent override. 2023-06-06 15:58:40 +02:00