diff options
Diffstat (limited to 'scumm/script_v90he.cpp')
-rw-r--r-- | scumm/script_v90he.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index eace071dbb..103f4958bb 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -1238,16 +1238,23 @@ void ScummEngine_v90he::o90_getPaletteData() { } void ScummEngine_v90he::o90_paletteOps() { - int subOp = fetchScriptByte(); + int idx, state; + + byte subOp = fetchScriptByte(); subOp -= 57; switch (subOp) { case 0: - pop(); + _hePaletteNum = pop(); break; case 6: - pop(); - pop(); + { + state = pop(); + idx = pop(); + const uint8 *dataPtr = getResourceAddress(rtImage, idx); + const uint8 *pal = findWrappedBlock(MKID('RGBS'), dataPtr, state, 0); + assert(pal); + } break; case 9: pop(); @@ -1274,11 +1281,12 @@ void ScummEngine_v90he::o90_paletteOps() { case 160: break; case 198: + _hePaletteNum = 0; break; default: error("o90_paletteOps: Unknown case %d", subOp); } - debug(1,"o90_paletteOps stub (%d)", subOp); + debug(0,"o90_paletteOps stub (%d)", subOp); } |