diff options
author | Travis Howell | 2005-04-21 16:07:31 +0000 |
---|---|---|
committer | Travis Howell | 2005-04-21 16:07:31 +0000 |
commit | 9d2578eee913090486c1e86225d9f175620ca8c5 (patch) | |
tree | 23653e726e5e61921522e4b571219231353b1736 /scumm/script_v100he.cpp | |
parent | d7f263ff1a7b291af01004cfb8951f27617bfd52 (diff) | |
download | scummvm-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.cpp | 37 |
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); |