diff options
-rw-r--r-- | engines/hdb/map-loader.cpp | 22 | ||||
-rw-r--r-- | engines/hdb/map-loader.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/engines/hdb/map-loader.cpp b/engines/hdb/map-loader.cpp index c6de98e148..090dbf3abb 100644 --- a/engines/hdb/map-loader.cpp +++ b/engines/hdb/map-loader.cpp @@ -228,4 +228,26 @@ void Map::draw() { */ } +void Map::getMapXY(int *x, int *y) { + *x = _mapX; + *y = _mapY; +} + +void Map::setMapXY(int x, int y) { + if (x < 0) { + x = 0; + } else if (x > (_width * kTileWidth - 480)) { + x = _width * kTileWidth - 480; + } + + if (y < 0) { + y = 0; + } else if (y > (_height * kTileHeight - 480)) { + y = _height * kTileHeight - 480; + } + + _mapX = x; + _mapY = y; +} + } diff --git a/engines/hdb/map-loader.h b/engines/hdb/map-loader.h index 4b0317e810..cdae918f37 100644 --- a/engines/hdb/map-loader.h +++ b/engines/hdb/map-loader.h @@ -58,6 +58,8 @@ public: int loadTiles(); bool load(Common::SeekableReadStream *stream); void draw(); + void getMapXY(int *x, int *y); + void setMapXY(int x, int y); int _mapX, _mapY; // Coordinates of Map int _mapTileX, _mapTileY; // Tile Coordinates of Map |