[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