aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/resource.cpp4
-rw-r--r--scumm/script_v72he.cpp6
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;