diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/commandLine.cpp | 29 | ||||
-rw-r--r-- | base/main.cpp | 11 |
2 files changed, 21 insertions, 19 deletions
diff --git a/base/commandLine.cpp b/base/commandLine.cpp index f920dd0170..7c482d3057 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -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) - result = Common::kNoSavesError; + 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"); - 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()); } } diff --git a/base/main.cpp b/base/main.cpp index 4dfed0f08c..13359031f6 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -111,13 +111,12 @@ static const EnginePlugin *detectPlugin() { if (plugin == 0) { printf("failed\n"); warning("%s is an invalid gameid. Use the --list-games option to list supported gameid", gameid.c_str()); - return 0; } else { printf("%s\n", plugin->getName()); - } - // FIXME: Do we really need this one? - printf(" Starting '%s'\n", game.description().c_str()); + // FIXME: Do we really need this one? + printf(" Starting '%s'\n", game.description().c_str()); + } return plugin; } @@ -352,8 +351,10 @@ extern "C" int scummvm_main(int argc, const char * const argv[]) { // TODO: deal with settings that require plugins to be loaded res = Base::processSettings(command, settings); - if (res.getCode() != Common::kArgumentNotProcessed) + if (res.getCode() != Common::kArgumentNotProcessed) { + warning("%s", res.getDesc().c_str()); return res.getCode(); + } // Init the backend. Must take place after all config data (including // the command line params) was read. |