From 4d8553ff6310c6f4d3c1dc4c9e2118dcd4570ae8 Mon Sep 17 00:00:00 2001 From: smix8 <52464204+smix8@users.noreply.github.com> Date: Tue, 13 Jun 2023 10:14:20 +0200 Subject: [PATCH] Add NavigationRegion rotation warning Adds NavigationRegion rotation warning. --- modules/navigation/nav_region.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/navigation/nav_region.cpp b/modules/navigation/nav_region.cpp index 357ee80d429..302b881eb52 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 vertices = mesh->get_vertices(); int len = vertices.size(); if (len == 0) {