diff options
-rw-r--r-- | scumm/object.cpp | 5 | ||||
-rw-r--r-- | scumm/script.cpp | 4 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 5 |
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); |