aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/object.cpp5
-rw-r--r--scumm/script.cpp4
-rw-r--r--scumm/script_v5.cpp5
3 files changed, 11 insertions, 3 deletions
diff --git a/scumm/object.cpp b/scumm/object.cpp
index 0adb79478f..00a4efd414 100644
--- a/scumm/object.cpp
+++ b/scumm/object.cpp
@@ -831,7 +831,10 @@ byte *Scumm::getObjOrActorName(int obj) {
objptr = getOBCDFromObject(obj);
if (objptr)
- offset = READ_LE_UINT16(objptr + 18);
+ if (_features & GF_OLD_BUNDLE)
+ offset = READ_LE_UINT16(objptr + 20);
+ else
+ offset = READ_LE_UINT16(objptr + 18);
return (objptr + offset);
}
diff --git a/scumm/script.cpp b/scumm/script.cpp
index 79673cec28..53fa2988d8 100644
--- a/scumm/script.cpp
+++ b/scumm/script.cpp
@@ -874,7 +874,9 @@ int Scumm::getVerbEntrypoint(int obj, int entry) {
objptr = getOBCDFromObject(obj);
assert(objptr);
- if (_features & GF_SMALL_HEADER)
+ if (_features & GF_OLD_BUNDLE)
+ verbptr = objptr + 21;
+ else if (_features & GF_SMALL_HEADER)
verbptr = objptr + 19;
else
verbptr = findResource(MKID('VERB'), objptr);
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index 4213fcb332..0b4a306477 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -1899,7 +1899,10 @@ void Scumm_v5::o5_setObjectName() {
byte offset = 0;
objptr = getOBCDFromObject(obj);
- offset = READ_LE_UINT16(objptr + 18);
+ if (_features & GF_OLD_BUNDLE)
+ offset = READ_LE_UINT16(objptr + 20);
+ else
+ offset = READ_LE_UINT16(objptr + 18);
size = READ_LE_UINT16(objptr) - offset;
} else {
size = getResourceDataSize(name);