Commit Graph
733 Commits
Author SHA1 Message Date
sluicebox 0ffcd593b1 SCI: Fix early KQ4 saves when a dialog is on screen 2023-01-26 21:05:53 -08:00
UrQuan1 431f288742 SCI: Amend CAMELOT script patch description
(cherry picked from commit c9d2fad29d795f038899f12f321d398e7fb98224)
2023-01-24 13:34:06 -08:00
sluicebox dd4a024245 SCI: Fix LONGBOW v1.0 Abbey bugs 2023-01-23 02:00:42 -08:00
sluicebox 89dd781e23 SCI32: Disable speed test in RAMA Demo 2023-01-19 13:50:54 -08:00
sluicebox 51f1d4dc73 SCI: Fix LB2 reporter message 2023-01-10 14:50:51 -08:00
sluicebox 046356c85a SCI: Convert LSL1 polygon workaround to script patch 2023-01-08 17:01:01 -08:00
sluicebox 47fbb31c08 SCI: Disable LSL1 speed test
This was missing from: ea48986006

Fixes bug #14004
2023-01-02 01:16:06 -08:00
sluicebox d10fd9f124 SCI: Revert disabling LB2 control panel in tunnel
These rooms disabled the control panel to prevent the player from
accessing the game's speed setting. Ego is set to a fixed speed and
the timing of the room scripts depend on that speed.

See: 11ca903f60
2022-12-21 12:26:52 -08:00
sluicebox 2c01722f9b SCI: Fix QFG1VGA Sierra logo animation speed
The previous commit fixed inconsistent animation speed in
this room due to our throttling.

This patch fixes slow animation due to Sierra's throttling.
2022-12-21 12:26:51 -08:00
sluicebox ae5db52c2e SCI: Remove speed test detector
This heuristic was originally how all SCI16 speed tests were handled.
It has been gradually replaced with script patches, until all games
were patched in: ea48986006

At the time, I left this in because it had the benefit of speeding up
the SCI11 test variants so that they didn't produce a startup delay.
Now we know that this heuristic has been identifying regular rooms as
speed tests and unthrottling them too, causing unintended effects.
Some of this behavior was masked by fast-cast throttling occurring
everywhere, until: e09010f7d8

For example, the QFG1VGA Sierra logo animation changes speed and runs
very fast as soon as the sparkle is finished. The Longbow map rooms
were also detected as speed test rooms and animated too fast. Cast-less
rooms like LB2's title screen run unthrottled and consume CPU.

There are only a few SCI11 speed test rooms, so now they're explicitly
unthrottled in kGameIsRestarting with the other throttling exceptions.
2022-12-21 12:26:51 -08:00
sluicebox e46767b8f8 SCI: Fix LONGBOW map animation speed
Speed throttling was disabled on LONGBOW maps because they were treated
as speed tests by the heuristic in GfxAnimate::throttleSpeed. This bug
was masked by fast-cast throttling being applied everywhere, but that
was changed in e09010f7d8

Now the map rooms trigger throttling so that they don't run too fast.
But the game scripts also attempt to throttle the animations based on
speed test results, causing them to run too slow, so that's patched out.

Fixes bug #13966
2022-12-14 05:00:42 -08:00
sluicebox 032afca6cb SCI: Fix LB2 CD hands-off cursor 2022-12-09 23:31:17 -08:00
sluicebox 11ca903f60 SCI: Fix LB2 disabled control panel icon
Now that we allow arbitrary saving via the Global Main Menu,
we can remove the buggy restrictions that prevented saving
and restoring
2022-12-09 23:31:16 -08:00
sluicebox 2e7c3e4f7d SCI: Update LB2 Act 5 script patch for wired door
Fixes the remaining edge cases with this buggy door
2022-12-07 16:26:09 -08:00
sluicebox e2d216013d SCI: Fix LB2 Act 5 transom bugs 2022-12-07 16:26:08 -08:00
sluicebox 334191f636 SCI: Add PATCH_GETORIGINALBYTES to script patcher
Script patches often involve moving entire sequences of existing
instructions. Now that can be done with a smaller patch definition.
2022-12-07 16:26:07 -08:00
sluicebox 903498b6dc SCI: Fix LB2 Act 5 broken timers 2022-12-07 16:26:07 -08:00
sluicebox 9641a3608b SCI Fix LB2 Act 5 trigger 2022-12-02 16:11:34 -08:00
sluicebox 60f04d4e7c SCI: Fix LB2 Act 5 timer crash 2022-12-02 16:11:34 -08:00
sluicebox 1c64c0c4c4 SCI: Fix LB2 CD mummy coffin animation glitch 2022-12-02 16:11:33 -08:00
sluicebox b9df07b465 SCI: Fix LB2 Act 5 mummy coffin lockup 2022-12-02 16:11:33 -08:00
sluicebox 4d6c2f474e SCI: Fix LB2 CD museum actors facing wrong direction 2022-12-02 16:11:32 -08:00
sluicebox bf47637280 SCI: Remove KQ6 black widow script patch
The VM discrepancy that caused these buggy scripts to behave
differently has been fixed, so this patch is no longer needed
2022-11-30 23:13:00 +02:00
sluicebox ea86295e3e SCI: Update QFG3 Woo dialog script patch
Simplifies the patch and updates the description
2022-11-29 18:35:45 -08:00
sluicebox 33c6fe1131 SCI: Fix KQ6 black widow lockup with script patch
Recent fixes to the sound fading code have exposed this bug again.
It was first fixed 12 years ago, and then again 10 years ago.

