diff options
author | Travis Howell | 2007-07-28 09:01:29 +0000 |
---|---|---|
committer | Travis Howell | 2007-07-28 09:01:29 +0000 |
commit | d79de5733b9bb5040b36f9da5f09c400e79ec9bd (patch) | |
tree | 0a05e8df0149497d8fa147868040647f6605dd6b | |
parent | fb99c11af28f5f010d741992fd0fa54d1616dcff (diff) | |
download | scummvm-rg350-d79de5733b9bb5040b36f9da5f09c400e79ec9bd.tar.gz scummvm-rg350-d79de5733b9bb5040b36f9da5f09c400e79ec9bd.tar.bz2 scummvm-rg350-d79de5733b9bb5040b36f9da5f09c400e79ec9bd.zip |
Add zone override table for Amiga verison of Waxworks.
svn-id: r28259
-rw-r--r-- | engines/agos/zones.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/engines/agos/zones.cpp b/engines/agos/zones.cpp index a1de03e66c..d40e1da1de 100644 --- a/engines/agos/zones.cpp +++ b/engines/agos/zones.cpp @@ -44,6 +44,25 @@ void AGOSEngine::unfreezeBottom() { _vgaFrozenBase = _vgaRealBase; } +static const uint8 zoneTable[160] = { + 0, 0, 2, 2, 2, 2, 0, 2, 2, 2, + 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 3, 3, 3, 1, 3, 0, 0, 0, 1, 0, + 2, 0, 3, 0, 3, 3, 0, 1, 1, 0, + 1, 2, 2, 2, 0, 2, 2, 2, 0, 2, + 1, 2, 2, 2, 0, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 0, 2, 0, 3, 2, 2, 2, 3, + 2, 3, 3, 3, 1, 3, 3, 1, 1, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, + 0, 2, 0, 2, 2, 2, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, + 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, + 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, +}; + void AGOSEngine::loadZone(uint16 zoneNum) { VgaPointersEntry *vpe; @@ -56,7 +75,13 @@ void AGOSEngine::loadZone(uint16 zoneNum) { // Loading order is important // due to resource managment - loadVGAVideoFile(zoneNum, 2); + if (getPlatform() == Common::kPlatformAmiga && getGameType() == GType_WW && + zoneTable[zoneNum] == 3) { + uint8 num = (zoneNum >= 85) ? 94 : 18; + loadVGAVideoFile(num, 2); + } else { + loadVGAVideoFile(zoneNum, 2); + } vpe->vgaFile2 = _block; vpe->vgaFile2End = _blockEnd; |