aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/map.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-04-22 21:11:26 -0500
committerPaul Gilbert2015-04-22 21:11:26 -0500
commite24ae07a90ccd0139112d5c086d49173834fa4a1 (patch)
tree449611e57ba838f308c919fc60cb764d05eab9e7 /engines/sherlock/map.h
parent02e604ce8c2b0a4f136a6d0815b55046c58ad92d (diff)
downloadscummvm-rg350-e24ae07a90ccd0139112d5c086d49173834fa4a1.tar.gz
scummvm-rg350-e24ae07a90ccd0139112d5c086d49173834fa4a1.tar.bz2
scummvm-rg350-e24ae07a90ccd0139112d5c086d49173834fa4a1.zip
SHERLOCK: Fix map path loading
Diffstat (limited to 'engines/sherlock/map.h')
-rw-r--r--engines/sherlock/map.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/sherlock/map.h b/engines/sherlock/map.h
index da55a5e383..a91e7ae968 100644
--- a/engines/sherlock/map.h
+++ b/engines/sherlock/map.h
@@ -43,12 +43,22 @@ struct MapEntry : Common::Point {
MapEntry(int x, int y, int translate) : Common::Point(x, y), _translate(translate) {}
};
+class MapPaths {
+private:
+ int _numLocations;
+ Common::Array< Common::Array<byte> > _paths;
+public:
+ void load(int numLocations, Common::SeekableReadStream &s);
+
+ const byte *getPath(int srcLocation, int destLocation);
+};
+
class Map {
private:
SherlockEngine *_vm;
Common::Array<MapEntry> _points; // Map locations for each scene
Common::StringArray _locationNames;
- Common::Array< Common::Array<int> > _paths;
+ MapPaths _paths;
Common::Array<Common::Point> _pathPoints;
Common::Point _savedPos;
Common::Point _savedSize;