aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/staticdata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/staticdata.cpp')
-rw-r--r--engines/neverhood/staticdata.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/engines/neverhood/staticdata.cpp b/engines/neverhood/staticdata.cpp
index 42af4975ea..d897d7a342 100644
--- a/engines/neverhood/staticdata.cpp
+++ b/engines/neverhood/staticdata.cpp
@@ -125,6 +125,21 @@ void StaticData::load(const char *filename) {
_navigationLists[id] = navigationList;
}
+ // Load SceneInfo140 items
+ uint32 sceneInfo140ItemsCount = fd.readUint32LE();
+ debug("sceneInfo140ItemsCount: %d", sceneInfo140ItemsCount);
+ for (uint32 i = 0; i < sceneInfo140ItemsCount; i++) {
+ SceneInfo140 *sceneInfo140 = new SceneInfo140();
+ uint32 id = fd.readUint32LE();
+ sceneInfo140->bgFilename1 = fd.readUint32LE();
+ sceneInfo140->bgFilename2 = fd.readUint32LE();
+ sceneInfo140->txFilename = fd.readUint32LE();
+ sceneInfo140->bgFilename3 = fd.readUint32LE();
+ sceneInfo140->xPosIndex = fd.readByte();
+ sceneInfo140->count = fd.readByte();
+ _sceneInfo140Items[id] = sceneInfo140;
+ }
+
}
HitRectList *StaticData::getHitRectList(uint32 id) {
@@ -151,4 +166,10 @@ NavigationList *StaticData::getNavigationList(uint32 id) {
return _navigationLists[id];
}
+SceneInfo140 *StaticData::getSceneInfo140Item(uint32 id) {
+ if (!_sceneInfo140Items[id])
+ error("StaticData::getSceneInfo140Item() SceneInfo140 with id %08X not found", id);
+ return _sceneInfo140Items[id];
+}
+
} // End of namespace Neverhood