From 66593ef302010d5b6e09b17fb2b7a88f2803d455 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Tue, 6 May 2014 05:32:21 +0300 Subject: MADS: Index and document all Phantom scenes --- engines/mads/phantom/game_phantom.cpp | 12 ---- engines/mads/phantom/game_phantom.h | 3 - engines/mads/phantom/phantom_scenes.cpp | 122 ++++++++++++++++++++++++++++---- engines/mads/phantom/phantom_scenes.h | 6 +- 4 files changed, 111 insertions(+), 32 deletions(-) (limited to 'engines') diff --git a/engines/mads/phantom/game_phantom.cpp b/engines/mads/phantom/game_phantom.cpp index 43dec7cc02..25da7771c5 100644 --- a/engines/mads/phantom/game_phantom.cpp +++ b/engines/mads/phantom/game_phantom.cpp @@ -80,9 +80,6 @@ void GamePhantom::initialiseGlobals() { /* Section #5 variables */ // TODO - /* Section #6 variables */ - // TODO - /* Section #9 variables */ // TODO @@ -112,15 +109,6 @@ void GamePhantom::setSectionHandler() { case 5: _sectionHandler = new Section5Handler(_vm); break; - case 6: - _sectionHandler = new Section6Handler(_vm); - break; - case 7: - _sectionHandler = new Section7Handler(_vm); - break; - case 8: - _sectionHandler = new Section8Handler(_vm); - break; default: break; } diff --git a/engines/mads/phantom/game_phantom.h b/engines/mads/phantom/game_phantom.h index bb574a98b0..96299fb814 100644 --- a/engines/mads/phantom/game_phantom.h +++ b/engines/mads/phantom/game_phantom.h @@ -88,9 +88,6 @@ typedef Section1Handler Section2Handler; typedef Section1Handler Section3Handler; typedef Section1Handler Section4Handler; typedef Section1Handler Section5Handler; -typedef Section1Handler Section6Handler; -typedef Section1Handler Section7Handler; -typedef Section1Handler Section8Handler; } // End of namespace Nebular diff --git a/engines/mads/phantom/phantom_scenes.cpp b/engines/mads/phantom/phantom_scenes.cpp index 83b664b33a..dbce014525 100644 --- a/engines/mads/phantom/phantom_scenes.cpp +++ b/engines/mads/phantom/phantom_scenes.cpp @@ -39,22 +39,114 @@ SceneLogic *SceneFactory::createScene(MADSEngine *vm) { // TODO //scene.addActiveVocab(NOUN_DROP); - // TODO: Just return a dummy scene for now - return new DummyScene(vm); - switch (scene._nextSceneId) { - // Scene group #1 - case 101: - // TODO - - // Scene group #2 - // TODO - - // Scene group #3 - // TODO - - // Scene group #8 - // TODO + // Scene group #1 (theater, stage and dressing rooms) + case 101: // seats + return new DummyScene(vm); // TODO + case 102: // music stands + return new DummyScene(vm); // TODO + case 103: // below stage + return new DummyScene(vm); // TODO + case 104: // stage + return new DummyScene(vm); // TODO + case 105: // ground floor, storage room + return new DummyScene(vm); // TODO + case 106: // behind stage + return new DummyScene(vm); // TODO + case 107: // stage right wing + return new DummyScene(vm); // TODO + case 108: // stage left wing + return new DummyScene(vm); // TODO + case 109: // upper floor, staircase + return new DummyScene(vm); // TODO + case 110: // outside dressing rooms 1 + return new DummyScene(vm); // TODO + case 111: // outside dressing rooms 2 + return new DummyScene(vm); // TODO + case 112: // inside dressing room 1 + return new DummyScene(vm); // TODO + case 113: // inside dressing room 2 + return new DummyScene(vm); // TODO + case 114: // lower floor, storage room + return new DummyScene(vm); // TODO + case 150: // cutscene + return new DummyScene(vm); // TODO + + // Scene group #2 (theater entrance, offices, balcony) + case 201: // entrance / ticket office + return new DummyScene(vm); // TODO + case 202: // outside offices / paintings room + return new DummyScene(vm); // TODO + case 203: // office + return new DummyScene(vm); // TODO + case 204: // library + return new DummyScene(vm); // TODO + case 205: // upper floor, outside balcony boxes + return new DummyScene(vm); // TODO + case 206: // balcony box #1 + return new DummyScene(vm); // TODO + case 207: // balcony box #2 + return new DummyScene(vm); // TODO + case 208: // stage and balcony view + return new DummyScene(vm); // TODO + case 250: // cutscene + return new DummyScene(vm); // TODO + + // Scene group #3 (catwalks, chandelier, lake / catacombs entrance) + case 301: // catwalk #1 above stage + return new DummyScene(vm); // TODO + case 302: // catwalk #2 above stage + return new DummyScene(vm); // TODO + case 303: // above chandelier + return new DummyScene(vm); // TODO + case 304: // chandelier + return new DummyScene(vm); // TODO + case 305: // chandelier fight, phantom closeup + return new DummyScene(vm); // TODO + case 306: // chandelier #2 + return new DummyScene(vm); // TODO + case 307: // catwalk #3 above stage + return new DummyScene(vm); // TODO + case 308: // hidden staircase behind balcony box + return new DummyScene(vm); // TODO + case 309: // lake and archway + return new DummyScene(vm); // TODO + case 310: // lake + return new DummyScene(vm); // TODO + + // Scene group #4 (labyrinth) + case 401: // labyrinth room, 3 exits + return new DummyScene(vm); // TODO + case 403: // labyrinth room (big), 4 exits + 1 bricked door, left + return new DummyScene(vm); // TODO + case 404: // labyrinth room, 3 exits + return new DummyScene(vm); // TODO + case 406: // labyrinth room, 2 exits + return new DummyScene(vm); // TODO + case 407: // catacomb room / lake + return new DummyScene(vm); // TODO + case 408: // catacomb corridor + return new DummyScene(vm); // TODO + case 409: // catacomb room, door with switch panel + return new DummyScene(vm); // TODO + case 410: // skull switch panel + return new DummyScene(vm); // TODO + case 453: // Labyrinth room (big), 4 exits + 1 bricked door, right + return new DummyScene(vm); // TODO + case 456: // Labyrinth room, 2 exits + return new DummyScene(vm); // TODO + + // Scene group #5 (Phantom's hideout) + case 501: // catacombs, outside phantom's hideout, lake and boat + return new DummyScene(vm); // TODO + case 502: // push panel trap + return new DummyScene(vm); // TODO + case 504: // Phantom's hideout, church organ + return new DummyScene(vm); // TODO + case 505: // Phantom's hideout, sarcophagus + return new DummyScene(vm); // TODO + case 506: // catacomb room with ramp + return new DummyScene(vm); // TODO default: error("Invalid scene %d called", scene._nextSceneId); diff --git a/engines/mads/phantom/phantom_scenes.h b/engines/mads/phantom/phantom_scenes.h index 9df8063cd4..e4b79fef33 100644 --- a/engines/mads/phantom/phantom_scenes.h +++ b/engines/mads/phantom/phantom_scenes.h @@ -106,9 +106,11 @@ public: }; // TODO: Temporary, remove once implemented properly -class DummyScene: public Scene1xx { +class DummyScene: public PhantomScene { public: - DummyScene(MADSEngine *vm) : Scene1xx(vm) {} + DummyScene(MADSEngine *vm) : PhantomScene(vm) { + warning("Unimplemented scene"); + } virtual void setup() {} virtual void enter() {} -- cgit v1.2.3