Opened 13 years ago

Closed 13 years ago

#3141 closed defect (fixed)

LOOM: Intro crash (regression)

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Loom

Description

Latest SVN snapshot
English floppy version of Loom

The changes in revision 26331 appear to have caused some regressions after all. The EGA Loom intro crashes early when trying to load costume 164.

It appears to be some kind of signed/unsigned issue. In loadResource(), fileOffs used to be set to 55143. Now it's set to -10393 instead.

It's a bit too late at night for me to figure this out, but my deranged imagination suggests that when ScummVM was modified to read roomoffs[][] with readSint16LE() instead of readUint16LE(), an assumption was made that the value would either fit in a signed 16-bit integer, or be -1. Clearly, in this case this was not true.

The bug could very well affect other games, but so far I haven't seen it happen anywhere else.

Ticket imported from: #1692142. Ticket imported from: bugs/3141.

Change History (4)

comment:1 by eriktorbjorn, 13 years ago

Owner: set to fingolfin

comment:2 by SF/quietust, 13 years ago

It's also affecting Amiga indy3ega, and at a rather inconvenient time - I'm just now trying to add support for the two pitch-bending sound effects (pouring water and diving biplane), and a great deal of things have quit working.

comment:3 by bluegr, 13 years ago

The VGA Loom intro seems to be working fine

comment:4 by fingolfin, 13 years ago

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