[Scummvm-cvs-logs] scummvm master -> b935cb1656cd159073021c85f5853f4d577977fb

dreammaster dreammaster at scummvm.org
Mon Jul 6 03:29:41 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:
b935cb1656 SHERLOCK: RT: Fix People::reset when _scriptMoreFlag is set


Commit: b935cb1656cd159073021c85f5853f4d577977fb
    https://github.com/scummvm/scummvm/commit/b935cb1656cd159073021c85f5853f4d577977fb
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-07-05T21:28:26-04:00

Commit Message:
SHERLOCK: RT: Fix People::reset when _scriptMoreFlag is set

Changed paths:
    engines/sherlock/people.cpp
    engines/sherlock/tattoo/tattoo_talk.cpp



diff --git a/engines/sherlock/people.cpp b/engines/sherlock/people.cpp
index dae0d5d..2317535 100644
--- a/engines/sherlock/people.cpp
+++ b/engines/sherlock/people.cpp
@@ -193,6 +193,8 @@ People::~People() {
 }
 
 void People::reset() {
+	SaveManager &saves = *_vm->_saves;
+	Talk &talk = *_vm->_talk;
 	_data[HOLMES]->_description = "Sherlock Holmes!";
 
 	// Note: Serrated Scalpel only uses a single Person slot for Sherlock.. Watson is handled by scene sprites
@@ -200,13 +202,18 @@ void People::reset() {
 	for (int idx = 0; idx < count; ++idx) {
 		Person &p = *_data[idx];
 
-		p._type = (idx == 0) ? CHARACTER : INVALID;
-		if (IS_SERRATED_SCALPEL)
+		if (IS_SERRATED_SCALPEL) {
+			p._type = CHARACTER;
+			p._sequenceNumber = Tattoo::STOP_DOWNRIGHT;
 			p._position = Point32(100 * FIXED_INT_MULTIPLIER, 110 * FIXED_INT_MULTIPLIER);
-		else
+		} else if (!talk._scriptMoreFlag && !saves._justLoaded) {
+			p._type = (idx == 0) ? CHARACTER : INVALID;
+			p._sequenceNumber = Scalpel::STOP_DOWNRIGHT;
 			p._position = Point32(36 * FIXED_INT_MULTIPLIER, 29 * FIXED_INT_MULTIPLIER);
-
-		p._sequenceNumber = IS_SERRATED_SCALPEL ? (int)Scalpel::STOP_DOWNRIGHT : (int)Tattoo::STOP_DOWNRIGHT;
+			p._use[0]._verb = "";
+			p._use[1]._verb = "";
+		}
+		
 		p._imageFrame = nullptr;
 		p._frameNumber = 1;
 		p._delta = Point32(0, 0);
diff --git a/engines/sherlock/tattoo/tattoo_talk.cpp b/engines/sherlock/tattoo/tattoo_talk.cpp
index 51704e7..3cfb2ea 100644
--- a/engines/sherlock/tattoo/tattoo_talk.cpp
+++ b/engines/sherlock/tattoo/tattoo_talk.cpp
@@ -22,6 +22,7 @@
 
 #include "sherlock/tattoo/tattoo_talk.h"
 #include "sherlock/tattoo/tattoo_people.h"
+#include "sherlock/tattoo/tattoo_scene.h"
 #include "sherlock/tattoo/tattoo_user_interface.h"
 #include "sherlock/sherlock.h"
 #include "sherlock/screen.h"
@@ -267,7 +268,7 @@ OpcodeReturn TattooTalk::cmdGotoScene(const byte *&str) {
 	Scene &scene = *_vm->_scene;
 	scene._goToScene = str[1] - 1;
 
-	if (scene._goToScene != 100) {
+	if (scene._goToScene != OVERHEAD_MAP) {
 		// Not going to the map overview
 		map._oldCharPoint = scene._goToScene;
 
@@ -283,10 +284,10 @@ OpcodeReturn TattooTalk::cmdGotoScene(const byte *&str) {
 		}
 
 		_scriptMoreFlag = 1;
-	}	// if (scene._goToScene != 100)
+	}
 
 	str += 7;
-	if (scene._goToScene != 100)
+	if (scene._goToScene != OVERHEAD_MAP)
 		_scriptSaveIndex = str - _scriptStart;
 
 	_endStr = true;






More information about the Scummvm-git-logs mailing list