[Scummvm-cvs-logs] scummvm master -> 00918f1aaaae88e0bbf35d4a52279d1684322cf4
dreammaster
dreammaster at scummvm.org
Sat Aug 15 17:28:24 CEST 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
00918f1aaa SHERLOCK: RT: Save sequence starts in _startSeq, not _sequenceNumber
Commit: 00918f1aaaae88e0bbf35d4a52279d1684322cf4
https://github.com/scummvm/scummvm/commit/00918f1aaaae88e0bbf35d4a52279d1684322cf4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-08-15T11:27:35-04:00
Commit Message:
SHERLOCK: RT: Save sequence starts in _startSeq, not _sequenceNumber
Changed paths:
engines/sherlock/objects.cpp
engines/sherlock/objects.h
diff --git a/engines/sherlock/objects.cpp b/engines/sherlock/objects.cpp
index d97d312..ab14132 100644
--- a/engines/sherlock/objects.cpp
+++ b/engines/sherlock/objects.cpp
@@ -61,6 +61,7 @@ BaseObject::BaseObject() {
_images = nullptr;
_imageFrame = nullptr;
_sequenceNumber = 0;
+ _startSeq = 0;
_walkCount = 0;
_allow = 0;
_frameNumber = 0;
@@ -428,10 +429,9 @@ void BaseObject::setObjSequence(int seq, bool wait) {
if (_frameNumber >= checkFrame)
_frameNumber = 0;
- // For Rose Tattoo, save the starting frame for new sequences in the _sequenceNumber field,
- // to make it easier to reset back for repeats
+ // For Rose Tattoo, save the starting frame for new sequences
if (IS_ROSE_TATTOO)
- _sequenceNumber = _frameNumber;
+ _startSeq = _frameNumber;
_seqCounter = 0;
if (_sequences[_frameNumber] == 0)
@@ -441,9 +441,10 @@ void BaseObject::setObjSequence(int seq, bool wait) {
} else {
// Find beginning of sequence
if (IS_ROSE_TATTOO) {
- // Use the sequence number as the index to reset the sequence back to
- _frameNumber = _sequenceNumber;
+ // Use the saved start of the sequence to reset the frame
+ _frameNumber = _startSeq;
} else {
+ // For Scalpel, scan backwards from the end of the sequence to find it's start
do {
--_frameNumber;
} while (_frameNumber > 0 && _sequences[_frameNumber] != 0);
diff --git a/engines/sherlock/objects.h b/engines/sherlock/objects.h
index 337d320..38b02ae 100644
--- a/engines/sherlock/objects.h
+++ b/engines/sherlock/objects.h
@@ -209,6 +209,7 @@ public:
ImageFile *_images; // Sprite images
ImageFrame *_imageFrame; // Pointer to shape in the images
int _sequenceNumber; // Sequence being used
+ int _startSeq; // Frame sequence starts at
int _walkCount; // Walk counter
int _allow; // Allowed UI commands
int _frameNumber; // Frame number in rame sequence to draw
@@ -289,7 +290,6 @@ public:
int8 _misc; // Miscellaneous use
// Rose Tattoo fields
- int _startSeq; // Frame sequence starts at
ImageFrame *_stopFrames[8]; // Stop/rest frame for each direction
ImageFile *_altImages; // Images used for alternate NPC sequences
int _altSeq; // Which of the sequences the alt graphics apply to (0: main, 1=NPC seq)
More information about the Scummvm-git-logs
mailing list