[Scummvm-cvs-logs] SF.net SVN: scummvm:[48418] scummvm/trunk/engines/parallaction/detection. cpp

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Mon Mar 29 23:01:19 CEST 2010


Revision: 48418
          http://scummvm.svn.sourceforge.net/scummvm/?rev=48418&view=rev
Author:   lordhoto
Date:     2010-03-29 21:01:19 +0000 (Mon, 29 Mar 2010)

Log Message:
-----------
Use ConfMan to query the gameid of the passed target instead of deducing from the target to the gameid. Along with it fix the removeSaveState implementation.

Note that this is untested! Someone with some parallaction game should test it
before it can be considered to backport it to branch-1-1-0.

Modified Paths:
--------------
    scummvm/trunk/engines/parallaction/detection.cpp

Modified: scummvm/trunk/engines/parallaction/detection.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/detection.cpp	2010-03-29 20:31:23 UTC (rev 48417)
+++ scummvm/trunk/engines/parallaction/detection.cpp	2010-03-29 21:01:19 UTC (rev 48418)
@@ -296,16 +296,7 @@
 SaveStateList ParallactionMetaEngine::listSaves(const char *target) const {
 	Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
 
-	// HACK: Parallaction game saves are compatible across platforms and use the
-	// gameId as pattern. Butchering the target to get the gameId is probably not
-	// robust...
-	Common::String pattern(target);
-	if (pattern.hasPrefix("nippon")) {
-		pattern = "nippon.0??";
-	} else {
-		pattern = "bra.0??";
-	}
-
+	Common::String pattern(ConfMan.getDomain(target)->getVal("gameid") + ".0??");
 	Common::StringArray filenames = saveFileMan->listSavefiles(pattern);
 	sort(filenames.begin(), filenames.end());	// Sort (hopefully ensuring we are sorted numerically..)
 
@@ -330,12 +321,9 @@
 int ParallactionMetaEngine::getMaximumSaveSlot() const { return 99; }
 
 void ParallactionMetaEngine::removeSaveState(const char *target, int slot) const {
-	char extension[6];
-	snprintf(extension, sizeof(extension), ".0%02d", slot);
+	Common::String filename = ConfMan.getDomain(target)->getVal("gameid");
+	filename += Common::String::printf(".0%02d", slot);
 
-	Common::String filename = target;
-	filename += extension;
-
 	g_system->getSavefileManager()->removeSavefile(filename);
 }
 


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