diff options
author | Filippos Karapetis | 2017-03-14 23:06:55 +0200 |
---|---|---|
committer | Filippos Karapetis | 2017-03-14 23:06:55 +0200 |
commit | 3b962c9ec4e8a1582fe9841067e4b8352a4b064e (patch) | |
tree | b7291f0fdcce9fd0731826bb152d42fc66cae30a | |
parent | 87cac81c5c850d135b68f8135c45fef7baf113d1 (diff) | |
download | scummvm-rg350-3b962c9ec4e8a1582fe9841067e4b8352a4b064e.tar.gz scummvm-rg350-3b962c9ec4e8a1582fe9841067e4b8352a4b064e.tar.bz2 scummvm-rg350-3b962c9ec4e8a1582fe9841067e4b8352a4b064e.zip |
CHEWY: Read automove scene data
-rw-r--r-- | engines/chewy/scene.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/engines/chewy/scene.cpp b/engines/chewy/scene.cpp index 22a6c05157..7f10b75025 100644 --- a/engines/chewy/scene.cpp +++ b/engines/chewy/scene.cpp @@ -37,6 +37,7 @@ namespace Chewy { #define MAX_DETAILS 32 #define MAX_HOTSPOTS 50 +#define MAX_AUTOMOVE 20 // Animated details - scene animations struct AnimatedDetails { @@ -75,6 +76,13 @@ struct Hotspot { Common::String desc; }; +struct AutoMove { + int16 x; + int16 y; + byte spriteNum; // sprite number to draw when the end point is reached + // 1 byte dummy +}; + struct SceneInfo { uint16 staticDetailsCount; uint16 animatedDetailsCount; @@ -89,7 +97,7 @@ struct SceneInfo { Common::String tafName; // 14 bytes byte zoomFactor; // 1 byte dummy - // 6 * 20 = 120 bytes automove coordinates - TODO + AutoMove autoMove[MAX_AUTOMOVE]; // MAX_DETAILS * 3 * 2 = 192 bytes voc - TODO // MAX_DETAILS * 3 = 96 bytes samples - TODO }; @@ -233,7 +241,13 @@ void Scene::loadSceneInfo() { _sceneInfo->zoomFactor = indexFile.readByte(); indexFile.readByte(); // padding - // 6 * 20 = 120 bytes automove coordinates - TODO: read these + for (int i = 0; i < MAX_AUTOMOVE; i++) { + _sceneInfo->autoMove[i].x = indexFile.readSint16LE(); + _sceneInfo->autoMove[i].y = indexFile.readSint16LE(); + _sceneInfo->autoMove[i].spriteNum = indexFile.readByte(); + indexFile.readByte(); // padding + } + // MAX_DETAILS * 3 * 2 = 192 bytes voc - TODO: read these // MAX_DETAILS * 3 = 96 bytes samples - TODO: read these |