From bf98bcca010613957ac0630e3ff715a738d7a819 Mon Sep 17 00:00:00 2001 From: Nipun Garg Date: Fri, 21 Jun 2019 21:25:40 +0530 Subject: HDB: Add removeFirstWaypoint() --- engines/hdb/ai-waypoint.cpp | 15 +++++++++++++++ engines/hdb/ai.h | 1 + 2 files changed, 16 insertions(+) diff --git a/engines/hdb/ai-waypoint.cpp b/engines/hdb/ai-waypoint.cpp index 3887b972b8..ee053ed6a4 100644 --- a/engines/hdb/ai-waypoint.cpp +++ b/engines/hdb/ai-waypoint.cpp @@ -24,6 +24,21 @@ namespace HDB { +void AI::removeFirstWaypoint() { + if (!_numWaypoints) + return; + + int i; + for (i = 0;i < _numWaypoints;i++) { + _waypoints[i] = _waypoints[i + 1]; + } + + _waypoints[i].x = 0; + _waypoints[i].y = 0; + _waypoints[i].level = 0; + _numWaypoints--; +} + void AI::clearWaypoints() { memset(&_waypoints[0], 0, sizeof(_waypoints)); _numWaypoints = 0; diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index a9b1b8601e..67db4bbcbe 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -664,6 +664,7 @@ public: // Waypoint & Movement Functions void lookAtXY(int x, int y); + void removeFirstWaypoint(); void clearWaypoints(); Tile *getStandFrameDir(AIEntity *e); -- cgit v1.2.3