#8775 closed patch
Basic savestate plugin API
Reported by: | fingolfin | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | --Other-- |
Version: | Keywords: | ||
Cc: | Game: |
Description
The attached patch implements a basic savestate plugin API. It is not yet quite ready for SVN, but I thought people might already want to have a peek at it or comment, so I am putting this into a tracker item for now.
Basically, it adds a new plugin API function, which can be used to query a plugin for a list of savestates for a given target. Currently, in the patch this is only implemented for a single engine (the SCUMM engine). My hope is that for other engines, the resp. engine maintainers will help out.
Eventually, this would make it possible to add a feature to the launcher where the user can directly load a specific savegame instead of first loading up a game, then navigating to its save/load system. However, this is not yet implemented, and one would have think about a good GUI for this, too. (For example, add a "load savestate" button which pops up a dialog with a list of all saves, and lets the user choose one. Or change the launcher to display a tree display, where all saveslots for a given target are displayed as children of that target in the main launcher list).
Right now, the only way the new API is used is via a hack to the --list-targets / -t command, which was extended to also list all savestates for each targets. This might eventually be turned into a separate --list-saves command, of course. It is only there to show how to use the API, and to demonstrate that it actually works.
Ticket imported from: #1868402. Ticket imported from: patches/880.
Attachments (2)
Change History (8)
by , 17 years ago
Attachment: | saves.patch added |
---|
by , 17 years ago
Attachment: | saves-2.patch added |
---|
comment:1 by , 17 years ago
Updated version of the patch, which also stores the filename in the SaveStateDescriptor. This makes it possible to e.g. delete a specific savegame/savestate from within the launcher.
BTW, we should probably fix the terminology at some point: savegame vs. savestate vs. savefile...
File Added: saves-2.patch
comment:2 by , 17 years ago
Maybe it would be better to put static SaveStateList Engine_XXX_listSaves(const char *target) to ADVANCED_DETECTOR_DEFINE_PLUGIN macro?
Otherwise the patch looks like an excellent start
comment:3 by , 17 years ago
I don't see how that would be useful -- the advanced detector has nothing to do with the listSaves() functionality. They are completely independant of each other...
comment:4 by , 17 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:5 by , 17 years ago
So I just commited an updated version to SVN, featuring a new "--list-saves" command line option (not yet documented).
comment:6 by , 6 years ago
Component: | → --Other-- |
---|
v2