[Scummvm-git-logs] scummvm master -> 17d8cab6bf87a12132eee007c2bc83be38b44f0c

trembyle noreply at scummvm.org
Mon Jan 3 23:31:19 UTC 2022


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:
17d8cab6bf AGI: Add detection for additional PC booters


Commit: 17d8cab6bf87a12132eee007c2bc83be38b44f0c
    https://github.com/scummvm/scummvm/commit/17d8cab6bf87a12132eee007c2bc83be38b44f0c
Author: trembyle (sean.patrick.brody at gmail.com)
Date: 2022-01-03T18:06:19-05:00

Commit Message:
AGI: Add detection for additional PC booters

Alternate version of Troll's Tale works without issue.

PCjr, Tandy 1000, and IBM PC booters for KQ1-2 do not work because
the earliest AGI versions are not yet supported.

Later MS-DOS releases of Troll's Tale also do not work yet.

Changed paths:
    engines/agi/detection_tables.h


diff --git a/engines/agi/detection_tables.h b/engines/agi/detection_tables.h
index a690d4f2bdf..07661230ce4 100644
--- a/engines/agi/detection_tables.h
+++ b/engines/agi/detection_tables.h
@@ -98,6 +98,23 @@ namespace Agi {
 		ver \
 	}
 
+#define GAME_LVFPNU(id,msg,fname,md5,size,lang,ver,features,gid,platform,interp,guioptions) { \
+		{ \
+			id, \
+			msg, \
+			AD_ENTRY1s(fname,md5,size), \
+			lang, \
+			platform, \
+			ADGF_UNSUPPORTED, \
+			guioptions \
+		}, \
+		gid, \
+		interp, \
+		features, \
+		ver \
+	}
+
+#define BOOTER1_U(id,msg,fname,md5,size,ver,gid) GAME_LVFPNU(id,msg,fname,md5,size,Common::EN_ANY,ver,0,gid,Common::kPlatformDOS,GType_V1,GAMEOPTIONS_DEFAULT)
 #define BOOTER2(id,extra,fname,md5,size,ver,gid) GAME_LVFPN(id,extra,fname,md5,size,Common::EN_ANY,ver,0,gid,Common::kPlatformDOS,GType_V2,GAMEOPTIONS_DEFAULT)
 #define GAME(id,extra,md5,ver,gid) GAME_LVFPN(id,extra,"logdir",md5,-1,Common::EN_ANY,ver,0,gid,Common::kPlatformDOS,GType_V2,GAMEOPTIONS_DEFAULT)
 #define GAME3(id,extra,fname,md5,ver,gid) GAME_LVFPN(id,extra,fname,md5,-1,Common::EN_ANY,ver,0,gid,Common::kPlatformDOS,GType_V3,GAMEOPTIONS_DEFAULT)
