diff options
author | Paul Gilbert | 2011-03-05 19:44:12 +1100 |
---|---|---|
committer | Paul Gilbert | 2011-03-05 19:44:12 +1100 |
commit | b8607ae1ce1fdbc7686e073442db76892dea6fec (patch) | |
tree | 8653d60ca1cb1b079fcd14decc8d663602a7e113 /engines | |
parent | d74cc379cc40318da7c55a53a30136e1a1517ce8 (diff) | |
download | scummvm-rg350-b8607ae1ce1fdbc7686e073442db76892dea6fec.tar.gz scummvm-rg350-b8607ae1ce1fdbc7686e073442db76892dea6fec.tar.bz2 scummvm-rg350-b8607ae1ce1fdbc7686e073442db76892dea6fec.zip |
TSAGE: Implemented hotspots for Scene 2100
Diffstat (limited to 'engines')
-rw-r--r-- | engines/tsage/ringworld_logic.h | 2 | ||||
-rw-r--r-- | engines/tsage/ringworld_scenes3.cpp | 805 | ||||
-rw-r--r-- | engines/tsage/ringworld_scenes3.h | 57 |
3 files changed, 547 insertions, 317 deletions
diff --git a/engines/tsage/ringworld_logic.h b/engines/tsage/ringworld_logic.h index 1f481ed4fc..c9a07ff1f1 100644 --- a/engines/tsage/ringworld_logic.h +++ b/engines/tsage/ringworld_logic.h @@ -39,7 +39,7 @@ public: static Scene *createScene(int sceneNumber); }; -class DisplayHotspot: public SceneHotspot { +class DisplayHotspot: public SceneObject { private: Common::Array<int> _actions; bool performAction(int action); diff --git a/engines/tsage/ringworld_scenes3.cpp b/engines/tsage/ringworld_scenes3.cpp index cadfaba820..0a4c4a9892 100644 --- a/engines/tsage/ringworld_scenes3.cpp +++ b/engines/tsage/ringworld_scenes3.cpp @@ -505,7 +505,7 @@ void Scene2100::Action1::signal() { } case 2: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 3: { Common::Point pt(157, 56); @@ -563,7 +563,7 @@ void Scene2100::Action1::signal() { setDelay(1); } else { scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); } @@ -582,7 +582,7 @@ void Scene2100::Action1::signal() { case 7: _globals->_player.setPriority2(-1); scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); break; case 8: _globals->_player.enableControl(); @@ -596,17 +596,17 @@ void Scene2100::Action2::signal() { switch (_actionIndex++) { case 0: - scene->_object10._numFrames = 5; + scene->_object3._numFrames = 5; setDelay(_globals->_randomSource.getRandomNumber(59)); break; case 1: - scene->_object10.animate(ANIM_MODE_5, this); + scene->_object3.animate(ANIM_MODE_5, this); break; case 2: setDelay(_globals->_randomSource.getRandomNumber(59)); break; case 3: - scene->_object10.animate(ANIM_MODE_6, this); + scene->_object3.animate(ANIM_MODE_6, this); _actionIndex = 0; break; } @@ -621,10 +621,10 @@ void Scene2100::Action3::signal() { setDelay(_globals->_randomSource.getRandomNumber(119)); break; case 1: - scene->_object9.animate(ANIM_MODE_5, this); + scene->_object2.animate(ANIM_MODE_5, this); break; case 3: - scene->_object9.animate(ANIM_MODE_6, this); + scene->_object2.animate(ANIM_MODE_6, this); _actionIndex = 0; break; } @@ -667,7 +667,7 @@ void Scene2100::Action5::signal() { setDelay(30); break; case 1: - setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object8, NULL); + setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object1, NULL); break; case 2: { Common::Point pt(272, 127); @@ -676,7 +676,7 @@ void Scene2100::Action5::signal() { break; } case 3: - _globals->_player.checkAngle(&scene->_object10); + _globals->_player.checkAngle(&scene->_object3); setDelay(30); break; case 4: @@ -690,25 +690,25 @@ void Scene2100::Action6::signal() { switch (_actionIndex++) { case 0: { - scene->_object9.setVisage(2806); - scene->_object9.setStrip(1); - scene->_object9.setStrip2(-1); - scene->_object9.changeZoom(-1); - scene->_object9.setPosition(Common::Point(155, 116)); - scene->_object9.setObjectWrapper(new SceneObjectWrapper()); - scene->_object9.setAction(NULL); - scene->_object9.animate(ANIM_MODE_1, NULL); + scene->_object2.setVisage(2806); + scene->_object2.setStrip(1); + scene->_object2.setStrip2(-1); + scene->_object2.changeZoom(-1); + scene->_object2.setPosition(Common::Point(155, 116)); + scene->_object2.setObjectWrapper(new SceneObjectWrapper()); + scene->_object2.setAction(NULL); + scene->_object2.animate(ANIM_MODE_1, NULL); Common::Point pt(130, 116); NpcMover *mover = new NpcMover(); - scene->_object9.addMover(mover, &pt, NULL); + scene->_object2.addMover(mover, &pt, NULL); break; } case 1: { - scene->_object9.setPriority2(-1); + scene->_object2.setPriority2(-1); Common::Point pt(153, 67); NpcMover *mover = new NpcMover(); - scene->_object9.addMover(mover, &pt, NULL); + scene->_object2.addMover(mover, &pt, NULL); break; } case 2: @@ -725,7 +725,7 @@ void Scene2100::Action7::signal() { setDelay(60); break; case 1: - setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object8, NULL); + setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object1, NULL); break; case 2: setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, NULL); @@ -744,7 +744,7 @@ void Scene2100::Action8::signal() { setDelay(60); break; case 1: - setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object8, NULL); + setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object1, NULL); break; case 2: { Common::Point pt(200, 174); @@ -753,7 +753,7 @@ void Scene2100::Action8::signal() { break; } case 3: - _globals->_player.checkAngle(&scene->_object10); + _globals->_player.checkAngle(&scene->_object3); scene->_stripManager.start((_globals->_inventory._translator._sceneNumber == 1) ? 7720 : 7710, this); break; case 4: @@ -780,22 +780,22 @@ void Scene2100::Action9::signal() { break; case 2: scene->_soundHandler.startSound(99); - scene->_object11.unflag100(); - scene->_object11.animate(ANIM_MODE_5, this); + scene->_object4.unflag100(); + scene->_object4.animate(ANIM_MODE_5, this); break; case 3: scene->_soundHandler.startSound(12); - scene->_object11.setStrip(2); + scene->_object4.setStrip(2); scene->_stripManager.start(6051, this, scene); break; case 4: scene->_soundHandler.proc1(false); - scene->_object11.setStrip(1); - scene->_object11.setFrame(scene->_object11.getFrameCount()); - scene->_object11.animate(ANIM_MODE_6, this); + scene->_object4.setStrip(1); + scene->_object4.setFrame(scene->_object4.getFrameCount()); + scene->_object4.animate(ANIM_MODE_6, this); break; case 5: - scene->_object11.flag100(); + scene->_object4.flag100(); _globals->_events.setCursor(CURSOR_WALK); scene->_stripManager.start(6010, this); break; @@ -826,32 +826,32 @@ void Scene2100::Action10::signal() { break; } case 3: - scene->_object10.setVisage(2105); - scene->_object10.setStrip(2); - scene->_object10.setFrame(1); - scene->_object10._numFrames = 10; - scene->_object10.setAction(NULL); - scene->_object10.animate(ANIM_MODE_5, this); + scene->_object3.setVisage(2105); + scene->_object3.setStrip(2); + scene->_object3.setFrame(1); + scene->_object3._numFrames = 10; + scene->_object3.setAction(NULL); + scene->_object3.animate(ANIM_MODE_5, this); break; case 4: { - scene->_object10.setVisage(2705); - scene->_object10.setStrip2(-1); - scene->_object10.changeZoom(-1); - scene->_object10.setPriority2(-1); - scene->_object10.setPosition(Common::Point(260, 156)); - scene->_object10.setObjectWrapper(new SceneObjectWrapper()); - scene->_object10.animate(ANIM_MODE_1, NULL); + scene->_object3.setVisage(2705); + scene->_object3.setStrip2(-1); + scene->_object3.changeZoom(-1); + scene->_object3.setPriority2(-1); + scene->_object3.setPosition(Common::Point(260, 156)); + scene->_object3.setObjectWrapper(new SceneObjectWrapper()); + scene->_object3.animate(ANIM_MODE_1, NULL); Common::Point pt(166, 64); PlayerMover *mover = new PlayerMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); setAction(&scene->_action6, NULL); break; } case 5: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 6: { _globals->_player.setPriority2(1); @@ -861,30 +861,30 @@ void Scene2100::Action10::signal() { break; } case 7: { - scene->_object10.setPriority2(2); + scene->_object3.setPriority2(2); Common::Point pt1(163, 55); NpcMover *mover1 = new NpcMover(); - scene->_object10.addMover(mover1, &pt1, NULL); + scene->_object3.addMover(mover1, &pt1, NULL); - scene->_object9.setPriority2(2); + scene->_object2.setPriority2(2); Common::Point pt2(158, 55); NpcMover *mover2 = new NpcMover(); - scene->_object9.addMover(mover2, &pt2, this); + scene->_object2.addMover(mover2, &pt2, this); break; } case 8: _globals->_player.setPriority2(1); _globals->_player.setStrip(1); - scene->_object10.setPriority2(1); - scene->_object10.setStrip(2); - scene->_object9.setPriority2(2); - scene->_object9.setStrip(3); + scene->_object3.setPriority2(1); + scene->_object3.setStrip(2); + scene->_object2.setPriority2(2); + scene->_object2.setStrip(3); setDelay(45); break; case 9: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); break; case 10: _globals->setFlag(70); @@ -902,57 +902,57 @@ void Scene2100::Action11::signal() { setDelay(60); break; case 1: - scene->_object10._numFrames = 10; - scene->_object10.setAction(NULL); - scene->_object10.setVisage(2105); - scene->_object10.setStrip(2); - scene->_object10.setFrame(1); - scene->_object10.animate(ANIM_MODE_5, this); + scene->_object3._numFrames = 10; + scene->_object3.setAction(NULL); + scene->_object3.setVisage(2105); + scene->_object3.setStrip(2); + scene->_object3.setFrame(1); + scene->_object3.animate(ANIM_MODE_5, this); break; case 2: { - scene->_object10.setVisage(2705); - scene->_object10.setStrip2(-1); - scene->_object10.changeZoom(-1); - scene->_object10.setPriority2(-1); - scene->_object10.setPosition(Common::Point(260, 156)); - scene->_object10.setObjectWrapper(new SceneObjectWrapper()); - scene->_object10.animate(ANIM_MODE_1, NULL); + scene->_object3.setVisage(2705); + scene->_object3.setStrip2(-1); + scene->_object3.changeZoom(-1); + scene->_object3.setPriority2(-1); + scene->_object3.setPosition(Common::Point(260, 156)); + scene->_object3.setObjectWrapper(new SceneObjectWrapper()); + scene->_object3.animate(ANIM_MODE_1, NULL); Common::Point pt(158, 62); PlayerMover *mover = new PlayerMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); setAction(&scene->_action6, NULL); break; } case 3: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 4: { - scene->_object10.setPriority2(1); + scene->_object3.setPriority2(1); Common::Point pt1(163, 55); NpcMover *mover1 = new NpcMover(); - scene->_object10.addMover(mover1, &pt1, NULL); + scene->_object3.addMover(mover1, &pt1, NULL); - scene->_object9.setPriority2(1); + scene->_object2.setPriority2(1); Common::Point pt2(158, 55); NpcMover *mover2 = new NpcMover(); - scene->_object9.addMover(mover2, &pt2, this); + scene->_object2.addMover(mover2, &pt2, this); break; } case 5: - scene->_object10.setStrip(2); - scene->_object9.setStrip(3); + scene->_object3.setStrip(2); + scene->_object2.setStrip(3); setDelay(45); break; case 6: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); break; case 7: - scene->_object10.remove(); - scene->_object9.remove(); + scene->_object3.remove(); + scene->_object2.remove(); _globals->setFlag(70); _globals->_stripNum = 2102; _globals->_player.enableControl(); @@ -973,7 +973,7 @@ void Scene2100::Action12::signal() { break; case 2: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 3: { Common::Point pt1(158, 74); @@ -982,27 +982,27 @@ void Scene2100::Action12::signal() { Common::Point pt2(158, 68); NpcMover *mover2 = new NpcMover(); - scene->_object9.addMover(mover2, &pt2, NULL); + scene->_object2.addMover(mover2, &pt2, NULL); break; } case 4: { scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, NULL); + scene->_object1.animate(ANIM_MODE_6, NULL); _globals->_player.setPriority2(-1); Common::Point pt1(277, 84); PlayerMover *mover1 = new PlayerMover(); _globals->_player.addMover(mover1, &pt1, this); - scene->_object9.setPriority2(-1); + scene->_object2.setPriority2(-1); Common::Point pt2(255, 76); PlayerMover *mover2 = new PlayerMover(); - scene->_object9.addMover(mover2, &pt2, this); + scene->_object2.addMover(mover2, &pt2, this); break; } case 6: _globals->_player.setStrip(4); - scene->_object9.setStrip(4); + scene->_object2.setStrip(4); setDelay(60); break; case 7: @@ -1016,7 +1016,7 @@ void Scene2100::Action12::signal() { break; case 9: _globals->_events.setCursor(OBJECT_STUNNER); - scene->_object9.setAction(&scene->_action13); + scene->_object2.setAction(&scene->_action13); setDelay(60); break; case 10: @@ -1052,25 +1052,25 @@ void Scene2100::Action13::signal() { setDelay(6); break; case 1: { - scene->_object9.setPriority2(113); + scene->_object2.setPriority2(113); Common::Point pt(178, 116); PlayerMover *mover = new PlayerMover(); - scene->_object9.addMover(mover, &pt, this); + scene->_object2.addMover(mover, &pt, this); break; } case 2: { Common::Point pt(150, 116); NpcMover *mover = new NpcMover(); - scene->_object9.addMover(mover, &pt, this); + scene->_object2.addMover(mover, &pt, this); break; } case 3: - scene->_object9.setVisage(2108); - scene->_object9._strip = 3; - scene->_object9.setPosition(Common::Point(150, 100)); - scene->_object9.animate(ANIM_MODE_NONE, NULL); - scene->_object9.changeZoom(100); - scene->_object9.setAction(&scene->_action3); + scene->_object2.setVisage(2108); + scene->_object2._strip = 3; + scene->_object2.setPosition(Common::Point(150, 100)); + scene->_object2.animate(ANIM_MODE_NONE, NULL); + scene->_object2.changeZoom(100); + scene->_object2.setAction(&scene->_action3); setDelay(15); break; case 4: @@ -1087,7 +1087,7 @@ void Scene2100::Action14::signal() { setDelay(6); break; case 1: - setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object8, NULL); + setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object1, NULL); break; case 2: setAction(&scene->_sequenceManager, this, 2101, &_globals->_player, NULL); @@ -1097,61 +1097,61 @@ void Scene2100::Action14::signal() { break; case 4: scene->_soundHandler.startSound(99); - scene->_object11.unflag100(); - scene->_object11.animate(ANIM_MODE_5, this); + scene->_object4.unflag100(); + scene->_object4.animate(ANIM_MODE_5, this); break; case 5: - scene->_object11.setStrip(2); + scene->_object4.setStrip(2); scene->_stripManager.start(6009, this, scene); break; case 6: scene->_soundHandler.proc1(false); - scene->_object11.setStrip(1); - scene->_object11.setFrame(scene->_object11.getFrameCount()); - scene->_object11.animate(ANIM_MODE_6, this); + scene->_object4.setStrip(1); + scene->_object4.setFrame(scene->_object4.getFrameCount()); + scene->_object4.animate(ANIM_MODE_6, this); break; case 7: scene->_stripManager.start(6060, this); break; case 8: - scene->_object10._numFrames = 10; - scene->_object10.setAction(NULL); - scene->_object10.setVisage(2105); - scene->_object10.setStrip(2); - scene->_object10.setFrame(1); - scene->_object10.animate(ANIM_MODE_5, this); + scene->_object3._numFrames = 10; + scene->_object3.setAction(NULL); + scene->_object3.setVisage(2105); + scene->_object3.setStrip(2); + scene->_object3.setFrame(1); + scene->_object3.animate(ANIM_MODE_5, this); break; case 9: { - scene->_object10.setVisage(2705); - scene->_object10.setStrip2(-1); - scene->_object10.changeZoom(-1); - scene->_object10.setPriority2(-1); - scene->_object10.setPosition(Common::Point(260, 156)); - scene->_object10.setObjectWrapper(new SceneObjectWrapper()); - scene->_object10.animate(ANIM_MODE_1, NULL); + scene->_object3.setVisage(2705); + scene->_object3.setStrip2(-1); + scene->_object3.changeZoom(-1); + scene->_object3.setPriority2(-1); + scene->_object3.setPosition(Common::Point(260, 156)); + scene->_object3.setObjectWrapper(new SceneObjectWrapper()); + scene->_object3.animate(ANIM_MODE_1, NULL); Common::Point pt(157, 65); PlayerMover *mover = new PlayerMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 10: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 11: { Common::Point pt(159, 51); NpcMover *mover = new NpcMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 12: - scene->_object10.setStrip(2); + scene->_object3.setStrip(2); setDelay(30); case 13: - scene->_object10.setPriority2(1); + scene->_object3.setPriority2(1); scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); break; case 14: setDelay(90); @@ -1171,54 +1171,54 @@ void Scene2100::Action15::signal() { setDelay(6); break; case 1: - scene->_object10.postInit(); - scene->_object10.setVisage(2705); - scene->_object10.animate(ANIM_MODE_1, NULL); - scene->_object10.setObjectWrapper(new SceneObjectWrapper()); - scene->_object10.setPosition(Common::Point(157, 56)); - scene->_object10.setPriority2(1); - scene->_object10.changeZoom(-1); + scene->_object3.postInit(); + scene->_object3.setVisage(2705); + scene->_object3.animate(ANIM_MODE_1, NULL); + scene->_object3.setObjectWrapper(new SceneObjectWrapper()); + scene->_object3.setPosition(Common::Point(157, 56)); + scene->_object3.setPriority2(1); + scene->_object3.changeZoom(-1); scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 2: { - scene->_object10.setPriority2(-1); + scene->_object3.setPriority2(-1); Common::Point pt(177, 68); NpcMover *mover = new NpcMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 3: { scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); Common::Point pt(272, 140); NpcMover *mover = new NpcMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 4: { Common::Point pt(266, 150); NpcMover *mover = new NpcMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 5: { - scene->_object10.setPriority2(156); + scene->_object3.setPriority2(156); Common::Point pt(260, 156); NpcMover *mover = new NpcMover(); - scene->_object10.addMover(mover, &pt, this); + scene->_object3.addMover(mover, &pt, this); break; } case 6: - scene->_object10.setVisage(2105); - scene->_object10._strip = 1; - scene->_object10._frame = 1; - scene->_object10.setPosition(Common::Point(256, 156)); - scene->_object10.animate(ANIM_MODE_5, this); - scene->_object10.changeZoom(100); + scene->_object3.setVisage(2105); + scene->_object3._strip = 1; + scene->_object3._frame = 1; + scene->_object3.setPosition(Common::Point(256, 156)); + scene->_object3.animate(ANIM_MODE_5, this); + scene->_object3.changeZoom(100); scene->_object3.animate(ANIM_MODE_NONE, NULL); break; @@ -1251,7 +1251,7 @@ void Scene2100::Action16::signal() { } case 5: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_5, this); + scene->_object1.animate(ANIM_MODE_5, this); break; case 6: { Common::Point pt(160, 54); @@ -1266,7 +1266,7 @@ void Scene2100::Action16::signal() { break; case 8: scene->_soundHandler.startSound(162); - scene->_object8.animate(ANIM_MODE_6, this); + scene->_object1.animate(ANIM_MODE_6, this); break; case 9: _globals->setFlag(15); @@ -1285,7 +1285,7 @@ void Scene2100::Action17::signal() { setDelay(60); break; case 1: - setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object8, NULL); + setAction(&scene->_sequenceManager, this, 2104, &_globals->_player, &scene->_object1, NULL); break; case 2: setAction(&scene->_sequenceManager, this, 2101, &_globals->_player, NULL); @@ -1295,19 +1295,19 @@ void Scene2100::Action17::signal() { break; case 4: scene->_soundHandler.startSound(99); - scene->_object11.unflag100(); - scene->_object11.animate(ANIM_MODE_5, this); + scene->_object4.unflag100(); + scene->_object4.animate(ANIM_MODE_5, this); break; case 5: scene->_soundHandler.startSound(12); - scene->_object11.setStrip(2); + scene->_object4.setStrip(2); scene->_stripManager.start(7071, this, scene); break; case 6: scene->_soundHandler.proc1(NULL); - scene->_object11.setStrip(1); - scene->_object11.setFrame(scene->_object11.getFrameCount()); - scene->_object11.animate(ANIM_MODE_6, this); + scene->_object4.setStrip(1); + scene->_object4.setFrame(scene->_object4.getFrameCount()); + scene->_object4.animate(ANIM_MODE_6, this); break; case 7: scene->_stripManager.start(7072, this); @@ -1321,8 +1321,8 @@ void Scene2100::Action17::signal() { } /*--------------------------------------------------------------------------*/ -/* -void Scene2100::Object1::doAction(int action) { + +void Scene2100::Hotspot2::doAction(int action) { Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; switch (action) { @@ -1334,7 +1334,184 @@ void Scene2100::Object1::doAction(int action) { SceneItem::display2(2100, 29); else { _globals->_player.disableControl(); - scene->setAction(&_action4); + scene->setAction(&scene->_action4); + } + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Hotspot3::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 4); + break; + case CURSOR_USE: + if (_globals->getFlag(13)) + SceneItem::display2(2100, 29); + else { + _globals->_player.disableControl(); + scene->setAction(&scene->_action4); + } + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Hotspot4::doAction(int action) { + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 5); + break; + case CURSOR_USE: + SceneItem::display2(2100, 6); + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Hotspot8::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 12); + break; + case CURSOR_USE: + if (_globals->getFlag(13)) + SceneItem::display2(2100, 29); + else { + _globals->_player.disableControl(); + scene->setAction(&scene->_action4); + } + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Hotspot10::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 13); + break; + case CURSOR_USE: + if (scene->_field1800) { + _globals->_player.disableControl(); + scene->_sceneMode = 2102; + scene->setAction(&scene->_sequenceManager, scene, 2102, &_globals->_player, NULL); + } else if (_globals->getFlag(13)) { + SceneItem::display2(2100, 28); + } else { + scene->setAction(&scene->_sequenceManager, scene, 2101, &_globals->_player, NULL); + } + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Hotspot14::doAction(int action) { + switch (action) { + case CURSOR_LOOK: + if (_globals->getFlag(0)) + SceneItem::display2(2100, 19); + else + SceneItem::display2(2100, 18); + break; + case CURSOR_USE: + if (_globals->getFlag(1)) + SceneItem::display2(2100, 21); + else + SceneItem::display2(2100, 20); + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Object1::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 1); + break; + case CURSOR_USE: + scene->setAction(&scene->_action4); + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Object2::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + SceneItem::display2(2100, 30); + break; + case CURSOR_USE: + if (_globals->getFlag(72)) { + _globals->_player.disableControl(); + if (!_globals->getFlag(52)) + scene->setAction(&scene->_sequenceManager, scene, 2111, NULL); + else { + scene->_sceneMode = _globals->getFlag(53) ? 2112 : 2110; + scene->setAction(&scene->_sequenceManager, scene, scene->_sceneMode, NULL); + } + } else { + if (_globals->getFlag(14)) + SceneItem::display2(2100, 32); + else { + _globals->setFlag(14); + _globals->_player.disableControl(); + scene->_sceneMode = 2108; + scene->setAction(&scene->_sequenceManager, scene, 2109, NULL); + } + } + + scene->setAction(&scene->_action4); + break; + default: + SceneHotspot::doAction(action); + break; + } +} + +void Scene2100::Object3::doAction(int action) { + Scene2100 *scene = (Scene2100 *)_globals->_sceneManager._scene; + + switch (action) { + case CURSOR_LOOK: + if (_globals->getFlag(59)) + SceneItem::display2(2100, 34); + else + error("***I have no response."); + break; + + case CURSOR_TALK: + if (_globals->getFlag(59)) { + _globals->_player.disableControl(); + scene->_sceneMode = 2108; + scene->setAction(&scene->_sequenceManager, scene, 2108, NULL); + } else { + error("***I have no response."); } break; default: @@ -1342,7 +1519,6 @@ void Scene2100::Object1::doAction(int action) { break; } } -*/ /*--------------------------------------------------------------------------*/ @@ -1423,7 +1599,15 @@ void Scene2100::SceneArea::synchronise(Serialiser &s) { /*--------------------------------------------------------------------------*/ Scene2100::Scene2100(): - _hotspot1(0, 2100, 2, LIST_END) { + _hotspot1(0, CURSOR_LOOK, 2100, 2, LIST_END), + _hotspot5(0, CURSOR_LOOK, 2100, 9, LIST_END), + _hotspot6(0, CURSOR_LOOK, 2100, 7, CURSOR_USE, 2100, 8, LIST_END), + _hotspot7(0, CURSOR_LOOK, 2100, 7, CURSOR_USE, 2100, 11, LIST_END), + _hotspot9(0, CURSOR_LOOK, 2100, 14, LIST_END), + _hotspot11(0, CURSOR_LOOK, 2100, 15, CURSOR_USE, 2100, 16, LIST_END), + _hotspot12(0, CURSOR_LOOK, 2100, 24, CURSOR_USE, 2100, 25, LIST_END), + _hotspot13(0, CURSOR_LOOK, 2100, 17, LIST_END), + _hotspot15(0, CURSOR_LOOK, 2100, 22, CURSOR_USE, 2100, 23, LIST_END) { } void Scene2100::postInit(SceneObjectList *OwnerList) { @@ -1441,111 +1625,112 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _stripManager.addSpeaker(&_speakerSAL); _stripManager.addSpeaker(&_speakerHText); _stripManager.addSpeaker(&_speakerGameText); - _speakerMText._npc = &_object10; + _speakerMText._npc = &_object3; _speakerQText._npc = &_globals->_player; - _speakerSText._npc = &_object9; + _speakerSText._npc = &_object2; - _object8.postInit(); - _object8.setVisage(2100); - _object8.animate(ANIM_MODE_NONE, NULL); - _object8.setPosition(Common::Point(157, 57)); - _object8.setPriority(5); - - _object2.postInit(); - _object2.setVisage(2101); - _object2._frame = 1; - _object2.animate(ANIM_MODE_2, NULL); - _object2.setPosition(Common::Point(53, 44)); - _object2.changeZoom(100); - _object2.setPriority2(1); - - _object3.postInit(); - _object3.setVisage(2101); - _object3._frame = 1; - _object3._strip = 3; - _object3.animate(ANIM_MODE_8, 0, NULL); - _object3.setPosition(Common::Point(274, 52)); - _object3.changeZoom(100); - _object3.setPriority2(1); - - _object4.postInit(); - _object4.setVisage(2101); - _object4._frame = 1; - _object4._strip = 4; - _object4.animate(ANIM_MODE_8, 0, NULL); - _object4.setPosition(Common::Point(219, 141)); - _object4.changeZoom(100); - _object4.setPriority2(160); - - _object5.postInit(); - _object5.setVisage(2101); - _object5._frame = 1; - _object5._strip = 5; - _object5.setPriority2(175); - _object5.animate(ANIM_MODE_8, 0, NULL); - _object5.setPosition(Common::Point(97, 142)); - _object5.changeZoom(100); - - _object6.postInit(); - _object6.setVisage(2101); - _object6._frame = 1; - _object6._strip = 6; - _object6.animate(ANIM_MODE_NONE, NULL); - _object6.setPosition(Common::Point(133, 46)); - _object6.changeZoom(100); - _object6.setPriority2(1); - - _object7.postInit(); - _object7.setVisage(2101); - _object7._frame = 1; - _object7._strip = 7; - _object7.animate(ANIM_MODE_8, 0, NULL); - _object7.setPosition(Common::Point(20, 45)); - _object7.changeZoom(100); - _object7.setPriority2(1); - _object1.postInit(); - _object1.setVisage(2101); - _object1._frame = 1; - _object1._strip = 7; - _object1.animate(ANIM_MODE_8, 0, NULL); - _object1.setPosition(Common::Point(88, 41)); - _object1.changeZoom(100); - _object1.setPriority2(1); - - _hotspot4.setBounds(Rect(139, 74, 173, 96)); - _hotspot3.setBounds(Rect(71, 100, 91, 135)); - _hotspot7.setBounds(Rect(100, 97, 216, 130)); - _hotspot6.setBounds(Rect(13, 124, 94, 168)); - _hotspot5.setBounds(Rect(217, 141, 307, 155)); - _hotspot8.setBounds(Rect(14, 90, 46, 107)); + _object1.setVisage(2100); + _object1.animate(ANIM_MODE_NONE, NULL); + _object1.setPosition(Common::Point(157, 57)); + _object1.setPriority(5); + + _hotspot3.postInit(); + _hotspot3.setVisage(2101); + _hotspot3._frame = 1; + _hotspot3.animate(ANIM_MODE_2, NULL); + _hotspot3.setPosition(Common::Point(53, 44)); + _hotspot3.changeZoom(100); + _hotspot3.setPriority2(1); + + _hotspot4.postInit(); + _hotspot4.setVisage(2101); + _hotspot4._frame = 1; + _hotspot4._strip = 3; + _hotspot4.animate(ANIM_MODE_8, 0, NULL); + _hotspot4.setPosition(Common::Point(274, 52)); + _hotspot4.changeZoom(100); + _hotspot4.setPriority2(1); + + _hotspot5.postInit(); + _hotspot5.setVisage(2101); + _hotspot5._frame = 1; + _hotspot5._strip = 4; + _hotspot5.animate(ANIM_MODE_8, 0, NULL); + _hotspot5.setPosition(Common::Point(219, 141)); + _hotspot5.changeZoom(100); + _hotspot5.setPriority2(160); + + _hotspot6.postInit(); + _hotspot6.setVisage(2101); + _hotspot6._frame = 1; + _hotspot6._strip = 5; + _hotspot6.setPriority2(175); + _hotspot6.animate(ANIM_MODE_8, 0, NULL); + _hotspot6.setPosition(Common::Point(97, 142)); + _hotspot6.changeZoom(100); + + _hotspot7.postInit(); + _hotspot7.setVisage(2101); + _hotspot7._frame = 1; + _hotspot7._strip = 6; + _hotspot7.animate(ANIM_MODE_NONE, NULL); + _hotspot7.setPosition(Common::Point(133, 46)); + _hotspot7.changeZoom(100); + _hotspot7.setPriority2(1); + + _hotspot8.postInit(); + _hotspot8.setVisage(2101); + _hotspot8._frame = 1; + _hotspot8._strip = 7; + _hotspot8.animate(ANIM_MODE_8, 0, NULL); + _hotspot8.setPosition(Common::Point(20, 45)); + _hotspot8.changeZoom(100); + _hotspot8.setPriority2(1); + + _hotspot2.postInit(); + _hotspot2.setVisage(2101); + _hotspot2._frame = 1; + _hotspot2._strip = 7; + _hotspot2.animate(ANIM_MODE_8, 0, NULL); + _hotspot2.setPosition(Common::Point(88, 41)); + _hotspot2.changeZoom(100); + _hotspot2.setPriority2(1); + + _hotspot11.setBounds(Rect(139, 74, 173, 96)); + _hotspot10.setBounds(Rect(71, 100, 91, 135)); + _hotspot9.setBounds(Rect(225, 110, 251, 136)); + _hotspot14.setBounds(Rect(100, 97, 216, 130)); + _hotspot13.setBounds(Rect(13, 124, 94, 168)); + _hotspot12.setBounds(Rect(217, 141, 307, 155)); + _hotspot15.setBounds(Rect(14, 90, 46, 107)); _hotspot1.setBounds(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); if (!_globals->getFlag(36) && !_globals->getFlag(70) && !_globals->getFlag(43)) { - _object10.postInit(); - _object10.setPosition(Common::Point(246, 156)); - _object10.animate(ANIM_MODE_NONE, NULL); - _object10.changeZoom(100); - _object10.setPriority2(156); - _object10.setVisage(2107); - _object10.setStrip(1); - _object10.setAction(&_action2); - _globals->_sceneItems.push_back(&_object10); + _object3.postInit(); + _object3.setPosition(Common::Point(246, 156)); + _object3.animate(ANIM_MODE_NONE, NULL); + _object3.changeZoom(100); + _object3.setPriority2(156); + _object3.setVisage(2107); + _object3.setStrip(1); + _object3.setAction(&_action2); + _globals->_sceneItems.push_back(&_object3); } if (!_globals->getFlag(59) && !_globals->getFlag(70) && !_globals->getFlag(37) && !_globals->getFlag(114)) { - _object9.postInit(); - _object9.setPosition(Common::Point(150, 100)); - _object9.animate(ANIM_MODE_NONE, NULL); - _object9.changeZoom(100); - _object9.setPriority2(113); - _object9.setAction(&_action3); - _globals->_sceneItems.push_back(&_object9); + _object2.postInit(); + _object2.setPosition(Common::Point(150, 100)); + _object2.animate(ANIM_MODE_NONE, NULL); + _object2.changeZoom(100); + _object2.setPriority2(113); + _object2.setAction(&_action3); + _globals->_sceneItems.push_back(&_object2); } - _globals->_sceneItems.addItems(&_hotspot8, &_hotspot4, &_hotspot3, &_hotspot2, &_hotspot7, &_hotspot6, - &_hotspot5, &_object7, &_object8, &_object1, &_object2, &_object3, &_object4, &_object5, &_object6, - &_hotspot1, NULL); + _globals->_sceneItems.addItems(&_hotspot15, &_hotspot11, &_hotspot10, &_hotspot9, &_hotspot14, + &_hotspot13, &_hotspot12, &_hotspot8, &_object1, &_hotspot2, &_hotspot3, &_hotspot4, &_hotspot5, + &_hotspot6, &_hotspot7, &_hotspot1, NULL); _area1.setup(2153, 2, 1, 2100); _area1._pt = Common::Point(200, 31); @@ -1569,7 +1754,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { case 2120: _globals->_soundHandler.startSound(160); _globals->_soundHandler.proc5(true); - _object8.setPriority2(-1); + _object1.setPriority2(-1); _globals->_player.setPriority2(-1); _globals->_player.setPosition(Common::Point(80, 66)); _globals->_player.enableControl(); @@ -1578,52 +1763,52 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(157, 56)); _sceneMode = 2104; - setAction(&_sequenceManager, this, 2104, &_globals->_player, &_object8, NULL); + setAction(&_sequenceManager, this, 2104, &_globals->_player, &_object1, NULL); break; case 2222: - if (_globals->_sceneObjects->contains(&_object10)) - _object10.remove(); + if (_globals->_sceneObjects->contains(&_object3)) + _object3.remove(); _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(144, 55)); - _object9.setVisage(2806); - _object9.changeZoom(-1); - _object9.setPosition(Common::Point(158, 55)); - _object9.setPriority2(1); - _object9.setAction(NULL); - _object9.setObjectWrapper(new SceneObjectWrapper()); - _object9.animate(ANIM_MODE_1, NULL); - _object9.setStrip(3); + _object2.setVisage(2806); + _object2.changeZoom(-1); + _object2.setPosition(Common::Point(158, 55)); + _object2.setPriority2(1); + _object2.setAction(NULL); + _object2.setObjectWrapper(new SceneObjectWrapper()); + _object2.animate(ANIM_MODE_1, NULL); + _object2.setStrip(3); setAction(&_action12); break; case 2320: if (_globals->_stripNum == 2321) { - if (_globals->_sceneObjects->contains(&_object10)) - _object10.remove(); + if (_globals->_sceneObjects->contains(&_object3)) + _object3.remove(); _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(144, 55)); - _object9.postInit(); - _object9.setVisage(2806); - _object9.setStrip(1); - _object9.changeZoom(-1); - _object9.setPosition(Common::Point(158, 55)); - _object9.setPriority2(1); - _object9.setAction(NULL); - _object9.setObjectWrapper(new SceneObjectWrapper()); - _object9.animate(ANIM_MODE_1, NULL); + _object2.postInit(); + _object2.setVisage(2806); + _object2.setStrip(1); + _object2.changeZoom(-1); + _object2.setPosition(Common::Point(158, 55)); + _object2.setPriority2(1); + _object2.setAction(NULL); + _object2.setObjectWrapper(new SceneObjectWrapper()); + _object2.animate(ANIM_MODE_1, NULL); setAction(&_action12); } else if (_globals->_stripNum == 6100) { _globals->_player.setPosition(Common::Point(157, 56)); _globals->_player.setPriority2(1); - _object11.postInit(); - _object11.setVisage(2102); - _object11.setPosition(Common::Point(160, 199)); - _object11.flag100(); + _object4.postInit(); + _object4.setVisage(2102); + _object4.setPosition(Common::Point(160, 199)); + _object4.flag100(); setAction(&_action14); } else { @@ -1631,7 +1816,7 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPosition(Common::Point(157, 56)); _sceneMode = 2104; - setAction(&_sequenceManager, this, 2104, &_globals->_player, &_object8, NULL); + setAction(&_sequenceManager, this, 2104, &_globals->_player, &_object1, NULL); } break; case 3700: @@ -1639,8 +1824,8 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_soundHandler.proc5(true); Scene::setZoomPercents(80, 75, 100, 90); - if (_globals->_sceneObjects->contains(&_object9)) - _object9.remove(); + if (_globals->_sceneObjects->contains(&_object2)) + _object2.remove(); _globals->_player._angle = 225; _globals->_player.setStrip(6); @@ -1648,10 +1833,10 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPriority2(-1); _globals->_player.setPosition(Common::Point(272, 127)); - _object10.setPosition(Common::Point(246, 156)); - _object10.setPriority2(156); + _object3.setPosition(Common::Point(246, 156)); + _object3.setPriority2(156); _sceneMode = 2105; - setAction(&_sequenceManager, this, 2105, &_object10, NULL); + setAction(&_sequenceManager, this, 2105, &_object3, NULL); break; case 4250: _globals->_soundHandler.startSound(160); @@ -1664,28 +1849,28 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPriority2(152); _globals->_player.setStrip(2); - _object11.postInit(); - _object11.setVisage(2102); - _object11.setPosition(Common::Point(160, 199)); - _object11.flag100(); + _object4.postInit(); + _object4.setVisage(2102); + _object4.setPosition(Common::Point(160, 199)); + _object4.flag100(); _sceneMode = 2107; - setAction(&_sequenceManager, this, 2107, &_object11, NULL); + setAction(&_sequenceManager, this, 2107, &_object4, NULL); break; case 5000: _globals->_soundHandler.startSound(160); _globals->_soundHandler.proc5(true); - if (_globals->_sceneObjects->contains(&_object9)) - _object9.remove(); + if (_globals->_sceneObjects->contains(&_object2)) + _object2.remove(); _globals->_player.setStrip(3); _globals->_player.setFrame(1); _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(157, 56)); - _object10.setPosition(Common::Point(246, 156)); - _object10.setPriority2(156); + _object3.setPosition(Common::Point(246, 156)); + _object3.setPriority2(156); setAction(&_action5); break; @@ -1700,10 +1885,10 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _field1800 = 1; - _object11.postInit(); - _object11.setVisage(2102); - _object11.setPosition(Common::Point(160, 199)); - _object11.flag100(); + _object4.postInit(); + _object4.setVisage(2102); + _object4.setPosition(Common::Point(160, 199)); + _object4.flag100(); _globals->_inventory._stasisBox._sceneNumber = 0; setAction(&_action9); @@ -1716,10 +1901,10 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(157, 56)); - _object11.postInit(); - _object11.setVisage(2102); - _object11.setPosition(Common::Point(160, 199)); - _object11.flag100(); + _object4.postInit(); + _object4.setVisage(2102); + _object4.setPosition(Common::Point(160, 199)); + _object4.flag100(); _globals->clearFlag(15); _globals->clearFlag(109); _globals->clearFlag(72); @@ -1740,8 +1925,8 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_soundHandler.startSound(160); _globals->_soundHandler.proc5(true); - if (_globals->_sceneObjects->contains(&_object9)) - _object9.remove(); + if (_globals->_sceneObjects->contains(&_object2)) + _object2.remove(); _globals->_player.setPriority2(1); _globals->_player.setPosition(Common::Point(157, 56)); @@ -1771,13 +1956,13 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { _globals->_player.setPriority2(152); _globals->_player.setStrip(2); - _object11.postInit(); - _object11.setVisage(2102); - _object11.setPosition(Common::Point(160, 199)); - _object11.flag100(); + _object4.postInit(); + _object4.setVisage(2102); + _object4.setPosition(Common::Point(160, 199)); + _object4.flag100(); _sceneMode = 2103; - setAction(&_sequenceManager, this, 2103, &_object11, NULL); + setAction(&_sequenceManager, this, 2103, &_object4, NULL); break; default: _globals->_soundHandler.startSound(160); @@ -1794,11 +1979,11 @@ void Scene2100::postInit(SceneObjectList *OwnerList) { void Scene2100::stripCallback(int v) { switch (v) { case 1: - _object11._numFrames = 4; - _object11.animate(ANIM_MODE_7, NULL); + _object4._numFrames = 4; + _object4.animate(ANIM_MODE_7, NULL); break; case 2: - _object11.animate(ANIM_MODE_NONE, NULL); + _object4.animate(ANIM_MODE_NONE, NULL); break; } } diff --git a/engines/tsage/ringworld_scenes3.h b/engines/tsage/ringworld_scenes3.h index ff093b912e..72affa3358 100644 --- a/engines/tsage/ringworld_scenes3.h +++ b/engines/tsage/ringworld_scenes3.h @@ -197,7 +197,41 @@ class Scene2100: public Scene { }; /* Hotspots */ - class Hotspot2: public SceneHotspot { + class Hotspot2: public SceneObject { + public: + virtual void doAction(int action); + }; + class Hotspot3: public SceneObject { + public: + virtual void doAction(int action); + }; + class Hotspot4: public SceneObject { + public: + virtual void doAction(int action); + }; + class Hotspot8: public SceneObject { + public: + virtual void doAction(int action); + }; + class Hotspot10: public SceneObject { + public: + virtual void doAction(int action); + }; + class Hotspot14: public SceneObject { + public: + virtual void doAction(int action); + }; + + /* Objects */ + class Object1: public SceneObject { + public: + virtual void doAction(int action); + }; + class Object2: public SceneObject { + public: + virtual void doAction(int action); + }; + class Object3: public SceneObject { public: virtual void doAction(int action); }; @@ -241,11 +275,22 @@ public: SpeakerHText _speakerHText; DisplayHotspot _hotspot1; - SceneHotspot _hotspot2, _hotspot3, _hotspot4; - SceneHotspot _hotspot5, _hotspot6, _hotspot7, _hotspot8; - SceneObject _object1, _object2, _object3, _object4, _object5; - SceneObject _object6, _object7, _object8, _object9, _object10; - SceneObject _object11; + Hotspot2 _hotspot2; + Hotspot3 _hotspot3; + Hotspot4 _hotspot4; + DisplayHotspot _hotspot5, _hotspot6, _hotspot7; + Hotspot8 _hotspot8; + DisplayHotspot _hotspot9; + Hotspot10 _hotspot10; + DisplayHotspot _hotspot11, _hotspot12, _hotspot13; + Hotspot14 _hotspot14; + DisplayHotspot _hotspot15; + + Object1 _object1; + Object2 _object2; + Object3 _object3; + SceneObject _object4; + Action1 _action1; Action2 _action2; Action3 _action3; |