Opened 19 months ago

Closed 19 months ago

Last modified 19 months ago

#10240 closed defect (fixed)

SCI: Leisure Suit Larry 1, Spanish version, crash when trying to buy apples to the guy at the casino

Reported by: d3p4z Owned by: m-kiewitz
Priority: high Component: Engine: SCI
Keywords: Cc:
Game: Leisure Suit Larry 1

Description

Game: Leisure Suit Larry in the Land of the Lounge Lizards
Language: Spanish
Game Version: Floppy, VGA, 1991
ScummVM version: 1.9.0.2
OS: Windows 10

Trying to buy an apple to the barrel guy that appears outside of the casino (using the wallet on him) makes the game crash, debugger shows:

ERROR: Send to invalid selector 0x14 of object at 0029:0242!

Buying him an apple is needed to continue de game.
I've run the game under DosBox and can't reproduce the issue.

Attachments (1)

lsl1sci-es.001 (34.3 KB) - added by d3p4z 19 months ago.
Saved game at the casino, next to the barrel guy.

Download all attachments as: .zip

Change History (15)

Changed 19 months ago by d3p4z

Attachment: lsl1sci-es.001 added

Saved game at the casino, next to the barrel guy.

comment:1 Changed 19 months ago by d3p4z

Summary: Spanish version, crash when trying to buy apples to the guy at the casinoSCI: Leisure Suit Larry 1, Spanish version, crash when trying to buy apples to the guy at the casino

comment:2 Changed 19 months ago by m-kiewitz

Owner: set to m-kiewitz
Priority: normalhigh

comment:3 Changed 19 months ago by bluegr

This seems to be a duplicate of a very old bug:
https://bugs.scummvm.org/ticket/5392

It is caused by applying the NRS patch to non-English versions of LSL1.Try removing the patch and see if that fixes your issue. You will probably have to restart the game, I’m afraid.

comment:4 Changed 19 months ago by m-kiewitz

Thanks Filippos for noticing.

I guess we should blacklist that patch. At least for Non-English versions.

comment:5 Changed 19 months ago by d3p4z

Thanks bluegr for the advice.

The version I keep from long ago does have a 300.SCR, 300.TEX and 927.SCR (NOT 370.scr, 380.scr or 803.scr), which I think are needed for this release of the game, but I can't confirm it since I do keep a hard disc backup and no longer have access to any actual floppies.

I can't find the list of datafiles ScummVm looks for, or a list of checksums.

Anyways, I've tried to re-add the game with just the following datafiles, no additional SCR/TEX files:
RESOURCE.000
RESOURCE.001
RESOURCE.002
RESOURCE.003
RESOURCE.CFG
RESOURCE.MAP

After starting game and paying to the barrel guy at the casino, it crashes again, but the debugger throws a different message:
ERROR: Script 985 not found

This does happen near the start of the game, so no problem, I can test it quickly.

Last edited 19 months ago by d3p4z (previous) (diff)

comment:6 Changed 19 months ago by m-kiewitz

Really nice that I bought this a few weeks ago from a nice Spanish ebay seller.
Will look into this. Maybe your files are even corrupt.

comment:7 Changed 19 months ago by m-kiewitz

d3p4z, I just checked my own copy.

It definitely has those 3 files. 300.SCR, 300.TEX and 927.SCR.
Please copy those over. Your issue may probably vanish afterwards.

Anyway, my own copy actually has a broken view 302, which is that man inside the barrel, so I get a crash as soon as I reach him.

comment:8 Changed 19 months ago by m-kiewitz

I just checked the original interpreter. When I reach that man, the interpreter goes crazy. Will make a GIF out of that and upload it somewhere.

People, who get this issue, can easily dump that view from another copy of the game and then simply use it as patch file to fix it.

My copy is "Leisure Suit Larry Collection" / "8 Juegos De Larry". Big fat "Computer Juegos" logo on the backside.

comment:9 Changed 19 months ago by m-kiewitz

I just tried the same after fixing view 302.
I just got "Send to invalid selector 0x14 (brLeft) of object at 0029:02c3!"

Backtrace to PAvoider::doit in script 927.
29:2c3 is PolyPath

comment:10 Changed 19 months ago by m-kiewitz

Added a script patch to fix this via commit eb1f903
Improved it via commit 83436e6 (it now even works without the patch files)

comment:11 Changed 19 months ago by m-kiewitz

Resolution: fixed
Status: newclosed

comment:12 Changed 19 months ago by m-kiewitz

Oh, I forgot to mention:

It's all a big mess. Larry 1 Spanish without patch files tries to access a non existing class, which of course crashes the game. The patches add it, but at least in ScummVM there is another error which happens inside that class. This error may even happen because of pathfinding differences, but it really seems to be a script error.

What's weird is that the code is not the same as in any of the 2 English releases and it's missing checking the distance between the player and the apple man. Almost looks like some kind of beta release code, idk.

I now changed the code to work just like in the English releases.

Last edited 19 months ago by m-kiewitz (previous) (diff)

comment:13 Changed 19 months ago by d3p4z

m-kiewitz, I just tested the game again after the patch.

I've copied back 300.SCR, 300.TEX and 927.SCR, and the game plays properly when approaching the apple seller.

I'm pretty sure that the version I do own myself is a standalone one, not one compiled by "Computer Juegos". For the record, back in the day, people used to say that the Larry 1 included with that "Computer Juegos" collection was completely messed up at certain places, to the point to making the game unfinishable (Take it with a grain of salt, I've never owned that version).

Anyways, now it's working nicely here too. I'm going to play the version I own from start to finish to fully test it.

Last edited 19 months ago by d3p4z (previous) (diff)

comment:14 Changed 19 months ago by m-kiewitz

Thank you for testing.

Do you own the other Leisure Suit Larry games as Spanish versions too? Like Larry 5, 6 and 7? If you do and have the time, please play those too.

Note: See TracTickets for help on using tickets.