aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorathrxx2012-04-28 23:48:31 +0200
committerathrxx2012-05-06 12:42:08 +0200
commite7ba09be63a556236bd19c5e89faa524289aced9 (patch)
treee229c4cbd12f1b23662596c995d6ca9a660759a4
parent89ea3e016f8fa35dc220535f5ba5c62b74f11ff6 (diff)
downloadscummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.tar.gz
scummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.tar.bz2
scummvm-rg350-e7ba09be63a556236bd19c5e89faa524289aced9.zip
KYRA: fix bug No. VI. from http://forums.scummvm.org/viewtopic.php?t=11487
(Vaelan's Cube should be able to remove illusionary walls)
-rw-r--r--engines/kyra/lol.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index d7ec965312..d3028c5e2d 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -2894,11 +2894,11 @@ int LoLEngine::processMagicVaelansCube() {
uint8 s = _levelBlockProperties[bl].walls[_currentDirection ^ 2];
uint8 flg = _wllWallFlags[s];
- int v = (s == 47 && (_currentLevel == 17 || _currentLevel == 24)) ? 1 : 0;
- if ((_wllVmpMap[s] == 1 || _wllVmpMap[s] == 2) && (flg & 1) && (_currentLevel == 22)) {
+ int res = (s == 47 && (_currentLevel == 17 || _currentLevel == 24)) ? 1 : 0;
+ if ((_wllVmpMap[s] == 1 || _wllVmpMap[s] == 2) && (!(flg & 1)) && (_currentLevel != 22)) {
memset(_levelBlockProperties[bl].walls, 0, 4);
gui_drawScene(0);
- v = 1;
+ res = 1;
}
uint16 o = _levelBlockProperties[bl].assignedObjects;
@@ -2906,7 +2906,7 @@ int LoLEngine::processMagicVaelansCube() {
LoLMonster *m = &_monsters[o & 0x7fff];
if (m->properties->flags & 0x1000) {
inflictDamage(o, 100, 0xffff, 0, 0x80);
- v = 1;
+ res = 1;
}
o = m->nextAssignedObject;
}
@@ -2922,7 +2922,7 @@ int LoLEngine::processMagicVaelansCube() {
delete[] tmpPal1;
delete[] tmpPal2;
- return v;
+ return res;
}
int LoLEngine::processMagicGuardian(int charNum) {