[Scummvm-cvs-logs] scummvm master -> c36642651e8df6d3d36d1e2c4e29dc3ea0e278f2

clone2727 clone2727 at gmail.com
Wed Aug 3 06:18:57 CEST 2011


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

Summary:
c36642651e SCUMM: Remove BluesBirthday dependency on the binary


Commit: c36642651e8df6d3d36d1e2c4e29dc3ea0e278f2
    https://github.com/scummvm/scummvm/commit/c36642651e8df6d3d36d1e2c4e29dc3ea0e278f2
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2011-08-02T21:15:27-07:00

Commit Message:
SCUMM: Remove BluesBirthday dependency on the binary

The game scripts detected Yellow or Red variants based on what binary was present. That could potentially cause problems with a Mac dump in case someone dumped into MacBinary format.

Changed paths:
    devtools/scumm-md5.txt
    engines/scumm/detection.cpp
    engines/scumm/detection_tables.h
    engines/scumm/he/script_v72he.cpp
    engines/scumm/scumm-md5.h
    engines/scumm/scumm.h



diff --git a/devtools/scumm-md5.txt b/devtools/scumm-md5.txt
index e9e1559..cae949b 100644
--- a/devtools/scumm-md5.txt
+++ b/devtools/scumm-md5.txt
@@ -433,8 +433,8 @@ arttime	Blue's Art Time Activities
 	d00ffc8c32d17e575fd985d435d2eb88	-1	en	All	-	Demo	-	Kirben
 
 BluesBirthday	Blue's Birthday Adventure
-	99128b6a5bdd9831d9682fb8b5cbf8d4	-1	en	All	-	Yellow	-	knifethrower
-	1ff5997c78fbd0a841a75ef15a05d9d5	-1	en	Windows	-	Red	-	Mathew
+	99128b6a5bdd9831d9682fb8b5cbf8d4	-1	en	All	Yellow	Yellow	-	knifethrower
+	1ff5997c78fbd0a841a75ef15a05d9d5	-1	en	All	Red	Red	-	Mathew
 
 	2d4acbdcfd8e374c9da8c2e7303a5cd0	-1	en	All	-	Demo	-	Kirben
 	cc0c4111449054f1692bb3c0c5e04629	-1	en	All	-	Demo	-	George Kormend
