aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/script_patches.cpp
AgeCommit message (Collapse)Author
2017-06-23SCI32: Add patch for game script bug in Torin dragon's caveColin Snover
Fixes Trac#9836.
2017-06-19SCI32: Create Torin-specific save game count limitation removerColin Snover
Fixes Trac#9840.
2017-05-29SCI32: GK1: Add second beignet timer issue script patchMartin Kiewitz
Should solve bug #9805
2017-05-27SCI32: Remove invalid interaction cursor spinloop in KQ7Colin Snover
2017-05-24SCI32: Fix typo in script patch nameMartin Kiewitz
2017-05-24SCI32: Add script patch for lsl7 cheese maker priority bugMartin Kiewitz
This issue also happens when using the original interpreter.
2017-05-24SCI32: Add script patch for cheese maker issueMartin Kiewitz
Room 540, was game breaking, but effectively a script bug, that just happened to work in SSCI.
2017-05-15SCI: Add script patch for "Tickets, only" during game over sceneMartin Kiewitz
Audio played was "Tickets, only", subtitle shows "Tickets, please". Also remove forcing myDialog for KQ6Print::say (which was added, while fixing this script patch). see a46f3c162581740a3cad27e1168164ca91beb9c9 Forcing myDialog causes issues during game over screen (bug #9771). Bug is solved by this, but script patch isn't perfect right now.
2017-05-04SCI32: Disable game script video benchmarkingColin Snover
The approach to video benchmarking used by SCI engine does not translate very well to modern video devices -- it will either be so slow that the games think the system is not capable of showing normal visual effects, or so fast that the benchmarks overflow their counters. So, game scripts that perform video benchmarking are now patched to unconditionally return the highest speed value. A pleasant but subtle side-effect of this change is that the extra time sitting at a blank screen before the start of a game (while benchmarks ran) is now gone. Fixes Trac#9741.
2017-04-23SCI32: Remove spinloops from Phant2Colin Snover
2017-04-23SCI32: Fix slow fade of Phant2 interface barsColin Snover
2017-04-22SCI32: Add workarounds & patches for QFG4Colin Snover
2017-04-22SCI: Move ScummVM kernel calls to 0xe0Colin Snover
2017-04-21SCI: Improve audio volume & settings sync codeColin Snover
This patch includes enhancements to the ScummVM integration with SCI engine, with particular focus on SCI32 support. 1. Fixes audio volumes syncing erroneously to ScummVM in games that modify the audio volume without user action (e.g. SCI1.1 talkies that reduce music volume during speech playback). Now, volumes will only be synchronised when the user interacts with the game's audio settings. This mechanism works by looking for a known volume control object in the stack, and only syncing when the control object is present. (Ports and planes were researched and found unreliable.) 2. Fixes audio syncing in SCI32 games that do not set game volumes through kDoSoundMasterVolume/kDoAudioVolume, like GK1, GK2, Phant1, and Torin. 3. Fixes speech/subtitles syncing in SCI32 games that do not use global 90, like LSL6hires. 4. Fixes in-game volume controls in SCI32 games reflecting outdated audio volumes when a change is made during the game from the ScummVM launcher. 5. Fixes SCI32 games that would restore volumes from save games or reset volumes on startup, which caused game volumes to be out-of-sync with ScummVM when started. 6. ScummVM integration code for audio sync has been abstracted into a new GuestAdditions class. This keeps the ScummVM- specific code all in one place, with only small hooks into the engine code. ScummVM integrated save/load code should probably also go here in the future. Fixes Trac#9700.
2017-03-30SCI32: Fix broken sliders in Shivers settingsColin Snover
This problem is caused by the same invalid super call that broke the CCTV joystick.
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2017-03-19SCI: Add Colonel's Bequest patch and extend patcher functionalityMartin Kiewitz
Add Colonel's Bequest patch to fix an issue in room 35. When you tell Lilly about Gertie in act 2, Lilly will then walk out of the room. In case Laura (ego) is in her way, the game will effectively block and will appear frozen. This also happened, when using the original interpreter. This also adds a new functionality to the script patcher. PATCH_GETORIGINALUINT16 is able to get a full UINT16 from original script data and insert it somewhere else. PATCH_GETORIGINALBYTE and PATCH_GETORIGINALBYTEADJUST commands were merged internally and use the same internal command now. Some script patches were adjusted accordingly. Thanks again to wjp for helping on the script issue.
2017-03-18SCI: Add script patch for Laura Bow 2 to fix museum party room (350)Martin Kiewitz
When clicking anywhere while entering the middle museum party room (which has a large golden Egyptian head inside of it), the game will keep the script for entering active, which will then make it impossible to leave this room. This script bug also happened, when using the original interpreter. The patch applies to at least English + German floppy as well as English CD. Very many thanks to wjp for helping figuring the actual cause out.
2017-01-16SCI32: Script patch priority drawing bug in MGDXColin Snover
This fixes the horse at the fountain drawing on top of the fountain instead of behind it.
2017-01-16SCI32: Fix spinloop in Hoyle5Colin Snover
Hoyle5 will spin on kGetTime between 15 and 300 ticks in multiple game scripts in order to delay execution (for example, after choosing opponents and clicking "okay"). This causes ScummVM to be unresponsive and wastes CPU time. This commit patches the spin subroutines to instead call a kernel function (kWait) that waits without a spin loop. This kernel function was removed in SCI2, and has been added back in ScummVM specifically for Hoyle5, so this patch will not work with the original interpreter.
2017-01-12SCI32: Fix bad scroll delta in GK2 inventoryColin Snover
Fixes Trac#9648.
2017-01-09SCI32: Fix bad rendering of Sierra logo in MGDXColin Snover
2016-12-21SCI: Fix kq6 CD audio+subtitle script patchMartin Kiewitz
Original patch caused a text window to be shown at the cliffs (copy protection), even when audio-only mode was active.
2016-12-12SCI32: Adjust transition timingsColin Snover
Transition timings were originally chosen largely by feel in SQ6, as there was little other evidence to determine the correct speed. As additional games started being playable in ScummVM, it became apparent that these speeds were not quite right. Additional adjustments may be needed in the future, but these new timings seem to be somewhat closer to expectations than before.
2016-11-19SCI32: Add script patch for Shivers room 35170Colin Snover
2016-10-27SCI32: Fix typosColin Snover
Thanks @OmerMor.
2016-10-27SCI32: Fix LSL6hires script bugColin Snover
Fixes Trac#9612.
2016-10-14SCI32: Fix slow transitions in SQ6Colin Snover
2016-10-09SCI32: Change storage type of int16 arrays to hold reg_ts insteadColin Snover
Memory references and integers in SSCI are both 16-bit numbers, so game scripts frequently (incorrectly) use an IntArray instead of an IDArray for holding references. Since references in ScummVM are 32-bit reg_ts, IntArray entries must be large enough to hold reg_ts in order to be compatible with game scripts that store references in integer arrays. The alternative solution is to find and patch all incorrect use of IntArray across all games. This is possible, but a bit risky from a save game stability perspective, since incorrect IntArray usage is sometimes not apparent until well after the array is instantiated (like GK1's global interview array). This change invalidates existing SCI32 save games.
2016-10-09JANITORIAL: Remove trailing spacesEugene Sandulenko
2016-10-01SCI32: Use selector lookup in Torin script patch instead of magic numbersColin Snover
2016-10-01SCI32: Fix interrogation screen crash in GK1Colin Snover
2016-09-30SCI32: Fix buildWillem Jan Palenstijn
2016-09-29SCI32: Fix whitespaceColin Snover
2016-09-29SCI32: Fix SQ6 crash in Holocabana control panelColin Snover
2016-09-29SCI32: Fix Torin inventory crash caused by wrong array typeColin Snover
2016-09-29SCI32: Disable "change directory" button in native save/load dialogueColin Snover
2016-09-29SCI32: Fix warnings and incompatible save games when built without SCI32Colin Snover
2016-09-29SCI32: Add mark for KQ7 in script patchesColin Snover
2016-09-29SCI32: Increase allowed number of save games in native save/loadColin Snover
This is applied only to games where the standard save/load dialogue is used; games like KQ7 and Phantasmagoria, which use a non-standard UI for save games, are still limited to the number of saves originally supported.
2016-09-29SCI32: Patch bad calls to IntArray::newWith in Phant1 and SQ6Colin Snover
2016-09-18SCI: Add qfg1vga script patch to fix bug #9558Martin Kiewitz
This solves a game bug, that also happens when using the original interpreter, during the time where Brutus and Bruno meet at the shooting range.
2016-09-09SCI32: Fix GK1 day 5 script patchMartin Kiewitz
The previous patch made ego not getting the drum book anymore.
2016-09-08SCI32: Add script patch for fixing game dialogue error on day 5Martin Kiewitz
Special thanks, credits and kudos to sluicebox on IRC, who did a ton of research on this and even found this game bug originally.
2016-08-28SCI32: Add script patch for Gabriel Knight 1 script bug day 10Martin Kiewitz
Day 10 - when dressing up. Right after that Gabriel turns around, which went on endlessly in ScummVM. In the original engine kNumCels is broken and returns in special cases basically random data instead of 0. We return 0, which caused the cycler to never end, because the scripts asked to cycle until cel -1.
2016-07-11SCI: Update script patch commentsMartin Kiewitz
2016-07-11SCI32: Improve kq7 subtitle script patchMartin Kiewitz
Subtitle box should now always use color 255, which should be white all the time. Normally it uses color 7, which is white most of the time, but for example pink/purple at the start of chapter 5.
2016-07-11SCI32: Fix an issue with the KQ7 subtitles script patchMartin Kiewitz
Volume was lowered, but not raised afterwards for certain cases Original script patch was commited in b676530528349842ad178d02a2cbe49a0facd68e
2016-07-10SCI32: Add script patch to fix/improve KQ7 subtitlesMartin Kiewitz
Needs lots of testing of course Applies to 1.51 and 2.00
2016-07-06SCI: Fix typo in script patch comment (longbow arithmetic bug)Martin Kiewitz
Wasn't bug #6571, but bug #6751 Thanks to omer_mor for spotting it