aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v100he.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-04-21 16:07:31 +0000
committerTravis Howell2005-04-21 16:07:31 +0000
commit9d2578eee913090486c1e86225d9f175620ca8c5 (patch)
tree23653e726e5e61921522e4b571219231353b1736 /scumm/script_v100he.cpp
parentd7f263ff1a7b291af01004cfb8951f27617bfd52 (diff)
downloadscummvm-rg350-9d2578eee913090486c1e86225d9f175620ca8c5.tar.gz
scummvm-rg350-9d2578eee913090486c1e86225d9f175620ca8c5.tar.bz2
scummvm-rg350-9d2578eee913090486c1e86225d9f175620ca8c5.zip
Sync. HE100.
svn-id: r17738
Diffstat (limited to 'scumm/script_v100he.cpp')
-rw-r--r--scumm/script_v100he.cpp37
1 files changed, 21 insertions, 16 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp
index 2cd8136c85..6910e1b905 100644
--- a/scumm/script_v100he.cpp
+++ b/scumm/script_v100he.cpp
@@ -2388,15 +2388,16 @@ void ScummEngine_v100he::o100_getWizData() {
}
void ScummEngine_v100he::o100_getPaletteData() {
+ int b, c, d, e;
int palSlot, color;
byte subOp = fetchScriptByte();
switch (subOp) {
case 13:
- pop();
- pop();
- push(0);
+ c = pop();
+ b = pop();
+ push(getPaletteUnk2(1, b, c));
break;
case 20:
color = pop();
@@ -2404,25 +2405,29 @@ void ScummEngine_v100he::o100_getPaletteData() {
push(getHEPaletteColor(palSlot, color));
break;
case 33:
+ e = pop();
+ d = pop();
+ palSlot = pop();
pop();
- pop();
- pop();
- pop();
- pop();
- pop();
- push(0);
+ c = pop();
+ b = pop();
+ push(getPaletteUnk1(palSlot, b, c, d, e));
break;
case 53:
pop();
- pop();
- pop();
- push(0);
+ c = pop();
+ c = MAX(0, c);
+ c = MIN(c, 255);
+ b = pop();
+ b = MAX(0, b);
+ b = MIN(b, 255);
+ push(getPaletteUnk1(1, b, c, 10, 245));
break;
case 73:
- pop();
- pop();
- pop();
- push(0);
+ c = pop();
+ b = pop();
+ palSlot = pop();
+ push(getPaletteUnk2(palSlot, b, c));
break;
default:
error("o100_getPaletteData: Unknown case %d", subOp);