Both times, the bug was fixed by changing kDoSoundFade behavior.
But those changes added behavior that was different from SSCI, and
those differences caused problems in LB2. kDoSoundFade is now
accurate, and so the bug has returned, but it was never a sound bug.

The black widow lockup is due to a script bug that accidentally relies
on undefined values from non-existent parameters. ScummVM produces
different undefined values than SSCI in certain situations, and this
is one of them. The undefined values are then passed to kDoSoundFade
as real values in a correct kernel call.

Now this is fixed with a script patch that removes all five broken
Sound:fade calls. They were redundant because they attempted to fade in
to the same volume they had just set.

Perhaps we can replicate SSCI's undefined behavior someday, but in
the meantime this bug is fixed.

Fixes bugs #5625 #5653 #6120 #6210 #6252 #13944
2022-11-25 16:36:19 -08:00
sluicebox ff9e03c4bd SCI: Convert LSL5 stopGroop workaround to script path 2022-11-17 15:45:17 -08:00
sluicebox 2d98fda2df SCI: Fix KQ6 Mac About dialog lockups
Fixes script bugs in the original that caused buttons such as
"Tips for playing King's Quest VI" to always lock up the game
2022-11-08 16:37:17 -08:00
Hubert Maier 1158b00dad SCI: Correct spelling mistakes
accomodate -> accommodate
firey -> fiery
2022-11-01 23:46:28 +01:00
sluicebox b7dc7f39d1 SCI: Fix typos in script patch comments 2022-10-14 12:40:39 -05:00
sluicebox e50833c400 SCI32: Fix LIGHTHOUSE script patch comment 2022-10-13 19:12:41 -05:00
sluicebox 7f0f63670b SCI32: Fix LIGHTHOUSE animation speed when opening safe
Fixes bug #10226
2022-10-13 19:01:09 -05:00
sluicebox 26d4a53d56 SCI32: Fix LIGHTHOUSE missing birds in tower roost
Fixes bug #10265
2022-10-13 19:01:09 -05:00
sluicebox 73da3458ba SCI32: Fix QFG4 scripts that consume extra projectiles
Fixes bug #13823
2022-09-13 22:17:33 -08:00
sluicebox 9bbdec165c SCI: Fix QFG3 Laibon Teller options
This is a follow-up to the script patches for the dead-end event
bugs in the Laibon's hut: 6e743a97ef

Those patches had the unintended side effect of allowing two dialogue
options during an event where they shouldn't be available. Now their
logic is updated to match the other patches so that they only appear
during their intended event.

Fixes bug #13748
2022-09-01 09:44:05 -08:00
sluicebox 0fd8ec67d5 SCI: Disable volume reset on fan games
Also, add a patch for another variant of the volume slider bug in fan games.

Fixes bug #13795
2022-08-25 13:06:05 -07:00
sluicebox 908a13998c SCI: Fix previous LB2 CD script patch 2022-08-19 16:45:43 -04:00
sluicebox d1cf428dec SCI: Fix LB2 CD Wolf and O'Riley actor loops 2022-08-19 07:12:29 -04:00
sluicebox 78a6a93faf SCI: Fix LB2 error when clicking dagger case 2022-08-19 07:12:29 -04:00
sluicebox 9ccadff907 SCI: Fix LB2 museum music script bugs 2022-08-19 07:12:28 -04:00
sluicebox 4cffc809b2 SCI: Fix "You wins" message in PQ1 poker 2022-08-12 00:33:19 -04:00
sluicebox ec6d350ba6 SCI: Fix LB2 CD interrupted introduction music 2022-08-12 00:33:19 -04:00
sluicebox adb211613f SCI: Fix SQ5 WD40 missing messages 2022-07-30 16:39:26 -04:00
sluicebox b267706b8d SCI: Fix SQ5 WD40 tunnel entrance lockup
Fixes bug #9988
2022-07-30 16:39:26 -04:00
sluicebox 6a3fb9b5f8 SCI: Fix LONGBOW hedge maze music
Fixes bug #13674
2022-07-30 16:39:25 -04:00
sluicebox 50fec97f8a SCI32: Fix LSL6HIRES phone crash
Fixes bug #13554
2022-06-08 09:03:39 -04:00
sluicebox 9558095053 SCI: Remove trailing array commas 2022-06-06 17:55:50 -04:00
sluicebox a100e03663 SCI: Fix SQ4 Skate-O-Rama chase timing
- Skate-O-Rama (CD version) can now be completed at all game speeds.
- Removed the extra speed throttling on Skate-O-Rama. Floppy doesn't
  have the timing bugs and now both versions run at normal speeds.
- Fixed the coordinate bug that made the west exit impossible at
  certain game speeds.

Bugs #5514 and #11038
2022-06-06 17:30:47 -04:00
sluicebox ea48986006 SCI: Disable speed tests with script patches
Disables SCI16 speed tests with generic script patches.

- All games now pass their speed tests, and consistently.
- Handles games/versions that the benchmarking heuristic misses.
- Fixes bug #13529 (speed test overflow on fast CPUs) on all games.
- Replaces most game-specific patches.

I've left the benchmarking heuristic so that any game or version that
still needs patching will still be handled with unthrottling.
2022-06-06 17:20:58 -04:00
sluicebox 3c3ed549f1 SCI: Disable JONES speed test
Fixes bug #13529
2022-06-03 12:00:58 -04:00
sluicebox dffe39a91c SCI: Disable LSL2 speed test 2022-05-28 03:49:45 -04:00