aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game/credits.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/game/credits.cpp')
-rw-r--r--engines/titanic/game/credits.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/engines/titanic/game/credits.cpp b/engines/titanic/game/credits.cpp
index 7078d41a17..d9149f6dd2 100644
--- a/engines/titanic/game/credits.cpp
+++ b/engines/titanic/game/credits.cpp
@@ -24,6 +24,11 @@
namespace Titanic {
+BEGIN_MESSAGE_MAP(CCredits, CGameObject)
+ ON_MESSAGE(SignalObject)
+ ON_MESSAGE(TimerMsg)
+END_MESSAGE_MAP()
+
CCredits::CCredits() : CGameObject(), _fieldBC(-1), _fieldC0(1) {
}
@@ -43,4 +48,34 @@ void CCredits::load(SimpleFile *file) {
CGameObject::load(file);
}
+bool CCredits::SignalObject(CSignalObject *msg) {
+ petHide();
+ disableMouse();
+ addTimer(50);
+ return true;
+}
+
+bool CCredits::TimerMsg(CTimerMsg *msg) {
+ stopGlobalSound(true, -1);
+ setVisible(true);
+ loadSound("a#16.wav");
+ loadSound("a#24.wav");
+
+ playCutscene(0, 18);
+ playGlobalSound("a#16.wav", -1, false, false, 0);
+ playCutscene(19, 642);
+ playSound("a#24.wav");
+ playCutscene(643, 750);
+
+ COpeningCreditsMsg creditsMsg;
+ creditsMsg.execute("Service Elevator Entity");
+ changeView("EmbLobby.Node 6.S");
+
+ setVisible(false);
+ petShow();
+ enableMouse();
+ stopGlobalSound(true, -1);
+ return true;
+}
+
} // End of namespace Titanic