COMMON: Cleanup names/handling of some error codes

This commit is contained in:
Max Horn 2011-04-18 18:19:53 +02:00
parent 1037ed2470
commit 3a574199b0
4 changed files with 31 additions and 26 deletions

View file

@ -641,29 +641,30 @@ static Common::Error listSaves(const char *target) {
GameDescriptor game = EngineMan.findGame(gameid, &plugin);
if (!plugin) {
warning("Could not find any plugin to handle target '%s' (gameid '%s')", target, gameid.c_str());
return Common::kPluginNotFound;
return Common::Error(Common::kEnginePluginNotFound,
Common::String::format("target '%s', gameid '%s", target, gameid.c_str()));
}
if (!(*plugin)->hasFeature(MetaEngine::kSupportsListSaves)) {
// TODO: Include more info about the target (desc, engine name, ...) ???
printf("ScummVM does not support listing save states for target '%s' (gameid '%s') .\n", target, gameid.c_str());
result = Common::kPluginNotSupportSaves;
return Common::Error(Common::kEnginePluginNotSupportSaves,
Common::String::format("target '%s', gameid '%s", target, gameid.c_str()));
} else {
// Query the plugin for a list of savegames
SaveStateList saveList = (*plugin)->listSaves(target);
// TODO: Include more info about the target (desc, engine name, ...) ???
printf("Saves for target '%s' (gameid '%s'):\n", target, gameid.c_str());
printf(" Slot Description \n"
" ---- ------------------------------------------------------\n");
if (saveList.size() > 0) {
// TODO: Include more info about the target (desc, engine name, ...) ???
printf("Save states for target '%s' (gameid '%s'):\n", target, gameid.c_str());
printf(" Slot Description \n"
" ---- ------------------------------------------------------\n");
if (saveList.size() == 0)
result = Common::kNoSavesError;
for (SaveStateList::const_iterator x = saveList.begin(); x != saveList.end(); ++x) {
printf(" %-4s %s\n", x->save_slot().c_str(), x->description().c_str());
// TODO: Could also iterate over the full hashmap, printing all key-value pairs
for (SaveStateList::const_iterator x = saveList.begin(); x != saveList.end(); ++x) {
printf(" %-4s %s\n", x->save_slot().c_str(), x->description().c_str());
// TODO: Could also iterate over the full hashmap, printing all key-value pairs
}
} else {
printf("There are no save states for target '%s' (gameid '%s'):\n", target, gameid.c_str());
}
}