Menu

#6993 LAB: Image loading errors crash ScummVM

Labyrinth of Time
closed-fixed
None
5
2016-02-02
2016-01-23
No

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

2 Attachments

Discussion

  • Phil Salvador

    Phil Salvador - 2016-01-23

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

     
  • Strangerke

    Strangerke - 2016-01-24

    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.

     
  • Strangerke

    Strangerke - 2016-01-24
    • status: open --> open-fixed
     
  • Strangerke

    Strangerke - 2016-01-24
    • assigned_to: Strangerke
     
  • Phil Salvador

    Phil Salvador - 2016-01-25

    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.

     
  • Strangerke

    Strangerke - 2016-01-27

    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...

     
  • Phil Salvador

    Phil Salvador - 2016-01-28

    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.

     
  • Eugene Sandulenko

    • status: open-fixed --> closed-fixed