Opened 6 years ago

Closed 4 years ago

#10453 closed defect (invalid)

SCI: Patch file conventions should not be version agnostic

Reported by: ikantspelwurdz Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Quest for Glory 1

Description

Seen in stable Version 2.0.0 and also in a daily build on 3/22/2018.

Start a new game. Pick the Fighter, walk left one screen, and enter the magic shop. The game crashes. I have tested this with the data files provided by GOG, and also with data files on my Quest for Glory Anthology CD-ROM.

Savegame provided, using the GOG files, but shouldn't really be needed since the crash can be reproduced almost immediately.

Error message:
Assertion failed!

Program: <dir>\scummvm.exe
File: /data/sharedrepo/engines/sci/engine/script.cpp, line 916

Expression: blockSize > 0

Attachments (1)

qfg1.001 (12.8 KB ) - added by ikantspelwurdz 6 years ago.

Download all attachments as: .zip

Change History (9)

by ikantspelwurdz, 6 years ago

Attachment: qfg1.001 added

comment:1 by ikantspelwurdz, 6 years ago

Edit - I just discovered that the crash goes away if I delete this file from the game directory:
"314.SCR"

The file and a bunch of others with the extensions .HEP and .SCR are dated 8/3/1992. I'm guessing this is part of a later version of the game or patch that helps with the DOS interpreter, but breaks ScummVM. It's included with the GOG release of the game.

comment:2 by ikantspelwurdz, 6 years ago

Owner: set to ikantspelwurdz
Resolution: invalid
Status: newclosed

Ok, I found the problem. This copy of the game had files from a patch intended for QFG1 VGA. Not a ScummVM issue (probably).

comment:3 by bonki, 6 years ago

In your original report you state that this also happens with the files from the QFG Anthology CDROM - is this not the case, then?

Also, if ScummVM properly detects the game as EGA and said files don't belong to the EGA version but the original works anyway with them in place I'd say this is a bug which we probably should fix so I'd rather this stays open until someone from the SCI team adds their 2c.

comment:4 by bonki, 6 years ago

Priority: highnormal
Resolution: invalid
Status: closednew

comment:5 by csnover, 6 years ago

SCI had two naming conventions for patch files, type.123 and 123.TYP. The former was used by early SCI games and the latter used starting around SCI1.1. QFG1EGA uses the former, QFG1VGA uses the latter.

The original QFG1EGA interpreter would just not notice these new style patches at all, but ScummVM loads them unconditionally, which it obviously should not be doing since they are for a totally different of the interpreter. So while the mastering of this CD was poor, this is a bug in ScummVM which needs to be fixed (in DirectoryResourceSource).

comment:6 by digitall, 6 years ago

Owner: ikantspelwurdz removed

comment:7 by bluegr, 6 years ago

Summary: QFG1 EGA: Crash when entering magic shopSCI: Patch file conventions should not be version agnostic

comment:8 by sluicebox, 4 years ago

Owner: set to sluicebox
Resolution: invalid
Status: newclosed

This is a non-issue. I have the anthology CD and have confirmed in multiple GOG releases that none of them put VGA patch files in the EGA directory.

I don't know what went wrong with the original bug reporter's files, but I see no evidence that a legitimate release has ever shipped that way. Otherwise we'd be getting this bug report all the time instead of only once.

Note: See TracTickets for help on using tickets.