Opened 18 months ago
Closed 18 months ago
#14500 closed defect (wontfix)
SCUMM: Corrupted DISK03.LEC resource in LRG MONKEY1-EGA
Reported by: | Bartman3010 | Owned by: | dwatteau |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Monkey Island 1 |
Description
This is from the copy that was installed from the floppy disk images of the EGA version found in the Limited Run Games. This uses the fixed fourth disk image and can be played normally up until the fourth part. Where after Guybrush asks "Who is that in the wedding dress" after Governor Marley appears. The figure turns around, then corrupted graphics appear in the bottom right of the screen then ScummVM crashes to desktop without any error messages. The log also does not show anything to indicate an error.
Attachments (1)
Change History (6)
by , 18 months ago
Attachment: | monkey-ega-1.s00 added |
---|
comment:1 by , 18 months ago
comment:2 by , 18 months ago
The version is 2.7.0 (Feb 14 2023 14:26:43) on Windows 10.
So far as I know, the fourth disk was the only known corrupted image and it pertained to the Melee Island "room" (room 85) It could very likely be another corrupted disk image but I'm not sure as to which one. I can try to source another copy or see if I can recreate image files of all disks with what they left on the USB drive.
comment:3 by , 18 months ago
Thank you for reporting this. I also own the LRG set (and wrote the guide about recovering the corrupted 4th disk) and I can reproduce the issue both with your save and with boot param 8989
.
It's indeed possible that Limited Run Games provided another corrupted image (sigh), I'll need a bit more time to look into this, though.
comment:4 by , 18 months ago
So yes, it's not only 903.LFL and DISK04.LEC, but Limited Run Games provided a faulty DISK03.LEC file too.
Costume 11 (the monkeys under the wedding dress) in room 78 appears to be corrupted in this dump, comparing it with the one from my original French EGA CD:
Full SHA-1 sum | Resource -----------------------------------------|------------------------------------ 34faaa40f4e445029b1cb3c3ecfa50ff1d2652ea | MONKEY1_EGA_FR/LF_0078-CO_0011 6400546f3a1f2d2ff3b1fe2d24e73fc6c732a232 | MONKEY1_EGA_EN_LRG/LF_0078-CO_0011
The faulty resource triggers a heap buffer-overflow in Scumm::BaseCostumeRenderer::skipCelLines
(as triggered by AddressSanitizer) otherwise, since this costume has invalid data. Other resources embedded inside DISK03.LEC could be impacted as well.
Fortunately, you can still recover what appears to be a valid DISK03.LEC file from the KryoFlux dumps, if you run a similar dtc
command from the mi1_dos_525_disk3
resources:
cd mi1_dos_525_disk3 dtc -ftrack00.0.raw -i0 -k2 -fnewdisk3.img -i4 -m1 -l1
and then mount or extract the resulting newdisk3.img
image, in order to grab its DISK03.LEC resource. The game appears to run fine once you do that.
I'll update the detection code in ScummVM so that people will know that this DISK03.LEC file from this release needs to be recreated from the KryoFlux dumps as well.
I'll amend my guide at <https://dwatteau.github.io/scummfixes/corrupted-monkey1-ega-files-limitedrungames.html> for this. Thank you very much for reporting this, and sorry for not checking this copy of the game until the very end!
comment:5 by , 18 months ago
Owner: | set to |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
Summary: | Secret of Monkey Island EGA LRG Crash → SCUMM: Corrupted DISK03.LEC resource in LRG MONKEY1-EGA |
Pushed commit b263c3f31f7d40fad65e3d5dd10b6aa5511e6f4f
so that the next ScummVM release will detect this corrupted file as well.
Thanks again for testing and reporting this! Please don't hesitate reporting any other issue that you could find with this release (I hope that's the last one, though!).
Could you clarify which version of ScummVM are you testing with and on which platform?
Are you sure the disk image is not (still) corrupted?