diff options
Diffstat (limited to 'engines/kyra/scene_lol.cpp')
-rw-r--r-- | engines/kyra/scene_lol.cpp | 12 |
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); |