Opened 4 years ago

Closed 4 years ago

#6928 closed defect (fixed)

SHERLOCK: go to Scotland Yard

Reported by: SF/pikappa79 Owned by: dreammaster
Priority: low Component: Engine: Sherlock
Keywords: Cc:
Game: Sherlock Holmes: Case of the Serrated Scalpel

Description

ScummVM 1.8.0git4718-gf5ea337 (Sep 30 2015 05:14:40)
English
DOS
Win32

Map: when you go to Scotland Yard ScummVM crashes

Ticket imported from: bugs/6928.

Attachments (1)

scalpel.002 (12.2 KB ) - added by eriktorbjorn 4 years ago.

Download all attachments as: .zip

Change History (10)

by eriktorbjorn, 4 years ago

Attachment: scalpel.002 added

comment:1 by eriktorbjorn, 4 years ago

I can reproduce this. The message I get when it crashes is:

scummvm: engines/sherlock/scene.cpp:589: virtual bool Sherlock::Scene::loadScene(const Common::String&): Assertion `dataIndex < _walkPoints.size()' failed.

In my case, I also got a glitch on the map while going towards Scotland Yard: The moving circle was only partly drawn for a little while.

comment:2 by eriktorbjorn, 4 years ago

Bisecting points to this, which doesn't sound too far-fetched:

5531cf9fd503c3e74b8a32f6b12f2243bac68c06 is the first bad commit
commit 5531cf9fd503c3e74b8a32f6b12f2243bac68c06
Author: Paul Gilbert <dreammaster@scummvm.org>
Date:   Sat Jun 13 21:07:50 2015 -0400

    SHERLOCK: Refactored walk data block to e a proper structure

:040000 040000 9ec4f8797d3e23a6b74d16f3389e4b0da44277bc e1d0a8c562385e4275acd27543ce83bed1e81733 M  engines

comment:3 by dreammaster, 4 years ago

Owner: set to dreammaster

comment:4 by dreammaster, 4 years ago

Looks like, for that scene at least, there was a whole bunch of garbage at the start of the walk data block that the loading code was trying to interpret as valid points, so the offset for the first walkDirectory entry wasn't found. I've changed the code to load the entire block first, and only decode walk point sets from the offsets specifically present in _walkDirectory.

comment:5 by dreammaster, 4 years ago

Resolution: fixed
Status: newclosed

comment:6 by dreammaster, 4 years ago

Resolution: fixed
Status: closednew

comment:7 by dreammaster, 4 years ago

Whoops. Re-opening again, since the issue with the carriage getting partially cropped still remains.

comment:8 by eriktorbjorn, 4 years ago

I think the drawing issue is fixed now. It happened in the case where an unscaled sprite was both flipped and partly below the bottom of the screen.

comment:9 by eriktorbjorn, 4 years ago

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