aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/titanic/core/game_object.h10
-rw-r--r--engines/titanic/game/television.cpp16
2 files changed, 21 insertions, 5 deletions
diff --git a/engines/titanic/core/game_object.h b/engines/titanic/core/game_object.h
index 88ea8414ed..1ccbb7d85f 100644
--- a/engines/titanic/core/game_object.h
+++ b/engines/titanic/core/game_object.h
@@ -51,11 +51,6 @@ private:
*/
void loadImage(const CString &name, bool pendingFlag = true);
- /**
- * Loads a frame
- */
- void loadFrame(int frameNumber);
-
void processClipList2();
/**
@@ -94,6 +89,11 @@ protected:
CString _resource;
int _fieldB8;
protected:
+ /**
+ * Loads a frame
+ */
+ void loadFrame(int frameNumber);
+
bool soundFn1(int val);
void soundFn2(int val, int val2);
void set5C(int val);
diff --git a/engines/titanic/game/television.cpp b/engines/titanic/game/television.cpp
index 102049abbf..08f29df7f9 100644
--- a/engines/titanic/game/television.cpp
+++ b/engines/titanic/game/television.cpp
@@ -70,6 +70,22 @@ void CTelevision::load(SimpleFile *file) {
}
bool CTelevision::handleMessage(CLeaveViewMsg &msg) {
+ clearPet();
+ if (_fieldE8) {
+ if (soundFn1(_fieldF0))
+ soundFn2(_fieldF0, 0);
+
+ loadFrame(622);
+ stopMovie();
+ set5C(0);
+ _fieldE8 = 0;
+
+ if (compareRoomNameTo("CSGState")) {
+ CVisibleMsg visibleMsg(1, 0);
+ visibleMsg.execute("Tellypic");
+ }
+ }
+
return true;
}