aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2004-10-03 04:49:20 +0000
committerTravis Howell2004-10-03 04:49:20 +0000
commitb1bf9f94d8028e856abdcb6372af7f6d6505b07b (patch)
treef9ee89d1deaaf80881e476f2708da3beb4caa784 /scumm
parente72ccd620be6e5648094ad7acc8011c228bfc235 (diff)
downloadscummvm-rg350-b1bf9f94d8028e856abdcb6372af7f6d6505b07b.tar.gz
scummvm-rg350-b1bf9f94d8028e856abdcb6372af7f6d6505b07b.tar.bz2
scummvm-rg350-b1bf9f94d8028e856abdcb6372af7f6d6505b07b.zip
Should use findWrappedBlock
svn-id: r15385
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v72he.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 18f97d74a9..3f016d46af 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -2408,12 +2408,11 @@ void ScummEngine_v72he::o72_unknownFA() {
}
void ScummEngine_v72he::decodeParseString(int m, int n) {
- byte b, *ptr;
int i, color, size;
int args[31];
byte name[1024];
- b = fetchScriptByte();
+ byte b = fetchScriptByte();
switch (b) {
case 65: // SO_AT
@@ -2454,10 +2453,13 @@ void ScummEngine_v72he::decodeParseString(int m, int n) {
printString(m, name);
break;
case 0xE1:
- ptr = getResourceAddress(rtTalkie, pop());
- size = READ_BE_UINT32(ptr + 12);
- memcpy(name, ptr + 16, size);
+ {
+ const byte *dataPtr = getResourceAddress(rtTalkie, pop());
+ const byte *text = findWrappedBlock(MKID('TEXT'), dataPtr, 0, 0);
+ size = getResourceDataSize(text);
+ memcpy(name, text, size);
printString(m, name);
+ }
break;
case 0xF9:
color = pop();