@@ -123,6 +140,7 @@ namespace Agi {
 #define GAMEpre_P(id,extra,fname_1,md5_1,size_1,fname_2,md5_2,size_2,ver,gid,platform) GAME_LVFPN2(id,extra,fname_1,md5_1,size_1,fname_2,md5_2,size_2,Common::EN_ANY,ver,0,gid,platform,GType_PreAGI,GAMEOPTIONS_DEFAULT)
 #define GAMEpre_PO(id,extra,fname_1,md5_1,size_1,fname_2,md5_2,size_2,ver,gid,platform,guioptions) GAME_LVFPN2(id,extra,fname_1,md5_1,size_1,fname_2,md5_2,size_2,Common::EN_ANY,ver,0,gid,platform,GType_PreAGI,guioptions)
 #define GAMEpre_PS(id,extra,fname,md5,size,ver,gid,platform) GAME_LVFPN(id,extra,fname,md5,size,Common::EN_ANY,ver,0,gid,platform,GType_PreAGI,GAMEOPTIONS_DEFAULT)
+#define GAMEpre_PSU(id,msg,fname,md5,size,ver,gid,platform) GAME_LVFPNU(id,msg,fname,md5,size,Common::EN_ANY,ver,0,gid,platform,GType_PreAGI,GAMEOPTIONS_DEFAULT)
 
 #define GAME3_PS(id,extra,fname,md5,size,ver,flags,gid,platform) GAME_LVFPN(id,extra,fname,md5,size,Common::EN_ANY,ver,flags,gid,platform,GType_V3,GAMEOPTIONS_DEFAULT)
 #define GAME3_PSO(id,extra,fname,md5,size,ver,flags,gid,platform,guioptions) GAME_LVFPN(id,extra,fname,md5,size,Common::EN_ANY,ver,flags,gid,platform,GType_V3,guioptions)
@@ -339,6 +357,14 @@ static const AGIGameDescription gameDescriptions[] = {
 	// King's Quest 1 (Mac) 2.0C
 	GAME_P("kq1", "2.0C 1987-03-26", "d4c4739d4ac63f7dbd29255425077d48", 0x2440, GID_KQ1, Common::kPlatformMacintosh),
 
+	// King's Quest 1 (IBM PCjr) 1.00 1502265 5/10/84
+	BOOTER1_U("kq1", "Early King\'s Quest releases are not currently supported.",
+		"kq1.img", "127675735f9d2c148738c1e96ea9d2cf", 368640, 0x1120, GID_KQ1),
+
+	// King's Quest 1 (Tandy 1000) 01.01.00 5/24/84
+	BOOTER1_U("kq1", "Early King\'s Quest releases are not currently supported.",
+		"kq1.img", "0a22131d0eaf66d955afecfdc83ef9d6", 368640, 0x1120, GID_KQ1),
+
 	// King's Quest 1 (PC 5.25"/3.5") 2.0F [AGI 2.917]
 	GAME("kq1", "2.0F 1987-05-05 5.25\"/3.5\"", "10ad66e2ecbd66951534a50aedcd0128", 0x2917, GID_KQ1),
 
@@ -363,6 +389,48 @@ static const AGIGameDescription gameDescriptions[] = {
 	// King's Quest 2 (Mac) 2.0R
 	GAME_P("kq2", "2.0R 1988-03-23", "cbdb0083317c8e7cfb7ac35da4bc7fdc", 0x2440, GID_KQ2, Common::kPlatformMacintosh),
 
+	{
+		// King's Quest 2 (PC booter) 1.0W
+		{
+			"kq2",
+			"Early King\'s Quest releases are not currently supported.",
+			{
+				{ "kq2-d1.img", BooterDisk1, "68302776c012f5036ceb66e36920d353", 368640},
+				{ "kq2-d2.img", BooterDisk2, "5fa6d8222608aee556627c67cb5fb4d4", 368640},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GAMEOPTIONS_DEFAULT
+		},
+		GID_KQ2,
+		GType_V1,
+		0,
+		0x1120
+	},
+
+	{
+		// King's Quest 2 (PC booter) 1.1H
+		{
+			"kq2",
+			"Early King\'s Quest releases are not currently supported.",
+			{
+				{ "kq2-d1.img", BooterDisk1, "c7216589aca72348bc063950cb80b266", 368640},
+				{ "kq2-d2.img", BooterDisk2, "9d29b6d41740945dce569cb59b2a6c5f", 368640},
+				AD_LISTEND
+			},
+			Common::EN_ANY,
+			Common::kPlatformDOS,
+			ADGF_UNSUPPORTED,
+			GAMEOPTIONS_DEFAULT
+		},
+		GID_KQ2,
+		GType_V1,
+		0,
+		0x1120
+	},
+
 	// King's Quest 2 (PC) 2.1 [AGI 2.411]; entry from DAGII, but missing from Sarien?
 	// XXX: any major differences from 2.411 to 2.440?
 	GAME("kq2", "2.1 1987-04-10", "759e39f891a0e1d86dd29d7de485c6ac", 0x2440, GID_KQ2),
@@ -679,9 +747,20 @@ static const AGIGameDescription gameDescriptions[] = {
 	// Space Quest 2 (CoCo3 360k) [AGI 2.072]
 	GAME_PS("sq2", "updated", "d24f19b047e65e1763eff4b46f3d50df", 768, 0x2440, GID_SQ2, Common::kPlatformCoCo3),
 
-	// Troll's Tale
+	// Troll's Tale (PC Booter)
 	GAMEpre_PS("troll", "", "troll.img", "62903f264b3d849be4214b3a5c42a2fa", 184320, 0x0000, GID_TROLL, Common::kPlatformDOS),
 
+	// Troll's Tale (PC Booter)
+	GAMEpre_PS("troll", "", "troll.img", "2b7f6da1b1008bfb22750e6ab7359942", 184320, 0x0000, GID_TROLL, Common::kPlatformDOS),
+
+	// Troll's Tale (DOS)
+	GAMEpre_PSU("troll", "MS-DOS versions of Troll's Tale are not currently supported.",
+		"game.dat", "62903f264b3d849be4214b3a5c42a2fa", 184320, 0x0000, GID_TROLL, Common::kPlatformDOS),
+
+	// Troll's Tale (DOS)
+	GAMEpre_PSU("troll", "MS-DOS versions of Troll's Tale are not currently supported.",
+		"troll.exe", "9cd0dda6e2e7bc78a053f881f3a3176b", 59120, 0x0000, GID_TROLL, Common::kPlatformDOS),
+
 	// Winnie the Pooh in the Hundred Acre Wood
 	GAMEpre_P("winnie", "", "title.pic", "2e7900c1ccaa7671d65405f6d1efed30", 1334,
 							"obj.40",    "188636a4a340fcfd8e7fab1e8e0ac53b", 657, 0x0000, GID_WINNIE, Common::kPlatformDOS),




More information about the Scummvm-git-logs mailing list