Age | Commit message (Collapse) | Author |
|
Fixes Trac#9836.
|
|
Fixes Trac#9840.
|
|
Should solve bug #9805
|
|
|
|
|
|
This issue also happens when using the original interpreter.
|
|
Room 540, was game breaking, but effectively a script
bug, that just happened to work in SSCI.
|
|
Audio played was "Tickets, only", subtitle shows "Tickets, please".
Also remove forcing myDialog for KQ6Print::say (which was added,
while fixing this script patch).
see a46f3c162581740a3cad27e1168164ca91beb9c9
Forcing myDialog causes issues during game over screen (bug #9771).
Bug is solved by this, but script patch isn't perfect right now.
|
|
The approach to video benchmarking used by SCI engine does not
translate very well to modern video devices -- it will either be
so slow that the games think the system is not capable of showing
normal visual effects, or so fast that the benchmarks overflow
their counters. So, game scripts that perform video benchmarking
are now patched to unconditionally return the highest speed value.
A pleasant but subtle side-effect of this change is that the extra
time sitting at a blank screen before the start of a game (while
benchmarks ran) is now gone.
Fixes Trac#9741.
|
|
|
|
|
|
|
|
|
|
This patch includes enhancements to the ScummVM integration with
SCI engine, with particular focus on SCI32 support.
1. Fixes audio volumes syncing erroneously to ScummVM in games
that modify the audio volume without user action (e.g. SCI1.1
talkies that reduce music volume during speech playback). Now,
volumes will only be synchronised when the user interacts with
the game's audio settings. This mechanism works by looking for
a known volume control object in the stack, and only syncing
when the control object is present. (Ports and planes were
researched and found unreliable.)
2. Fixes audio syncing in SCI32 games that do not set game
volumes through kDoSoundMasterVolume/kDoAudioVolume, like GK1,
GK2, Phant1, and Torin.
3. Fixes speech/subtitles syncing in SCI32 games that do not use
global 90, like LSL6hires.
4. Fixes in-game volume controls in SCI32 games reflecting
outdated audio volumes when a change is made during the game
from the ScummVM launcher.
5. Fixes SCI32 games that would restore volumes from save games
or reset volumes on startup, which caused game volumes to be
out-of-sync with ScummVM when started.
6. ScummVM integration code for audio sync has been abstracted
into a new GuestAdditions class. This keeps the ScummVM-
specific code all in one place, with only small hooks into the
engine code. ScummVM integrated save/load code should probably
also go here in the future.
Fixes Trac#9700.
|
|
This problem is caused by the same invalid super call that broke
the CCTV joystick.
|
|
|
|
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 the horse at the fountain drawing on top of the
fountain instead of behind it.
|
|
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.
|
|
Fixes Trac#9648.
|
|
|
|
Original patch caused a text window to be shown at the cliffs
(copy protection), even when audio-only mode was active.
|
|
Transition timings were originally chosen largely by feel in SQ6,
as there was little other evidence to determine the correct speed.
As additional games started being playable in ScummVM, it became
apparent that these speeds were not quite right.
Additional adjustments may be needed in the future, but these new
timings seem to be somewhat closer to expectations than before.
|
|
|
|
Thanks @OmerMor.
|
|
Fixes Trac#9612.
|
|
|
|
Memory references and integers in SSCI are both 16-bit numbers,
so game scripts frequently (incorrectly) use an IntArray instead
of an IDArray for holding references. Since references in ScummVM
are 32-bit reg_ts, IntArray entries must be large enough to hold
reg_ts in order to be compatible with game scripts that store
references in integer arrays.
The alternative solution is to find and patch all incorrect use of
IntArray across all games. This is possible, but a bit risky from
a save game stability perspective, since incorrect IntArray usage
is sometimes not apparent until well after the array is
instantiated (like GK1's global interview array).
This change invalidates existing SCI32 save games.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is applied only to games where the standard save/load
dialogue is used; games like KQ7 and Phantasmagoria, which use a
non-standard UI for save games, are still limited to the number of
saves originally supported.
|
|
|
|
This solves a game bug, that also happens when using the original
interpreter, during the time where Brutus and Bruno meet at the
shooting range.
|
|
The previous patch made ego not getting the drum book anymore.
|
|
Special thanks, credits and kudos to sluicebox on IRC, who did a
ton of research on this and even found this game bug originally.
|
|
Day 10 - when dressing up. Right after that Gabriel turns around,
which went on endlessly in ScummVM. In the original engine
kNumCels is broken and returns in special cases basically random
data instead of 0. We return 0, which caused the cycler to
never end, because the scripts asked to cycle until cel -1.
|
|
|
|
Subtitle box should now always use color 255, which should be
white all the time. Normally it uses color 7, which is white
most of the time, but for example pink/purple at the start of
chapter 5.
|
|
Volume was lowered, but not raised afterwards for certain cases
Original script patch was commited in
b676530528349842ad178d02a2cbe49a0facd68e
|
|
Needs lots of testing of course
Applies to 1.51 and 2.00
|
|
Wasn't bug #6571, but bug #6751
Thanks to omer_mor for spotting it
|