summaryrefslogtreecommitdiff
path: root/modules/navigation
AgeCommit message (Collapse)Author
2022-05-11Add Warning to NavigationMesh bake when source geometry is suspiciously bigsmix8
Adds Warning when users try to bake a NavigationMesh with suspiciously big source geometry and small cellsizes as this baking process will likely fail or result in a NavigationMesh that will create serious pathfinding performance issues.
2022-05-04Refactor module initializationreduz
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
2022-05-02Use CollisionObject3D API when baking the navmesh with static colliders, ↵trollodel
instead of collecting CollisionShape3D nodes
2022-04-27Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde
2022-04-26Create NavMap thread pool only when it's used, to prevent creating excessive ↵bruvzg
amount of running threads.
2022-04-26Merge pull request #60359 from adamscott/nav-map-thread-work-poolRémi Verschelde
2022-04-22Fix crash in `GodotNavigationServer::map_get_path`Pawel Lampe
2022-04-20Fix more issues found by cppcheck.bruvzg
2022-04-19Use ThreadWorkPool instead of thread_process_array in NavMapAdam Scott
2022-04-14NavMap::get_path Fix not resetting least_cost_idkleonc
2022-04-08Fix navmesh bakingPawel Lampe
- improved mesh data calculation from standalone static colliders so that no VisualServer calls are performed - and thus no VS mutexes need to be locked in case of on-thread baking - improved the same for GridMap's static colliders
2022-04-06Fix some issues found by cppcheck.bruvzg
2022-04-05Fix get_simple_path behavior in 2D & 3DPawel Lampe
2022-04-04Style: Apply clang-tidy to current code, add `readability-redundant-member-init`Rémi Verschelde
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-03-28Modules: Don't build editor-specific classes in templatesRémi Verschelde
They're moved to an `editor` subfolder so that we can easily handle them separately.
2022-03-09Remove VARIANT_ARG* macrosreduz
* Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
2022-02-19Core: Use forward declares for Vector3/Vector3iRémi Verschelde
Add add Vector3 operator in Vector3i.
2022-02-16Convert _notification methods to switch - Chunk CJakob Bouchard
2022-02-15Editor: Cleanup some includes dependenciesRémi Verschelde
Removes some unnecessary includes from `editor_node.h`, and instead add those where they're used. Removes unnecessary `editor_node.h` includes in various editor classes. Renames `dynamicfont` to `dynamic_font` in a couple files. Misc cleanup while jumping through that rabbit hole.
2022-02-14Remove the EditorNode parameter from EditorPlugins create methodstrollodel
Remove EditorNode usage from the Navigation editor plugin.
2022-02-13NavMap Fix polygons being treated like triangle strips instead of triangle fanskleonc
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-01-31Fix transforms involved into navmesh bakingPawel Lampe
Within the context of parsing navigation geometry, this commit: - added missing transform of `MultiMeshInstance` - changed all transforms to global ones so that they don't need to be calculated by hand
2022-01-16Consider gridmap collisions in navigation bakerafallus
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-12-03NavigationMeshInstance: Fix typo to 'vertices'Rémi Verschelde
2021-12-02Let MultiMeshInstances affect NavigationMeshesCarlo Cabanilla
2021-11-23Rename `remove()` to `remove_at()` when removing by indexLightning_A
2021-11-12Modules: Make sure to include modules_enabled.gen.h where neededRémi Verschelde
2021-10-21Merge pull request #52367 from Duroxxigar/improve-nav-error-messagesRémi Verschelde
Improve readability for failing errors in nav area
2021-10-08Improved readability for failing error conditionsDuroxxigar
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-29Rename RID's `getornull()` to `get_or_null()`Hugo Locurcio
2021-09-29Use functions defined in the their classes.Anilforextra
2021-09-14Rename WorldMarginShape to WorldBoundaryShapePouleyKetchoupp
2021-08-11Make radius & height in CapsuleShape3D independentPouleyKetchoupp
Also changed CapsuleMesh to make settings consistent between render and physics.
2021-08-11Improve NavigationMesh typing, parameter validation and documentationHaoyu Qiu
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Node3D gizmo improvementsjfons
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.
2021-07-21Use is_equal_approx in more placesAaron Franke
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-07-15Misc cleanup of header includesRémi Verschelde
Was looking for misuse of module headers without checking that the module is actually enabled and got carried away...
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-06-30Rename `GdNavigationServer` to `GodotNavigationServer`Rémi Verschelde
And rename `gdnavigation` module to simply `navigation`.