aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/scene.h
diff options
context:
space:
mode:
authorPaul Gilbert2015-06-13 21:07:50 -0400
committerPaul Gilbert2015-06-13 21:07:50 -0400
commit5531cf9fd503c3e74b8a32f6b12f2243bac68c06 (patch)
tree2ccdd038e0c7a3376cfcfb7bd11dfe1f8cedac8d /engines/sherlock/scene.h
parent8d07a00f39fc80845911211d488eabf899c94f1a (diff)
downloadscummvm-rg350-5531cf9fd503c3e74b8a32f6b12f2243bac68c06.tar.gz
scummvm-rg350-5531cf9fd503c3e74b8a32f6b12f2243bac68c06.tar.bz2
scummvm-rg350-5531cf9fd503c3e74b8a32f6b12f2243bac68c06.zip
SHERLOCK: Refactored walk data block to e a proper structure
Diffstat (limited to 'engines/sherlock/scene.h')
-rw-r--r--engines/sherlock/scene.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/engines/sherlock/scene.h b/engines/sherlock/scene.h
index 2cf8b803b4..799433fd53 100644
--- a/engines/sherlock/scene.h
+++ b/engines/sherlock/scene.h
@@ -131,6 +131,19 @@ public:
void load(Common::SeekableReadStream &s);
};
+class WalkArray : public Common::Array < Common::Point > {
+public:
+ int _pointsCount;
+ int _fileOffset;
+
+ WalkArray() : _pointsCount(0), _fileOffset(-1) {}
+
+ /**
+ * Load data for the walk array entry
+ */
+ void load(Common::SeekableReadStream &s, bool isRoseTattoo);
+};
+
class Scene {
private:
bool _loadingSavedGame;
@@ -213,7 +226,7 @@ public:
Common::Array<byte> _sequenceBuffer;
Common::Array<SceneImage> _images;
int _walkDirectory[MAX_ZONES][MAX_ZONES];
- Common::Array<byte> _walkData;
+ Common::Array<WalkArray> _walkPoints;
Common::Array<Exit> _exits;
int _exitZone;
SceneEntry _entrance;