diff --git a/scumm/object.cpp b/scumm/object.cpp index 0adb79478fa..00a4efd4141 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 79673cec283..53fa2988d83 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 4213fcb3322..0b4a3064779 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);