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:2 by , 4 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Summary: | SCI: Score counter behavior → SCI: 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
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 AT hardware, it would do what happens in ScummVM.
The code is inside LSL3::doit.