diff options
author | James Brown | 2002-04-08 13:55:03 +0000 |
---|---|---|
committer | James Brown | 2002-04-08 13:55:03 +0000 |
commit | 011cf6e066c2fa1a66f98282a0f9686b6c4fa4a5 (patch) | |
tree | afde12316d5a79f7faa14d52224c375dac0e57c4 /script_v2.cpp | |
parent | 2189a0913a100cc469c9a0e80a9523650826b460 (diff) | |
download | scummvm-rg350-011cf6e066c2fa1a66f98282a0f9686b6c4fa4a5.tar.gz scummvm-rg350-011cf6e066c2fa1a66f98282a0f9686b6c4fa4a5.tar.bz2 scummvm-rg350-011cf6e066c2fa1a66f98282a0f9686b6c4fa4a5.zip |
Start of The Dig voice support. Don't get excited, it doesn't do anything yet. :)
svn-id: r3895
Diffstat (limited to 'script_v2.cpp')
-rw-r--r-- | script_v2.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/script_v2.cpp b/script_v2.cpp index f675ff9d09..bcb2b78275 100644 --- a/script_v2.cpp +++ b/script_v2.cpp @@ -2354,8 +2354,19 @@ void Scumm::o6_printEgo() { } void Scumm::o6_talkActor() { + char *pointer = NULL, *string = NULL; _actorToPrintStrFor = pop(); - _messagePtr = _scriptPointer; + pointer = string = (char *)_scriptPointer; + + pointer = strtok(pointer, "/"); + if (pointer) { + playBundleSound(pointer); + pointer = strtok(NULL, ""); + _messagePtr = (unsigned char *)pointer; + } else { + _messagePtr = (unsigned char *)string; + } + setStringVars(0); actorTalk(); _scriptPointer = _messagePtr; @@ -2526,13 +2537,12 @@ void Scumm::o6_miscOps() { case 15: _insaneFlag = args[1]; break; - case 16: { + case 16: byte buf[200]; _msgPtrToAdd = buf; addMessageToStack(getStringAddress(_vars[VAR_STRING2DRAW])); - warning("o6_miscOps: drawString(%s,charset=%d,color=%d,x=%d,y=%d)",buf, args[1],args[2],args[3],args[4]); + //warning("o6_miscOps: drawString(%s,charset=%d,color=%d,x=%d,y=%d)",buf, args[1],args[2],args[3],args[4]); break; - } case 17: warning("o6_miscOps: stub17(%d,%d,%d,%d)",args[1],args[2],args[3],args[4]); break; @@ -2817,7 +2827,7 @@ void Scumm::decodeParseString2(int m, int n) { string[m].no_talk_anim = true; break; case 75: - _messagePtr = _scriptPointer; + _messagePtr = _scriptPointer; switch(m) { case 0: actorTalk(); break; case 1: drawString(1); break; |