Nicholas Foo
e7ee672120
Add getters to navigation servers
...
Add virtual functions and bind to navigation servers
Implement getters
Add documentation
2023-12-19 19:51:49 +01:00
smix8
64a56245d8
Add NavigationServer random point queries
...
Adds query functions to get random points on navigation mesh to the NavigationServer.
2023-12-08 00:18:05 +01:00
A Thousand Ships
517e9f8aef
[Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 16:44:52 +02:00
smix8
0ee7e3102b
Add 2D navigation mesh baking
...
Adds 2D navigation mesh baking.
2023-09-25 19:48:14 +02:00
smix8
8686e84b44
Add multi-threaded NavMesh baking to NavigationServer
...
Adds multi-threaded NavMesh baking to NavigationServer.
2023-08-07 17:14:37 +02:00
smix8
744fa87da2
Move navigation mesh baking to NavigationServer
...
Moves navigation mesh baking to NavigationServer.
2023-08-03 19:49:07 +02:00
Yuri Sizov
8367152723
Merge pull request #79916 from smix8/navobstacle_mutex_4.x
...
Update NavObstacle creation to new Mutex style
2023-07-26 18:40:45 +02:00
smix8
a8f5bd6d43
Update NavObstacle creation to new Mutex style
...
Updates NavObstacle creation to new Mutex style.
2023-07-26 12:56:27 +02:00
smix8
69fad39cf5
Add NavigationServer API to enable regions and links
...
Adds NavigationServer API to enable regions and links.
2023-07-26 01:20:15 +02:00
smix8
f7ebce2626
Mark NavigationServer3D.region_bake_navigation_mesh() as deprecated
...
Marks NavigationServer3D.region_bake_navigation_mesh() as deprecated.
2023-07-07 02:30:14 +02:00
smix8
4ae5dcca45
Fix NavObjects map assignments
...
Fixes NavObject map assignments.
2023-06-25 12:22:42 +02:00
Rémi Verschelde
d252f43a86
Merge pull request #78449 from Scony/add-agent-n-map-navserver-tests
...
Add `agent` and `map` tests for 'NavigationServer3D'
2023-06-21 10:19:24 +02:00
Pawel Lampe
e1bdde911c
Add `agent` and `map` tests for 'NavigationServer3D'
...
This commits fixes a bug in `free()` function as well.
2023-06-20 17:48:06 +02:00
Rémi Verschelde
e4deaa2727
Merge pull request #76787 from RedworkDE/avoid-localvector-copy
...
Avoid making unnecessary copies of `LocalVector`
2023-06-20 00:01:55 +02:00
smix8
ae9dd47d0c
Add agent pause mode to NavigationServer
...
Adds agent pause mode to NavigationServer.
2023-06-18 12:37:03 +02:00
Rémi Verschelde
25b2f1780a
Style: Harmonize header includes in modules
...
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:
Includes from the platform port or module ("local" includes) should be listed
first in their own block using relative paths, before Godot's "core" includes
which use "absolute" (project folder relative) paths, and finally thirdparty
includes.
Includes in `#ifdef`s come after their relevant section, i.e. the overall
structure is:
- Local includes
* Conditional local includes
- Core includes
* Conditional core includes
- Thirdparty includes
* Conditional thirdparty includes
2023-06-15 14:35:45 +02:00
Rémi Verschelde
0da20d019e
Merge pull request #77412 from smix8/fix_threaded_navmesh_baking_4.x
...
Fix for threaded NavigationMesh baking under new thread guards
2023-06-15 10:49:58 +02:00
smix8
ee14b010ac
Fix for threaded NavigationMesh baking under new thread guards
...
Fixes threaded NavigationMesh baking under new SceneTree thread guards that blocked the process.
2023-06-14 01:53:37 +02:00
smix8
180a5cded1
Fix `cell_height` for navigation meshes
...
Fixes `cell_height` for navigation meshes.
2023-06-13 23:24:32 +02:00
smix8
c1fc331b88
Update navigation obstacle API
...
Updates navigation obstacle API.
2023-06-12 14:26:45 +02:00
smix8
f986b52b3c
Make navigation mesh edge connections optional
...
Makes navigation mesh edge connections optional.
2023-05-11 18:46:34 +02:00
smix8
a6ac305f96
Rework Navigation Avoidance
...
Rework Navigation Avoidance.
2023-05-10 05:01:58 +02:00
RedworkDE
1324c7d06a
Avoid making unnecessary copies of `LocalVector`
2023-05-06 20:39:03 +02:00
smix8
73dc680fc1
Fix NavigationServer free error print
...
Fixes error print for NavigationServer free when a RID can not be found.
2023-03-05 14:11:35 +01:00
smix8
b51cab3411
Improve NavigationServer.free() error msg when RID not found
...
Improves the error msg when NavigationServer.free() does not find the RID e.g. because it was already deleted or did never exist in the first place.
2023-02-13 23:44:05 +01:00
smix8
0d80705f11
Rename NavigationServer internal RvoAgent to NavAgent
...
Renames the NavigationServer internal RvoAgent to NavAgent.
2023-02-01 22:27:48 +01:00
Josh Jones
22f9ef19e1
Use Callable for Navigation Agent callbacks
2023-01-27 23:14:36 -08:00
smix8
bf1571979c
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.
2023-01-26 18:19:03 +01:00
kobewi
615c517034
Use range iterators in LocalVector loops
2023-01-21 18:44:42 +01:00
smix8
9802914f97
Add NavigationServer Performance Monitor
...
Adds Performance Monitor for NavigationServer3D.
2023-01-08 22:58:21 +01:00
Josh Jones
a0715b30f9
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.
2023-01-07 17:29:00 -08:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Josh Jones
5d8ba2b2d1
Add support for emitting a signal when entering a NavLink
2022-12-17 16:33:41 -08:00
smix8
34e7628f5f
Fix Navigation API abbreviations inconsistency
...
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-17 22:06:22 +01:00
Rémi Verschelde
ec8f52df8f
Merge pull request #69629 from smix8/agent_wild_callback_pointer_4.x
...
Fix Navigation agent callback wild pointer crash
2022-12-12 13:51:48 +01:00
smix8
194c1c44e0
Fix Navigation agent callback wild pointer crash
...
Fixes crash in sanitizer builds when callback agent or object are already freed.
2022-12-12 13:03:55 +01:00
Josh Jones
5769b0e8d8
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.
2022-12-10 12:03:06 -08:00
smix8
63dcb9aa80
Add NavigationPathQuery
...
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
2022-09-20 22:20:11 +02:00
Josh Jones
3dd59013f4
Added node for Navigation links
2022-08-26 22:05:15 -07:00
Rémi Verschelde
af88438c71
Merge pull request #64354 from Mickeon/rename-navigation-distance
2022-08-25 18:35:23 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Micky
b62d06fbed
Rename Navigation's `neighbor_dist` to `neightbor_distance`
...
NavigationAgent2D/3D.`neighbor_dist` -> `neighbor_distance` (also affects setters and getters)
NavigationServer2D/3D.`agent_set_neighbor_dist()` -> `agent_set_neighbor_distance()`
Also changes their parameters' names.
Doesn't affect "Agent.neighborDist_" in Agent.h
2022-08-13 12:40:55 +02:00
smix8
8d4922cfb1
Replace Navigation std::vector use with LocalVector
...
Replace Navigation std::vector use with LocalVector.
2022-07-28 20:29:15 +02:00
Rémi Verschelde
faae24637c
Merge pull request #62300 from smix8/navigation_map_force_update_4.x
2022-06-24 10:13:07 +02:00
smix8
e57360d8df
Add NavigationServer.region_owns_point() helper function
...
Adds a helper function to check if a world space position is currently owned by a navigation region.
2022-06-23 23:32:05 +02:00
smix8
fdea269805
Add NavigationServer map_force_update() function
...
Adds map_force_update() function to NavigationServer. This function immediately flushes the Navigationserver command queue and recalculates all navigationmeshes and region connections for a specific map.
2022-06-23 17:32:07 +02:00
smix8
c0fed1d4e8
Add Navigation function to get all navigation maps
...
Added new function that returns all created navigation map RIDs from the NavigationServer. The function returns both 2D and 3D created navigation maps as technically there is no distinction between them.
2022-06-22 15:33:40 +02:00
smix8
245da150e7
Streamline Navigation layer function names.
...
Streamline Navigation layer function names.
2022-06-15 00:18:48 +02:00
smix8
cfdfd304f1
Add NavigationRegion costs for pathfinding
...
Add NavigationRegion costs for pathfinding.
2022-06-06 15:25:06 +02:00
smix8
6b51ab66d8
Make Navigation Agents and Obstacles respect parent process mode
...
Temporarily removes agent from navigation map when parent node cannot process due to SceneTree pause and process_mode property. Normal process_mode does not work as other agents would still avoid the paused agents because they were still active on the navigation map and the rvo world. Also fixes potential crash when region_get_map or agent_get_map is called while no map is set.
2022-05-17 20:08:39 +02:00