diff options
-rw-r--r-- | engines/hdb/ai-waypoint.cpp | 33 | ||||
-rw-r--r-- | engines/hdb/ai.h | 1 |
2 files changed, 34 insertions, 0 deletions
diff --git a/engines/hdb/ai-waypoint.cpp b/engines/hdb/ai-waypoint.cpp index ec31bd19c8..88a0c44d13 100644 --- a/engines/hdb/ai-waypoint.cpp +++ b/engines/hdb/ai-waypoint.cpp @@ -29,4 +29,37 @@ void AI::clearWaypoints() { _numWaypoints = 0; } +void *AI::getStandFrameDir(AIEntity *e) { + switch (e->dir) { + case DIR_DOWN: + if (e->standdownFrames) + return e->standdownGfx[0]; + else if (e->movedownFrames) + return e->movedownGfx[0]; + break; + case DIR_UP: + if (e->standupFrames) + return e->standupGfx[0]; + else if (e->moveupFrames) + return e->moveupGfx[0]; + break; + case DIR_LEFT: + if (e->standleftFrames) + return e->standleftGfx[0]; + else if (e->moveleftFrames) + return e->moveleftGfx[0]; + break; + case DIR_RIGHT: + if (e->standrightFrames) + return e->standrightGfx[0]; + else if (e->moverightFrames) + return e->moverightGfx[0]; + break; + case DIR_NONE: + warning("AI-WAYPOINT: getStandFrameDir: DIR_NONE found"); + break; + } + return e->standdownGfx[0]; +} + } // End of Namespace diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index 8e6a7ab8d7..e3d846f1cc 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -633,6 +633,7 @@ public: // Waypoint & Movement Functions void lookAtXY(int x, int y); void clearWaypoints(); + void *getStandFrameDir(AIEntity *e); // Inventory Functions bool addToInventory(AIEntity *e); |