[Scummvm-tracker] [ScummVM :: Bugs] #16597: Leisure Suit Larry VII [Fargus]: Crash after milking the beavers
ScummVM :: Bugs
trac at scummvm.org
Tue Mar 17 05:22:23 UTC 2026
#16597: Leisure Suit Larry VII [Fargus]: Crash after milking the beavers
---------------------+-----------------------------------
Reporter: Omar2002 | Owner: sluicebox
Type: defect | Status: closed
Priority: normal | Component: Engine: SCI
Version: | Resolution: fixed
Keywords: | Game: Leisure Suit Larry 7
---------------------+-----------------------------------
Changes (by sluicebox):
* owner: (none) => sluicebox
* resolution: => fixed
* status: new => closed
Comment:
Fixed in e50f14107b6c2c05d943457b8c3f346fc9075c7a
ScummVM was doing the right thing. The problem is entirely with the
translation: it incorrectly compressed a resource it should not have. In
SCI3, you cannot compress a resource to its same size, as SCI3
interpreters determine if a resource is compressed by testing its packed
size against its unpacked size. I confirmed in disassembly that this is
how LSL7 works.
This translation was probably produced by a third party tool that didn't
know this rule. The original interpreter would have also failed to read
this message resource, although it would not have been a fatal error. I
changed our `error` to a `warning` so that we log and reject invalid
messages resource, but still proceed with the game. That allows this
translation to continue despite its invalid resource.
Thank you again for reporting this, this was a fun bug to investigate and
it's clarified some details about SCI3 that I don't think the community
understands yet. I will be updating my tools and several ScummVM comments
thanks to this.
[ Deleted one of my comments to avoid confusion, now that I understand the
real cause. ]
--
Ticket URL: <https://bugs.scummvm.org/ticket/16597#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list