diff options
-rw-r--r-- | engines/titanic/core/game_object.h | 10 | ||||
-rw-r--r-- | engines/titanic/game/television.cpp | 16 |
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; } |