[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.86,2.87 script.cpp,1.87,1.88 scumm.h,1.197,1.198 scummvm.cpp,2.161,2.162 vars.cpp,1.51,1.52

Max Horn fingolfin at users.sourceforge.net
Sat May 17 11:43:18 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv6411

Modified Files:
	intern.h script.cpp scumm.h scummvm.cpp vars.cpp 
Log Message:
yet another V2 sentence fix (now clicking on objects in Zak causes Zak to talk to it - but he gets stuck after some time)

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.86
retrieving revision 2.87
diff -u -d -r2.86 -r2.87
--- intern.h	17 May 2003 06:04:21 -0000	2.86
+++ intern.h	17 May 2003 18:42:31 -0000	2.87
@@ -278,10 +278,6 @@
 	byte VAR_SENTENCE_VERB;
 	byte VAR_SENTENCE_OBJECT1;
 	byte VAR_SENTENCE_OBJECT2;
-
-	byte VAR_ACTIVE_VERB;
-	byte VAR_ACTIVE_OBJECT1;
-	byte VAR_ACTIVE_OBJECT2;
 };
 
 class Scumm_v4 : public Scumm_v3 {

Index: script.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- script.cpp	17 May 2003 06:33:34 -0000	1.87
+++ script.cpp	17 May 2003 18:42:31 -0000	1.88
@@ -759,9 +759,16 @@
 		if (_sentence[_sentenceNum].unk2 && _sentence[_sentenceNum].objectB == _sentence[_sentenceNum].objectA)
 			return;
 
-	_localParamList[0] = _sentence[_sentenceNum].verb;
-	_localParamList[1] = _sentence[_sentenceNum].objectA;
-	_localParamList[2] = _sentence[_sentenceNum].objectB;
+	if (_features & GF_AFTER_V2) {
+		_scummVars[VAR_ACTIVE_VERB] = _sentence[_sentenceNum].verb;
+		_scummVars[VAR_ACTIVE_OBJECT1] = _sentence[_sentenceNum].objectA;
+		_scummVars[VAR_ACTIVE_OBJECT2] = _sentence[_sentenceNum].objectB;
+		_scummVars[VAR_VERB_ALLOWED] = (0 != getVerbEntrypoint(_sentence[_sentenceNum].objectA, _sentence[_sentenceNum].verb));
+	} else {
+		_localParamList[0] = _sentence[_sentenceNum].verb;
+		_localParamList[1] = _sentence[_sentenceNum].objectA;
+		_localParamList[2] = _sentence[_sentenceNum].objectB;
+	}
 	_currentScript = 0xFF;
 	if (sentenceScript)
 		runScript(sentenceScript, 0, 0, _localParamList);

Index: scumm.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
retrieving revision 1.197
retrieving revision 1.198
diff -u -d -r1.197 -r1.198
--- scumm.h	17 May 2003 06:14:07 -0000	1.197
+++ scumm.h	17 May 2003 18:42:31 -0000	1.198
@@ -1150,6 +1150,10 @@
 	byte VAR_CUSTOMSCALETABLE;
 	byte VAR_V6_SOUNDMODE;
 
+	byte VAR_VERB_ALLOWED;
+	byte VAR_ACTIVE_VERB;
+	byte VAR_ACTIVE_OBJECT1;
+	byte VAR_ACTIVE_OBJECT2;
 	byte VAR_CLICK_AREA;
 };
 

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.161
retrieving revision 2.162
diff -u -d -r2.161 -r2.162
--- scummvm.cpp	17 May 2003 17:20:26 -0000	2.161
+++ scummvm.cpp	17 May 2003 18:42:31 -0000	2.162
@@ -508,6 +508,10 @@
 	VAR_CUSTOMSCALETABLE = 0xFF;
 	VAR_V6_SOUNDMODE = 0xFF;
 
+	VAR_ACTIVE_VERB = 0xFF;
+	VAR_ACTIVE_OBJECT1 = 0xFF;
+	VAR_ACTIVE_OBJECT2 = 0xFF;
+	VAR_VERB_ALLOWED = 0xFF;
 	VAR_CLICK_AREA = 0xFF;
 
 

Index: vars.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/vars.cpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- vars.cpp	17 May 2003 06:14:08 -0000	1.51
+++ vars.cpp	17 May 2003 18:42:31 -0000	1.52
@@ -113,6 +113,7 @@
 	VAR_CURRENT_LIGHTS = 12;
 	VAR_CURRENTDRIVE = 13;
 	VAR_MUSIC_TIMER = 17;
+	VAR_VERB_ALLOWED = 18;
 	VAR_ACTOR_RANGE_MIN = 19;
 	VAR_ACTOR_RANGE_MAX = 20;
 	VAR_CAMERA_MIN_X = 23;





More information about the Scummvm-git-logs mailing list