From d79de5733b9bb5040b36f9da5f09c400e79ec9bd Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 28 Jul 2007 09:01:29 +0000 Subject: Add zone override table for Amiga verison of Waxworks. svn-id: r28259 --- engines/agos/zones.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3