Difference between revisions of "TODO"

Jump to navigation Jump to search
(Removing done or obsolete TODO items)
(Done)
Line 139: Line 139:
* Add a plugin API that allows querying a plugin for the savegames associated with a given game; that is, you pass the name of a target from the config to the plugin, and it returns a list of savegames. How that list would look like exactly is debatable; but it should be possible to extract a user friendly name; a slot ID corresponding to the "-x" command line param; and possibly a filename. Justification: This API would make it possible to directly load savegames from the launcher.<br>This savegame API could return additional (optional) information for each savegame entry: name; creation date; thumbnail screenshot
* Add a plugin API that allows querying a plugin for the savegames associated with a given game; that is, you pass the name of a target from the config to the plugin, and it returns a list of savegames. How that list would look like exactly is debatable; but it should be possible to extract a user friendly name; a slot ID corresponding to the "-x" command line param; and possibly a filename. Justification: This API would make it possible to directly load savegames from the launcher.<br>This savegame API could return additional (optional) information for each savegame entry: name; creation date; thumbnail screenshot
* On OSX: Support a plugin build in the bundle target: *.plugin files should be put into ScummVM.app/Contents/PlugIns/; this also means that the loader needs to search in the plugin dir of the active bundle. So use the CF bundle API, inside a #ifdef MACOSX block.
* On OSX: Support a plugin build in the bundle target: *.plugin files should be put into ScummVM.app/Contents/PlugIns/; this also means that the loader needs to search in the plugin dir of the active bundle. So use the CF bundle API, inside a #ifdef MACOSX block.
* When creating an engine instance, there is currently no way for the plugin to indicate an error, except for returning a NULL value. It would be nice if the engine could specify why creating the engine instance failed (e.g. due to lack of memory, because a file couldn't be found, because the game was not recognized, etc.).
* Replace DetectedGame by a 'map' containing essentially the same data that the config file would contain -- i.e. gameid, description, language, platform; but also any further data, like e.g. basename, target_md5, or *anything* the engine deems important. -> far more flexible, and helps to simplify the launcher code, too.
* Replace DetectedGame by a 'map' containing essentially the same data that the config file would contain -- i.e. gameid, description, language, platform; but also any further data, like e.g. basename, target_md5, or *anything* the engine deems important. -> far more flexible, and helps to simplify the launcher code, too.
* Make DetectedGame::updateDesc a normal function, not a member function.
* Make DetectedGame::updateDesc a normal function, not a member function.