diff options
author | strangerke | 2011-04-23 14:39:53 +0200 |
---|---|---|
committer | strangerke | 2011-04-23 14:39:53 +0200 |
commit | 13804db8886b0ba6bc833cf78ff0ccbe0a9b2b9b (patch) | |
tree | 808a82816309dbe2c58f2afd9f9158ed3e6e78b3 | |
parent | 8651f9739f20c1a3cb70b8c060fa411de7b8b451 (diff) | |
download | scummvm-rg350-13804db8886b0ba6bc833cf78ff0ccbe0a9b2b9b.tar.gz scummvm-rg350-13804db8886b0ba6bc833cf78ff0ccbe0a9b2b9b.tar.bz2 scummvm-rg350-13804db8886b0ba6bc833cf78ff0ccbe0a9b2b9b.zip |
TSAGE: Scene 4000: Fix several bugs that were blocking progress to the chimney
-rw-r--r-- | engines/tsage/ringworld_scenes5.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/engines/tsage/ringworld_scenes5.cpp b/engines/tsage/ringworld_scenes5.cpp index cfed7b1990..0ad37ab601 100644 --- a/engines/tsage/ringworld_scenes5.cpp +++ b/engines/tsage/ringworld_scenes5.cpp @@ -680,7 +680,7 @@ void Scene4000::Hotspot::doAction(int action) { case OBJECT_STUNNER: SceneItem::display2(4000, 18); break; - case OBJECT_LADDER: + case OBJECT_LADDER: { _globals->_player.disableControl(); scene->_ladder.postInit(); @@ -692,12 +692,16 @@ void Scene4000::Hotspot::doAction(int action) { if (_globals->_sceneObjects->contains(&scene->_hotspot8)) { scene->_hotspot8.setAction(NULL); - ADD_MOVER_NULL(scene->_hotspot8, 118, 145); +// ADD_MOVER_NULL(scene->_hotspot8, 118, 145); + Common::Point pt(118, 145); + NpcMover *mover = new NpcMover(); + scene->_hotspot18.addMover(mover, &pt, NULL); } scene->_sceneMode = 4004; scene->setAction(&scene->_sequenceManager1, scene, 4011, &_globals->_player, &scene->_ladder, NULL); break; + } default: SceneHotspot::doAction(action); break; @@ -918,7 +922,7 @@ void Scene4000::postInit(SceneObjectList *OwnerList) { break; case 4025: - if (_globals->_inventory._ladder._sceneNumber != 4000) + if (_globals->_inventory._ladder._sceneNumber == 4000) _hotspot8.remove(); _globals->_player.setPosition(Common::Point(260, 185)); @@ -1136,6 +1140,7 @@ void Scene4000::signal() { _globals->_inventory._ladder._sceneNumber = 4000; // Deliberate fall-through case 4007: + _globals->_player._uiEnabled = true; _globals->_events.setCursor(CURSOR_USE); _globals->setFlag(40); break; @@ -1223,7 +1228,7 @@ void Scene4000::dispatch() { if (_globals->_player.getRegionIndex() == 15) _globals->_sceneManager.changeScene(4100); - if ((_globals->_player._position.x > 5) && (_globals->_player._position.y < 100)) { + if ((_globals->_player._position.x <= 5) && (_globals->_player._position.y < 100)) { _globals->_player.disableControl(); if (!_globals->_sceneObjects->contains(&_miranda) || (_miranda._position.y <= 100)) { |