diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-06-13 13:53:09 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-06-13 13:53:09 +0200 |
commit | 2b373f795c42f330c02998c3a889d17752f1b3ba (patch) | |
tree | bb09cdd758e38b106dce6b4de9591040ae744009 | |
parent | ad935c4d93f6aa90b2c6a1f9de6911500e785012 (diff) | |
parent | 4d8553ff6310c6f4d3c1dc4c9e2118dcd4570ae8 (diff) | |
download | redot-engine-2b373f795c42f330c02998c3a889d17752f1b3ba.tar.gz |
Merge pull request #78173 from smix8/navregion_rot_warning_4.x
Add NavigationRegion rotation warning
-rw-r--r-- | modules/navigation/nav_region.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/navigation/nav_region.cpp b/modules/navigation/nav_region.cpp index 357ee80d42..302b881eb5 100644 --- a/modules/navigation/nav_region.cpp +++ b/modules/navigation/nav_region.cpp @@ -105,10 +105,16 @@ void NavRegion::update_polygons() { return; } +#ifdef DEBUG_ENABLED if (!Math::is_equal_approx(double(map->get_cell_size()), double(mesh->get_cell_size()))) { ERR_PRINT_ONCE("Navigation map synchronization error. Attempted to update a navigation region with a navigation mesh that uses a different `cell_size` than the `cell_size` set on the navigation map."); } + if (map && Math::rad_to_deg(map->get_up().angle_to(transform.basis.get_column(1))) >= 90.0f) { + ERR_PRINT_ONCE("Navigation map synchronization error. Attempted to update a navigation region transform rotated 90 degrees or more away from the current navigation map UP orientation."); + } +#endif // DEBUG_ENABLED + Vector<Vector3> vertices = mesh->get_vertices(); int len = vertices.size(); if (len == 0) { |