diff options
author | James Brown | 2002-04-20 10:08:48 +0000 |
---|---|---|
committer | James Brown | 2002-04-20 10:08:48 +0000 |
commit | 77957431c09f294321f53634d0874f4a10db0556 (patch) | |
tree | 499c305338896c9e056805d4892d3bdcf95b6483 /script_v1.cpp | |
parent | db2e80383196f6837a618183a1e79b11bf7aab27 (diff) | |
download | scummvm-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.cpp | 18 |
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) |