diff options
author | Travis Howell | 2004-09-12 01:12:06 +0000 |
---|---|---|
committer | Travis Howell | 2004-09-12 01:12:06 +0000 |
commit | c77df77180c49a684de568cab7de6de7c38387d5 (patch) | |
tree | 5a3a25bb4bd119bda6b626416acba8451b227262 | |
parent | ad6c8217bcfc797b0017102f0ecbd3518599d34c (diff) | |
download | scummvm-rg350-c77df77180c49a684de568cab7de6de7c38387d5.tar.gz scummvm-rg350-c77df77180c49a684de568cab7de6de7c38387d5.tar.bz2 scummvm-rg350-c77df77180c49a684de568cab7de6de7c38387d5.zip |
Use talkie resource for HE 99+ games.
svn-id: r15015
-rw-r--r-- | scumm/script_v72he.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index 92691f98b4..366f55e22d 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1935,8 +1935,8 @@ void ScummEngine_v72he::o72_unknownFA() { } void ScummEngine_v72he::decodeParseString(int m, int n) { - byte b; - int i, id, color; + byte b, *ptr; + int i, color, size; int args[31]; byte name[1024]; @@ -2008,8 +2008,24 @@ void ScummEngine_v72he::decodeParseString(int m, int n) { } break; case 0xE1: - id = pop(); - // Load and display talkie resource. + ptr = getResourceAddress(rtTalkie, pop()); + size = READ_BE_UINT32(ptr + 12); + memcpy(name, ptr + 16, size); + + switch (m) { + case 0: + actorTalk(name); + break; + case 1: + drawString(1, name); + break; + case 2: + unkMessage1(name); + break; + case 3: + unkMessage2(name); + break; + } break; case 0xF9: color = pop(); |