smix8
419fc6e22d
Make NavigationServer backend engine selectable
...
Adds engine backend selection for NavigationServers, aka allows to swap navigation module for other backend implementations.
2025-10-30 08:59:06 +01:00
Thaddeus Crews
b17aa3343a
Revert "SCons: Add CPPEXTPATH for external includes"
2025-10-06 13:09:22 -05:00
chocola-mint
19c47c5d99
Remove #include "scene/main/timer.h" from control.h
2025-10-05 14:41:06 +09:00
Aaron Franke
3d1c9fd5de
Move server files into their subfolders
2025-09-30 19:39:39 -07:00
Aaron Franke
9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API
2025-09-30 16:52:25 -07:00
smix8
19df15f1dc
Make navmesh rasterization errors more lenient
...
Make navmesh rasterization on the navigation regions and map more lenient by starting out with a lower internal cell scale by default and changing the merge error to just warning that can be toggled.
2025-09-25 20:18:18 +02:00
Edward Moulsdale
e366471fdc
Add GDSOFTCLASS to deeper inheritors of Object
2025-09-24 19:15:56 +01:00
A Thousand Ships
f8d72ba783
[Navigation 2D] Fix sign of cross product
...
Regression from splitting the servers. Also replaces the method for
getting the triangle area.
2025-09-23 14:55:17 +02:00
smix8
a3f393a3e1
Fix path post-processing edgecentered
...
Fixes path post-processing edgecentered.
2025-08-01 15:06:30 +02:00
smix8
3dc876c695
Fix flipped clipper2 ifdef
...
Fix flipped clipper2 ifdef
2025-07-23 19:54:23 +02:00
Thaddeus Crews
aa035bc1e8
Merge pull request #108284 from dmlary/nav2d_obstacle-avoidance-enabled-fix
...
NavMap2D: check if obstacles have avoidance enabled
2025-07-07 10:08:03 -05:00
A Thousand Ships
f11aff3841
Editor: Restructure editor code
...
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
David M. Lary
780f3d5e3b
NavMap2D: check if obstacles have avoidance enabled
...
In NavMap2D::_update_rvo_obstacles_tree() check if the NavObstacle2D
has avoidance enabled before adding it to the tree.
This is the 2D fix for #108259
2025-07-04 10:30:49 -05:00
notgoyome
e37efa8722
Fix: make nav_map_2d uses rasterizer cell scale options in 2d navigation settings
2025-06-21 16:51:17 +02:00
smix8
cbd446ac29
Add navigation path query parameter limits
...
Adds navigation path query parameter limits.
2025-06-13 14:42:26 +02:00
smix8
2458370de4
Change 2D navigation region and link updates to an async process
...
Changes 2D navigation region and link updates to an async process.
2025-06-11 00:51:02 +02:00
Rémi Verschelde
151db00f2c
Merge pull request #107256 from smix8/avoidance2dcallback
...
Change `NavigationServer2D` avoidance callbacks from `Vector3` to `Vector2`
2025-06-09 00:45:39 +02:00
smix8
0ce53ffc69
Change 2D avoidance callbacks from Vector3 to Vector2
...
Changes 2D avoidance callbacks from Vector3 to Vector2.
2025-06-07 14:21:28 +02:00
smix8
03e5d64dd9
Match avoidance defaults for NavigationAgent and NavigationServer NavAgent
...
Matches avoidance defaults for NavigationAgent and NavigationServer NavAgent. The node had different properties than the server agent and the 2d version still used outdate defaults form the 3d version.
2025-06-07 13:49:12 +02:00
Aaron Franke
6eedddbd3c
Rename nav_2d namespace to Nav2D to match Nav3D
2025-05-12 16:59:53 -07:00
smix8
cc1b51e8a2
Move 2d navigation related editor plugins to navigation_2d module
...
Moves 2d navigation related editor plugins to navigation_2d module.
2025-05-08 23:59:13 +02:00
Thaddeus Crews
fd1168620f
Merge pull request #105718 from aaronfranke/nav-const-caps
...
Capitalize global navigation constants
2025-05-06 08:38:07 -05:00
Thaddeus Crews
c4de8ef825
Merge pull request #105765 from smix8/navlink_iteration_id
...
Add function to get navigation link iteration id from NavigationServer
2025-05-06 08:38:00 -05:00
Aaron Franke
783728fcb4
Capitalize global navigation constants
2025-05-05 12:08:15 -07:00
smix8
b002ade3ed
Add function to get navigation link iteration id from NavigationServer
...
Adds function to get navigation link iteration id from NavigationServer.
2025-04-25 20:59:10 +02:00
Lukas Tenbrink
d74ef8cb01
Rename LocalVector.invert() -> LocalVector.reverse() to match the Vector, String and List APIs.
2025-04-24 22:36:32 +02:00
Yyf2333
1a70a06a43
Change RID_Owner::get_owned_list.
2025-04-21 01:04:27 +08:00
Thaddeus Crews
0110048d46
Merge pull request #104826 from smix8/navregion_iteration_id
...
Add function to get navigation region iteration id from NavigationServer
2025-04-16 10:45:13 -05:00
Thaddeus Crews
2bf96fe18c
Merge pull request #105257 from smix8/navbuilder_linkpolys
...
Remove no longer needed link polygons from NavMapBuilder
2025-04-15 12:28:38 -05:00
smix8
2b8531d944
Add function to get navigation region iteration id from NavigationServer
...
Adds function to get navigation region iteration id from NavigationServer.
2025-04-15 19:17:45 +02:00
Thaddeus Crews
e1509d533e
Merge pull request #105071 from smix8/map_changed
...
Make navigation maps emit map_changed directly
2025-04-14 19:39:52 -05:00
Thaddeus Crews
756053f05f
Merge pull request #105067 from smix8/navmesh_sync
...
Move NavigationServer navmesh sync from main() to process()
2025-04-14 19:39:51 -05:00
smix8
c901f39cda
Remove no longer needed link polygons from NavMapBuilder
...
Removes no longer needed link polygons from NavMapBuilder.
2025-04-14 17:32:55 +02:00
smix8
1c03b15b4f
Replace NavigationServer2D Point struct with Vector2
...
Replaces NavigationServer2D Point struct with Vector2.
2025-04-10 20:18:54 +02:00
smix8
4d76c197a7
Make navigation maps emit map_changed directly
...
Makes navigation maps emit map_changed directly.
2025-04-05 22:50:48 +02:00
smix8
a4c56d478a
Move NavigationServer navmesh sync from main() to process()
...
Moves NavigationServer navmesh sync from main() to process().
2025-04-05 21:29:24 +02:00
smix8
565ea927d2
Emit changed signal after baking navigation mesh
...
Emits changed signal after baking navigation mesh.
2025-04-02 16:54:48 +02:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
c9c8556a47
Merge pull request #104862 from smix8/navserver_process
...
Prepare NavigationServer for `process()` and `physics_process()` split
2025-04-02 07:37:32 -05:00
Thaddeus Crews
9f222d500d
Merge pull request #104375 from YYF233333/is_empty
...
Replace `size() == 0` with `is_empty()`
2025-04-02 07:37:31 -05:00
Thaddeus Crews
f25fc34439
SCons: Add CPPEXTPATH for external includes
2025-04-02 07:29:08 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
smix8
16fd7b6ae1
Prepare NavigationServer for process() and physics_process() split
...
Prepares the NavigationServer API for a split of its functionality between frame process() and stepped physics_process().
2025-04-02 11:01:08 +02:00
LuoZhihao
06c8a7d396
Navigation: Replace the deprecated Geometry2D::get_closest_point_to_segment
2025-04-02 13:45:06 +08:00
Thaddeus Crews
f72511d908
Merge pull request #104811 from YeldhamDev/build_no_navigation
...
Allow to compile templates without navigation features
2025-04-01 19:53:29 -05:00
smix8
79ae9bf775
Change navigation module LocalVector size_t uses to uint32_t
...
Changes navigation module LocalVector size_t uses to uint32_t.
2025-04-01 23:44:43 +02:00
Michael Alexsander
556933306a
Allow to compile templates without navigation features
2025-04-01 11:53:35 -03:00
Lukas Tenbrink
ccdc5862e9
Add LocalVector.erase_unordered, mimicking erase but with remove_at_unordered, to remove duplicate logic.
...
`erase_unordered` should be preferred over `erase` where order is not important, for its performance benefits.
Co-authored-by: smix8 <smix8@users.noreply.github.com >
2025-03-31 13:31:53 +02:00
A Thousand Ships
5cc0539961
[Navigation] Create a dedicated 2D navigation server
...
* Add a dedicated 2D server
* Create dedicated tests
* Split performance metrics between 2D and 3D
* Rename the 3D only server module
2025-03-29 12:10:50 +01:00