Commit Graph

51 Commits

Author SHA1 Message Date
7d5034c50a Merge pull request #108507 from dementive/optimize-scene-tree-groups
Optimize scene tree groups
2025-11-14 14:22:57 -06:00
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
b17aa3343a Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
19c47c5d99 Remove #include "scene/main/timer.h" from control.h 2025-10-05 14:41:06 +09:00
3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
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
e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
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
a3f393a3e1 Fix path post-processing edgecentered
Fixes path post-processing edgecentered.
2025-08-01 15:06:30 +02:00
3dc876c695 Fix flipped clipper2 ifdef
Fix flipped clipper2 ifdef
2025-07-23 19:54:23 +02:00
56fa8caef4 Optimize scene tree groups 2025-07-11 10:57:04 -05:00
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
f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
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
e37efa8722 Fix: make nav_map_2d uses rasterizer cell scale options in 2d navigation settings 2025-06-21 16:51:17 +02:00
cbd446ac29 Add navigation path query parameter limits
Adds navigation path query parameter limits.
2025-06-13 14:42:26 +02:00
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
151db00f2c Merge pull request #107256 from smix8/avoidance2dcallback
Change `NavigationServer2D` avoidance callbacks from `Vector3` to `Vector2`
2025-06-09 00:45:39 +02:00
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
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
6eedddbd3c Rename nav_2d namespace to Nav2D to match Nav3D 2025-05-12 16:59:53 -07:00
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
fd1168620f Merge pull request #105718 from aaronfranke/nav-const-caps
Capitalize global navigation constants
2025-05-06 08:38:07 -05:00
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
783728fcb4 Capitalize global navigation constants 2025-05-05 12:08:15 -07:00
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
d74ef8cb01 Rename LocalVector.invert() -> LocalVector.reverse() to match the Vector, String and List APIs. 2025-04-24 22:36:32 +02:00
1a70a06a43 Change RID_Owner::get_owned_list. 2025-04-21 01:04:27 +08:00
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
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
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
e1509d533e Merge pull request #105071 from smix8/map_changed
Make navigation maps emit map_changed directly
2025-04-14 19:39:52 -05:00
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
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
1c03b15b4f Replace NavigationServer2D Point struct with Vector2
Replaces NavigationServer2D Point struct with Vector2.
2025-04-10 20:18:54 +02:00
4d76c197a7 Make navigation maps emit map_changed directly
Makes navigation maps emit map_changed directly.
2025-04-05 22:50:48 +02:00
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
565ea927d2 Emit changed signal after baking navigation mesh
Emits changed signal after baking navigation mesh.
2025-04-02 16:54:48 +02:00
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
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
9f222d500d Merge pull request #104375 from YYF233333/is_empty
Replace `size() == 0` with `is_empty()`
2025-04-02 07:37:31 -05:00
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
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
06c8a7d396 Navigation: Replace the deprecated Geometry2D::get_closest_point_to_segment 2025-04-02 13:45:06 +08:00
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
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
556933306a Allow to compile templates without navigation features 2025-04-01 11:53:35 -03:00
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