[Scummvm-cvs-logs] scummvm master -> 7d0d498a5661c063f4984fe13fc6dea779b3e156

somaen einarjohants at gmail.com
Sun Mar 24 17:42:12 CET 2013


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
dedde93d1e WINTERMUTE: Avoid REQUIRING wintermute.zip during detection.
7d0d498a56 WINTERMUTE: Add detection entries for Carol Reed 4-9 (renaming East Side Story to Carol Reed 4)


Commit: dedde93d1e2b2595e874ae5055a9426579476f13
    https://github.com/scummvm/scummvm/commit/dedde93d1e2b2595e874ae5055a9426579476f13
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-03-24T09:41:10-07:00

Commit Message:
WINTERMUTE: Avoid REQUIRING wintermute.zip during detection.

Changed paths:
    engines/wintermute/base/base_file_manager.cpp
    engines/wintermute/base/base_file_manager.h
    engines/wintermute/wintermute.cpp



diff --git a/engines/wintermute/base/base_file_manager.cpp b/engines/wintermute/base/base_file_manager.cpp
index 08358f9..28e0b3a 100644
--- a/engines/wintermute/base/base_file_manager.cpp
+++ b/engines/wintermute/base/base_file_manager.cpp
@@ -53,7 +53,8 @@ namespace Wintermute {
 //////////////////////////////////////////////////////////////////////
 
 //////////////////////////////////////////////////////////////////////
-BaseFileManager::BaseFileManager(Common::Language lang) {
+BaseFileManager::BaseFileManager(Common::Language lang, bool detectionMode) {
+	_detectionMode = detectionMode;
 	_language = lang;
 	_resources = nullptr;
 	initResources();
@@ -232,12 +233,14 @@ bool BaseFileManager::registerPackage(Common::FSNode file, const Common::String
 
 void BaseFileManager::initResources() {
 	_resources = Common::makeZipArchive("wintermute.zip");
-	if (!_resources) {
+	if (!_resources && !_detectionMode) { // Wintermute.zip is unavailable during detection
 		error("Couldn't load wintermute.zip");
 	}
-	assert(_resources->hasFile("syste_font.bmp"));
-	assert(_resources->hasFile("invalid.bmp"));
-	assert(_resources->hasFile("invalid_debug.bmp"));
+	if (_resources) {
+		assert(_resources->hasFile("syste_font.bmp"));
+		assert(_resources->hasFile("invalid.bmp"));
+		assert(_resources->hasFile("invalid_debug.bmp"));
+	}
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -277,7 +280,7 @@ bool BaseFileManager::hasFile(const Common::String &filename) {
 	if (_packages.hasFile(filename)) {
 		return true;    // We don't bother checking if the file can actually be opened, something bigger is wrong if that is the case.
 	}
-	if (_resources->hasFile(filename)) {
+	if (!_detectionMode && _resources->hasFile(filename)) {
 		return true;
 	}
 	return false;
@@ -337,7 +340,9 @@ Common::SeekableReadStream *BaseFileManager::openFileRaw(const Common::String &f
 		return ret;
 	}
 
-	ret = _resources->createReadStreamForMember(filename);
+	if (!_detectionMode) {
+		ret = _resources->createReadStreamForMember(filename);
+	}
 	if (ret) {
 		return ret;
 	}
diff --git a/engines/wintermute/base/base_file_manager.h b/engines/wintermute/base/base_file_manager.h
index 5fc626a..7ed3a6c 100644
--- a/engines/wintermute/base/base_file_manager.h
+++ b/engines/wintermute/base/base_file_manager.h
@@ -45,7 +45,7 @@ public:
 	Common::SeekableReadStream *openFile(const Common::String &filename, bool absPathWarning = true, bool keepTrackOf = true);
 	byte *readWholeFile(const Common::String &filename, uint32 *size = nullptr, bool mustExist = true);
 
-	BaseFileManager(Common::Language lang);
+	BaseFileManager(Common::Language lang, bool detectionMode = false);
 	virtual ~BaseFileManager();
 	// Used only for detection
 	bool registerPackages(const Common::FSList &fslist);
@@ -65,6 +65,7 @@ private:
 	Common::FSList _packagePaths;
 	bool findPackageSignature(Common::SeekableReadStream *f, uint32 *offset);
 	bool registerPackage(Common::FSNode package, const Common::String &filename = "", bool searchSignature = false);
+	bool _detectionMode;
 	Common::SearchSet _packages;
 	Common::Array<Common::SeekableReadStream *> _openFiles;
 	Common::Language _language;
diff --git a/engines/wintermute/wintermute.cpp b/engines/wintermute/wintermute.cpp
index f33452d..ad26c42 100644
--- a/engines/wintermute/wintermute.cpp
+++ b/engines/wintermute/wintermute.cpp
@@ -311,7 +311,7 @@ bool WintermuteEngine::getGameInfo(const Common::FSList &fslist, Common::String
 	caption = name = "(invalid)";
 	Common::SeekableReadStream *stream = nullptr;
 	// Quick-fix, instead of possibly breaking the persistence-system, let's just roll with it
-	BaseFileManager *fileMan = new BaseFileManager(Common::UNK_LANG);
+	BaseFileManager *fileMan = new BaseFileManager(Common::UNK_LANG, true);
 	fileMan->registerPackages(fslist);
 	stream = fileMan->openFile("startup.settings", false, false);
 


Commit: 7d0d498a5661c063f4984fe13fc6dea779b3e156
    https://github.com/scummvm/scummvm/commit/7d0d498a5661c063f4984fe13fc6dea779b3e156
Author: Einar Johan Trøan Sømåen (einarjohants at gmail.com)
Date: 2013-03-24T09:41:10-07:00

Commit Message:
WINTERMUTE: Add detection entries for Carol Reed 4-9 (renaming East Side Story to Carol Reed 4)

Changed paths:
    engines/wintermute/detection_tables.h



diff --git a/engines/wintermute/detection_tables.h b/engines/wintermute/detection_tables.h
index 6b6dec6..e77a376 100644
--- a/engines/wintermute/detection_tables.h
+++ b/engines/wintermute/detection_tables.h
@@ -28,10 +28,15 @@ static const PlainGameDescriptor wintermuteGames[] = {
 	{"5ld",             "Five Lethal Demons"},
 	{"5ma",             "Five Magical Amulets"},
 	{"actualdest",      "Actual Destination"},
+	{"carolreed4",      "Carol Reed 4 - East Side Story"},
+	{"carolreed5",      "Carol Reed 5 - The Colour of Murder"},
+	{"carolreed6",      "Carol Reed 6 - Black Circle"},
+	{"carolreed7",      "Carol Reed 7 - Blue Madonna"},
+	{"carolreed8",      "Carol Reed 8 - Amber's Blood"},
+	{"carolreed9",      "Carol Reed 9 - Cold Case Summer"},
 	{"chivalry",        "Chivalry is Not Dead"},
 	{"deadcity",        "Dead City"},
 	{"dirtysplit",      "Dirty Split"},
-	{"eastside",        "East Side Story"},
 	{"ghostsheet",      "Ghost in the Sheet"},
 	{"hamlet",          "Hamlet or the last game without MMORPS features, shaders and product placement"},
 	{"julia",           "J.U.L.I.A."},
@@ -76,6 +81,78 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_UNSTABLE,
 		GUIO0()
 	},
+	// Carol Reed 4 - East Side Story (Demo)
+	{
+		"carolreed4",
+		"Demo",
+		AD_ENTRY1s("data.dcp", "b3f8b09bb4b05ee3e9d14697525257f9", 59296246),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE |
+		ADGF_DEMO,
+		GUIO0()
+	},
+	// Carol Reed 4 - East Side Story
+	{
+		"carolreed4",
+		"",
+		AD_ENTRY1s("data.dcp", "b26377797f060afc2d440d820100c1ce", 529320536),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE |
+		ADGF_DEMO,
+		GUIO0()
+	},
+	// Carol Reed 5 - The Colour of Murder
+	{
+		"carolreed5",
+		"",
+		AD_ENTRY1s("data.dcp", "3fcfca44209545d0e26774156427b494", 603660415),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE,
+		GUIO0()
+	},
+	// Carol Reed 6 - Black Circle
+	{
+		"carolreed6",
+		"",
+		AD_ENTRY1s("data.dcp", "0e4c532beecf23d85012168753f41189", 456258147),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE,
+		GUIO0()
+	},
+	// Carol Reed 7 - Blue Madonna
+	{
+		"carolreed7",
+		"",
+		AD_ENTRY1s("data.dcp", "24e3db3e2fabfc956713796d87a3efb0", 495471147),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE,
+		GUIO0()
+	},
+	// Carol Reed 8 - Amber's Blood
+	{
+		"carolreed8",
+		"",
+		AD_ENTRY1s("data.dcp", "859d16b0d5b9b255e470cbded2c6cedc", 502714557),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE,
+		GUIO0()
+	},
+	// Carol Reed 9 - Cold Case Summer
+	{
+		"carolreed9",
+		"",
+		AD_ENTRY1s("data.dcp", "2b343b48a7aee508d728a546b414a255", 620005266),
+		Common::EN_ANY,
+		Common::kPlatformWindows,
+		ADGF_UNSTABLE,
+		GUIO0()
+	},
 	// Chivalry is Not Dead
 	{
 		"chivalry",
@@ -158,17 +235,6 @@ static const ADGameDescription gameDescriptions[] = {
 		ADGF_UNSTABLE,
 		GUIO0()
 	},
-	// East Side Story (Demo)
-	{
-		"eastside",
-		"Demo",
-		AD_ENTRY1s("data.dcp", "b3f8b09bb4b05ee3e9d14697525257f9", 59296246),
-		Common::EN_ANY,
-		Common::kPlatformWindows,
-		ADGF_UNSTABLE |
-		ADGF_DEMO,
-		GUIO0()
-	},
 	// Ghosts in the Sheet
 	{
 		"ghostsheet",






More information about the Scummvm-git-logs mailing list