[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.387,2.388 script_v100he.cpp,2.81,2.82

kirben kirben at users.sourceforge.net
Thu Mar 10 02:12:34 CET 2005


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

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

Add HE100 opcode difference for spyfox
Update HE issues


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.387
retrieving revision 2.388
diff -u -d -r2.387 -r2.388
--- intern.h	8 Mar 2005 12:36:32 -0000	2.387
+++ intern.h	10 Mar 2005 10:11:42 -0000	2.388
@@ -1073,6 +1073,7 @@
 	void o100_dim2dimArray();
 	void o100_redim2dimArray();
 	void o100_dimArray();
+	void o100_unknownE0();
 	void o100_drawObject();
 	void o100_setSpriteGroupInfo();
 	void o100_resourceRoutines();

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.81
retrieving revision 2.82
diff -u -d -r2.81 -r2.82
--- script_v100he.cpp	8 Mar 2005 05:56:20 -0000	2.81
+++ script_v100he.cpp	10 Mar 2005 10:11:42 -0000	2.82
@@ -88,7 +88,7 @@
 		/* 24 */
 		OPCODE(o72_drawWizImage),
 		OPCODE(o80_drawWizPolygon),
-		OPCODE(o6_invalid),
+		OPCODE(o100_unknownE0),
 		OPCODE(o100_drawObject),
 		/* 28 */
 		OPCODE(o6_dup),
@@ -812,6 +812,64 @@
 	defineArray(fetchScriptWord(), data, 0, 0, 0, pop());
 }
 
+void ScummEngine_v100he::o100_unknownE0() {
+	// wizImage related
+	int b, c, d, num, x1, y1, type = 0;
+
+	b = pop();
+	num = pop();
+	c = pop();
+	d = pop();
+	y1 = pop();
+	x1 = pop();
+
+	byte subOp = fetchScriptByte();
+
+	switch (subOp) {
+	case 1:
+		{
+		Actor *a = derefActorSafe(num, "o100_unknownE0");
+		int top_actor = a->top;
+		int bottom_actor = a->bottom;
+		a->drawToBackBuf = true;
+		a->needRedraw = true;
+		a->drawActorCostume();
+		a->drawToBackBuf = false;
+		a->needRedraw = true;
+		a->drawActorCostume();
+		a->needRedraw = false;
+
+		if (a->top > top_actor)
+			a->top = top_actor;
+		if (a->bottom < bottom_actor)
+			a->bottom = bottom_actor;
+
+		type = 2;
+		}
+		break;
+	case 20:
+		type = 1;
+		break;
+	case 40:
+		{
+		WizImage wi;
+		wi.flags = 0;
+		wi.y1 = y1;
+		wi.x1 = x1;
+		wi.resNum = num;
+		wi.state = 0;
+		displayWizImage(&wi);
+
+		type = 3;
+		}
+		break;
+	default:
+		error("o100_unknownE0: default case %d", subOp);
+	}
+
+	debug(1,"o100_unknownE0 stub: type %d (%d, num %d, %d, %d, y %d, x %d)", type, b, num, c, d, y1, x1);	
+}
+
 void ScummEngine_v100he::o100_drawObject() {
 	byte subOp = fetchScriptByte();
 	int state, y, x;





More information about the Scummvm-git-logs mailing list