[Scummvm-cvs-logs] CVS: scummvm/scumm script_v100he.cpp,2.71,2.72 script_v90he.cpp,2.171,2.172

kirben kirben at users.sourceforge.net
Wed Mar 2 15:58:09 CET 2005


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

Modified Files:
	script_v100he.cpp script_v90he.cpp 
Log Message:

Sync paletteOps in HE90


Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.71
retrieving revision 2.72
diff -u -d -r2.71 -r2.72
--- script_v100he.cpp	2 Mar 2005 20:02:59 -0000	2.71
+++ script_v100he.cpp	2 Mar 2005 23:57:19 -0000	2.72
@@ -1360,6 +1360,7 @@
 
 void ScummEngine_v100he::o100_paletteOps() {
 	int a, b, c, d, e;
+
 	byte subOp = fetchScriptByte();
 	switch (subOp) {
 	case 0:

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.171
retrieving revision 2.172
diff -u -d -r2.171 -r2.172
--- script_v90he.cpp	2 Mar 2005 20:02:59 -0000	2.171
+++ script_v90he.cpp	2 Mar 2005 23:57:20 -0000	2.172
@@ -1974,12 +1974,6 @@
 
 	switch (subOp) {
 	case 0:
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
 		break;
 	case 7:
 		pop();
@@ -2007,7 +2001,7 @@
 }
 
 void ScummEngine_v90he::o90_paletteOps() {
-	int idx, state;
+	int a, b, c, d, e;
 
 	byte subOp = fetchScriptByte();
 	subOp -= 57;
@@ -2017,37 +2011,57 @@
 		_hePaletteNum = pop();
 		break;
 	case 6:
-		{
-		state = pop();
-		idx = pop();
-		const uint8 *dataPtr = getResourceAddress(rtImage, idx);
-		const uint8 *pal = findWrappedBlock(MKID('RGBS'), dataPtr, state, 0);
-		assert(pal);
+		b = pop();
+		a = pop();
+		if (_hePaletteNum != 0) {
+			setHEPaletteFromImage(_hePaletteNum, a, b);
 		}
 		break;
 	case 9:
-		pop();
-		pop();
-		pop();
-		pop();
-		pop();
+		e = pop();
+		d = pop();
+		c = pop();
+		b = pop();
+		a = pop();
+		if (_hePaletteNum != 0) {
+			for (; a <= b; ++a) {
+				setHEPaletteColor(_hePaletteNum, a, c, d, e);
+			}
+		}
 		break;
 	case 13:
-		pop();
-		pop();
-		pop();
+		c = pop();
+		b = pop();
+		a = pop();
+		if (_hePaletteNum) {
+			for (; a <= b; ++a) {
+				copyHEPaletteColor(_hePaletteNum, a, c);
+			}
+		}
 		break;
 	case 19: //HE99+
-		pop();
+		a = pop();
+		if (_hePaletteNum != 0) {
+			setHEPaletteFromCostume(_hePaletteNum, a);
+		}
 		break;
 	case 29:
-		pop();
+		a = pop();
+		if (_hePaletteNum != 0) {
+			copyHEPalette(_hePaletteNum, a);
+		}
 		break;
 	case 118:
-		pop();
-		pop();
+		b = pop();
+		a = pop();
+		if (_hePaletteNum != 0) {
+			setHEPaletteFromRoom(_hePaletteNum, a, b);
+		}
 		break;
 	case 160:
+		if (_hePaletteNum != 0) {
+			restoreHEPalette(_hePaletteNum);
+		}
 		break;
 	case 198:
 		_hePaletteNum = 0;





More information about the Scummvm-git-logs mailing list