aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/zones.cpp
diff options
context:
space:
mode:
authorDavid Corrales2007-08-05 19:34:20 +0000
committerDavid Corrales2007-08-05 19:34:20 +0000
commit6856535010bd2fa4449bcfde1c88dc06cd46e26f (patch)
treeb81a2234c2beff0312c93e039d6cafda4babeca6 /engines/agos/zones.cpp
parent1400d28bfb37fc94f3c44dec0a4d0cef65fb8fb7 (diff)
parentec1803f838d5efc7decf75c05a1fb4a9633751e5 (diff)
downloadscummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.tar.gz
scummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.tar.bz2
scummvm-rg350-6856535010bd2fa4449bcfde1c88dc06cd46e26f.zip
Merged fsnode with trunk: r27971:28460
svn-id: r28462
Diffstat (limited to 'engines/agos/zones.cpp')
-rw-r--r--engines/agos/zones.cpp27
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;