aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2015-06-13 17:59:45 -0400
committerPaul Gilbert2015-06-13 17:59:45 -0400
commit2909c968e5e9895160c693be825c2c7aa88e4b5c (patch)
tree6f1b4fff5180fa66a2eeaa183aa86cba655cb050
parenta9ee64f8577ead7cba72901824c1ed1934b48e39 (diff)
downloadscummvm-rg350-2909c968e5e9895160c693be825c2c7aa88e4b5c.tar.gz
scummvm-rg350-2909c968e5e9895160c693be825c2c7aa88e4b5c.tar.bz2
scummvm-rg350-2909c968e5e9895160c693be825c2c7aa88e4b5c.zip
SHERLOCK: RT: Fix initial facing of characters within scene
-rw-r--r--engines/sherlock/objects.cpp5
-rw-r--r--engines/sherlock/objects.h1
-rw-r--r--engines/sherlock/tattoo/tattoo_people.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index 04092955e5..1c184df547 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -180,7 +180,6 @@ void Sprite::clear() {
_noShapeSize.x = _noShapeSize.y = 0;
_status = 0;
_misc = 0;
- _numFrames = 0;
_altImages = nullptr;
_altSeq = 0;
Common::fill(&_stopFrames[0], &_stopFrames[8], (ImageFrame *)nullptr);
@@ -192,7 +191,7 @@ void Sprite::setImageFrame() {
if (IS_SERRATED_SCALPEL)
imageNumber = imageNumber + _walkSequences[_sequenceNumber][0] - 2;
- else if (imageNumber > _numFrames)
+ else if (imageNumber > _maxFrames)
imageNumber = 1;
// Get the images to use
@@ -209,6 +208,8 @@ void Sprite::setImageFrame() {
// sort of HACK
imageNumber *= 2;
}
+ } else if (IS_ROSE_TATTOO) {
+ --imageNumber;
}
// Set the frame pointer
diff --git a/engines/sherlock/objects.h b/engines/sherlock/objects.h
index a219484a62..e73a8c3140 100644
--- a/engines/sherlock/objects.h
+++ b/engines/sherlock/objects.h
@@ -238,7 +238,6 @@ public:
Common::Point _noShapeSize; // Size of a NO_SHAPE
int _status; // Status: open/closed, moved/not moved
int8 _misc; // Miscellaneous use
- int _numFrames; // How many frames the object has
// Rose Tattoo fields
int _startSeq; // Frame sequence starts at
diff --git a/engines/sherlock/tattoo/tattoo_people.cpp b/engines/sherlock/tattoo/tattoo_people.cpp
index e2cfea63c9..ebada5627c 100644
--- a/engines/sherlock/tattoo/tattoo_people.cpp
+++ b/engines/sherlock/tattoo/tattoo_people.cpp
@@ -684,7 +684,7 @@ bool TattooPeople::loadWalk() {
// Load the images for the character
_data[idx]->_images = new ImageFile(_data[idx]->_walkVGSName, false);
- _data[idx]->_numFrames = _data[idx]->_images->size();
+ _data[idx]->_maxFrames = _data[idx]->_images->size();
// Load walk sequence data
Common::String fname = Common::String(_data[idx]->_walkVGSName.c_str(), strchr(_data[idx]->_walkVGSName.c_str(), '.'));