From f7d5a825a053199ddbf4d7c564e84e9f9709d958 Mon Sep 17 00:00:00 2001 From: Ľubomír Remák Date: Thu, 22 Feb 2018 23:47:16 +0100 Subject: MUTATIONOFJB: Start implementation of ATN scripts (IF command). --- engines/mutationofjb/mutationofjb.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'engines/mutationofjb/mutationofjb.cpp') diff --git a/engines/mutationofjb/mutationofjb.cpp b/engines/mutationofjb/mutationofjb.cpp index dc7f51869c..cdefbb9833 100644 --- a/engines/mutationofjb/mutationofjb.cpp +++ b/engines/mutationofjb/mutationofjb.cpp @@ -102,12 +102,14 @@ Common::Error MutationOfJBEngine::run() { switch (event.type) { case Common::EVENT_LBUTTONDOWN: { - const SceneInfo &sceneInfo = _gameData->_scenes[_gameData->_currentScene - 1]; - for (int i = 0; i < MIN(ARRAYSIZE(sceneInfo._doors), (int) sceneInfo._noDoors); ++i) { - const Door &door = sceneInfo._doors[i]; - if ((event.mouse.x >= door._x) && (event.mouse.x < door._x + door._width) && (event.mouse.y >= door._y) && (event.mouse.y < door._y + door._height)) { - _gameData->_currentScene = door._destSceneId; - _room->load(_gameData->_currentScene, false); + const Scene* const scene = _gameData->getScene(_gameData->_currentScene); + if (scene) { + for (int i = 0; i < MIN(ARRAYSIZE(scene->_doors), (int) scene->_noDoors); ++i) { + const Door &door = scene->_doors[i]; + if ((event.mouse.x >= door._x) && (event.mouse.x < door._x + door._width) && (event.mouse.y >= door._y) && (event.mouse.y < door._y + door._height)) { + _gameData->_currentScene = door._destSceneId; + _room->load(_gameData->_currentScene, false); + } } } break; -- cgit v1.2.3