diff options
author | Colin Snover | 2017-01-18 11:41:16 -0600 |
---|---|---|
committer | Colin Snover | 2017-03-30 19:46:27 -0500 |
commit | fa9523933f69497bae19510ff1c7f17e4cbe8024 (patch) | |
tree | 1879c24b0d16adb17e2b607bb78ba25bc976afb1 /engines | |
parent | bd7a62e99693e6df5c39efe09a8d28c57bfa7cd1 (diff) | |
download | scummvm-rg350-fa9523933f69497bae19510ff1c7f17e4cbe8024.tar.gz scummvm-rg350-fa9523933f69497bae19510ff1c7f17e4cbe8024.tar.bz2 scummvm-rg350-fa9523933f69497bae19510ff1c7f17e4cbe8024.zip |
SCI32: Fix broken sliders in Shivers settings
This problem is caused by the same invalid super call that broke
the CCTV joystick.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/script_patches.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp index d84d2ab780..f5ec2d300c 100644 --- a/engines/sci/engine/script_patches.cpp +++ b/engines/sci/engine/script_patches.cpp @@ -4871,7 +4871,9 @@ static const SciScriptPatcherEntry sq5Signatures[] = { // In SSCI, this happens to work because the uninitialized value on the stack // happens to be 1. Disabling the super call avoids the bad doVerb call without // any apparent ill effect. -static const uint16 shiversSignatureJoystickFix[] = { +// The same problem exists when trying to drag the volume & brightness sliders +// in the main menu. These controls are also fixed by this patch. +static const uint16 shiversSignatureSuperCall[] = { SIG_MAGICDWORD, 0x38, SIG_UINT16(0xa5), // pushi handleEvent 0x78, // push1 @@ -4881,14 +4883,15 @@ static const uint16 shiversSignatureJoystickFix[] = { SIG_END }; -static const uint16 shiversPatchJoystickFix[] = { +static const uint16 shiversPatchSuperCall[] = { 0x48, // ret PATCH_END }; // script, description, signature patch static const SciScriptPatcherEntry shiversSignatures[] = { - { true, 35170, "fix CCTV joystick interaction", 1, shiversSignatureJoystickFix, shiversPatchJoystickFix }, + { true, 35170, "fix CCTV joystick interaction", 1, shiversSignatureSuperCall, shiversPatchSuperCall }, + { true, 990, "fix volume & brightness sliders", 2, shiversSignatureSuperCall, shiversPatchSuperCall }, SCI_SIGNATUREENTRY_TERMINATOR }; |