diff options
| author | Thomas Fach-Pedersen | 2015-02-10 19:33:35 +0100 |
|---|---|---|
| committer | Eugene Sandulenko | 2016-09-29 22:33:38 +0200 |
| commit | eba8ed5c6642cf3686c4fb7e28ceca9299e3a33a (patch) | |
| tree | d8a555a186ce0f5f89573c048528227f5801b0b0 /engines/bladerunner/script | |
| parent | 35ea84935ff3259aaa09946f0447a75e9b617086 (diff) | |
| download | scummvm-rg350-eba8ed5c6642cf3686c4fb7e28ceca9299e3a33a.tar.gz scummvm-rg350-eba8ed5c6642cf3686c4fb7e28ceca9299e3a33a.tar.bz2 scummvm-rg350-eba8ed5c6642cf3686c4fb7e28ceca9299e3a33a.zip | |
BLADERUNNER: Add audio_speech and Actor_Voice_Over
Diffstat (limited to 'engines/bladerunner/script')
| -rw-r--r-- | engines/bladerunner/script/rc01.cpp | 12 | ||||
| -rw-r--r-- | engines/bladerunner/script/script.cpp | 13 | ||||
| -rw-r--r-- | engines/bladerunner/script/script.h | 2 |
3 files changed, 24 insertions, 3 deletions
diff --git a/engines/bladerunner/script/rc01.cpp b/engines/bladerunner/script/rc01.cpp index 2fa577856f..81c4795956 100644 --- a/engines/bladerunner/script/rc01.cpp +++ b/engines/bladerunner/script/rc01.cpp @@ -118,7 +118,17 @@ void ScriptRC01::InitializeScene() { } void ScriptRC01::SceneLoaded() { - + if (!Game_Flag_Query(24)){ + // ADQ_Flush(); + Actor_Voice_Over(1830, 99); + Actor_Voice_Over(1850, 99); + if (!Game_Flag_Query(378)) { + Actor_Voice_Over(1860, 99); + I_Sez("MG: Is David Leary a self-respecting human or is he powered by rechargeable"); + I_Sez("batteries?\n"); + } + Game_Flag_Set(24); + } } void ScriptRC01::SceneFrameAdvanced(int frame) { diff --git a/engines/bladerunner/script/script.cpp b/engines/bladerunner/script/script.cpp index 8386fc22da..62754bea3c 100644 --- a/engines/bladerunner/script/script.cpp +++ b/engines/bladerunner/script/script.cpp @@ -26,6 +26,7 @@ #include "bladerunner/ambient_sounds.h" #include "bladerunner/audio_player.h" +#include "bladerunner/audio_speech.h" #include "bladerunner/clues.h" #include "bladerunner/gameflags.h" #include "bladerunner/gameinfo.h" @@ -108,7 +109,17 @@ void Script::SceneFrameAdvanced(int frame) { // ScriptBase::Actor_Set_Targetable // ScriptBase::Actor_Says // ScriptBase::Actor_Says_With_Pause -// ScriptBase::Actor_Voice_Over + +void ScriptBase::Actor_Voice_Over(int sentenceId, int actorId) { + // Wait for any existing speech to end + _vm->loopActorSpeaking(); + + // TODO: Hack - This needs to go through the actor class + char name[13]; + sprintf(name, "%02d-%04d.AUD", actorId, sentenceId); + _vm->_audioSpeech->playSpeech(name); +} + // ScriptBase::Actor_Start_Speech_Sample // ScriptBase::Actor_Start_Voice_Over_Sample // ScriptBase::Actor_Query_Which_Set_In diff --git a/engines/bladerunner/script/script.h b/engines/bladerunner/script/script.h index a6ac20b0cc..82f7be8bb5 100644 --- a/engines/bladerunner/script/script.h +++ b/engines/bladerunner/script/script.h @@ -84,7 +84,7 @@ protected: // Actor_Set_Targetable // Actor_Says // Actor_Says_With_Pause - // Actor_Voice_Over + void Actor_Voice_Over(int sentenceId, int actorId); // Actor_Start_Speech_Sample // Actor_Start_Voice_Over_Sample // Actor_Query_Which_Set_In |
