Age | Commit message (Collapse) | Author |
|
|
|
|
|
This is needed by Phant2 guest additions to find the correct
slider for the music volume, since the sliders have no unique name.
|
|
|
|
To fix an uninitialized read when clicking somewhere to walk around
in city hall.
|
|
This fixes buggy PQ4 system script code and makes entering user
and password on the police computer not trigger a signature mismatch
anymore.
Script code was fixed by Sierra in PQ4 CD.
|
|
|
|
|
|
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.
|
|
|
|
Phant2 creates save game names that append "<PROTECTED>" at the
end of the game name, with an assumption that the game name is
always exactly 36 characters long. This seems to be OK with other
games too (tested GK1, SQ6, and Torin).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This fixes delayed mouse cursor updates during the chase scene in
Phant1.
Refs Trac#9975.
|
|
|
|
Since these later SCI32 games weren't really designed to work with
subtitles-only message mode, if this doesn't work consistently or
breaks the games a lot in other places, the subtitles-only message
type could possibly be implemented in some other way, like by
messing with the game's speech volume global instead.
|
|
|
|
|
|
Fixes Trac#9793.
|
|
|
|
Refs Trac#9776, Trac#9864. Fixes Trac#9797.
|
|
These objects should have been initialized only during the first
pass. Double-initialization does not cause any visible problem
problem during normal operation (mostly it just causes memory
waste by making Object::_baseVars/_baseMethod double up their
data), but could have silently allowed games to receive bogus data
for an out-of-bounds property or method index, instead of raising
an error.
|
|
1. In SCI0/1, selectors and offsets in the method block are
stored contiguously (all selectors, then all offsets), with a
null separator between the two runs. All the later versions of
SCI instead interleave selectors & offsets. Since these values
are already being copied into a new array anyway, code for
reading method selectors/offsets is now simplified by
interleaving this data when it is written into _baseMethod
for SCI0/1, so the same equation for retrieving method
selectors/offsets can be used across all SCI versions.
2. In SCI1.1-2.1 branch, the method count was being copied into
the first entry of the array, which meant that SCI1.1-2.1 had
extra code for dealing with the fact that the first entry was
not an entry. This has been fixed, and the extra code removed.
3. Data was being overread into _baseMethod in all games SCI0-2.1.
(SCI0/1 had an extra magic value of 2, and SCI1.1-2.1 had an
extra magic value of 3). Reviewing history, it's not clear why
this happened, other than that it appears to have been
introduced at 7b0760f1bc5c28abcede041a6e3930f84ff3d319. My best
guess is that this was a confusion between byte count and record
count, where the intent was to read an extra 2 bytes for the
null separator in SCI0/1, but it actually read 2 records
instead. (I do not have a guess on why SCI1.1 ended up with a
3.) This overreading has been removed.
|
|
Fixes Trac#9957.
|
|
|
|
It was using SCI16 calls to get the NowSeenRects.
This fixes #9855.
|
|
|
|
* MGDX has only GM music;
* KQ7 1.x's AdLib data is incomplete, so is not usable even though
it is partially there
Fixes Trac#9789.
|
|
1. Added a new game option for linear interpolation when scaling
overlay-mode video in ScummVM builds with USE_RGB_COLOR;
2. Implemented SCI2.1-variant of the VMD player renderer (fixes
Trac#9857), which bypasses the engine's normal rendering
pipeline;
3. Improved accuracy of the SCI3-variant of the VMD player by
writing HunkPalettes into the VMD's CelObjMem instead of
submitting palettes directly to GfxPalette32.
|
|
1. Added a new game option for linear interpolation when scaling
video in ScummVM builds with USE_RGB_COLOR;
2. 8bpp videos that put black in a palette index other than 0
(KQ7) should now always render correctly without the earlier
game-specific workarounds which did not work very well;
3. Data from game scripts regarding video size and position are
now ignored, since games always just try to show videos in the
middle of the screen, but frequently get this a little bit
wrong, causing either bad aspect ratios or off-center videos;
4. Builds without USE_RGB_COLOR support will not crash when
attempting to play >8bpp AVIs, like those from KQ7 2.00b.
Fixes Trac#9843, Trac#9762.
|
|
|
|
|
|
|
|
This script patch will fix not getting 10 points for giving
the locket to Marie.
|
|
The previous script patch for this bug was much simpler and
targeted the bad code that hangs, instead of the bad code that
caused the unexpected flag setting, but this caused glitches in
the dragon's cave that couldn't really be fixed since different
animations relied on some common code for positioning Boogle. So,
now, this more complicated patch fixes the fast-forward code in
the seraglio to set Boogle's in-the-bag flag, which is what the
dragon's cave needs in order to not hang when worming Boogle.
Also, because this patch now targets the code that caused the bad
flag state, instead of the code that hangs on the bad state, any
save game in the dragon's cave with the bag flag setting will need
to be fixed by exiting and re-entering the dragon's cave.
Refs Trac#9836.
|
|
Refs Trac#9836.
|
|
Fixes Trac#9836.
|
|
Fixes Trac#9840.
|
|
Fixes Trac#9848.
|
|
Fixes Trac#9847.
|
|
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.
|
|
|
|
|
|
See matchKernelBreakpointPattern() for samples. The main envisioned use is
DoSound*,!DoSoundUpdateCues
to match all DoSound sub-functions except DoSoundUpdateCues.
|