diff options
author | Paul Gilbert | 2016-03-24 21:12:30 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-03-24 21:12:30 -0400 |
commit | f0a6cf38cff8e79a579454af5bf22d264de3d7f7 (patch) | |
tree | 30ff80a9c613c5c0590b5049f45029cf51403dfd | |
parent | c948e8812ebb619f22adb7794da6dcfb6d5d6b9e (diff) | |
download | scummvm-rg350-f0a6cf38cff8e79a579454af5bf22d264de3d7f7.tar.gz scummvm-rg350-f0a6cf38cff8e79a579454af5bf22d264de3d7f7.tar.bz2 scummvm-rg350-f0a6cf38cff8e79a579454af5bf22d264de3d7f7.zip |
TITANIC: Implement television CLeaveViewMsg handler
-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; } |