aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/objects.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2015-05-26 08:18:50 -0400
committerPaul Gilbert2015-05-26 08:18:50 -0400
commit0cc79979fc27a097037ca580dda78607080d5ac4 (patch)
tree4b94857f4efacc778f2c63d088c61353bc78d451 /engines/sherlock/objects.cpp
parente1e39ea3d2e358b47fc26cc52244f536ee2a0a01 (diff)
downloadscummvm-rg350-0cc79979fc27a097037ca580dda78607080d5ac4.tar.gz
scummvm-rg350-0cc79979fc27a097037ca580dda78607080d5ac4.tar.bz2
scummvm-rg350-0cc79979fc27a097037ca580dda78607080d5ac4.zip
SHERLOCK: Fix map display
Diffstat (limited to 'engines/sherlock/objects.cpp')
-rw-r--r--engines/sherlock/objects.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index 31a209fea3..73387261c8 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -366,6 +366,34 @@ void Sprite::checkSprite() {
/*----------------------------------------------------------------*/
+void WalkSequence::load(Common::SeekableReadStream &s) {
+ char buffer[9];
+ s.read(buffer, 9);
+ _vgsName = Common::String(buffer);
+ _horizFlip = s.readByte() != 0;
+
+ _sequences.resize(s.readUint16LE());
+ s.read(&_sequences[0], _sequences.size());
+}
+
+/*----------------------------------------------------------------*/
+
+WalkSequences &WalkSequences::operator=(const WalkSequences &src) {
+ resize(src.size());
+ for (uint idx = 0; idx < size(); ++idx) {
+ const WalkSequence &wSrc = src[idx];
+ WalkSequence &wDest = (*this)[idx];
+ wDest._horizFlip = wSrc._horizFlip;
+
+ wDest._sequences.resize(wSrc._sequences.size());
+ Common::copy(&wSrc._sequences[0], &wSrc._sequences[0] + wSrc._sequences.size(), &wDest._sequences[0]);
+ }
+
+ return *this;
+}
+
+/*----------------------------------------------------------------*/
+
void ActionType::load(Common::SeekableReadStream &s) {
char buffer[12];