aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/workarounds.h
AgeCommit message (Collapse)Author
2019-10-31SCI32: Add HOYLE5 kFileIOReadString workaroundsluicebox
2019-10-21SCI: Add LSL6 Mac Floppy kGetCWD workaroundsluicebox
The game now starts
2019-10-02SCI32: Add HOYLE5 support for original Save/Load screenssluicebox
Trac #11174
2019-06-09SCI: Create message workaround systemsluicebox
Adds a new workaround system for known broken messages and their corresponding audio and sync resources. This replaces all special cases in c++ and several script patches with data structures and generic handling. Common message bugs: - Wrong tuple requested by game script - Wrong tuple in message resource - Wrong message text that exists in another record - Missing message text - Audio or sync resource with different tuple than message
2018-09-06SCI32: Allow malformed calls to kLock in PQ:SWAT, after the training videosFilippos Karapetis
Fixes bug #10699
2018-08-23SCI32: Add workarounds for OOB reads for parametersFilippos Karapetis
These are mostly used to silence known cases, for now. Some workarounds of this type have already been addded
2017-10-07SCI: Change index inside workaround tables to an index rangeMartin Kiewitz
So that one can specify an entire range of temp variables by using just one single entry.
2017-06-19SCI32: Add workaround for invalid kPalVarySetStart call in PQ4Colin Snover
Fixes Trac#9845.
2017-05-13SCI32: Fix crash at end of TorinColin Snover
This "fix" is more of a hack, in the interest of making the game completable. The root cause is a combination of two problems in the game scripts: 1. Blink::init expects to receive either 0 or 2 arguments, but it assumes that if it received *any* arguments, it must have received 2 arguments. This assumption is wrong, though, because-- 2. soTorinWhoAreYou::changeState(0) calls poPecandEyes::setCycle(Blink) without including a second argument (the blink speed). This ends up with the second parameter being some garbage, and that garbage gets sent to kRandom which then complains about receiving garbage. The correct fix for this would be to fix soTorinWhoAreYou (in script 51400) to pass a second argument to setCycle, but there are not enough obvious spare bytes for a quick and easy patch, so this workaround will have to do for now. Fixes Trac#9779.
2017-05-08SCI32: Add workaround for KQ7Colin Snover
Fixes Trac#9763.
2017-02-26SCI: Clean up kRandom + allow 0 parameters via signaturesMartin Kiewitz
Also added in depth comments about the currently known variations Returning the RNG seed is now implemented (although it seems no games actually use this functionality, it seems to be just script bugs). Also remove Torin kRandom workarounds.
2017-01-16SCI32: Add workaround for Hoyle5Colin Snover
2017-01-12SCI32: Add workarounds, transitions, fixes for PQ4CDColin Snover
2016-12-11SCI32: Add workarounds for Hoyle5 Crazy EightsColin Snover
2016-12-11SCI32: Add workaround for Hoyle5 startup call to kPlatformColin Snover
Fixes Trac#9665.
2016-11-02SCI32: Automate kNumCels workaroundColin Snover
2016-10-15SCI32: Fix crash clicking quit button during LSL6hires creditsColin Snover
2016-09-29SCI32: Add workaround for kNumCelsColin Snover
This workaround may be able to be vastly simplified in the future since, so far, simply returning the number of cels in loop 0 is enough to make all the scripts with this bug work as expected.
2016-09-29SCI32: Fix kFileIOOpen signatureColin Snover
The mode argument is required in SCI32 too; Torin just had a script bug.
2016-09-29SCI32: Rewrite kArray & kStringColin Snover
This change invalidates earlier SCI32 save games, which separated arrays and strings in an incompatible manner. Old save games contain invalid references to a string segment which no longer exists, and contain incompatible array structures that lack critical type information.
2016-09-29SCI: Generalize code for getting information on the current callColin Snover
2016-08-25SCI32: Add a workaround when starting a new game in PhantasmagoriaFilippos Karapetis
This workaround is needed when starting a new game from a chapter after the first one
2016-08-24SCI32: Add workarounds for a bug in Torin, in an animation of LycentiaFilippos Karapetis
2016-06-21SCI32: Add workaround for kScrollWindowAdd call in PhantasmagoriaWillem Jan Palenstijn
2016-06-20SCI32: Add kDoSound(play) workaround for LSL6hiresColin Snover
2016-03-02SCI32: Add a workaround for kPalVarySetPercent in GK1 (chapter change)Filippos Karapetis
2015-04-19SCI: workaround sig cleanupMartin Kiewitz
old and now obsolete localCallOffset removed
2015-04-18SCI: add signatures for workaround local-callsMartin Kiewitz
instead of using hardcoded offsets, we can now use regular script patcher signatures. only 1 qfg3 workaround has been migrated, the others will follow.
2014-06-01SCI: more hoyle 4 workarounds (bug #6604)Martin Kiewitz
2014-02-19SCI: Fix script bug #6485 - "SCI: MUMG EGA - kStrCpy error"Filippos Karapetis
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-10-30SCI: Fix script bug #3615120 - "SCI: Crazy Nick Laura Bow - kReadNumber ↵Filippos Karapetis
signature mismatch"
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-12SCI: Added proper fix for bug #3048054 - "LONGBOW: crash when opening hand code"md5
This was caused by a buggy script, most probably the result of an incorrect copy/paste while processing the original script. Fixed with a script patch.
2011-02-19SCI: Refactored the reg_t related operations and comparisonsmd5
This refactoring reduces a lot of code duplication, allows for better control, makes the code more readable and allows us to remove a lot of now unneeded workarounds
2011-01-12SCI: Added a workaround for script bug #3156472 - "King's Quest 5 cdrom ↵Filippos Karapetis
version crash on escape" svn-id: r55217
2010-10-31SCI: Fix for bug #3100292 - "QFG2: signature mismatch at the WIT"Filippos Karapetis
svn-id: r53993
2010-08-19SCI: Fixed one of the bugs in hoyle3, from bug report #3038837 - "HOYLE3: ↵Filippos Karapetis
EGA/VGA Crashes" (that report includes more issues) svn-id: r52213
2010-08-18SCI: Fixed script bug #3048054 - "LONGBOW: crash when opening hand code" ↵Filippos Karapetis
(German version) svn-id: r52196
2010-08-18SCI: Fixed bug #3042964 - "KQ4: Signature Mismatch"Filippos Karapetis
svn-id: r52180
2010-08-14SCI: adding workaround for camelot during endingMartin Kiewitz
fixes bug #3044734 also fixing heap corruption during the ending svn-id: r52077
2010-08-07SCI: Fixed script bug #3040142 - "PEPPER: Crash on Pugh's office"Filippos Karapetis
svn-id: r51821
2010-08-06SCI: Rewrote the Mother Goose workaround to be like the others, some cleanupFilippos Karapetis
svn-id: r51786
2010-08-06SCI: properly implementing qfg2 astrologer workaroundMartin Kiewitz
svn-id: r51783
2010-08-04SCI: Fix bug #3038913 - SCI Fanmade - The Legend of the Lost Jewel: Crash by ↵Matthew Hoops
bugs Added workaround for calling mul with an object and kSetAngle with two objects as parameters. svn-id: r51743
2010-08-03SCI: adding workaround for pq3Martin Kiewitz
fixes bug #3037565 svn-id: r51701
2010-08-02SCI: Fixed script bug #3037835 - "ISLANDBRAIN: Crash when breeding ↵Filippos Karapetis
second-generation hybrid" svn-id: r51611
2010-08-02SCI: Fixed script bug #3038077 - "PQ3 : Engine Abort While Plotting Crimes", ↵Filippos Karapetis
together with 2 subsequent similar bugs svn-id: r51609
2010-07-30SCI: Fix saving/restoring games in fan gamesMatthew Hoops
The SCI Studio function library incorrectly calls kDeviceInfo with one parameter to get the current device. svn-id: r51514
2010-07-30SCI: adding workaround for kSetCursor kq5cdMartin Kiewitz
adding comments as well svn-id: r51510