Opened 8 years ago

Closed 8 years ago

#6993 closed defect (fixed)

LAB: Image loading errors crash ScummVM

Reported by: SF/philsalv Owned by: Strangerke
Priority: normal Component: Engine: Lab
Version: Keywords:
Cc: Game: Labyrinth of Time


There are two points in The Labyrinth of Time where the game will attempt to load image files that do not exist. In the DOS version and Windows re-release, the engine handles these errors by displaying a black image in the viewport. ScummVM crashes instead.

Scene 89: Manually opening the door to the saloon (while facing east) attempts to load SPICT/W/W.57A (or PICT/W/W.57A in the low-resolution DOS version). These files were missing in the original DOS release, and the engine displayed a black image in its place. ScummVM crashes instead. (SPICT/W/W.57A was added to the Windows re-release and behaves normally with that version.)

Scenes 121/122: Entering the Ziggurat without a lit lantern is meant to load an intentionally black image file (SPICT/ZIGINT/BLK or PICT/ZIGINT/BLK). However, in both the DOS and Windows versions, the filename is different (SPICT/ZIGINT.BLK or PICT/ZIGINT.BLK). In prior releases, the engine handled the error by displaying a black image anyway, so it was never clear that something was wrong. ScummVM crashes instead.

Save files attached for viewing both of these. The second save file loads Scene 111, which allows you to enter the Ziggurat.

Reproduced in ScummVM 1.8.0git6220-g792ae03 (Jan 23 2016 05:15:05), Win32

Ticket imported from: bugs/6993.

Attachments (2)

lab.001 (16.2 KB ) - added by SF/philsalv 8 years ago.
lab.002 (15.7 KB ) - added by SF/philsalv 8 years ago.

Download all attachments as: .zip

Change History (9)

by SF/philsalv, 8 years ago

Attachment: lab.002 added

comment:1 by SF/philsalv, 8 years ago

Should have mentioned: these save files are from the DOS version of the game, if it matters.

comment:2 by Strangerke, 8 years ago

Fixed the first with a skip of missing files in the DOS version. Fixed the second adding some code to load the right files in the DOS and Windows versions.

You'll need the next nightly build to test the fix.

comment:3 by Strangerke, 8 years ago

Resolution: fixed

comment:4 by Strangerke, 8 years ago

Owner: set to Strangerke

comment:5 by SF/philsalv, 8 years ago

Both fixes work with a caveat.

Opening the saloon doors in scene 89 now displays the last frame of animation instead of black screen, which is arguably an improvement. However, opening and closing a full-screen inventory picture after this results in a black screen instead of the previous image.

While this is inconsistent with the new and improved behavior, it does accurately reflect how the screen would appear in the original game, so it's likely okay. Your discretion!

Tested in 1.8.0git6246-g75d1385 (Jan 25 2016 05:14:45), Win32.

comment:6 by Strangerke, 8 years ago

I'm not sure how I could do better without w.57a :/ I have the feeling it looks less broken now, as a user could play it without noticing anything unless he opens the inventory (which isn't required at this place), so I'm tempted to keep it that way...

comment:7 by SF/philsalv, 8 years ago

Yeah, it's a niche case, and again it does match the original game's behavior, so there's not much harm. Figured I would ask, but it's probably fine as-is.

comment:8 by sev-, 8 years ago

Status: newclosed
Note: See TracTickets for help on using tickets.