summaryrefslogtreecommitdiff
path: root/servers/navigation_server_2d.cpp
AgeCommit message (Collapse)Author
2023-01-07Rework const on NavigationServer methodsJosh Jones
`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-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-17Add support for emitting a signal when entering a NavLinkJosh Jones
2022-12-17Fix Navigation API abbreviations inconsistencysmix8
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
2022-12-12Merge pull request #69629 from smix8/agent_wild_callback_pointer_4.xRémi Verschelde
Fix Navigation agent callback wild pointer crash
2022-12-12Fix Navigation agent callback wild pointer crashsmix8
Fixes crash in sanitizer builds when callback agent or object are already freed.
2022-12-10Enable assigning an owner to navigation regions and linksJosh Jones
This allows users of the server APIs to get back the nodes that created certain regions and links.
2022-09-20Add NavigationPathQuerysmix8
Adds NavigationPathQueryParameters objects that can be used with NavigationServer.query_path() to query a customized navigation path.
2022-08-26Added node for Navigation linksJosh Jones
2022-08-25Merge pull request #64354 from Mickeon/rename-navigation-distanceRémi Verschelde
2022-08-23Replace Array return types with TypedArray 2kobewi
2022-08-17Fix a typo in navigation server documentationYuri Sizov
2022-08-13Rename Navigation's `neighbor_dist` to `neightbor_distance`Micky
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-09Add NavigationServer2D debug functionssmix8
Adds debug functions to NavigationServer2D to mirror NavigationServer3D functions for 2D users.
2022-06-24Merge pull request #62300 from smix8/navigation_map_force_update_4.xRémi Verschelde
2022-06-23Add NavigationServer.region_owns_point() helper functionsmix8
Adds a helper function to check if a world space position is currently owned by a navigation region.
2022-06-23Add NavigationServer map_force_update() functionsmix8
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-22Add Navigation function to get all navigation mapssmix8
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-15Streamline Navigation layer function names.smix8
Streamline Navigation layer function names.
2022-06-06Add NavigationRegion costs for pathfindingsmix8
Add NavigationRegion costs for pathfinding.
2022-05-12Add NavigationServer2D/3D API functions to find missing RID infosmix8
Utility functions for NavigationServer2D/3D to find missing RID information when working with Server API directly. e.g. from map to regions and agents, from agent or region to map, from region to map and agents and so on .... Requirement to work with NavigationServer API exklusive without SceneTree nodes and when juggling agents and regions between multiple navigation maps.
2022-04-28Fix cppcheck const parametersMarkus Sauermann
Convert method signature parameters to const where it is possible # Conflicts: # drivers/gles3/rasterizer_canvas_gles3.cpp # drivers/gles3/rasterizer_canvas_gles3.h # editor/plugins/animation_state_machine_editor.cpp # editor/plugins/animation_state_machine_editor.h
2022-04-08Rename NavigationServer's free method to free_ridHaoyu Qiu
2022-01-12Merge pull request #56492 from akien-mga/remove-author-docstringsRémi Verschelde
2022-01-05NavigationServer: Restore constness for thread safe `get_singleton`Rémi Verschelde
This was removed by mistake in #47024, NavigationServer uses internal mutability for thread safety, and removing `const` breaks the contract.
2022-01-04Style: Remove inconsistently used `@author` docstringsRémi Verschelde
Each file in Godot has had multiple contributors who co-authored it over the years, and the information of who was the original person to create that file is not very relevant, especially when used so inconsistently. `git blame` is a much better way to know who initially authored or later modified a given chunk of code, and most IDEs now have good integration to show this information.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-06-03Rename files and the exposed name for Transform3DAaron Franke
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-03-18Make 2D navigation consider scaleGilles Roudière
2021-03-15Allow Navigation to be more flexibleGilles Roudière
2021-03-10Implement Navigation layersGilles Roudière
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-28More server renames for consistency after #37361Rémi Verschelde
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.