Colin Snover
48baf5a4a5
SCI32: Fix uninitialized temp read in LSL6hires
...
Fixes Trac#9811.
2017-06-10 00:13:58 -05:00
Martin Kiewitz
a8475db05a
SCI: SQ4CD: Limit workaround for Russian SQ4 to room 150+900
...
As proposed by bluegr
2017-05-30 22:11:33 +02:00
Martin Kiewitz
266f68c21b
SCI: SQ4CD: Remove room restriction of existing workarounds for end
...
Fixes bug #9812
2017-05-29 23:44:28 +02:00
Colin Snover
4917330038
SCI: Find and store the original static names of objects
...
See code comment in Object::init for more details.
Fixes Trac#9780.
2017-05-20 21:14:18 -05:00
Colin Snover
262ef4de61
SCI32: Fix crash at end of Torin
...
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-13 22:46:13 -05:00
Colin Snover
ae628c18d4
SCI32: Add workaround for KQ7
...
Fixes Trac#9763.
2017-05-08 19:45:07 -05:00
Colin Snover
a403523faf
SCI32: Add workaround for KQ7
...
Fixes Trac#9759.
2017-05-06 21:45:41 -05:00
Colin Snover
14e4ea6c85
SCI32: Add workarounds for LSL7
2017-04-23 13:07:25 -05:00
Colin Snover
7b3c9f4a07
SCI32: Add Lighthouse workaround
2017-04-23 13:07:25 -05:00
Colin Snover
f711edc876
SCI32: Add workarounds for RAMA
2017-04-23 13:07:25 -05:00
Colin Snover
2212b82794
SCI32: Add workarounds for Lighthouse
2017-04-23 13:07:25 -05:00
Colin Snover
6c44106083
SCI32: Add workarounds & patches for QFG4
2017-04-22 19:28:35 -05:00
Colin Snover
2df939d33b
SCI32: Add workaround for SQ6 invalid read after a failed save game restore
2017-04-22 13:01:36 -05:00
Colin Snover
a1153661c4
SCI: Stop getCurrentCallOrigin from mutating stack frames
...
This fixes incorrect backtraces after a workaround failure or
other call to getCurrentCallOrigin when one or more stack frames
are calls to local procedures.
2017-03-30 20:49:36 -05:00
Colin Snover
5e81db8fd0
SCI32: Add workaround for uninitialised read in Torin
2017-03-30 19:46:27 -05:00
Colin Snover
159438848b
SCI32: Add workaround for uninitialised read in GK1
2017-03-30 19:46:27 -05:00
Colin Snover
31daa956d6
SCI: Implement bounds-checked reads of game resources
2017-03-27 19:42:31 -05:00
Martin Kiewitz
26b6d450df
SCI: Clean up kRandom + allow 0 parameters via signatures
...
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-02-26 00:24:57 +01:00
Colin Snover
e695100708
SCI32: Add workarounds for MGDX
2017-01-16 12:16:14 -06:00
Colin Snover
f66c033d52
SCI32: Add workaround for Hoyle5
2017-01-16 12:16:13 -06:00
Colin Snover
c476341508
SCI32: Add workarounds for KQ7 2.00b
2017-01-16 12:16:13 -06:00
Colin Snover
54e94c572a
SCI32: Add workarounds, transitions, fixes for PQ4CD
2017-01-12 13:14:03 -06:00
Colin Snover
d951026578
SCI32: Add workarounds for PQ:SWAT
2017-01-11 11:13:45 -06:00
Filippos Karapetis
09d06855c5
SCI32: Add a workaround for the demo version of LSL7
2017-01-11 00:37:43 +02:00
Colin Snover
c48c24d1d3
SCI32: Fix Torin demo crash
2017-01-09 19:34:54 -06:00
Colin Snover
e729a31edc
SCI32: Fix SQ6 demo crash
2017-01-09 19:34:54 -06:00
Colin Snover
b818e54027
SCI32: Fix crashes and bad cel positioning in GK2 demo
2017-01-09 19:34:54 -06:00
Colin Snover
2ce1807359
SCI32: Generalise uninitialised read workarounds for RAMA
2017-01-09 19:34:54 -06:00
Colin Snover
3e2f4a66f6
SCI32: Remove SCI3 workarounds hack
2017-01-09 19:34:54 -06:00
Colin Snover
ed19d51918
SCI: Fix PQ2 crash reading second page of files in jail
...
This fixes the crash in PQ2 1.002.011. There is another workaround
for the same problem from ticket Trac#5223, but it uses a different
method name that does not match in this version of PQ2.
Fixes Trac#9670.
2017-01-01 11:16:31 -06:00
Colin Snover
4f7173b137
SCI32: Generalize Phant1 kArraySetElements workaround
...
This bug exists in a system script that is called from many, many
rooms, so it is simpler to just make the workaround apply to all
rooms.
2016-12-19 14:46:59 -06:00
Colin Snover
f52c03cd2c
SCI32: Simplify workaround comment
...
It is not necessary to explain what is happening, just how to
reproduce it.
2016-12-18 19:02:40 -06:00
Colin Snover
c816657e56
SCI32: Add workaround for bad kArraySetElements call at end of Phant1
2016-12-18 19:02:40 -06:00
Colin Snover
8477e61ad0
SCI32: Add workaround for hearts game in Hoyle5
2016-12-12 15:22:04 -06:00
Colin Snover
02598b4473
SCI32: Add workarounds for Hoyle5 Crazy Eights
2016-12-11 20:09:48 -06:00
Colin Snover
6de396d787
SCI32: Add workaround for Hoyle5 startup call to kPlatform
...
Fixes Trac#9665.
2016-12-11 12:31:45 -06:00
Omer Mor
4312e2c5a4
SCI32: Add a workaround for kDoSoundPlay for KQ7 demo
2016-12-11 09:43:40 -06:00
Colin Snover
a895cf1b5a
SCI32: Fix incomplete workaround comment
2016-11-10 10:21:12 -06:00
Colin Snover
1e8b95f025
SCI32: Fix GK1 crash when erasing letters in St Louis Cemetery
...
Fixes Trac#9642.
2016-11-10 10:17:01 -06:00
Colin Snover
e8c429832f
SCI32: Automate kNumCels workaround
2016-11-02 15:43:07 -05:00
Colin Snover
e704e5f3c8
SCI32: Fix crash when clicking around the arterial blockage in SQ6
...
Thanks @hpvb for the report.
Fixes Trac#9615. Closes #850 .
2016-10-16 19:30:47 -05:00
Colin Snover
abc4656cc0
SCI32: Fix workaround comment
2016-10-16 11:10:25 -05:00
Colin Snover
65d0c659ef
SCI32: Fix crash clicking quit button during LSL6hires credits
2016-10-15 20:57:48 -05:00
Colin Snover
06d58c91b9
SCI32: Fix crash in LSL6hires ending
...
Fixes Trac#9613.
2016-10-15 19:29:00 -05:00
Willem Jan Palenstijn
3dc5431884
SCI: Add modified workaround for Simbani bridge room for GOG
...
The GOG version comes with a fan patch that uses rm470::name to
store a timer to rate-limit rm470::doit. This breaks the workaround
detection since that uses the name field.
2016-10-12 22:06:50 +02:00
Colin Snover
3f30e2dd06
SCI32: Fix uninitialized read when starting a new game in LSL6hires
2016-10-05 15:30:39 -05:00
Colin Snover
84978b7cab
SCI32: Fix crash when trying to interrogate bartender in GK1
2016-10-01 15:26:34 -05:00
Colin Snover
2035e21667
SCI32: Add workaround for kNumCels
...
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-29 19:39:16 -05:00
Colin Snover
07e1dc3ca5
SCI32: Fix SQ6 crash using the special button in Stooge Fighter 3
2016-09-29 19:39:16 -05:00
Colin Snover
0e53c8e9f3
SCI32: Improve MGDX support
...
Audio directory switching is temporarily disabled because it
causes use-after-free in the resource manager.
2016-09-29 19:39:16 -05:00