[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.532,2.533 script_v100he.cpp,2.174,2.175

kirben kirben at users.sourceforge.net
Wed Oct 19 01:45:20 CEST 2005


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

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

Add HE100 version of floodFill.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.532
retrieving revision 2.533
diff -u -d -r2.532 -r2.533
--- intern.h	18 Oct 2005 19:17:20 -0000	2.532
+++ intern.h	19 Oct 2005 08:44:13 -0000	2.533
@@ -1282,6 +1282,7 @@
 	void o100_dimArray();
 	void o100_drawLine();
 	void o100_drawObject();
+	void o100_floodFill();
 	void o100_setSpriteGroupInfo();
 	void o100_resourceRoutines();
 	void o100_wizImageOps();

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.174
retrieving revision 2.175
diff -u -d -r2.174 -r2.175
--- script_v100he.cpp	18 Oct 2005 01:30:21 -0000	2.174
+++ script_v100he.cpp	19 Oct 2005 08:44:14 -0000	2.175
@@ -96,7 +96,7 @@
 		/* 2C */
 		OPCODE(o6_stopObjectCode),
 		OPCODE(o6_eq),
-		OPCODE(o6_invalid),
+		OPCODE(o100_floodFill),
 		OPCODE(o6_freezeUnfreeze),
 		/* 30 */
 		OPCODE(o6_ge),
@@ -864,6 +864,42 @@
 	}
 }
 
+void ScummEngine_v100he::o100_floodFill() {
+	byte subOp = fetchScriptByte();
+	subOp -= 54;
+
+	switch (subOp) {
+	case 0:
+		memset(&_floodFillParams, 0, sizeof(_floodFillParams));
+		_floodFillParams.box.left = 0;
+		_floodFillParams.box.top = 0;
+		_floodFillParams.box.right = 639;
+		_floodFillParams.box.bottom = 479;
+		break;
+	case 6:
+		_floodFillParams.y = pop();
+		_floodFillParams.x = pop();
+		break;
+	case 18:
+		_floodFillParams.box.bottom = pop();
+		_floodFillParams.box.right = pop();
+		_floodFillParams.box.top = pop();
+		_floodFillParams.box.left = pop();
+		break;
+	case 20:
+		_floodFillParams.flags = pop();
+		break;
+	case 67:
+		_floodFillParams.unk1C = pop();
+		break;
+	case 92:
+		floodFill(&_floodFillParams, this);
+		break;
+	default:
+		error("o100_floodFill: Unknown case %d", subOp);
+	}
+}
+
 void ScummEngine_v100he::o100_setSpriteGroupInfo() {
 	byte string[260];
 	int type, value1, value2, value3, value4;





More information about the Scummvm-git-logs mailing list