From 043efaf082a8ce5010e6ff974afea05d8d66e9d1 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Sat, 15 Feb 2020 14:53:42 +0300 Subject: script 900-999 --- src/peds/PedRoutes.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/peds/PedRoutes.cpp') diff --git a/src/peds/PedRoutes.cpp b/src/peds/PedRoutes.cpp index c2ec51e2..9b7dafd4 100644 --- a/src/peds/PedRoutes.cpp +++ b/src/peds/PedRoutes.cpp @@ -43,3 +43,28 @@ CRouteNode::AddRoutePoint(int16 route, CVector pos) gaRoutes[point].m_route = route; gaRoutes[point].m_pos = pos; } + +void +CRouteNode::RemoveRoute(int16 route) +{ + uint16 first_point, last_point, i; + for (first_point = 0; first_point < NUMPEDROUTES; first_point++) { + if (gaRoutes[first_point].m_route == route) + break; + } + if (first_point == NUMPEDROUTES) + return; + for (last_point = first_point; last_point < NUMPEDROUTES; last_point++) + if (gaRoutes[last_point].m_route != route) + break; + uint16 diff = last_point - first_point; +#ifdef FIX_BUGS + for (i = first_point; i < NUMPEDROUTES - diff; i++) + gaRoutes[i] = gaRoutes[i + diff]; +#else + for (i = 0; i < diff; i++) + gaRoutes[first_point + i] = gaRoutes[last_point + i]; +#endif + for (i = NUMPEDROUTES - diff; i < NUMPEDROUTES; i++) + gaRoutes[i].m_route = -1; +} -- cgit v1.2.3