aboutsummaryrefslogtreecommitdiff
path: root/script_v1.cpp
diff options
context:
space:
mode:
authorJames Brown2002-04-20 10:08:48 +0000
committerJames Brown2002-04-20 10:08:48 +0000
commit77957431c09f294321f53634d0874f4a10db0556 (patch)
tree499c305338896c9e056805d4892d3bdcf95b6483 /script_v1.cpp
parentdb2e80383196f6837a618183a1e79b11bf7aab27 (diff)
downloadscummvm-rg350-77957431c09f294321f53634d0874f4a10db0556.tar.gz
scummvm-rg350-77957431c09f294321f53634d0874f4a10db0556.tar.bz2
scummvm-rg350-77957431c09f294321f53634d0874f4a10db0556.zip
Fix V4/V5 games.
svn-id: r4021
Diffstat (limited to 'script_v1.cpp')
-rw-r--r--script_v1.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/script_v1.cpp b/script_v1.cpp
index 2523097a9f..3e80030bcf 100644
--- a/script_v1.cpp
+++ b/script_v1.cpp
@@ -1,4 +1,4 @@
-/* ScummVM - Scumm Interpreter
+99/* ScummVM - Scumm Interpreter
* Copyright (C) 2001 Ludvig Strigeus
* Copyright (C) 2001/2002 The ScummVM project
*
@@ -1993,9 +1993,17 @@ void Scumm::o5_roomOps()
e = getVarOrDirectByte(0x40);
setScaleItem(e - 1, b, a, d, c);
case 8: /* room scale? */
-// a = getVarOrDirectByte(0x80);
-// b = getVarOrDirectByte(0x40);
-// c = getVarOrDirectByte(0x20);
+ if (_features & GF_SMALL_HEADER) {
+ if (!(_features & GF_OLD256)) {
+ a = getVarOrDirectWord(0x80);
+ b = getVarOrDirectWord(0x40);
+ }
+ c = getVarOrDirectWord(0x20);
+ } else {
+ a = getVarOrDirectByte(0x80);
+ b = getVarOrDirectByte(0x40);
+ c = getVarOrDirectByte(0x20);
+ }
darkenPalette(b, c, a, a, a);
break;
case 9: /* ? */
@@ -2057,7 +2065,7 @@ void Scumm::o5_roomOps()
unkRoomFunc4(b, c, a, d, 1);
break;
- case 16: /* ? */
+ case 16:
a = getVarOrDirectByte(0x80);
b = getVarOrDirectByte(0x40);
if (a < 1)