diff options
-rw-r--r-- | scumm/resource.cpp | 4 | ||||
-rw-r--r-- | scumm/script_v72he.cpp | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/scumm/resource.cpp b/scumm/resource.cpp index 4ddc571c7a..070cd1906e 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -750,6 +750,8 @@ int ScummEngine::getResourceSize(int type, int idx) { } byte *ScummEngine::getResourceAddress(int type, int idx) { + printf("getResourceAddress: type %d idx %d\n", type, idx); + byte *ptr; CHECK_HEAP @@ -757,6 +759,8 @@ byte *ScummEngine::getResourceAddress(int type, int idx) { if (_heversion >= 80 && type == rtString) idx &= ~0x33539000; + printf("getResourceAddress2: type %d idx %d\n", type, idx); + if (!res.validateResource("getResourceAddress", type, idx)) return NULL; diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp index fbb022ae68..4859fc776b 100644 --- a/scumm/script_v72he.cpp +++ b/scumm/script_v72he.cpp @@ -1859,7 +1859,7 @@ void ScummEngine_v72he::writeFileFromArray(int slot, int resID) { } void ScummEngine_v72he::o72_writeFile() { - int16 resID = pop(); + int resID = pop(); int slot = pop(); byte subOp = fetchScriptByte(); @@ -2126,12 +2126,12 @@ void ScummEngine_v72he::copyArrayHelper(ArrayHeader *ah, int idx2, int idx1, int *data = ah->data + offset; break; case kIntArray: - *num = (len1 - idx1) * 2; + *num = (len1 - idx1) * 2 + 2; *size = pitch * 2; *data = ah->data + offset * 2; break; case kDwordArray: - *num = (len1 - idx1) * 4; + *num = (len1 - idx1) * 4 + 4; *size = pitch * 4; *data = ah->data + offset * 4; break; |