[Scummvm-cvs-logs] SF.net SVN: scummvm:[35599] scummvm/trunk

Kirben at users.sourceforge.net Kirben at users.sourceforge.net
Mon Dec 29 11:03:34 CET 2008


Revision: 35599
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35599&view=rev
Author:   Kirben
Date:     2008-12-29 10:03:34 +0000 (Mon, 29 Dec 2008)

Log Message:
-----------
Add Blue's Treasure Hunt.

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/detection.cpp
    scummvm/trunk/engines/scumm/detection_tables.h
    scummvm/trunk/engines/scumm/he/script_v80he.cpp
    scummvm/trunk/engines/scumm/scumm-md5.h
    scummvm/trunk/engines/scumm/scumm.cpp
    scummvm/trunk/engines/scumm/scumm.h
    scummvm/trunk/tools/scumm-md5.txt

Modified: scummvm/trunk/engines/scumm/detection.cpp
===================================================================
--- scummvm/trunk/engines/scumm/detection.cpp	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/detection.cpp	2008-12-29 10:03:34 UTC (rev 35599)
@@ -99,7 +99,13 @@
 				switch (disk) {
 				case 2:
 					id = 'b';
-					snprintf(buf, sizeof(buf), "%s.(b)", _filenamePattern.pattern);
+					// Special cases for Blue's games, which share common (b) files
+					if (_game.id == GID_BIRTHDAY)
+						strcpy(buf, "Blue'sBirthday.(b)");
+					else if (_game.id == GID_TREASUREHUNT)
+						strcpy(buf, "Blue'sTreasureHunt.(b)");
+					else
+						snprintf(buf, sizeof(buf), "%s.(b)", _filenamePattern.pattern);
 					break;
 				case 1:
 					id = 'a';

Modified: scummvm/trunk/engines/scumm/detection_tables.h
===================================================================
--- scummvm/trunk/engines/scumm/detection_tables.h	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/detection_tables.h	2008-12-29 10:03:34 UTC (rev 35599)
@@ -92,6 +92,7 @@
 	{ "Blues123Time", "Blue's 123 Time Activities" },
 	{ "BluesABCTime", "Blue's ABC Time Activities" },
 	{ "BluesBirthday", "Blue's Birthday Adventure" },
+	{ "BluesTreasureHunt", "Blue's Treasure Hunt" },
 	{ "catalog", "Humongous Interactive Catalog" },
 	{ "chase", "SPY Fox in Cheese Chase" },
 	{ "dog", "Putt-Putt and Pep's Dog on a Stick" },
@@ -316,7 +317,7 @@
 	{"puttrace", "HE 99",   0, GID_PUTTRACE, 6, 99, MDT_NONE, GF_USE_KEY, UNK},
 
 	{"bluesabctime", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK},
-	{"BluesBirthday", 0, 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK},
+	{"BluesBirthday", 0, 0, GID_BIRTHDAY, 6, 98, MDT_NONE, GF_USE_KEY, UNK},
 	{"soccer", "", 0, GID_SOCCER, 6, 98, MDT_NONE, GF_USE_KEY, UNK},
 
 	// Global scripts increased to 2048
@@ -351,6 +352,7 @@
 	// Uses smacker in external files, for testing only
 	{"arttime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK},
 	{"readtime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK},
+	{"BluesTreasureHunt", 0, 0, GID_TREASUREHUNT, 6, 99, MDT_NONE, GF_USE_KEY, UNK},
 
 	// Uses bink in external files for logos
 	{"Baseball2003", 0, 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK},
@@ -536,6 +538,11 @@
 	{ "BluesBirthday", "bda-slideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
 	{ "BluesBirthday", "BluesBirthdaySlideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
 
+	{ "BluesTreasureHunt", "Blue'sTreasureHunt-Disc1", kGenHEPC, UNK_LANG, UNK, 0 },
+	{ "BluesTreasureHunt", "Blue'sTreasureHunt-Disc1", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
+	{ "BluesTreasureHunt", "Blue'sTreasureHunt-Disc2", kGenHEPC, UNK_LANG, UNK, 0 },
+	{ "BluesTreasureHunt", "Blue'sTreasureHunt-Disc2", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
+
 	{ "catalog", "catalog", kGenHEPC, UNK_LANG, UNK, 0 },
 	{ "catalog", "catalog2", kGenHEPC, UNK_LANG, UNK, 0 },
 	{ "catalog", "Preview.cup", kGenUnchanged, UNK_LANG, UNK, 0 },

Modified: scummvm/trunk/engines/scumm/he/script_v80he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/script_v80he.cpp	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/he/script_v80he.cpp	2008-12-29 10:03:34 UTC (rev 35599)
@@ -466,8 +466,17 @@
 	copyScriptString(option, sizeof(option));
 	copyScriptString(section, sizeof(section));
 	copyScriptString(filename, sizeof(filename));
+
 	r = convertFilePath(filename);
 
+	if (_game.id == GID_TREASUREHUNT) {
+		// WORKAROUND: Remove invalid characters
+		if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc1"))
+			memcpy(section, "BluesTreasureHunt-Disc1\0", 24);
+		else if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc2"))
+			memcpy(section, "BluesTreasureHunt-Disc2\0", 24);
+	}	
+
 	Common::ConfigFile ConfFile;
 	if (!strcmp((char *)filename + r, "map.ini"))
 		ConfFile.loadFromFile((const char *)filename + r);
@@ -528,6 +537,14 @@
 
 	r = convertFilePath(filename);
 
+	if (_game.id == GID_TREASUREHUNT) {
+		// WORKAROUND: Remove invalid characters
+		if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc1"))
+			memcpy(section, "BluesTreasureHunt-Disc1\0", 24);
+		else if (!strcmp((char *)section, "Blue'sTreasureHunt-Disc2"))
+			memcpy(section, "BluesTreasureHunt-Disc2\0", 24);
+	}	
+
 	Common::ConfigFile ConfFile;
 	ConfFile.loadFromSaveFile((const char *)filename + r);
 	ConfFile.setKey((char *)option, (char *)section, (char *)string);

Modified: scummvm/trunk/engines/scumm/scumm-md5.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm-md5.h	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/scumm-md5.h	2008-12-29 10:03:34 UTC (rev 35599)
@@ -1,5 +1,5 @@
 /*
-  This file was generated by the md5table tool on Mon Dec 15 08:27:46 2008
+  This file was generated by the md5table tool on Mon Dec 29 10:01:11 2008
   DO NOT EDIT MANUALLY!
  */
 
@@ -97,7 +97,7 @@
 	{ "1ed22f601f8b3695804a6583cc3083f1", "puttrace", "HE 98.5", "", -1, Common::NL_NLD, Common::kPlatformUnknown },
 	{ "1f2e62b5a9c50589fc342285a6bb3a27", "freddi", "HE 73", "", -1, Common::HB_ISR, Common::kPlatformWindows },
 	{ "1fbebd7b2b692df5297870447a80cfed", "atlantis", "", "Floppy", 12030, Common::DE_DEU, Common::kPlatformPC },
-	{ "1ff5997c78fbd0a841a75ef15a05d9d5", "BluesBirthday", "", "", -1, Common::EN_ANY, Common::kPlatformWindows },
+	{ "1ff5997c78fbd0a841a75ef15a05d9d5", "BluesBirthday", "", "Red", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "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 },
@@ -335,7 +335,9 @@
 	{ "7fc6cdb46b4c9d384c52327f4bca6416", "football", "", "", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "810a9da887aefa597b0cf3c77d262897", "BluesABCTime", "", "Demo", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "81bbfa181184cb494e7a81dcfa94fbd9", "maniac", "NES", "", 262144, Common::FR_FRA, Common::kPlatformNES },
+	{ "822807c3cd3b43a925cab2767ca6b453", "BluesTreasureHunt", "", "Disc 1", -1, Common::EN_ANY, Common::kPlatformUnknown },
 	{ "8299d9b8a1b0e7b881bae7a9971dc5e2", "zak", "V2", "Demo", 1916, Common::EN_ANY, Common::kPlatformAtariST },
+	{ "82e5e24720cb85a2b662bea6b625cad9", "BluesTreasureHunt", "", "Disc 2", -1, Common::EN_ANY, Common::kPlatformWindows },
 	{ "8368f552b1e3eba559f8d559bcc4cadb", "freddi3", "", "", -1, Common::UNK_LANG, Common::kPlatformUnknown },
 	{ "839a658f7d22de00787ebc945348cdb6", "dog", "", "", 19681, Common::DE_DEU, Common::kPlatformWindows },
 	{ "83cedbe26aa8b58988e984e3d34cac8e", "freddi3", "HE 99", "", -1, Common::DE_DEU, Common::kPlatformUnknown },
@@ -388,7 +390,7 @@
 	{ "9781422e4288dbc090720e4563168ba7", "puttzoo", "", "", -1, Common::FR_FRA, Common::kPlatformWindows },
 	{ "981e1e1891f2be7e25a01f50ae55a5af", "puttrace", "HE 98", "", -1, Common::EN_USA, Common::kPlatformUnknown },
 	{ "98744fe66ff730e8c2b3b1f58803ab0b", "atlantis", "", "Demo", -1, Common::EN_ANY, Common::kPlatformPC },
-	{ "99128b6a5bdd9831d9682fb8b5cbf8d4", "BluesBirthday", "", "", -1, Common::EN_ANY, Common::kPlatformUnknown },
+	{ "99128b6a5bdd9831d9682fb8b5cbf8d4", "BluesBirthday", "", "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 },

Modified: scummvm/trunk/engines/scumm/scumm.cpp
===================================================================
--- scummvm/trunk/engines/scumm/scumm.cpp	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/scumm.cpp	2008-12-29 10:03:34 UTC (rev 35599)
@@ -1515,15 +1515,27 @@
 }
 
 void ScummEngine_v99he::resetScumm() {
+	byte *data;
+	Common::String ininame = _targetName + ".ini";
+	int len;
+
 	ScummEngine_v90he::resetScumm();
 
 	_hePalettes = (uint8 *)malloc((_numPalettes + 1) * 1024);
 	memset(_hePalettes, 0, (_numPalettes + 1) * 1024);
 
 	// Array 129 is set to base name
-	int len = strlen(_filenamePattern.pattern);
-	byte *data = defineArray(129, kStringArray, 0, 0, 0, len);
+	len = strlen(_filenamePattern.pattern);
+	data = defineArray(129, kStringArray, 0, 0, 0, len);
 	memcpy(data, _filenamePattern.pattern, len);
+
+	// Array 132 is set to game path
+	data = defineArray(132, kStringArray, 0, 0, 0, 0);
+
+	// Array 137 is set to Windows directory, plus INI file
+	len = strlen(ininame.c_str());
+	data = defineArray(137, kStringArray, 0, 0, 0, len);
+	memcpy(data, ininame.c_str(), len);
 }
 
 void ScummEngine_v100he::resetScumm() {

Modified: scummvm/trunk/engines/scumm/scumm.h
===================================================================
--- scummvm/trunk/engines/scumm/scumm.h	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/engines/scumm/scumm.h	2008-12-29 10:03:34 UTC (rev 35599)
@@ -221,6 +221,8 @@
 	GID_FBEAR,
 	GID_FUNPACK,
 	GID_FREDDI3,
+	GID_BIRTHDAY,
+	GID_TREASUREHUNT,
 	GID_PUTTRACE,
 	GID_FUNSHOP,	// Used for all three funshops
 	GID_FOOTBALL,

Modified: scummvm/trunk/tools/scumm-md5.txt
===================================================================
--- scummvm/trunk/tools/scumm-md5.txt	2008-12-29 06:23:52 UTC (rev 35598)
+++ scummvm/trunk/tools/scumm-md5.txt	2008-12-29 10:03:34 UTC (rev 35599)
@@ -431,8 +431,8 @@
 	d00ffc8c32d17e575fd985d435d2eb88	-1	en	All	-	Demo	-	Kirben
 
 BluesBirthday	Blue's Birthday Adventure
-	99128b6a5bdd9831d9682fb8b5cbf8d4	-1	en	All	-	-	-	knifethrower
-	1ff5997c78fbd0a841a75ef15a05d9d5	-1	en	Windows	-	-	-	Mathew
+	99128b6a5bdd9831d9682fb8b5cbf8d4	-1	en	All	-	Yellow	-	knifethrower
+	1ff5997c78fbd0a841a75ef15a05d9d5	-1	en	Windows	-	Red	-	Mathew
 
 	2d4acbdcfd8e374c9da8c2e7303a5cd0	-1	en	All	-	Demo	-	Kirben
 	dbf4d59d70b826733f379f998354d350	-1	en	All	-	Demo	-	Kirben
@@ -441,6 +441,10 @@
 readtime	Blue's Reading Time Activities
 	95818b178d473c989ac753574e8892aa	-1	en	All	-	Demo	-	Kirben
 
+BluesTreasureHunt	Blue's Treasure Hunt
+	822807c3cd3b43a925cab2767ca6b453	-1	en	All	-	Disc 1	-	Kirben
+	82e5e24720cb85a2b662bea6b625cad9	-1	en	Windows	-	Disc 2	-	Kirben
+
 fbear	Fatty Bear's Birthday Surprise
 	13d2a86a7290813a1c386490447d72db	-1	en	3DO	HE 61	-	-	George Kormendi
 	5b08000a9c47b2887df6506ac767ca68	-1	en	3DO	HE 61	-	-	sev


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