aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2015-06-12 17:39:51 +0200
committerMartin Kiewitz2015-06-12 17:39:51 +0200
commitb6fe6ef8f54c09a6015c62dccfa973d385f735ae (patch)
tree5b60f9f3101dcc0106c1b3b90a4fc42266611cba /engines
parent9dd61883f01882ad6e06b3f0c76bc40cfc636a2d (diff)
downloadscummvm-rg350-b6fe6ef8f54c09a6015c62dccfa973d385f735ae.tar.gz
scummvm-rg350-b6fe6ef8f54c09a6015c62dccfa973d385f735ae.tar.bz2
scummvm-rg350-b6fe6ef8f54c09a6015c62dccfa973d385f735ae.zip
SHERLOCK: 3DO: object load UseTypes found
Diffstat (limited to 'engines')
-rw-r--r--engines/sherlock/objects.cpp24
1 files changed, 13 insertions, 11 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index f1c1117a0d..b4310afba5 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -695,7 +695,7 @@ void Object::load(Common::SeekableReadStream &s, bool isRoseTattoo) {
for (int idx = 0; idx < 4; ++idx)
_use[idx].load(s, false);
}
- //warning("object %s, aMove %d", _name.c_str(), _aClose._cAnimNum);
+ //warning("object %s, useAnim %d", _name.c_str(), _use[0]._cAnimNum);
}
void Object::load3DO(Common::SeekableReadStream &s) {
@@ -751,7 +751,18 @@ void Object::load3DO(Common::SeekableReadStream &s) {
_descOffset = s.readUint16BE();
_seqSize = s.readUint16BE();
- s.skip(288); // Unknown
+ s.skip(2); // boundary filler
+
+ // 288 bytes
+ _use[0].load3DO(s);
+ s.skip(2); // Filler
+ _use[1].load3DO(s);
+ s.skip(2); // Filler
+ _use[2].load3DO(s);
+ // no filler after 3rd entry
+ _use[3].load3DO(s);
+ s.skip(2); // Filler
+
// 158 bytes
_aOpen.load(s); // 2 + 12*4 bytes = 50 bytes
s.skip(2); // Filler
@@ -761,15 +772,6 @@ void Object::load3DO(Common::SeekableReadStream &s) {
_aMove.load(s);
s.skip(2); // Filler
- // missing:
- // for (int idx = 0; idx < 4; ++idx)
- // _use[idx].load(s, false);
-
-#if 0
- for (int idx = 0; idx < 4; ++idx)
- _use[idx].load(s, false);
-#endif
-
// offset 508
// 3DO: name is at the end
s.read(buffer, 12);