aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/rooms.h
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2017-08-30 22:44:56 +0200
committerThierry Crozat2018-01-23 02:01:00 +0000
commit7ed2dea5e021387d5e43def1b0a779ae7883c071 (patch)
tree992df6e9c87434a39d54b647371742f12b678217 /engines/supernova/rooms.h
parent98ab5ee14236dea9b64488e860299c32392c8bfb (diff)
downloadscummvm-rg350-7ed2dea5e021387d5e43def1b0a779ae7883c071.tar.gz
scummvm-rg350-7ed2dea5e021387d5e43def1b0a779ae7883c071.tar.bz2
scummvm-rg350-7ed2dea5e021387d5e43def1b0a779ae7883c071.zip
SUPERNOVA: Adds Intro before starting room
Diffstat (limited to 'engines/supernova/rooms.h')
-rw-r--r--engines/supernova/rooms.h70
1 files changed, 69 insertions, 1 deletions
diff --git a/engines/supernova/rooms.h b/engines/supernova/rooms.h
index a5895fa8a8..0ffa6ee780 100644
--- a/engines/supernova/rooms.h
+++ b/engines/supernova/rooms.h
@@ -108,10 +108,40 @@ public:
_objectState[3] =
Object(_id, "Discman", "Es ist eine \"Mad Monkeys\"-CD darin.", DISCMAN,
TAKE | COMBINABLE, 255, 255, 0, NULLROOM, 0);
+
+ _shouldExit = false;
+
+ introText = "^(C) 1994 Thomas und Steffen Dingel#"
+ "Story und Grafik:^ Thomas Dingel#"
+ "Programmierung:^ Steffen Dingel#"
+ "Musik:^ Bernd Hoffmann#"
+ "Getestet von ...#"
+ "^Matthias Neef#"
+ "^Sascha Otterbach#"
+ "^Thomas Mazzoni#"
+ "^Matthias Klein#"
+ "^Gerrit Rothmaier#"
+ "^Thomas Hassler#"
+ "^Rene Koch#"
+ "°";
}
virtual void onEntrance();
- virtual bool interact(Action verb, Object &obj1, Object &obj2);
+
+private:
+ void animate(int filenumber, int section1, int section2, int duration);
+ void animate(int filenumber, int section1, int section2, int duration, MessagePosition position,
+ const char *text);
+ void animate(int filenumber, int section1, int section2, int section3, int section4, int duration,
+ MessagePosition position, const char *text);
+
+ void titleScreen();
+ void titleFadeIn();
+ void cutscene();
+ void leaveCutscene();
+
+ bool _shouldExit;
+ Common::String introText;
};
// Spaceship
@@ -1603,5 +1633,43 @@ public:
virtual bool interact(Action verb, Object &obj1, Object &obj2);
};
+class Outro : public Room {
+ Outro(SupernovaEngine *vm, GameManager *gm) {
+ _vm = vm;
+ _gm = gm;
+
+ _fileNumber = -1;
+ _id = OUTRO;
+ _shown[0] = false;
+
+ outroText = "^ E#N#D#E ...########"
+ "# ... des ersten Teils!########"
+ "#########"
+ "^Aber:#"
+ "Das Abenteuer geht weiter, ...##"
+ "... wenn Sie sich für 30,- DM registrieren lassen!##"
+ "(Falls Sie das nicht schon längst getan haben.)##"
+ "In^ Teil 2 - Der Doppelgänger^ erwarten Sie:##"
+ "Knifflige Puzzles,##"
+ "noch mehr Grafik und Sound,##"
+ "ein perfekt geplanter Museumseinbruch,##"
+ "das Virtual-Reality-Spiel \"Indiana Joe\"##"
+ "und vieles mehr!##"
+ "°";
+ }
+
+ virtual void onEntrance();
+ virtual void animation();
+
+private:
+ void animate(int filenumber, int section1, int section2, int duration);
+ void animate(int filenumber, int section1, int section2, int duration, MessagePosition position,
+ const char *text);
+ void animate(int filenumber, int section1, int section2, int section3, int section4, int duration,
+ MessagePosition position, const char *text);
+
+ Common::String outroText;
+};
+
}
#endif // ROOMS_H