[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.401,2.402 script_v100he.cpp,2.96,2.97 script_v72he.cpp,2.222,2.223 script_v7he.cpp,2.134,2.135 script_v90he.cpp,2.190,2.191

kirben kirben at users.sourceforge.net
Tue Mar 22 16:17:18 CET 2005


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

Modified Files:
	intern.h script_v100he.cpp script_v72he.cpp script_v7he.cpp 
	script_v90he.cpp 
Log Message:

Add HE90 version of kernelGet/Set opcode and move HE90 specific cases over.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.401
retrieving revision 2.402
diff -u -d -r2.401 -r2.402
--- intern.h	22 Mar 2005 00:46:47 -0000	2.401
+++ intern.h	23 Mar 2005 00:16:49 -0000	2.402
@@ -1047,6 +1047,8 @@
 	void o90_paletteOps();
 	void o90_unknownA5();
 	void o90_getActorAnimProgress();
+	void o90_kernelGetFunctions();
+	void o90_kernelSetFunctions();
 };
 
 class ScummEngine_v100he : public ScummEngine_v90he {

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.96
retrieving revision 2.97
diff -u -d -r2.96 -r2.97
--- script_v100he.cpp	17 Mar 2005 11:11:00 -0000	2.96
+++ script_v100he.cpp	23 Mar 2005 00:16:50 -0000	2.97
@@ -116,7 +116,7 @@
 		OPCODE(o6_wordArrayInc),
 		OPCODE(o6_jump),
 		/* 3C */
-		OPCODE(o70_kernelSetFunctions),
+		OPCODE(o90_kernelSetFunctions),
 		OPCODE(o6_land),
 		OPCODE(o6_le),
 		OPCODE(o60_localizeArrayToScript),
@@ -278,7 +278,7 @@
 		/* BC */
 		OPCODE(o6_isAnyOf),
 		OPCODE(o6_getInventoryCount),
-		OPCODE(o72_kernelGetFunctions),
+		OPCODE(o90_kernelGetFunctions),
 		OPCODE(o90_max),
 		/* C0 */
 		OPCODE(o90_min),

Index: script_v72he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v72he.cpp,v
retrieving revision 2.222
retrieving revision 2.223
diff -u -d -r2.222 -r2.223
--- script_v72he.cpp	22 Mar 2005 20:57:11 -0000	2.222
+++ script_v72he.cpp	23 Mar 2005 00:16:50 -0000	2.223
@@ -1559,23 +1559,6 @@
 		virtScreenSave(ah->data, args[1], args[2], args[3], args[4]);
 		push(readVar(0));
 		break;
-	case 1001:
-		{
-		double a = args[1] * PI / 180.;
-		push((int)(sin(a) * 100000));
-		}
-		break;
-	case 1002:
-		{
-		double a = args[1] * PI / 180.;
-		push((int)(cos(a) * 100000));
-		}
-		break;
-	case 2001:
-		// Used in football
-		push(0);
-		warning("o72_kernelGetFunctions: unhandled case 2001");
-		break;
 	default:
 		error("o72_kernelGetFunctions: default case %d", args[0]);
 	}

Index: script_v7he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v7he.cpp,v
retrieving revision 2.134
retrieving revision 2.135
diff -u -d -r2.134 -r2.135
--- script_v7he.cpp	22 Mar 2005 20:57:11 -0000	2.134
+++ script_v7he.cpp	23 Mar 2005 00:16:51 -0000	2.135
@@ -829,16 +829,6 @@
 		// drawWizImage related
 		warning("o70_kernelSetFunctions: unhandled case 43");
 		break;
-	case 714:
-		break;
-	case 1492:
-		// Used in baseball
-		warning("o70_kernelSetFunctions: unhandled case 1492");
-		break;
-	case 2001:
-		// Used in SoccerMLS/Soccer2004
-		warning("o70_kernelSetFunctions: unhandled case 2001");
-		break;
 	default:
 		error("o70_kernelSetFunctions: default case %d (param count %d)", args[0], num);
 	}

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.190
retrieving revision 2.191
diff -u -d -r2.190 -r2.191
--- script_v90he.cpp	17 Mar 2005 11:06:43 -0000	2.190
+++ script_v90he.cpp	23 Mar 2005 00:16:51 -0000	2.191
@@ -291,8 +291,8 @@
 		OPCODE(o6_distObjectPt),
 		OPCODE(o6_distPtPt),
 		/* C8 */
-		OPCODE(o72_kernelGetFunctions),
-		OPCODE(o70_kernelSetFunctions),
+		OPCODE(o90_kernelGetFunctions),
+		OPCODE(o90_kernelSetFunctions),
 		OPCODE(o6_delayFrames),
 		OPCODE(o6_pickOneOf),
 		/* CC */
@@ -2175,4 +2175,87 @@
 	push(a->getAnimProgress());
 }
 
+void ScummEngine_v90he::o90_kernelGetFunctions() {
+	int args[29];
+	int num;
+	ArrayHeader *ah;
+
+	num = getStackList(args, ARRAYSIZE(args));
+
+	switch (args[0]) {
+	case 1001:
+		{
+		double a = args[1] * PI / 180.;
+		push((int)(sin(a) * 100000));
+		}
+		break;
+	case 1002:
+		{
+		double a = args[1] * PI / 180.;
+		push((int)(cos(a) * 100000));
+		}
+		break;
+	case 2001:
+		// Used in football
+		warning("o90_kernelGetFunctions: U32 code (Num %d, args1 %d args 2 %d)", num, args[1], args[2]);
+		push(0);
+		break;
+	default:
+		error("o90_kernelGetFunctions: default case %d", args[0]);
+	}
+}
+
+void ScummEngine_v90he::o90_kernelSetFunctions() {
+	int args[29];
+	int num;
+	Actor *a;
+
+	num = getStackList(args, ARRAYSIZE(args));
+
+	debug(1, "o90_kernelSetFunctions: case %d (param count %d)", args[0], num);
+	switch (args[0]) {
+	case 20:
+		a = derefActor(args[1], "o90_kernelSetFunctions: 20");
+		queueAuxBlock(a);
+		break;
+	case 21:
+		_skipDrawObject = 1;
+		break;
+	case 22:
+		_skipDrawObject = 0;
+		break;
+	case 23:
+		_charset->clearCharsetMask();
+		_fullRedraw = 1;
+		break;
+	case 24:
+		_skipProcessActors = 1;
+		_fullRedraw = 1;
+		break;
+	case 25:
+		_skipProcessActors = 0;
+		_fullRedraw = 1;
+		break;
+	case 42:
+		// drawWizImage related
+		warning("o90_kernelSetFunctions: unhandled case 42");
+		break;
+	case 43:
+		// drawWizImage related
+		warning("o90_kernelSetFunctions: unhandled case 43");
+		break;
+	case 714:
+		break;
+	case 1492:
+		spriteInfoSet_flag13(args[1], args[2]);
+		break;
+	case 2001:
+		// Used in SoccerMLS/Soccer2004
+		warning("o90_kernelSetFunctions: U32 code (Num %d, args1 %d args 2 %d)", num, args[1], args[2]);
+		break;
+	default:
+		error("o90_kernelSetFunctions: default case %d (param count %d)", args[0], num);
+	}
+}
+
 } // End of namespace Scumm





More information about the Scummvm-git-logs mailing list