Changes

Jump to navigation Jump to search
2,685 bytes added ,  15:52, 27 March 2008
→‎Generic infrastructure tasks: Added savestate improvements task
* Refactoring skills.
* Knowledge of one or more ScummVM platform backends is desirable.
 
 
=== Improve Savestate management (e.g. loading savestates from the launcher) ===
''Technical Contact'': [[User:Fingolfin|Max Horn]]
 
 
''Background:''
 
With ScummVM, you can replay many fantastic classical graphic adventures. Since playing through these takes some time, virtually all of them implement some kind of save states -- i.e. you can save the current state of your game and resume playing at a later point. Also, many engines automatically save the current state at certain time intervals, in case a crash or some other circumstances cause ScummVM to abruptly terminate. ScummVM also offers a command line switch to immediately load a certain savestate and resume playing with that. E.g. you could type
./scummvm -x5 monkey
to resume playing Monkey Island with the 5th savestate.
 
 
''The Task:''
 
Not all engines implement the code necessary for the -x command line switch to work. Even less implement the code needed for the --list-saves command line option (introduced in 0.12.x). Finally, there is no way to manage savestates from the GUI, so if you use the Launcher (the builtin GUI frontend of ScummVM), you can not load a specific savestate, nor delete it. Your task would include these items (or a suitable subset):
* implement MetaEngine::listSaves() in all engines which are missing it and where it makes sense
* likewise, add support for the "-x" command line option in all engines
* new GUI dialog in the launcher listing all savegames, making it possible to load and delete savegames from the launcher
* optionally: extend the MetaEngine API with code that allows "renaming" savestates, moving savestates to different slots, etc.
* optionally: the same dialog could also be made accessible from all engines (in addition to their "native" save/load dialogs), via a special hotkey, to make it possible to load games in a unified way in all engines (this would require adding a way to tell engines to load a different savestate, e.g. by introducing a new EVENT type for this)
* optionally: extend the MetaEngine API to support showing thumbnails, and use this to make SCUMM thumbnails visible in the generic load dialog
* optionally: add new list widget which shows images+text instead of only text (i.e. a screenshot thumbnail for the savegame). Use this to enhance the load dialog to look much cooler than it does now
 
Many more things are possible in this direction, depending on your interests. For example, a global uniform *save* dialog (once again, in addition to the "native" dialogs of the games) would be nice, too, but would require some careful research as to how to interface it with the game engines best.
 
 
''Required Skills:''
 
* Good C++ skills.
== Audio related tasks ==
1,079

edits

Navigation menu