aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/scene_lol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra/scene_lol.cpp')
-rw-r--r--engines/kyra/scene_lol.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp
index 1d97de0fcc..529abe33a7 100644
--- a/engines/kyra/scene_lol.cpp
+++ b/engines/kyra/scene_lol.cpp
@@ -870,7 +870,7 @@ void LoLEngine::moveParty(uint16 direction, int unk1, int unk2, int buttonShape)
_currentBlock = npos;
_sceneDefaultUpdate = 1;
- calcCoordinates(_partyPosX, _partyPosY, opos, 0x80, 0x80);
+ calcCoordinates(_partyPosX, _partyPosY, _currentBlock, 0x80, 0x80);
_unkFlag &= 0xfdff;
runSceneScript(opos, 4);
@@ -902,11 +902,13 @@ void LoLEngine::moveParty(uint16 direction, int unk1, int unk2, int buttonShape)
gui_toggleButtonDisplayMode(buttonShape, 0);
- runSceneScript(opos, 8);
- runSceneScript(npos, 2);
+ if (npos == _currentBlock) {
+ runSceneScript(opos, 8);
+ runSceneScript(npos, 2);
- if (_levelBlockProperties[npos].walls[0] == 0x1a)
- memset(_levelBlockProperties[npos].walls, 0, 4);
+ if (_levelBlockProperties[npos].walls[0] == 0x1a)
+ memset(_levelBlockProperties[npos].walls, 0, 4);
+ }
}
setLF2(_currentBlock);