Opened 4 years ago

Closed 4 years ago

#11967 closed defect (fixed)

SCI: LSL3 Score counter behavior

Reported by: GermanTribun Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: Leisure Suit Larry 3

Description

ScummVM: 2.2.0
System: Windows 7

In Larry 3, the score counter does not behave as it is supposed to.

Unlike in other SCI games, in Larry 3 the score counter acted differently, by tallying up the score visibly (the number rises) until reaching the new score. Under Dosbox it behaves like it should. Under ScummVM however, it instantly jumps to the new score, which is not correct.

I know it's a small thing, but it's not the original behavior.

Change History (2)

comment:1 by m-kiewitz, 4 years ago

That's actually not a bug and it is in fact original behavior.

LSL3 does not display these incremental changes when it has detected the PC, which it thinks is running it, as sort of slow. We make that happen intentionally otherwise other issues pop up, like for example an insane amount of bench presses etc.

The only way to make this happen without causing other problems, would be a very small script patch, which would remove the machine speed check from the game's own scripts right before it's doing incremental updates.

LSL3 would act the same way when DosBox would run slowly (but even that does not have to work, DosBox is inaccurate in such things).

If you tried to play the game on original below AT hardware, it would do what happens in ScummVM (had to edit this, originally I thought it was AT hardware, it has to be below AT).

You can modify this behavior by setting another computer speed setting.
Modify global 6Bh to at least 40 (decimal).
You can do that by entering debugger via Ctrl-Alt-D and then entering the following command "vmvars g 6Bh 40".
Please recognize that this may cause speed related problems somewhere else.

The code is inside LSL3::doit.

Version 4, edited 4 years ago by m-kiewitz (previous) (next) (diff)

comment:2 by sluicebox, 4 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed
Summary: SCI: Score counter behaviorSCI: LSL3 Score counter behavior

This has also prevented lighting effects and graphics during the dances and at the comedy club.

Patching the speed test to always be 40 is a good idea; the throttled speed result is almost that anyway, so it doesn't significantly change the number of exercises. We can even remove the LSL3 throttling workaround now there's no more test to throttle.

Fixed in: 4a7248627906ca34a45118d65bd0e51656f6421c

Thanks for reporting this. As m-kiewitz said, this change won't apply to existing saved games, but you can patch those with the debugging command:

vv g 123 40
Note: See TracTickets for help on using tickets.