[Scummvm-cvs-logs] CVS: scummvm/scumm intern.h,2.421,2.422 script_v100he.cpp,2.111,2.112 script_v90he.cpp,2.213,2.214

kirben kirben at users.sourceforge.net
Wed Apr 6 16:57:31 CEST 2005


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

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

Add hePalette function.


Index: intern.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/intern.h,v
retrieving revision 2.421
retrieving revision 2.422
diff -u -d -r2.421 -r2.422
--- intern.h	5 Apr 2005 14:42:35 -0000	2.421
+++ intern.h	6 Apr 2005 23:56:50 -0000	2.422
@@ -940,6 +940,7 @@
 	void sortArray(int array, int dim2start, int dim2end, int dim1start, int dim1end, int sortOrder);
 	
 	uint8 *getHEPalette(int palSlot);
+	int getHEPaletteColor(int palSlot, int color);
 	void setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b);
 	void setHEPaletteFromPtr(int palSlot, const uint8 *palData);
 	void setHEPaletteFromCostume(int palSlot, int resId);

Index: script_v100he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v100he.cpp,v
retrieving revision 2.111
retrieving revision 2.112
diff -u -d -r2.111 -r2.112
--- script_v100he.cpp	4 Apr 2005 11:41:14 -0000	2.111
+++ script_v100he.cpp	6 Apr 2005 23:56:50 -0000	2.112
@@ -2430,16 +2430,20 @@
 }
 
 void ScummEngine_v100he::o100_getPaletteData() {
+	int palSlot, color;
+
 	byte subOp = fetchScriptByte();
 
 	switch (subOp) {
 	case 13:
 		pop();
 		pop();
+		push(0);
 		break;
 	case 20:
-		pop();
-		pop();
+		color = pop();
+		palSlot = pop();
+		push(getHEPaletteColor(palSlot, color));
 		break;
 	case 33:
 		pop();
@@ -2448,21 +2452,23 @@
 		pop();
 		pop();
 		pop();
+		push(0);
 		break;
 	case 53:
 		pop();
 		pop();
 		pop();
+		push(0);
 		break;
 	case 73:
 		pop();
 		pop();
 		pop();
+		push(0);
 		break;
 	default:
 		error("o100_getPaletteData: Unknown case %d", subOp);
 	}
-	push(0);
 	debug(0, "o100_getPaletteData stub (%d)", subOp);
 }
 

Index: script_v90he.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v90he.cpp,v
retrieving revision 2.213
retrieving revision 2.214
diff -u -d -r2.213 -r2.214
--- script_v90he.cpp	4 Apr 2005 14:57:28 -0000	2.213
+++ script_v90he.cpp	6 Apr 2005 23:56:50 -0000	2.214
@@ -2139,6 +2139,13 @@
 	}
 }
 
+int ScummEngine_v90he::getHEPaletteColor(int palSlot, int color) {
+	assert(palSlot >= 1 && palSlot <= _numPalettes);
+	assert(color >= 1 && color <= 255);
+
+	return _hePalettes[palSlot * 1024 + 768 + color];
+}
+
 void ScummEngine_v90he::setHEPaletteColor(int palSlot, uint8 color, uint8 r, uint8 g, uint8 b) {
 	assert(palSlot >= 1 && palSlot <= _numPalettes);
 	uint8 *p = _hePalettes + palSlot * 1024 + color * 3;
@@ -2211,6 +2218,8 @@
 }
 
 void ScummEngine_v90he::o90_getPaletteData() {
+	int palSlot, color;
+
 	byte subOp = fetchScriptByte();
 	subOp -= 45;
 
@@ -2221,24 +2230,27 @@
 		pop();
 		pop();
 		pop();
+		push(0);
 		break;
 	case 21:
-		pop();
-		pop();
+		color = pop();
+		palSlot = pop();
+		push(getHEPaletteColor(palSlot, color));
 		break;
 	case 87:
 		pop();
 		pop();
+		push(0);
 		break;
 	case 172:
 		pop();
 		pop();
 		pop();
+		push(0);
 		break;
 	default:
 		error("o90_getPaletteData: Unknown case %d", subOp);
 	}
-	push(0);
 	debug(1,"o90_getPaletteData stub (%d)", subOp);
 }
 





More information about the Scummvm-git-logs mailing list