diff --git a/engines/scumm/detection.cpp b/engines/scumm/detection.cpp
index d351464..38b758b 100644
--- a/engines/scumm/detection.cpp
+++ b/engines/scumm/detection.cpp
@@ -145,7 +145,7 @@ Common::String ScummEngine_v70he::generateFilename(const int room) const {
 	Common::String bPattern = _filenamePattern.pattern;
 
 	// Special cases for Blue's games, which share common (b) files
-	if (_game.id == GID_BIRTHDAY && !(_game.features & GF_DEMO))
+	if (_game.id == GID_BIRTHDAYYELLOW || _game.id == GID_BIRTHDAYRED)
 		bPattern = "Blue'sBirthday";
 	else if (_game.id == GID_TREASUREHUNT)
 		bPattern = "Blue'sTreasureHunt";
diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h
index 11901f7..84cb81e 100644
--- a/engines/scumm/detection_tables.h
+++ b/engines/scumm/detection_tables.h
@@ -343,7 +343,9 @@ static const GameSettings gameVariantsTable[] = {
 	{"puttrace", "HE 99",   0, GID_PUTTRACE, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
 
 	{"bluesabctime", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
-	{"BluesBirthday", 0, 0, GID_BIRTHDAY, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+	{"BluesBirthday", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+	{"BluesBirthday", "Red", 0, GID_BIRTHDAYRED, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
+	{"BluesBirthday", "Yellow", 0, GID_BIRTHDAYYELLOW, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
 	{"soccer", "", 0, GID_SOCCER, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO_NOLAUNCHLOAD | GUIO_NOMIDI},
 
 	// Global scripts increased to 2048
diff --git a/engines/scumm/he/script_v72he.cpp b/engines/scumm/he/script_v72he.cpp
index 5af4035..0510f77 100644
--- a/engines/scumm/he/script_v72he.cpp
+++ b/engines/scumm/he/script_v72he.cpp
@@ -1831,6 +1831,15 @@ void ScummEngine_v72he::o72_readINI() {
 			push(1);
 		} else if (!strcmp((char *)option, "TextOn")) {
 			push(ConfMan.getBool("subtitles"));
+		} else if (!strcmp((char *)option, "Disk") && (_game.id == GID_BIRTHDAYRED || _game.id == GID_BIRTHDAYYELLOW)) {
+			// WORKAROUND: Override the disk detection
+			// This removes the reliance on having the binary file around (which is
+			// very bad for the Mac version) just for the scripts to figure out if
+			// we're running Yellow or Red
+			if (_game.id == GID_BIRTHDAYRED)
+				push(4);
+			else
+				push(2);
 		} else {
 			push(ConfMan.getInt((char *)option));
 		}
diff --git a/engines/scumm/scumm-md5.h b/engines/scumm/scumm-md5.h
index 8f55581..319eddf 100644
--- a/engines/scumm/scumm-md5.h
+++ b/engines/scumm/scumm-md5.h
@@ -1,5 +1,5 @@
 /*
-  This file was generated by the md5table tool on Sun Apr 17 10:46:26 2011
+  This file was generated by the md5table tool on Wed Aug  3 03:14:00 2011
   DO NOT EDIT MANUALLY!
  */
 
@@ -99,7 +99,7 @@ static const MD5Table md5table[] = {
 	{ "1ed22f601f8b3695804a6583cc3083f1", "puttrace", "HE 98.5", "", -1, Common::NL_NLD, Common::kPlatformUnknown },
 	{ "1f2e62b5a9c50589fc342285a6bb3a27", "freddi", "HE 73", "", -1, Common::HE_ISR, Common::kPlatformWindows },
 	{ "1fbebd7b2b692df5297870447a80cfed", "atlantis", "Floppy", "Floppy", 12030, Common::DE_DEU, Common::kPlatformPC },
-	{ "1ff5997c78fbd0a841a75ef15a05d9d5", "BluesBirthday", "", "Red", -1, Common::EN_ANY, Common::kPlatformWindows },
+	{ "1ff5997c78fbd0a841a75ef15a05d9d5", "BluesBirthday", "Red", "Red", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "2012f854d83d9cc6f73b2b544cd8bbf8", "water", "HE 80", "", -1, Common::RU_RUS, Common::kPlatformWindows },
 	{ "20176076d708bf14407bcc9bdcd7a418", "pajama3", "", "", -1, Common::RU_RUS, Common::kPlatformWindows },
 	{ "204453e33456c4faa26e276229fe5b76", "spyfox2", "", "Demo", 14689, Common::DE_DEU, Common::kPlatformWindows },
@@ -403,7 +403,7 @@ static const MD5Table md5table[] = {
 	{ "9781422e4288dbc090720e4563168ba7", "puttzoo", "", "", -1, Common::FR_FRA, Common::kPlatformWindows },
 	{ "981e1e1891f2be7e25a01f50ae55a5af", "puttrace", "HE 98", "", -1, Common::EN_USA, Common::kPlatformUnknown },
 	{ "98744fe66ff730e8c2b3b1f58803ab0b", "atlantis", "Floppy", "Demo", -1, Common::EN_ANY, Common::kPlatformPC },
-	{ "99128b6a5bdd9831d9682fb8b5cbf8d4", "BluesBirthday", "", "Yellow", -1, Common::EN_ANY, Common::kPlatformUnknown },
+	{ "99128b6a5bdd9831d9682fb8b5cbf8d4", "BluesBirthday", "Yellow", "Yellow", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "99a3699f80b8f776efae592b44b9b991", "maniac", "V2", "V2", -1, Common::FR_FRA, Common::kPlatformPC },
 	{ "99b6f822b0b2612415407865438697d6", "atlantis", "", "Demo", -1, Common::EN_ANY, Common::kPlatformPC },
 	{ "9b7452b5cd6d3ffb2b2f5118010af84f", "ft", "Demo", "Demo", 116463537, Common::EN_ANY, Common::kPlatformMacintosh },
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index e503af7..4944fbe 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -235,7 +235,8 @@ enum ScummGameId {
 	GID_PUTTMOON,
 	GID_FUNPACK,
 	GID_FREDDI3,
-	GID_BIRTHDAY,
+	GID_BIRTHDAYRED,
+	GID_BIRTHDAYYELLOW,
 	GID_TREASUREHUNT,
 	GID_PUTTRACE,
 	GID_FUNSHOP,	// Used for all three funshops






More information about the Scummvm-git-logs mailing list