Age | Commit message (Collapse) | Author |
|
|
|
|
|
Non-use of these kernel calls was assumed by reviewing script
disassembly by SV, but it turns out that SV was not picking up
script patches correctly in SCI3 games, so this data is no longer
considered reliable.
|
|
Fixes Trac#9845.
|
|
Upon investigation of Sound code across SCI32 games, it was
determined that there are actually (at least) 3 different
revisions, not just a single SCI2.1 version. This patch only
changes the parts of Sound code that are relevant to the correct
use of Audio32.
Fixes Trac#9736, Trac#9756, Trac#9767, Trac#9791.
|
|
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.
|
|
Fixes Trac#9763.
|
|
|
|
Used by RAMA, when playing a video at the Hub Camp computer at the
beginning of the game (room 1004).
|
|
|
|
|
|
Fixes text scaling gone mad in Phant2.
|
|
|
|
integration
|
|
|
|
|
|
|
|
Used by Phant2.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
Since this feature is now implemented, it is not necessary to
describe its intended functionality here.
|
|
Different subops have different call signature requirements.
|
|
|
|
|
|
Used by Hoyle5.
Also includes a tiny amount of cleanup in kAddAfter for
consistency with kAddBefore.
|
|
Fixes Trac#9665.
|
|
Used in Shivers room 35170 when pressing the play button.
|
|
|
|
Game scripts pass an extra argument which is never used in SSCI.
This happens e.g. when warping from room 620 to room 860 in
LSL6hires.
Adding a signature for kPalVarySetVary for SCI2.1early games only
does not work because KQ7 1.51 is detected as SCI2.1early but the
interpreter includes kPalVary code that matches SCI2.1mid.
Fixes Trac#9611.
|
|
transparentColor -> skipColor
displace -> origin
scaledWidth -> xResolution
scaledHeight -> yResolution
|
|
This kernel call exists only in SCI2 and is a null subroutine. It
is called at the beginning of GK1.
|
|
|
|
|
|
Used by Torin room 40300 to perform pathfinding by bitmap.
|
|
Kernel calls with these signatures are inclusive of the engine
version given in the name; this change makes it clearer that
this is the case.
|
|
The kernel signature * means "one or more", not "zero or more" as
might be expected from the otherwise regex-like syntax.
|
|
|
|
Games with custom save code (KQ7, MGDX, PQ:SWAT, Shivers) are not
fully supported yet.
|
|
|
|
|
|
|
|
|
|
Used only by chapter 7 of Phant1.
|
|
The mode argument is required in SCI32 too; Torin just had a script
bug.
|
|
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.
|