Age | Commit message (Collapse) | Author |
|
This fixes a use-after-free in GK2 when restoring a second save
game, when the List reg_t is still considered valid but the List
has moved due to a partial game restore.
|
|
|
|
This fixes incorrect backtraces after a workaround failure or
other call to getCurrentCallOrigin when one or more stack frames
are calls to local procedures.
|
|
The eventual proper fix for this is to change the current MIDI
parser to work the same as in SSCI, but for now this workaround
allows the game to continue.
Fixes Trac#9696.
|
|
|
|
|
|
|
|
|
|
Fixes bad scaling of text when switching between games with
different script resolutions.
|
|
GK1 handles MIDI volume by changing the volumes of individual
sound objects, rather than by using the MIDI master volume. As a
result, the master volume needs to default to the maximum output
level in order for GK1 to play music at the correct volume.
This change does not affect earlier games, since SCI16 managed
MIDI volume via the master volume, and for these games the master
volume from ScummVM is synced at startup.
|
|
Some kernel calls need to be able to call back into game script
code, which requires a valid stack pointer for use with
invokeSelector.
An example of this is the guest additions code that syncs audio
volumes from ScummVM: it needs to be able to call into the game
scripts responsible for managing the in-game audio volume UI.
|
|
The only SCI32 game that uses MIDI and does not support AdLib is
MGDX, and it its MIDI playback is currently broken regardless of
the synth setting.
|
|
|
|
|
|
This problem is caused by the same invalid super call that broke
the CCTV joystick.
|
|
|
|
The resources on CD 1 are corrupt and point to invalid locations
in the CD 1 RESOURCE.AUD. This can be noticed during the briefing
on the Lucy Long callup, where descriptions of the map are missing
and eventually the game gets stuck waiting for missing audio to
finish playback.
|
|
|
|
Specifically, audio patches are used in at least PQ:SWAT
(40103.AUD), Lighthouse (9103.AUD), and the GK2 demo (300.AUD).
|
|
Fixes the non-interactive Lighthouse demo.
|
|
|
|
|
|
Used by Phant2.
|
|
|
|
|
|
|
|
This happened to work previously because the size was not checked
for validity, and because the audio player calculates its own size
so this value was never actually used.
|
|
The invalid entries, which are on CD 6, appear to correspond to
audio that's on CD 4 (though not with the correct offset for CD
4's RESOURCE.AUD).
Skipping the invalid map entries on CD 6 should cause these audio
files to be loaded from the CD 4 audio bundle if they are
requested during chapter six since ScummVM combines resources from
all CDs and matches on their IDs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
This fixes QfG4 character import, which specifies a size of 52 for a
buffer of size 40.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Since blockSize is asserted to be positive, buf can never be equal to _buf.
|
|
|
|
|
|
|
|
|
|
I did a full-score playthrough of the game with a warning() on
the workaround condition as m_kiewitz suggested.
The following room numbers were logged:
* room#1: intro logo
* room#21: time rip (intro and ending)
* room#531: time pod time travel
* room#290: astro chicken star background
* room#376: right after astro chicken game over (called only once)
|