diff options
Diffstat (limited to 'engines/tsage')
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes3.cpp | 158 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_scenes3.h | 61 |
2 files changed, 110 insertions, 109 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.cpp b/engines/tsage/ringworld2/ringworld2_scenes3.cpp index a462b5c550..31eb1d34c6 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.cpp +++ b/engines/tsage/ringworld2/ringworld2_scenes3.cpp @@ -206,6 +206,7 @@ void Scene3100::dispatch() { * Scene 3125 - Ghouls dormitory * *--------------------------------------------------------------------------*/ + Scene3125::Scene3125() { _field412 = 0; } @@ -216,7 +217,7 @@ void Scene3125::synchronize(Serializer &s) { s.syncAsSint16LE(_field412); } -bool Scene3125::Item1::startAction(CursorType action, Event &event) { +bool Scene3125::Background::startAction(CursorType action, Event &event) { Scene3125 *scene = (Scene3125 *)R2_GLOBALS._sceneManager._scene; switch (action) { @@ -240,7 +241,7 @@ bool Scene3125::Item1::startAction(CursorType action, Event &event) { return true; } -bool Scene3125::Item2::startAction(CursorType action, Event &event) { +bool Scene3125::Table::startAction(CursorType action, Event &event) { Scene3125 *scene = (Scene3125 *)R2_GLOBALS._sceneManager._scene; switch (action) { @@ -263,15 +264,17 @@ bool Scene3125::Item2::startAction(CursorType action, Event &event) { return true; } -bool Scene3125::Item3::startAction(CursorType action, Event &event) { +bool Scene3125::Computer::startAction(CursorType action, Event &event) { Scene3125 *scene = (Scene3125 *)R2_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_USE: R2_GLOBALS._player.disableControl(); - scene->_actor5.postInit(); + scene->_ghoul4.postInit(); scene->_sceneMode = 3126; - scene->setAction(&scene->_sequenceManager1, scene, 3126, &R2_GLOBALS._player, &scene->_actor2, &scene->_actor3, &scene->_actor4, &scene->_actor1, &scene->_actor5, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 3126, &R2_GLOBALS._player, + &scene->_ghoul1, &scene->_ghoul2, &scene->_ghoul3, &scene->_door, + &scene->_ghoul4, NULL); break; case CURSOR_LOOK: SceneItem::display(3125, 9, 0, 280, 1, 160, 9, 1, 2, 20, 7, 154, -999); @@ -287,7 +290,7 @@ bool Scene3125::Item3::startAction(CursorType action, Event &event) { return true; } -bool Scene3125::Actor1::startAction(CursorType action, Event &event) { +bool Scene3125::Door::startAction(CursorType action, Event &event) { Scene3125 *scene = (Scene3125 *)R2_GLOBALS._sceneManager._scene; if (action != CURSOR_USE) @@ -295,7 +298,7 @@ bool Scene3125::Actor1::startAction(CursorType action, Event &event) { R2_GLOBALS._player.disableControl(); scene->_sceneMode = 3176; - scene->setAction(&scene->_sequenceManager1, scene, 3176, &R2_GLOBALS._player, &scene->_actor1, NULL); + scene->setAction(&scene->_sequenceManager1, scene, 3176, &R2_GLOBALS._player, &scene->_door, NULL); return true; } @@ -304,36 +307,36 @@ void Scene3125::postInit(SceneObjectList *OwnerList) { SceneExt::postInit(); _field412 = 0; - _actor1.postInit(); - _actor1.setup(3175, 1, 1); - _actor1.setPosition(Common::Point(35, 72)); - _actor1.setDetails(3125, 12, 13, -1, 1, (SceneItem *)NULL); + _door.postInit(); + _door.setup(3175, 1, 1); + _door.setPosition(Common::Point(35, 72)); + _door.setDetails(3125, 12, 13, -1, 1, (SceneItem *)NULL); - _actor2.postInit(); - _actor2.setup(3126, 4, 1); - _actor2.setPosition(Common::Point(71, 110)); - _actor2._numFrames = 20; + _ghoul1.postInit(); + _ghoul1.setup(3126, 4, 1); + _ghoul1.setPosition(Common::Point(71, 110)); + _ghoul1._numFrames = 20; - _actor3.postInit(); - _actor3.setup(3126, 1, 1); - _actor3.setPosition(Common::Point(215, 62)); - _actor3.fixPriority(71); + _ghoul2.postInit(); + _ghoul2.setup(3126, 1, 1); + _ghoul2.setPosition(Common::Point(215, 62)); + _ghoul2.fixPriority(71); - _actor4.postInit(); - _actor4.setup(3126, 1, 1); - _actor4.setPosition(Common::Point(171, 160)); - _actor4.fixPriority(201); + _ghoul3.postInit(); + _ghoul3.setup(3126, 1, 1); + _ghoul3.setPosition(Common::Point(171, 160)); + _ghoul3.fixPriority(201); - _item3.setDetails(12, 3125, 9, 13, -1); - _item2.setDetails(11, 3125, 15, 13, -1); - _item1.setDetails(Rect(0, 0, 320, 200), 3125, 0, 1, 2, 1, NULL); + _computer.setDetails(12, 3125, 9, 13, -1); + _table.setDetails(11, 3125, 15, 13, -1); + _background.setDetails(Rect(0, 0, 320, 200), 3125, 0, 1, 2, 1, NULL); R2_GLOBALS._sound1.play(262); R2_GLOBALS._player.postInit(); if (R2_GLOBALS._player._oldCharacterScene[3] == 3250) { _sceneMode = 3175; - setAction(&_sequenceManager1, this, 3175, &R2_GLOBALS._player, &_actor1, NULL); + setAction(&_sequenceManager1, this, 3175, &R2_GLOBALS._player, &_door, NULL); } else { R2_GLOBALS._player.setup(30, 5, 1); R2_GLOBALS._player.animate(ANIM_MODE_1, NULL); @@ -363,7 +366,7 @@ void Scene3125::signal() { } void Scene3125::dispatch() { - if ((_sceneMode == 3126) && (_actor2._frame == 2) && (_field412 == 0)) { + if ((_sceneMode == 3126) && (_ghoul1._frame == 2) && (_field412 == 0)) { _field412 = 1; R2_GLOBALS._sound1.play(265); } @@ -830,7 +833,7 @@ bool Scene3175::Item1::startAction(CursorType action, Event &event) { return scene->display(action, event); } -bool Scene3175::Actor3::startAction(CursorType action, Event &event) { +bool Scene3175::Corpse::startAction(CursorType action, Event &event) { Scene3175 *scene = (Scene3175 *)R2_GLOBALS._sceneManager._scene; switch (action) { @@ -859,14 +862,14 @@ bool Scene3175::Actor3::startAction(CursorType action, Event &event) { return scene->display(action, event); } -bool Scene3175::Actor1::startAction(CursorType action, Event &event) { +bool Scene3175::Door::startAction(CursorType action, Event &event) { Scene3175 *scene = (Scene3175 *)R2_GLOBALS._sceneManager._scene; switch (action) { case CURSOR_USE: R2_GLOBALS._player.disableControl(); scene->_sceneMode = 3176; - scene->setAction(&scene->_sequenceManager, scene, 3176, &R2_GLOBALS._player, &scene->_actor1, NULL); + scene->setAction(&scene->_sequenceManager, scene, 3176, &R2_GLOBALS._player, &scene->_door, NULL); return true; break; case CURSOR_LOOK: @@ -887,23 +890,23 @@ void Scene3175::postInit(SceneObjectList *OwnerList) { loadScene(3175); SceneExt::postInit(); - _actor1.postInit(); - _actor1.setup(3175, 1, 1); - _actor1.setPosition(Common::Point(35, 72)); - _actor1.setDetails(3175, 9, 10, -1, 1, (SceneItem *)NULL); + _door.postInit(); + _door.setup(3175, 1, 1); + _door.setPosition(Common::Point(35, 72)); + _door.setDetails(3175, 9, 10, -1, 1, (SceneItem *)NULL); _actor2.postInit(); _actor2.setup(3175, 2, 1); _actor2.setPosition(Common::Point(87, 148)); - _actor3.postInit(); - _actor3.setup(3175, 3, 1); - _actor3.setPosition(Common::Point(199, 117)); - _actor3.setDetails(3175, 15, 16, 17, 1, (SceneItem *)NULL); + _corpse.postInit(); + _corpse.setup(3175, 3, 1); + _corpse.setPosition(Common::Point(199, 117)); + _corpse.setDetails(3175, 15, 16, 17, 1, (SceneItem *)NULL); _item2.setDetails(12, 3175, 3, 1, 5); _item3.setDetails(11, 3175, 6, 7, 8); - _item1.setDetails(Rect(0, 0, 320, 200), 3175, 0, 1, 2, 1, NULL); + _background.setDetails(Rect(0, 0, 320, 200), 3175, 0, 1, 2, 1, NULL); R2_GLOBALS._player.postInit(); @@ -914,7 +917,7 @@ void Scene3175::postInit(SceneObjectList *OwnerList) { R2_GLOBALS._player.enableControl(); } else { _sceneMode = 3175; - setAction(&_sequenceManager, this, 3175, &R2_GLOBALS._player, &_actor1, NULL); + setAction(&_sequenceManager, this, 3175, &R2_GLOBALS._player, &_door, NULL); } R2_GLOBALS._player._oldCharacterScene[3] = 3175; @@ -1130,7 +1133,7 @@ bool Scene3250::Item::startAction(CursorType action, Event &event) { return scene->display(action, event); } -bool Scene3250::Actor::startAction(CursorType action, Event &event) { +bool Scene3250::Door::startAction(CursorType action, Event &event) { Scene3250 *scene = (Scene3250 *)R2_GLOBALS._sceneManager._scene; if (action != CURSOR_USE) @@ -1141,15 +1144,15 @@ bool Scene3250::Actor::startAction(CursorType action, Event &event) { switch(_position.x) { case 25: scene->_sceneMode = 3262; - scene->setAction(&scene->_sequenceManager, scene, 3262, &R2_GLOBALS._player, &scene->_actor1, NULL); + scene->setAction(&scene->_sequenceManager, scene, 3262, &R2_GLOBALS._player, &scene->_leftDoor, NULL); break; case 259: scene->_sceneMode = 3260; - scene->setAction(&scene->_sequenceManager, scene, 3260, &R2_GLOBALS._player, &scene->_actor2, NULL); + scene->setAction(&scene->_sequenceManager, scene, 3260, &R2_GLOBALS._player, &scene->_topDoor, NULL); break; case 302: scene->_sceneMode = 3261; - scene->setAction(&scene->_sequenceManager, scene, 3261, &R2_GLOBALS._player, &scene->_actor3, NULL); + scene->setAction(&scene->_sequenceManager, scene, 3261, &R2_GLOBALS._player, &scene->_rightDoor, NULL); break; default: break; @@ -1166,28 +1169,28 @@ void Scene3250::postInit(SceneObjectList *OwnerList) { } SceneExt::postInit(); - _actor1.postInit(); - _actor1.setup(3250, 6, 1); - _actor1.setPosition(Common::Point(25, 148)); - _actor1.fixPriority(10); - _actor1.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); - - _actor2.postInit(); - _actor2.setup(3250, 4, 1); - _actor2.setPosition(Common::Point(259, 126)); - _actor2.fixPriority(10); - _actor2.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); - - _actor3.postInit(); - _actor3.setup(3250, 5, 1); - _actor3.setPosition(Common::Point(302, 138)); - _actor3.fixPriority(10); - _actor3.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); - - _item3.setDetails(Rect(119, 111, 149, 168), 3250, 6, 7, 2, 1, NULL); - _item2.setDetails(Rect(58, 85, 231, 138), 3250, 12, 7, 2, 1, NULL); - _item4.setDetails(12, 3250, 3, 1, 2); - _item1.setDetails(Rect(0, 0, 320, 200), 3250, 0, 1, 2, 1, NULL); + _leftDoor.postInit(); + _leftDoor.setup(3250, 6, 1); + _leftDoor.setPosition(Common::Point(25, 148)); + _leftDoor.fixPriority(10); + _leftDoor.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); + + _topDoor.postInit(); + _topDoor.setup(3250, 4, 1); + _topDoor.setPosition(Common::Point(259, 126)); + _topDoor.fixPriority(10); + _topDoor.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); + + _rightDoor.postInit(); + _rightDoor.setup(3250, 5, 1); + _rightDoor.setPosition(Common::Point(302, 138)); + _rightDoor.fixPriority(10); + _rightDoor.setDetails(3250, 9, 10, -1, 1, (SceneItem *)NULL); + + _floodLights.setDetails(Rect(119, 111, 149, 168), 3250, 6, 7, 2, 1, NULL); + _tnuctipunShip.setDetails(Rect(58, 85, 231, 138), 3250, 12, 7, 2, 1, NULL); + _negator.setDetails(12, 3250, 3, 1, 2); + _background.setDetails(Rect(0, 0, 320, 200), 3250, 0, 1, 2, 1, NULL); R2_GLOBALS._player.postInit(); @@ -1201,25 +1204,26 @@ void Scene3250::postInit(SceneObjectList *OwnerList) { case 3125: if (R2_GLOBALS.getFlag(79)) { _sceneMode = 3254; - _actor5.postInit(); - _actor5._effect = 1; - _actor6.postInit(); - _actor6._effect = 1; - _actor7.postInit(); - _actor7._effect = 1; - setAction(&_sequenceManager, this, 3254, &R2_GLOBALS._player, &_actor3, &_actor5, &_actor6, &_actor7, &_actor1, NULL); + _ghoul1.postInit(); + _ghoul1._effect = 1; + _ghoul2.postInit(); + _ghoul2._effect = 1; + _ghoul3.postInit(); + _ghoul3._effect = 1; + setAction(&_sequenceManager, this, 3254, &R2_GLOBALS._player, &_rightDoor, + &_ghoul1, &_ghoul2, &_ghoul3, &_leftDoor, NULL); } else { _sceneMode = 3252; - setAction(&_sequenceManager, this, 3252, &R2_GLOBALS._player, &_actor3, NULL); + setAction(&_sequenceManager, this, 3252, &R2_GLOBALS._player, &_rightDoor, NULL); } break; case 3175: _sceneMode = 3251; - setAction(&_sequenceManager, this, 3251, &R2_GLOBALS._player, &_actor2, NULL); + setAction(&_sequenceManager, this, 3251, &R2_GLOBALS._player, &_topDoor, NULL); break; case 3255: _sceneMode = 3253; - setAction(&_sequenceManager, this, 3253, &R2_GLOBALS._player, &_actor1, NULL); + setAction(&_sequenceManager, this, 3253, &R2_GLOBALS._player, &_leftDoor, NULL); break; default: R2_GLOBALS._player.setup(31, 3, 1); diff --git a/engines/tsage/ringworld2/ringworld2_scenes3.h b/engines/tsage/ringworld2/ringworld2_scenes3.h index 6fcd69b68d..ae9439ff8b 100644 --- a/engines/tsage/ringworld2/ringworld2_scenes3.h +++ b/engines/tsage/ringworld2/ringworld2_scenes3.h @@ -67,33 +67,32 @@ public: }; class Scene3125 : public SceneExt { - class Item1 : public NamedHotspot { + class Background : public NamedHotspot { public: virtual bool startAction(CursorType action, Event &event); }; - class Item2 : public Item1 { + class Table : public NamedHotspot { public: virtual bool startAction(CursorType action, Event &event); }; - class Item3 : public Item1 { + class Computer : public NamedHotspot { public: virtual bool startAction(CursorType action, Event &event); }; - class Actor1 : public SceneActor { + class Door : public SceneActor { virtual bool startAction(CursorType action, Event &event); }; public: - int _field412; - Item1 _item1; - Actor1 _actor1; - Item2 _item2; - Item3 _item3; - SceneActor _actor2; - SceneActor _actor3; - SceneActor _actor4; - SceneActor _actor5; + Background _background; + Door _door; + Table _table; + Computer _computer; + SceneActor _ghoul1; + SceneActor _ghoul2; + SceneActor _ghoul3; + SceneActor _ghoul4; SequenceManager _sequenceManager1; // Second sequence manager... Unused? SequenceManager _sequenceManager2; @@ -164,20 +163,19 @@ class Scene3175 : public SceneExt { virtual bool startAction(CursorType action, Event &event); }; - class Actor3 : public SceneActor { + class Door : public SceneActor { virtual bool startAction(CursorType action, Event &event); }; - class Actor1 : public Actor3 { + class Corpse : public SceneActor { virtual bool startAction(CursorType action, Event &event); }; public: - - Item1 _item1; + Item1 _background; Item1 _item2; Item1 _item3; - Actor1 _actor1; + Door _door; SceneActor _actor2; - Actor3 _actor3; + Corpse _corpse; SequenceManager _sequenceManager; virtual void postInit(SceneObjectList *OwnerList = NULL); @@ -266,22 +264,21 @@ class Scene3250 : public SceneExt { virtual bool startAction(CursorType action, Event &event); }; - class Actor : public SceneActor { + class Door : public SceneActor { virtual bool startAction(CursorType action, Event &event); }; public: - - Item _item1; - Item _item2; - Item _item3; - Item _item4; - Actor _actor1; - Actor _actor2; - Actor _actor3; - Actor _actor4; - SceneActor _actor5; - SceneActor _actor6; - SceneActor _actor7; + Item _background; + Item _tnuctipunShip; + Item _floodLights; + Item _negator; + Door _leftDoor; + Door _topDoor; + Door _rightDoor; + Door _actor4; + SceneActor _ghoul1; + SceneActor _ghoul2; + SceneActor _ghoul3; SequenceManager _sequenceManager; virtual void postInit(SceneObjectList *OwnerList = NULL); |