aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/map-loader.cpp22
-rw-r--r--engines/hdb/map-loader.h2
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