[Scummvm-cvs-logs] SF.net SVN: scummvm: [25170] scummvm/trunk/engines/kyra/plugin.cpp
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Thu Jan 25 01:32:50 CET 2007
Revision: 25170
http://scummvm.svn.sourceforge.net/scummvm/?rev=25170&view=rev
Author: fingolfin
Date: 2007-01-24 16:32:49 -0800 (Wed, 24 Jan 2007)
Log Message:
-----------
Don't invoke AdvancedDetector directly, but rather use ADVANCED_DETECTOR_DETECT_INIT_GAME like the other AD based engines
Modified Paths:
--------------
scummvm/trunk/engines/kyra/plugin.cpp
Modified: scummvm/trunk/engines/kyra/plugin.cpp
===================================================================
--- scummvm/trunk/engines/kyra/plugin.cpp 2007-01-25 00:07:48 UTC (rev 25169)
+++ scummvm/trunk/engines/kyra/plugin.cpp 2007-01-25 00:32:49 UTC (rev 25170)
@@ -110,50 +110,18 @@
PluginError Engine_KYRA_create(OSystem *syst, Engine **engine) {
assert(engine);
const char *gameid = ConfMan.get("gameid").c_str();
-
- FSList fslist;
- FilesystemNode dir(ConfMan.get("path"));
- if (!dir.listDir(fslist, FilesystemNode::kListFilesOnly)) {
- return kInvalidPathError;
- }
-
- GameFlags flags;
- Common::AdvancedDetector ad;
- Common::ADList matches;
- Common::ADGameDescList descList;
-
- for (int i = 0; i < ARRAYSIZE(adGameDescs) - 1; ++i) {
- descList.push_back(&adGameDescs[i].desc);
- }
-
- ad.registerGameDescriptions(descList);
-
- matches = ad.detectGame(&fslist, detectionParams, Common::UNK_LANG, Common::kPlatformUnknown);
-
- if (!matches.size()) {
+
+ int id = ADVANCED_DETECTOR_DETECT_INIT_GAME(detectionParams);
+ if (id == -1) {
+ // FIXME: This case currently can never happen, as we simply error out
+ // inside ADVANCED_DETECTOR_DETECT_INIT_GAME.
+
// maybe add non md5 based detection again?
return kNoGameDataFoundError;
}
- int id = matches[0];
+ GameFlags flags = adGameDescs[id].flags;
- flags = adGameDescs[id].flags;
-
- Platform platform = parsePlatform(ConfMan.get("platform"));
- if (platform != kPlatformUnknown) {
- flags.platform = platform;
- }
-
- if (flags.lang == UNK_LANG) {
- Language lang = parseLanguage(ConfMan.get("language"));
- if (lang != UNK_LANG) {
- flags.lang = lang;
- } else {
- flags.lang = EN_ANY;
- }
- }
-
-
if (!scumm_stricmp("kyra1", gameid)) {
*engine = new KyraEngine_v1(syst, flags);
} else if (!scumm_stricmp("kyra2", gameid)) {
@@ -161,7 +129,7 @@
} else if (!scumm_stricmp("kyra3", gameid)) {
*engine = new KyraEngine_v3(syst, flags);
} else
- error("Kyra engine created with invalid gameid.");
+ error("Kyra engine created with invalid gameid");
return kNoError;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list