aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/objects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/objects.cpp')
-rw-r--r--engines/sherlock/objects.cpp38
1 files changed, 35 insertions, 3 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index 2386c00686..73e6397b50 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -101,7 +101,10 @@ void Object::synchronize(Common::SeekableReadStream &s) {
_sequences = nullptr;
_images = nullptr;
_imageFrame = nullptr;
- s.seek(16, SEEK_CUR);
+
+ s.skip(4);
+ _sequenceOffset = s.readUint32LE();
+ s.seek(8, SEEK_CUR);
_walkCount = s.readByte();
_allow = s.readByte();
@@ -133,7 +136,7 @@ void Object::synchronize(Common::SeekableReadStream &s) {
_aOpen.synchronize(s);
_aType = s.readByte();
_lookFrames = s.readByte();
- _seqcounter = s.readByte();
+ _seqCounter = s.readByte();
_lookPosition.x = s.readUint16LE();
_lookPosition.y = s.readByte();
_lookFacing = s.readByte();
@@ -141,7 +144,7 @@ void Object::synchronize(Common::SeekableReadStream &s) {
_aClose.synchronize(s);
_seqStack = s.readByte();
_seqTo = s.readByte();
- _descOfs = s.readUint16LE();
+ _descOffset = s.readUint16LE();
_seqcounter2 = s.readByte();
_seqSize = s.readUint16LE();
s.skip(1);
@@ -152,4 +155,33 @@ void Object::synchronize(Common::SeekableReadStream &s) {
_use[idx].synchronize(s);
}
+/*----------------------------------------------------------------*/
+
+void CAnim::synchronize(Common::SeekableReadStream &s) {
+ char buffer[12];
+ s.read(buffer, 12);
+ _name = Common::String(buffer);
+
+ s.read(_sequences, 30);
+ _position.x = s.readSint16LE();
+ _position.y = s.readSint16LE();
+ _size = s.readUint32LE();
+ _type = (SpriteType)s.readUint16LE();
+ _flags = s.readByte();
+ _goto.x = s.readSint16LE();
+ _goto.y = s.readSint16LE();
+ _sequenceNumber = s.readSint16LE();
+ _teleportPos.x = s.readSint16LE();
+ _teleportPos.y = s.readSint16LE();
+ _teleportS = s.readSint16LE();
+}
+
+/*----------------------------------------------------------------*/
+
+InvGraphicType::InvGraphicType() {
+ _images = nullptr;
+ _maxFrames = 0;
+ _filesize = 0;
+}
+
} // End of namespace Sherlock