[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