aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2002-12-26 02:02:46 +0000
committerMax Horn2002-12-26 02:02:46 +0000
commitf89903a24492f2a79114cb6454c3f2049e272ff1 (patch)
tree8c8a975377b976042998424106e6de01c3d215c4
parenta2340214e9f83979efad0eefd4bea2ebaf2e4a61 (diff)
downloadscummvm-rg350-f89903a24492f2a79114cb6454c3f2049e272ff1.tar.gz
scummvm-rg350-f89903a24492f2a79114cb6454c3f2049e272ff1.tar.bz2
scummvm-rg350-f89903a24492f2a79114cb6454c3f2049e272ff1.zip
added intensity roomops
svn-id: r6164
-rw-r--r--scumm/script_v8.cpp24
1 files changed, 15 insertions, 9 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index c96ea81d2e..1354cb14f1 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -937,13 +937,19 @@ void Scumm_v8::o8_roomOps()
{
// TODO
byte subOp = fetchScriptByte();
- int a;
+ int a, b, c, d, e;
switch (subOp) {
case 0x52: // SO_ROOM_PALETTE Set room palette
- case 0x55: // SO_ROOM_INTENSITY Set room intensity
error("o8_roomOps: default case %d", subOp);
break;
+ case 0x55: // SO_ROOM_INTENSITY Set room intensity
+ // Not used in CMI???
+ c = pop();
+ b = pop();
+ a = pop();
+ darkenPalette(a, a, a, b, c);
+ break;
case 0x57: // SO_ROOM_FADE Fade room
a = pop();
if (a) {
@@ -953,13 +959,13 @@ void Scumm_v8::o8_roomOps()
fadeIn(_newEffect);
}
break;
- case 0x58: // SO_ROOM_RGB_INTENSITY Set room color intensity
- pop();
- pop();
- pop();
- pop();
- pop();
- warning("o8_roomOps: SO_ROOM_RGB_INTENSITY unimplemented");
+ case 0x58: // SO_ROOM_RGB_INTENSITY Set room color intensity
+ e = pop();
+ d = pop();
+ c = pop();
+ b = pop();
+ a = pop();
+ darkenPalette(a, b, c, d, e);
break;
case 0x59: // SO_ROOM_TRANSFORM Transform room
case 0x5A: // SO_ROOM_CYCLE_SPEED Set palette cycling speed