From 2cdf2a62decddc21cbb2c5a4d10f74c55ff32c17 Mon Sep 17 00:00:00 2001 From: Nipun Garg Date: Sat, 22 Jun 2019 08:53:59 +0530 Subject: HDB: Add stubbed addWaypoint() --- engines/hdb/ai-waypoint.cpp | 27 +++++++++++++++++++++++++++ engines/hdb/ai.h | 1 + 2 files changed, 28 insertions(+) diff --git a/engines/hdb/ai-waypoint.cpp b/engines/hdb/ai-waypoint.cpp index ee053ed6a4..9faa88c8db 100644 --- a/engines/hdb/ai-waypoint.cpp +++ b/engines/hdb/ai-waypoint.cpp @@ -24,6 +24,33 @@ namespace HDB { +void AI::addWaypoint(int px, int py, int x, int y, int level) { + if (_numWaypoints >= kMaxWaypoints || (playerOnIce() && _player->goalX)) + return; + + // Check for duplicates + for (int i = 0;i < _numWaypoints;i++) + if (_waypoints[i].x == x && _waypoints[i].y == y) + return; + + // Check if path is clear + int nx = x; + int ny = y; + if (!_numWaypoints) { + warning("STUB: addWaypoint: Setup First Waypoint"); + } else { + warning("STUB: addWaypoint: Setup additional Waypoints"); + } + + if (_numWaypoints < kMaxWaypoints) { + _waypoints[_numWaypoints].x = nx; + _waypoints[_numWaypoints].y = ny; + _waypoints[_numWaypoints].level = level; + _numWaypoints++; + warning("STUB: addWaypoint: Play SND_MENU_SLIDER"); + } +} + void AI::removeFirstWaypoint() { if (!_numWaypoints) return; diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index df700722e7..f67fbd7849 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -723,6 +723,7 @@ public: // Waypoint & Movement Functions void lookAtXY(int x, int y); + void addWaypoint(int px, int py, int x, int y, int level); void removeFirstWaypoint(); void clearWaypoints(); Tile *getStandFrameDir(AIEntity *e); -- cgit v1.2.3