diff options
author | Paul Gilbert | 2016-08-02 07:48:40 -0400 |
---|---|---|
committer | Paul Gilbert | 2016-08-02 07:48:40 -0400 |
commit | efb3970d5d990219d4b468f58e191002d46535ca (patch) | |
tree | e32bd22bc18559036e5456632ff85b6ee4c14f9b /engines/titanic/true_talk | |
parent | cb7d7ed7c36bf59f88db218cdba989cb203a5c1a (diff) | |
download | scummvm-rg350-efb3970d5d990219d4b468f58e191002d46535ca.tar.gz scummvm-rg350-efb3970d5d990219d4b468f58e191002d46535ca.tar.bz2 scummvm-rg350-efb3970d5d990219d4b468f58e191002d46535ca.zip |
TITANIC: Fixes for CProximity setup
Diffstat (limited to 'engines/titanic/true_talk')
-rw-r--r-- | engines/titanic/true_talk/true_talk_manager.cpp | 18 | ||||
-rw-r--r-- | engines/titanic/true_talk/true_talk_manager.h | 5 |
2 files changed, 13 insertions, 10 deletions
diff --git a/engines/titanic/true_talk/true_talk_manager.cpp b/engines/titanic/true_talk/true_talk_manager.cpp index 5444cde5af..55f4501d7e 100644 --- a/engines/titanic/true_talk/true_talk_manager.cpp +++ b/engines/titanic/true_talk/true_talk_manager.cpp @@ -506,14 +506,14 @@ void CTrueTalkManager::playSpeech(TTtalker *talker, TTroomScript *roomScript, CV if (milli > 0) { p3._field8 = (index * 3) / 2; p3._field28 = 1; - p3._field2C = 0xC3070000; - p3._field30 = 0x3F800000; + p3._field2C = -135.0; + p3._field30 = 1.0; p3._field34 = 0; p3._field8 = (index * 3) / 4; p2._field28 = 0; - p2._field2C = 0x43070000; - p2._field30 = 0x3F800000; + p2._field2C = 135.0; + p2._field30 = 1.0; p2._field34 = 0; } @@ -530,11 +530,11 @@ void CTrueTalkManager::playSpeech(TTtalker *talker, TTroomScript *roomScript, CV if (idx == (_titleEngine._indexes.size() - 1)) { // Final iteration of speech segments to play - p1._method1 = &proximityMethod1; + p1._endTalkerFn = &talkerEnd; p1._talker = talker; } - // Start the + // Start the speech p1._speechHandle = _gameManager->_sound.playSpeech(_dialogueFile, id - _dialogueId, p1); if (!milli) continue; @@ -568,9 +568,9 @@ bool CTrueTalkManager::triggerAction(int action, int param) { return true; } -bool CTrueTalkManager::proximityMethod1(int val) { - // TODO - return false; +void CTrueTalkManager::talkerEnd(TTtalker *talker) { + if (talker) + talker->endSpeech(0); } CGameManager *CTrueTalkManager::getGameManager() const { diff --git a/engines/titanic/true_talk/true_talk_manager.h b/engines/titanic/true_talk/true_talk_manager.h index ad378af9fc..8a8895917a 100644 --- a/engines/titanic/true_talk/true_talk_manager.h +++ b/engines/titanic/true_talk/true_talk_manager.h @@ -109,7 +109,10 @@ private: */ void playSpeech(TTtalker *talker, TTroomScript *roomScript, CViewItem *view, bool isParrot); - static bool proximityMethod1(int val); + /** + * Called when a talker finishes + */ + static void talkerEnd(TTtalker *talker); /** * Return the game state |