aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-04-07 22:47:38 +0000
committerPaweł Kołodziejski2003-04-07 22:47:38 +0000
commit406b0072e14a655f10c652d990c30944406e5bbb (patch)
tree0a6d33389b667ee0fabcfd203e6070cbdc9deaaf
parent2deb5e9746cdb30b934568228b49c020c1138085 (diff)
downloadscummvm-rg350-406b0072e14a655f10c652d990c30944406e5bbb.tar.gz
scummvm-rg350-406b0072e14a655f10c652d990c30944406e5bbb.tar.bz2
scummvm-rg350-406b0072e14a655f10c652d990c30944406e5bbb.zip
fixed reading Loom index file, and handle gfx for 16 colors games
svn-id: r6937
-rw-r--r--scumm/costume.cpp2
-rw-r--r--scumm/gfx.cpp2
-rw-r--r--scumm/resource_v3.cpp2
3 files changed, 3 insertions, 3 deletions
diff --git a/scumm/costume.cpp b/scumm/costume.cpp
index 9d83621220..04147bf167 100644
--- a/scumm/costume.cpp
+++ b/scumm/costume.cpp
@@ -86,7 +86,7 @@ byte CostumeRenderer::mainRoutine(int slot, int frame) {
byte newAmiCost;
int ex1, ex2;
- newAmiCost = (_vm->_gameId == GID_MONKEY2 || _vm->_gameId == GID_INDY4) && (_vm->_features & GF_AMIGA);
+ newAmiCost = (_vm->_gameId == GID_MONKEY2 || _vm->_gameId == GID_INDY4) && ((_vm->_features & GF_AMIGA) || (_vm->_features & GF_16COLOR));
CHECK_HEAP
_maskval = 0xF;
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 95b9eff0d4..fc6280531f 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -1025,7 +1025,7 @@ bool Gdi::decompressBitmap(byte *bgbak_ptr, byte *smap_ptr, int numLinesToProces
byte code = *smap_ptr++;
assert(numLinesToProcess);
- if (_vm->_features & GF_AMIGA)
+ if ((_vm->_features & GF_AMIGA) || (_vm->_features & GF_16COLOR))
_palette_mod = 16;
else
_palette_mod = 0;
diff --git a/scumm/resource_v3.cpp b/scumm/resource_v3.cpp
index 92f718b8c4..b64ae5ad30 100644
--- a/scumm/resource_v3.cpp
+++ b/scumm/resource_v3.cpp
@@ -39,7 +39,7 @@ void Scumm_v3::readIndexFile() {
warning("The magic id doesn't match (0x%X)\n", magic);
_numGlobalObjects = _fileHandle.readUint16LE();
- _fileHandle.seek(_numGlobalObjects, SEEK_CUR); // Skip object flags
+ _fileHandle.seek(_numGlobalObjects * 4, SEEK_CUR);
_numRooms = _fileHandle.readByte();
_fileHandle.seek(_numRooms * 3, SEEK_CUR);
_numCostumes = _fileHandle.readByte();