[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.225,2.226 script_v90he.cpp,2.9,2.10

Travis Howell kirben at users.sourceforge.net
Mon Sep 6 20:43:08 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23307/scumm

Modified Files:
	intern.h script_v90he.cpp 
Log Message:

More cases


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.225
retrieving revision 2.226
diff -u -d -r2.225 -r2.226
--- intern.h	6 Sep 2004 08:53:18 -0000	2.225
+++ intern.h	7 Sep 2004 03:42:15 -0000	2.226
@@ -807,6 +807,7 @@
 	void o90_unknown26();
 	void o90_unknown27();
 	void o90_unknown28();
+	void o90_unknown29();
 };
 
 class ScummEngine_v7 : public ScummEngine_v6 {

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.9
retrieving revision 2.10
diff -u -d -r2.9 -r2.10
--- script_v90he.cpp	7 Sep 2004 02:53:22 -0000	2.9
+++ script_v90he.cpp	7 Sep 2004 03:42:15 -0000	2.10
@@ -96,7 +96,7 @@
 		OPCODE(o90_unknown27),
 		/* 28 */
 		OPCODE(o90_unknown28),
-		OPCODE(o6_invalid),
+		OPCODE(o90_unknown29),
 		OPCODE(o6_invalid),
 		OPCODE(o6_invalid),
 		/* 2C */
@@ -509,18 +509,67 @@
 	subOp -= 34;
 
 	switch (subOp) {
+		case 0:
+			pop();
+			break;
+		case 1:
+			pop();
+			break;
+		case 3:
+			pop();
+			break;
+		case 8:
+			pop();
+			pop();
+			break;
+		case 9:
+			pop();
+			break;
 		case 10:
 			pop();
 			pop();
 			break;
+		case 18:
+			pop();
+			break;
+		case 19:
+			pop();
+			break;
 		case 23:
 			pop();
 			break;
+		case 29:
+			pop();
+			break;
+		case 31:
+			pop();
+			pop();
+			break;
+		case 34:
+			pop();
+			break;
+		case 43:
+			pop();
+			pop();
+			break;
+		case 48:
+			pop();
+			break;
+		case 90:
+			pop();
+			break;
 		case 124:
 			break;
+		case 164:
+			pop();
+			pop();
+			break;
+		case 183:
+			break;
 		default:
 			error("o90_unknown26: Unknown case %d", subOp);
 	}
+	debug(1,"o90_unknown26 stub (%d)", subOp);
 }
 
 void ScummEngine_v90he::o90_unknown27() {
@@ -549,12 +598,82 @@
 	subOp -= 37;
 
 	switch (subOp) {
+		case 6:
+			pop();
+			break;
+		case 7:
+			pop();
+			pop();
+			break;
 		case 20:
 			pop();
 			break;
+		case 28:
+			pop();
+			pop();
+			break;
+		case 30:
+			pop();
+			pop();
+			pop();
+			pop();
+			break;
 		default:
 			error("o90_unknown28: Unknown case %d", subOp);
 	}
+	debug(1,"o90_unknown28 stub (%d)", subOp);
+}
+
+void ScummEngine_v90he::o90_unknown29() {
+	int subOp = fetchScriptByte();
+	subOp -= 30;
+
+	switch (subOp) {
+		case 0:
+			pop();
+			pop();
+			break;
+		case 1:
+			pop();
+			pop();
+			break;
+		case 2:
+			pop();
+			pop();
+			break;
+		case 3:
+			pop();
+			pop();
+			break;
+		case 6:
+			pop();
+			break;
+		case 15:
+			pop();
+			pop();
+			pop();
+			pop();
+			break;
+		case 36:
+			pop();
+			pop();
+			pop();
+			pop();
+			break;
+		case 100:
+			pop();
+			pop();
+			pop();
+			pop();
+			pop();
+			pop();
+			break;
+		default:
+			error("o90_unknown29: Unknown case %d", subOp);
+	}
+	push(0);
+
+	debug(1,"o90_unknown29 stub (%d)", subOp);
 }
 
 } // End of namespace Scumm





More information about the Scummvm-git-logs mailing list