Age | Commit message (Collapse) | Author |
|
It's perfectly normal behavior to have locals with a smaller segment ID
than the ID of their respective script, e.g. when scripts are
uninstantiated and then instantiated again
|
|
|
|
When resetting the segment manager, sometimes the locals block for a
script is placed in a segment smaller than the script itself. This
shouldn't be happening, but it isn't fatal, however it should be resolved
in a proper manner
|
|
This makes sure that the workaround works for subclassed objects as well,
such as "theProfessor" talker. Fixes bug #3539350 - "SCI: SQ4 CD -
Crash in sewer when text and speech enabled"
|
|
COMMON: Allow the savefile manager to create uncompressed saves
|
|
Add a script patch for another speech/subtitles script, which handles
the babble icon shown in the quit/death dialogs (e.g. the two guys from
Andromeda in the quit dialog). Now, these dialogs have speech both in the
speech and the speech + subtitles modes
|
|
|
|
This ensures that it won't be confused with a function with the same name
|
|
The bug in question is "SCI: SQ4 Floppy DOS title screen skipping too
quickly", and is caused by game scripts not waiting between palette calls
|
|
This is needed for future support of large SCI3 scripts. The program
counter is isolated and does not interfere with other parts of the VM,
plus it does not get stored in saved games, so it's pretty straightforward
to convert
|
|
Also renamed some SCI3 related code to indicate when it's SCI3 specific
|
|
Also set the correct name for the debug opcode "line"
|
|
|
|
Fixes the wrong palette during video sequences in GK2 and the demo of RAMA
|
|
Thanks to digitall for spotting this
|
|
|
|
This allows them to be used by other games in the series not supported
by ScummVM (i.e. QFG4, QFG5 and the fanmade AGS version of QFG2)
|
|
OSYSTEM: Use void buffers for screen/overlay/mouse buffers and proper pitch values for overlay code
|
|
|
|
|
|
It's finally nighttime in the first murder scene in PQ4
|
|
Since scripts can be larger than 64KB, and getBufSize() returns a 32-bit
integer, adapt variables that store script sizes accordingly
|
|
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
|
|
|
|
|
|
The caller offset is never actually used inside the function
|
|
|
|
Thanks to DrMcCoy for reporting them
|
|
This reverts commit 577d7e41c9ca2c498dc85e41c373fbdca8d2ed41.
|
|
Merge the init() and load() Script methods and reset the script when
necessary
|
|
These are needed for future handling of large SCI3 script files
|
|
|
|
This is needed for upcoming changes to the Script class
|
|
This will be needed in the future to load large SCI3 scripts
|
|
|
|
|
|
|
|
Shivers uses extra special hardcoded save files together with the normal
ones that are used to store slot names and spot descriptions. The scheme
is a bit odd, and since the names of the extra save files are hardcoded,
this scheme is problematic to use. We skip the creation of these files
altogether and use virtual files instead, which means that the
(broken) spot descriptions won't be visible next to each save
description. This isn't a major issue for now, and it's left as a future
TODO to implement this feature in a cleaner way, and not with extra save
files. This scheme fixes the slot descriptions in the loading screen.
Also, kCD(1) has been implemented, which fixes loading of the save
states themselves
|
|
This puts them in the order that they are defined in the kernel tables
|
|
Thanks to LePhilousophe for testing and providing a patch
|
|
Thanks to LePhilousophe for playing and providing the workaround
|
|
|
|
They are essentially the same (with the exception of the return values),
so unifying them reduces code duplication
|
|
|
|
This way, there is a clear separation of the actual SCI kernel file
functions and the file classes and wrappers of ScummVM
|
|
|
|
Phantasmagoria's scripts keep polling for the existence of the savegame
index file and request to read and write it using the same parameters
when opening it. The index file is closed and reopened for every save
slot, which is slow and can be much slower on non-desktop devices.
Also, the game scripts request seeking in writable streams and request
to expand the existing index file.
To provide this functionality and to reduce constant slow file opening
and closing, this virtual class has been introduced
|
|
|
|
|
|
This is used by Torin's Passage (e.g. when trying to open the menu).
Based on a slightly modified patch by LePhilousophe
|