From 27e9aebbb1c83dbf0a2675116087b477284c4801 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 11 Sep 2015 21:41:10 -0400 Subject: [PATCH] SHERLOCK: 3DO: Further alignment between portraits and talk text --- engines/sherlock/scalpel/scalpel_talk.cpp | 5 +++++ engines/sherlock/scalpel/scalpel_talk.h | 6 ++++++ engines/sherlock/scalpel/scalpel_user_interface.cpp | 3 --- engines/sherlock/talk.h | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/engines/sherlock/scalpel/scalpel_talk.cpp b/engines/sherlock/scalpel/scalpel_talk.cpp index 5241f7bc9db..848502e579c 100644 --- a/engines/sherlock/scalpel/scalpel_talk.cpp +++ b/engines/sherlock/scalpel/scalpel_talk.cpp @@ -528,6 +528,11 @@ OpcodeReturn ScalpelTalk::cmdSummonWindow(const byte *&str) { return RET_SUCCESS; } +void ScalpelTalk::loadTalkFile(const Common::String &filename) { + Talk::loadTalkFile(filename); + _3doSpeechIndex = 0; +} + void ScalpelTalk::talkWait(const byte *&str) { UserInterface &ui = *_vm->_ui; bool pauseFlag = _pauseFlag; diff --git a/engines/sherlock/scalpel/scalpel_talk.h b/engines/sherlock/scalpel/scalpel_talk.h index 025c8edcdeb..66b6f983519 100644 --- a/engines/sherlock/scalpel/scalpel_talk.h +++ b/engines/sherlock/scalpel/scalpel_talk.h @@ -83,6 +83,12 @@ public: ScalpelTalk(SherlockEngine *vm); virtual ~ScalpelTalk() {} + /** + * Opens the talk file 'talk.tlk' and searches the index for the specified + * conversation. If found, the data for that conversation is loaded + */ + virtual void loadTalkFile(const Common::String &filename); + /** * Called whenever a conversation or item script needs to be run. For standard conversations, * it opens up a description window similar to how 'talk' does, but shows a 'reply' directly diff --git a/engines/sherlock/scalpel/scalpel_user_interface.cpp b/engines/sherlock/scalpel/scalpel_user_interface.cpp index aed7df84404..be8f1aaa0ce 100644 --- a/engines/sherlock/scalpel/scalpel_user_interface.cpp +++ b/engines/sherlock/scalpel/scalpel_user_interface.cpp @@ -1666,9 +1666,6 @@ void ScalpelUserInterface::doTalkControl() { sound._speechPlaying = false; } - if (IS_3DO) - // Trigger to play 3DO movie - talk.talk3DOMovieTrigger(0); talk.waitForMore(talk._statements[_selector]._statement.size()); if (talk._talkToAbort) diff --git a/engines/sherlock/talk.h b/engines/sherlock/talk.h index 3bbb326c701..f354c28c1b8 100644 --- a/engines/sherlock/talk.h +++ b/engines/sherlock/talk.h @@ -308,7 +308,7 @@ public: * Opens the talk file 'talk.tlk' and searches the index for the specified * conversation. If found, the data for that conversation is loaded */ - void loadTalkFile(const Common::String &filename); + virtual void loadTalkFile(const Common::String &filename); /** * Push the sequence of a background object that's an NPC that needs to be