Age | Commit message (Collapse) | Author |
|
|
|
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 fixes some slowdowns in Kyra2 with the OpenGL backend for me. Most of the
updateScreen calls saved were introduced by us implementing the original
behavior of hiding the mouse before drawing onto the screen and showing it
again afterwards, since the mouse cursor is not drawn on the game screen in our
implementation (and unlike in the original) this is not necessary.
|
|
|
|
|
|
This is used by Torin's Passage (e.g. when trying to open the menu).
Based on a slightly modified patch by LePhilousophe
|
|
Based on a patch by LePhilousophe
|
|
Thanks to LePhilousophe for providing the file details.
Also fixed all of the detection entries for Torin's Passage
|
|
|
|
|
|
Should close bug #3534287.
|
|
|
|
|
|
Fixes one of the bugs in the savegame selection screen in Phantasmagoria
|
|
|
|
The EGA version of Gobliiins comes with an MDY track.
While the original doesn't play it, we thought it might
be a nice idea to play it nevertheless.
|
|
|
|
|
|
This is a complete rewrite of the AdLib players for ADL and MDY/TBR
files in the Gob engine.
Major changes
1) The AdLib base class is now completely separated from all file
format code and can theoretically be used by any OPL2-based
format (within reason)
2) The new code is far better documented and more readable
3) The MDY player now actually works. The MDY/TBR format is
in reality the MUS/SND format created by AdLib as a simpler
alternative to the ROL format
4) Since the MAME emulator is quite buggy and leads to noticable
wrong percussion in the Gobliins 2 title music, the new AdLib
player will try to create a DOSBox OPL. If it's not compiled in,
or if the user configured opl_driver to "mame", it will print
out appropriate warnings.
|
|
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP.
Now I added a method to SaveLoadChooser instead, which takes care of this. This
might not be the best placement of such a functionality, thus I added a TODO
which talks about moving it to a better place.
|
|
This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
|
|
|
|
This is actually always called when a dialog closes, thus manual closing is
not required. It furthermore is actually *bad* to call this from outside the
dialog's code, since it will remove the top dialog from the dialog stack and
thus mess up the GUI in case multiple dialogs are opened.
|
|
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
|
|
Regression from 3968f3194893d88d1a8d73eef535b801e5415765
|
|
Thanks to LePhilousophe for his feedback and observations on this
|
|
|
|
Fixes the incorrect flood fill in the Rada Drums screen in GK1
|
|
ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
|
|
|
|
|