diff options
author | Stephen Kennedy | 2008-07-30 14:40:54 +0000 |
---|---|---|
committer | Stephen Kennedy | 2008-07-30 14:40:54 +0000 |
commit | a4ac44875e6bdb9fd0a5f5e69d6fc8cff0bd461c (patch) | |
tree | 29a0a9e87a6e195529f2b0c3dc3dc3f3434e5eb4 /base | |
parent | e2a2a672f591f36fb596bb6cb849978c70611c3e (diff) | |
parent | 81cb4931582f5839cca2958a634525ffb81a1714 (diff) | |
download | scummvm-rg350-a4ac44875e6bdb9fd0a5f5e69d6fc8cff0bd461c.tar.gz scummvm-rg350-a4ac44875e6bdb9fd0a5f5e69d6fc8cff0bd461c.tar.bz2 scummvm-rg350-a4ac44875e6bdb9fd0a5f5e69d6fc8cff0bd461c.zip |
Merged revisions 33188-33189,33191-33193,33196,33198,33202-33203,33206,33210,33212,33218-33220,33222,33224-33226,33229-33243,33246,33248-33250,33252,33258-33261,33263,33266,33270,33272-33283,33285,33287-33290,33295-33298,33321,33325-33330,33332-33335,33337-33340,33342,33345,33347,33349-33350,33352-33357,33359-33367,33369-33371,33373,33375-33377,33379-33380,33383-33385,33387-33389,33392-33394,33400-33402,33404-33405,33407-33410,33412-33416,33418-33419,33425-33427,33432,33436-33438,33444,33446 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk
svn-id: r33450
Diffstat (limited to 'base')
-rw-r--r-- | base/commandLine.cpp | 5 | ||||
-rw-r--r-- | base/game.h | 4 | ||||
-rw-r--r-- | base/main.cpp | 38 | ||||
-rw-r--r-- | base/plugins.cpp | 3 |
4 files changed, 15 insertions, 35 deletions
diff --git a/base/commandLine.cpp b/base/commandLine.cpp index b9fd4ecfb7..ea0e1465b6 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -228,6 +228,7 @@ void registerDefaults() { #elif defined(__SYMBIAN32__) strcpy(savePath, Symbian::GetExecutablePath()); strcat(savePath, DEFAULT_SAVE_PATH); + strcat(savePath, "\\"); ConfMan.registerDefault("savepath", savePath); #elif defined (IPHONE) ConfMan.registerDefault("savepath", OSystem_IPHONE::getSavePath()); @@ -684,9 +685,9 @@ static void runDetectorTest() { failure++; } else if (candidates.size() > 1) { if (gameidDiffers) { - printf(" FAILURE: Multiple games detected, some/all with wrong gameid\n"); + printf(" WARNING: Multiple games detected, some/all with wrong gameid\n"); } else { - printf(" FAILURE: Multiple games detected, but all have the same gameid\n"); + printf(" WARNING: Multiple games detected, but all have the same gameid\n"); } failure++; } else if (gameidDiffers) { diff --git a/base/game.h b/base/game.h index b068c300ce..d81f2afb8a 100644 --- a/base/game.h +++ b/base/game.h @@ -92,6 +92,10 @@ public: const Common::String &description() const { return getVal("description"); } Common::Language language() const { return contains("language") ? Common::parseLanguage(getVal("language")) : Common::UNK_LANG; } Common::Platform platform() const { return contains("platform") ? Common::parsePlatform(getVal("platform")) : Common::kPlatformUnknown; } + + const Common::String &preferredtarget() const { + return contains("preferredtarget") ? getVal("preferredtarget") : getVal("gameid"); + } }; /** List of games. */ diff --git a/base/main.cpp b/base/main.cpp index 88d9f3bab5..115a920f36 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -110,35 +110,8 @@ static const EnginePlugin *detectPlugin() { // TODO: specify the possible return values here static int runGame(const EnginePlugin *plugin, OSystem &system, const Common::String &edebuglevels) { - Common::String gameDataPath(ConfMan.get("path")); - if (gameDataPath.empty()) { - } else if (gameDataPath.lastChar() != '/' -#if defined(__MORPHOS__) || defined(__amigaos4__) - && gameDataPath.lastChar() != ':' -#endif - && gameDataPath.lastChar() != '\\') { - gameDataPath += '/'; - ConfMan.set("path", gameDataPath, Common::ConfigManager::kTransientDomain); - } - - // We add the game "path" to the file search path via File::addDefaultDirectory(), - // so that MD5-based detection will be able to properly find files with mixed case - // filenames. - // FIXME/TODO: Fingolfin still doesn't like this; if those MD5-based detectors used - // FSNodes instead of File::open, they wouldn't have to do this. - Common::String path; - if (ConfMan.hasKey("path")) { - path = ConfMan.get("path"); - FilesystemNode dir(path); - if (!dir.isDirectory()) { - warning("Game directory does not exist (%s)", path.c_str()); - return 0; - } - } else { - path = "."; - warning("No path was provided. Assuming the data files are in the current directory"); - } - Common::File::addDefaultDirectory(path); + // Query the game data path, for messages + Common::String path = ConfMan.hasKey("path") ? ConfMan.get("path") : "."; // Create the game engine Engine *engine = 0; @@ -181,15 +154,14 @@ static int runGame(const EnginePlugin *plugin, OSystem &system, const Common::St system.setWindowCaption(caption.c_str()); } - if (ConfMan.hasKey("path")) - Common::File::addDefaultDirectory(ConfMan.get("path")); - else - Common::File::addDefaultDirectory("."); + // Add the game path to the directory search list + Common::File::addDefaultDirectory(path); // Add extrapath (if any) to the directory search list if (ConfMan.hasKey("extrapath")) Common::File::addDefaultDirectoryRecursive(ConfMan.get("extrapath")); + // If a second extrapath is specified on the app domain level, add that as well. if (ConfMan.hasKey("extrapath", Common::ConfigManager::kApplicationDomain)) Common::File::addDefaultDirectoryRecursive(ConfMan.get("extrapath", Common::ConfigManager::kApplicationDomain)); diff --git a/base/plugins.cpp b/base/plugins.cpp index dcd394495f..216c6ef1af 100644 --- a/base/plugins.cpp +++ b/base/plugins.cpp @@ -140,6 +140,9 @@ public: #if PLUGIN_ENABLED_STATIC(SWORD2) LINK_PLUGIN(SWORD2) #endif + #if PLUGIN_ENABLED_STATIC(TINSEL) + LINK_PLUGIN(TINSEL) + #endif #if PLUGIN_ENABLED_STATIC(TOUCHE) LINK_PLUGIN(TOUCHE) #endif |