[Scummvm-cvs-logs] CVS: scummvm/scumm script_v6.cpp,1.51,1.52 intern.h,2.35,2.36

Jonathan Gray khalek at users.sourceforge.net
Mon Feb 17 02:15:15 CET 2003


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

Modified Files:
	script_v6.cpp intern.h 
Log Message:
unstub stopTalking as the relevant function stopTalk() already exists in scummvm, add an attempt at findAllObjects that is hopefully not totally wrong, puttmoon now crashes on finding an AKOS block when it is expecting COST, some surgery may be required as all the AKOS stuff seems to be wrapped up in GF_AFTER_V7

Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- script_v6.cpp	16 Feb 2003 18:29:22 -0000	1.51
+++ script_v6.cpp	17 Feb 2003 10:14:42 -0000	1.52
@@ -319,7 +319,7 @@
 		OPCODE(o6_invalid),
 		/* DC */
 		OPCODE(o6_invalid),
-		OPCODE(o6_invalid),
+		OPCODE(o6_findAllObjects),
 		OPCODE(o6_deleteFile),
 		OPCODE(o6_invalid),
 		/* E0 */
@@ -2902,7 +2902,7 @@
 }
 
 void Scumm_v6::o6_stopTalking() {
-	warning("o6_stopTalking: stub");
+	stopTalk();
 }
 
 void Scumm_v6::o6_openFile() {
@@ -2925,6 +2925,28 @@
 	len = resStrLen(_scriptPointer);
 	warning("stub o6_deleteFile(\"%s\")", _scriptPointer);
 	_scriptPointer += len + 1;
+}
+
+void Scumm_v6::o6_findAllObjects() {
+	// FIXME is this even remotely correct?
+	// see http://users.bigpond.net.au/tgray2/findallobjects.txt
+	// for asm
+	int a = pop();
+	int i = 1;
+
+	warning("stub o6_findAllObjects(%d)", a);
+	if (a != _currentRoom)
+		warning("o6_findAllObjects: current room is not %d", a);
+	writeVar(0, 0);
+	defineArray(0, 5, 0, _numLocalObjects);
+	defineArray(0, 0, 0, _numLocalObjects);
+	
+	while(i < _numLocalObjects) {
+		writeArray(0, 0, i, _objs[i].obj_nr);
+		i++;
+	}
+	
+	push(readVar(0));
 }
 
 void Scumm_v6::decodeParseString(int m, int n)

Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.35
retrieving revision 2.36
diff -u -d -r2.35 -r2.36
--- intern.h	16 Feb 2003 14:52:23 -0000	2.35
+++ intern.h	17 Feb 2003 10:14:43 -0000	2.36
@@ -369,6 +369,7 @@
 	void o6_openFile();
 	void o6_closeFile();
 	void o6_deleteFile();
+	void o6_findAllObjects();
 };
 
 class Scumm_v7 : public Scumm_v6





More information about the Scummvm-git-logs mailing list