aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/glk/agt/detection.cpp8
-rw-r--r--engines/glk/agt/detection_tables.h244
2 files changed, 248 insertions, 4 deletions
diff --git a/engines/glk/agt/detection.cpp b/engines/glk/agt/detection.cpp
index ec093b798b..f1913c9f81 100644
--- a/engines/glk/agt/detection.cpp
+++ b/engines/glk/agt/detection.cpp
@@ -45,8 +45,6 @@ GameDescriptor AGTMetaEngine::findGame(const char *gameId) {
}
bool AGTMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &gameList) {
- const char *const EXTENSIONS[] = { ".saga", ".dat", nullptr };
-
// Loop through the files of the folder
for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) {
// Check for a recognised filename
@@ -54,7 +52,7 @@ bool AGTMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &gam
continue;
Common::String filename = file->getName();
- if (!filename.hasSuffixIgnoreCase(".d$$"))
+ if (!filename.hasSuffixIgnoreCase(".d$$") && !filename.hasSuffixIgnoreCase(".agx"))
continue;
Common::File gameFile;
@@ -74,7 +72,9 @@ bool AGTMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &gam
} else {
// Found a match
PlainGameDescriptor gameDesc = findGame(p->_gameId);
- gameList.push_back(GlkDetectedGame(p->_gameId, gameDesc.description, filename));
+ DetectedGame gd("glk", p->_gameId, gameDesc.description, p->_language, Common::kPlatformUnknown, p->_extra);
+ gd.addExtraEntry("filename", filename);
+ gameList.push_back(gd);
}
}
diff --git a/engines/glk/agt/detection_tables.h b/engines/glk/agt/detection_tables.h
index 86e92e0fbb..eb8e2bac40 100644
--- a/engines/glk/agt/detection_tables.h
+++ b/engines/glk/agt/detection_tables.h
@@ -27,11 +27,255 @@
namespace Glk {
namespace AGT {
+/* TODO: The following games aren't yet supported:
+ * Lost Gold : Doesn't come as separate gamefiles
+ * eather's Easter Egg Hunt - Comes as an .arc archive;
+ * still need to find something to uncompress it
+ */
+
const PlainGameDescriptor AGT_GAME_LIST[] = {
+ { "abloodylife", "A Bloody Life" },
+ { "alandria", "The Search for Princess Alandria" },
+ { "alchemistcastle", "Castle of the Alchemists" },
+ { "advalice", "The Adventures of Alice Who Went Through the Looking-Glass" },
+ { "apprenticetesting", "Apprentice - The Testing of a Magical Novice" },
+ { "sirarthur", "Sir Arthur" },
+ { "cercla", "Cercla" },
+ { "cardigan1", "Space Aliens Laughed at My Cardigan" },
+ { "cardigan2", "Still Laughing at my Cardigan" },
+ { "sanityclause", "Sanity Clause or, Why Santa Didn't Make It to YOUR House that Year" },
+ { "cliffdiver1", "Cliff Diver: Investigator for Hire - Case 1" },
+ { "cliffdiver2", "Cliff Diver: Investigator for Hire - Case 2" },
+ { "cosmoserve", "CosmoServe" },
+ { "crusade", "Crusade" },
+ { "agtdetective", "Detective" },
+ { "dragonschocolate", "Dragons in Chocolate Land" },
+ { "disenchanted", "Disenchanted" },
+ { "ducksoup", "Duck Soup" },
+ { "cavesofdyanty", "Caves of Dyanty" },
+ { "destinationearth", "Destination: Earth" },
+ { "dudleydilemma", "A Dudley Dilemma" },
+ { "80days", "Around the World in Eighty Days" },
+ { "electrabot", "Electrabot" },
+ { "elf20", "The Elf's Christmas Adventure" },
+ { "elfquest", "Elf Quest" },
+ { "eliescape", "Escape from the ELI" },
+ { "escapeprisonisland", "Escape from Prison Island" },
+ { "agtfable", "A Fable" },
+ { "firststupidgame", "My First Stupid Game" },
+ { "ccfirstadv", "Colossal Cave - The First Adventure" },
+ { "ggollek", "Ggollek I : The Dissolution" },
+ { "agtghosttown", "Ghost Town" },
+ { "giganticsecrets", "Secrets of the Gigantic" },
+ { "newenglandgothic", "New England Gothic" },
+ { "grailmisadventure", "The Misadventure of the Holy Grail" },
+ { "hardestadv", "The World's Hardest Adventure" },
+ { "helvera", "Helvera, Mistress of the Park" },
+ { "highe", "Highe, the Adventures of Elizabeth(\"El\") Highe" },
+ { "sirramichobbs", "Sir Ramic Hobbs and the High Level Gorilla" },
+ { "holmescasebook", "The Casebook of Sherlock Holmes" },
+ { "hotelnotell", "Hotel Notell" },
+ { "house2house", "House 2 House" },
+ { "agthugecave", "Adventure in Humongous Cave" },
+ { "hurryhurry", "Hurry!Hurry!Hurry!!" },
+ { "jackofhartz", "Jack of Hartz" },
+ { "jubileeroad", "Jubilee Road" },
+ { "killjustin", "Kill Justin" },
+ { "klaustrophobia1", "Klaustrophobia - Part I" },
+ { "klaustrophobia2", "Klaustrophobia - Part II" },
+ { "klaustrophobia3", "Klaustrophobia - Part III" },
+ { "klingonrpg", "In the Year 2366, Klingon Role Playing Game" },
+ { "deadlylabyrinth", "The Deadly Labyrinth" },
+ { "library", "Library - Library of Guilford College" },
+ { "lostinspace", "Lost in Space : Dr.Smith Goes Home" },
+ { "agtlottery", "Lottery" },
+ { "loststonemansion", "Lost Stone Mansion" },
+ { "agtpyramids", "The Pyramids of Mars" },
+ { "mdthief", "The Multi-Dimensional Thief" },
+ { "agtmhpquest", "Quest for the Magic Healing Plant" },
+ { "mopandmurder", "Mop and Murder" },
+ { "agtmst3k1", "Detective, An Interactive MiSTing (Mystery Science Theater 3000)" },
+ { "agtmst3k2", "Mystery Science Theater 3000, Adventure 102" },
+ { "spacemule", "Space Mule" },
+ { "myopia", "Myopia" },
+ { "nmr1", "Adventures in NMR" },
+ { "nmr2", "Adventures in NMR II : The Adventure Continues" },
+ { "oceana", "Oceana" },
+ { "agtodieus", "Odieus's Quest for the Magic Flingshot" },
+ { "oklib", "Oklib's Revenge" },
+ { "ovanpelt", "Orientation to Van Pelt Library of the University of Pennsylvania" },
+ { "peterpatzer", "The Adventures of Peter Patzer" },
+ { "blackpearl", "Quest for the Black Pearl" },
+ { "battleofphilip", "The Battle of Philip against the Forces of Creation" },
+ { "flightintofantasy", "The Pilot or A Flight into Fantasy" },
+ { "pork1", "PORK I : The Great Underground Sewer System" },
+ { "pork2", "PORK II, The Gizzard of Showbiz" },
+ { "starportal", "The Star Portal" },
+ { "pastoralpitfalls", "Pastoral Pitfalls" },
+ { "lostproperty", "Lost Property" },
+ { "gameofrecovery", "The Game of Recovery" },
+ { "rerunsagain", "Reruns Again version" },
+ { "derring", "Der Ring des Nibelungen" },
+ { "sherwoodadv", "Adventures in Sherwood" },
+ { "shapeshifteradv", "Shape Shifter Adventure!" },
+ { "sirguygallant", "Sir Guy Gallant and the Deadly Warning" },
+ { "shadesofgray", "Shades of Gray" },
+ { "sonofstagefright", "Son of Stagefright" },
+ { "spatent", "The Spatent Obstruction" },
+ { "squynchia", "The Squynchia Adventure" },
+ { "stiffy", "The Incredible Erotic Adventures of Stiffy Makane!" },
+ { "storms1", "Storms I" },
+ { "susan", "Susan (A Lustful Game)" },
+ { "tamoret", "Tamoret" },
+ { "tarabithia", "Escape from Tarabithia" },
+ { "tarksimmons", "The Adventure of Tark Simmons" },
+ { "tarotia", "The Books of Tarotia : Book 1" },
+ { "tempest", "The Tempest" },
+ { "thegame", "Whatever We Decide To Call This Game" },
+ { "therift", "The Rift" },
+ { "tja", "The Jeweled Arena" },
+ { "toho", "Toho Academy" },
+ { "tossedintospace", "Tossed into Space : Dr.Schmidt Goes Home" },
+ { "timesquared", "TimeSquared" },
+ { "folkestone", "Murder at the Folkestone Inn" },
+ { "wanderer1", "Black Wanderer 1 - The Darkest Road" },
+ { "wanderer2", "Black Wanderer 2 - The Unborn One" },
+ { "wanderer3", "Black Wanderer 3 - Twas a Time of Dread" },
+ { "weekendsurvival", "Weekend Survival" },
+ { "witchfinder", "Witchfinder" },
+ { "agtwizardscastle", "The Wizard's Castle" },
+ { "hobbswok", "Sir Ramic Hobbs and the Oriental Wok" },
+ { "wraithblaster", "Wraith Blaster" },
+ { "journeyintoxanth", "A Journey into Xanth" },
+ { "zanfar", "Zanfar" },
+
+ // Dutch games
+ { "querido", "Querido" },
+
{ nullptr, nullptr }
};
const GlkDetectionEntry AGT_GAMES[] = {
+ DT_ENTRY0("abloodylife", "c492e0ae0647d3a4835012ca864b99d5", 157221),
+ DT_ENTRY0("alchemistcastle", "7822dfaf1ae31b3e508e7b0a267d054b", 192051),
+ DT_ENTRY0("advalice", "0aaafb897b46baa28023bbbaf4091fd8", 23004),
+ DT_ENTRY0("apprenticetesting", "4e4244649dc1cd39546f3d10dc85acb5", 131868),
+ DT_ENTRY0("sirarthur", "46956e2d28f6b926fc6831d60f891ffc", 120204),
+ DT_ENTRY0("cardigan1", "301509b196fd27c87d5d176f895b94ea", 103356),
+ DT_ENTRY0("cardigan2", "f17a9d5401cb5cb1be4cb2719d0c9d34", 97767),
+ DT_ENTRY0("cercla", "a56219015b70f507d9a1f74e0a92db1f", 136080),
+ DT_ENTRY0("sanityclause", "a7ea1c9ae6200511af71dfcebb5d55ff", 246159),
+ DT_ENTRY0("cliffdiver1", "14ce6a122a061f2b361e725fe2c0c0e4", 120042),
+ DT_ENTRY0("cliffdiver2", "9cc68e22a0ba03fe13bd4bfb413e08df", 155682),
+ DT_ENTRY1("cosmoserve", "Final", "fce21feb3a6dfda1298d3eb3b46ef0b2", 377460),
+ DT_ENTRY0("cosmoserve", "e677a308c446af4e076a26ef0ca235ad", 365229),
+ DT_ENTRY0("crusade", "d7df6bc394d225ab023e4f099d982156", 50463),
+ DT_ENTRY0("agtdetective", "b17f780a90fa4e0e30e5bbf590f78cd5", 17901),
+ DT_ENTRY0("dragonschocolate", "6cb0714d337ed45ae03e6a54ed60fdc4", 143208),
+ DT_ENTRY0("disenchanted", "7003a85672bbfa067dc6a28a295a1ad1", 99630),
+ DT_ENTRY0("ducksoup", "e3c609c2a78e89b03c8cdefa19a50293", 83187),
+ DT_ENTRY1("dudleydilemma", "1.2", "2ff4de040b7cee9592bc8dc2e020d937", 111294),
+ DT_ENTRY1("dudleydilemma", "3.0", "4cdea9d3acc19f9a02072517e4bc463d", 190188),
+ DT_ENTRY0("cavesofdyanty", "267e8a2812d58e140be8582914d9cefb", 40662),
+ DT_ENTRY0("destinationearth", "d00cfa53e2b3315f0ee6813c064be74f", 12474),
+ DT_ENTRY0("80days", "0086c0151760c59aa4d9e8ca055de84d", 30294),
+ DT_ENTRY0("electrabot", "1c7096e4a9a0579526e9b5084aa27701", 8748),
+ DT_ENTRY0("elf20", "0fa1e888a452fec59bb4a5a6ffa43d78", 101088),
+ DT_ENTRY0("elfquest", "5419ab5d7a19037a5971c7e2de59cee4", 16929),
+ DT_ENTRY0("eliescape", "8d604abcccccbc0064b7488497f6242d", 72414),
+ DT_ENTRY0("escapeprisonisland", "8f6cf9b1f46e968b353bd00a48c2bd6b", 48762),
+ DT_ENTRY0("agtfable", "9acb005ddd793da7898eda2bbc79a9d3", 15147),
+ DT_ENTRY0("ccfirstadv", "8a8ff26cd6a396c193d865fa6e37594d", 83754),
+ DT_ENTRY0("firststupidgame", "859933f151a301f64f88a8101853f432", 21222),
+ DT_ENTRY0("ggollek", "e02fa5e1ddff57e89231481574218834", 75573),
+ DT_ENTRY0("agtghosttown", "33aa534de04a978c50f8a038a6bec3e7", 35235),
+ DT_ENTRY0("giganticsecrets", "66d6b6b5bf43149a8ad5578c45ad4731", 21627),
+ DT_ENTRY0("newenglandgothic", "10898900c3b872282a4298b32e851dfc", 104895),
+ DT_ENTRY0("grailmisadventure", "f7b0447cc01d1f4629e734952deccf98", 107487),
+ DT_ENTRY0("hardestadv", "326aaac9509503829e2b350b867c4ca5", 115263),
+ DT_ENTRY0("helvera", "aa1ba7a1f1726a90eec90b0eb998cce8", 104642),
+ DT_ENTRY0("highe", "8c08f8e0e215d1293398b0d652578baf", 15471),
+ DT_ENTRY0("sirramichobbs", "ba008ad6016d8302dd4311dd20ccb4e0", 132597),
+ DT_ENTRY0("holmescasebook", "391e0bd51cbf8bc4cfffe751a1a659b2", 256446),
+ DT_ENTRY0("hotelnotell", "0c54347ebbcfe32bbf143a1574cdb445", 111132),
+ DT_ENTRY0("house2house", "9e5ee1005108afc247063e5f770ab1cc", 78246),
+ DT_ENTRY0("agthugecave", "0364693bb31fb2e9a45927f9e542b1fa", 260415),
+ DT_ENTRY0("hurryhurry", "040ca0ed40cb4732b66c2ab9b68bca97", 165564),
+ DT_ENTRY0("jackofhartz", "74d754d8ce9bb7dca6f70b60c72ee27d", 97038),
+ DT_ENTRY0("klingonrpg", "93811c560f0c78f470f65dbe62834aa1", 15066),
+ DT_ENTRY0("deadlylabyrinth", "3a5d3ad2f80fb8c02baf5eb9894eb9b6", 113643),
+ DT_ENTRY0("library", "f23d106273f6e5fdb50f65d2acd4e4fc", 133407),
+ DT_ENTRY0("lostinspace", "322c226f26768b6962c2b3b147450410", 49410),
+ DT_ENTRY0("agtlottery", "7c0890c420d6585e4629f1cc228bf259", 24948),
+ DT_ENTRY0("loststonemansion", "f0ef6d965533e67b29acb130dd0f1213", 39933),
+ DT_ENTRY0("jubileeroad", "f24fef5bc936c22fbd84c0929d727cbf", 105543),
+ DT_ENTRY0("killjustin", "94d50b925733e70cf39079a8816b199c", 65043),
+ DT_ENTRY0("klaustrophobia1", "cbcc82df28e67d89399139e5f234d8fc", 242838),
+ DT_ENTRY0("klaustrophobia2", "b535015af4fece71c9f120730cb453dc", 292329),
+ DT_ENTRY0("klaustrophobia3", "47aad0cb89ebe10e54172db55124b8d1", 366039),
+ DT_ENTRY0("mdthief", "e62d36630c8a301a5da4192dfd28d650", 243729),
+ DT_ENTRY0("agtpyramids", "cb2aa53dea87209fee2e300cd5396e4a", 126522),
+ DT_ENTRY0("mopandmurder", "23c4a7ee63dbfb78871b7040a011cd89", 86913),
+ DT_ENTRY0("agtmhpquest", "5d657aac27f1dc150d74c50251584af0", 29646),
+ DT_ENTRY0("agtmst3k1", "53552013cadf6b62a5c8dcbb7f2af4a8", 127737),
+ DT_ENTRY0("agtmst3k2", "973cf89bf1cea65ebd8df72c6d01354d", 107001),
+ DT_ENTRY0("spacemule", "96cc0630552bc6a343e022777b40d9fd", 79056),
+ DT_ENTRY0("myopia", "b3f3d0ae4fe3bf1181fa437c69b90016", 69859),
+ DT_ENTRY0("nmr1", "c1758cd84fceade19866007f8d7c397f", 49734),
+ DT_ENTRY0("nmr2", "979ffa08dc3b102b59f6893e4a4dede9", 55485),
+ DT_ENTRY0("oceana", "63a163d87abf793a5e5c2f98f0d4c469", 178200),
+ DT_ENTRY0("agtodieus", "aef479600d4fb82f8eedbeda855a9706", 28512),
+ DT_ENTRY0("oklib", "d833679f11041ab1155b5207aabfc873", 166374),
+ DT_ENTRY0("ovanpelt", "60a49ce4b7f99968cf92ccef5ad403f7", 53298),
+ DT_ENTRY0("peterpatzer", "6a1be7e416f66c54b22e1305165fd7ee", 62842),
+ DT_ENTRY0("blackpearl", "12419db6d6088e66394ecf5f28baa68d", 80109),
+ DT_ENTRY0("battleofphilip", "8bbfd3d06b9eb4df0565e158e41312d8", 97443),
+ DT_ENTRY0("flightintofantasy", "063f4f434b64c25f2ca816a564edbe35", 100521),
+ DT_ENTRY0("pork1", "389deffc77cc58cce1ad8c0c57a5cfa8", 105948),
+ DT_ENTRY0("pork2", "13911c59cbe70ae877c87aa0ded89e47", 28269),
+ DT_ENTRY0("starportal", "0bf0f86fdeea607083c22a5cb41c6885", 172935),
+ DT_ENTRY0("pastoralpitfalls", "c35d440286c6bf67cd6ee1e5947c3483", 206469),
+ DT_ENTRY0("lostproperty", "8acf3d6994a3b39911827d5040e8873a", 30375),
+ DT_ENTRY0("gameofrecovery", "b497bb0e1e93023a892f0fa54d78a1c0", 108459),
+ DT_ENTRY0("rerunsagain", "d263341c871a2f52e0052c313bf3e525", 81648),
+ DT_ENTRY0("derring", "5553e1a6966525da7ab2d874090d3758", 52893),
+ DT_ENTRY0("sherwoodadv", "270be7ce551c615d4c34bc64acd4c190", 313551),
+ DT_ENTRY0("shapeshifteradv", "8a45a92074747edf8882ea2eaf6cfa54", 137862),
+ DT_ENTRY0("sirguygallant", "c4376d121b26bc691b6a43b9f77eb22a", 125698),
+ DT_ENTRY1("shadesofgray", "Final", "e93ed21cdafc1b998ee2ccab557f0649", 433350),
+ DT_ENTRY0("shadesofgray", "677753739047deb5ccf72f1b6555c677", 431568),
+ DT_ENTRY0("sonofstagefright", "9527fa27e910470deac8ffbcb29e2427", 116640),
+ DT_ENTRY0("spatent", "acc4c60cbb9d0239ab9b1900b239771a", 85455),
+ DT_ENTRY0("squynchia", "e9e5c99ee87f3b38a9ea8e7fdd1ed79f", 81000),
+ DT_ENTRY0("stiffy", "a7f1902ab7aa9972ca46d5b36d06d2b1", 32805),
+ DT_ENTRY0("storms1", "8567c2db37c80f015a950ef80d299a0a", 111942),
+ DT_ENTRY0("susan", "cb71705848aabcac90e7ea9e911ceee9", 15633),
+ DT_ENTRY0("tamoret", "3de37497ed763a58093e556a963ca14e", 156816),
+ DT_ENTRY0("tarabithia", "6734a6889d825dae528d2a7efaf6dee2", 83430),
+ DT_ENTRY0("tarksimmons", "cf6945fc43e8a3062a27fc39e01c3d6e", 116397),
+ DT_ENTRY0("tarotia", "fbeac90159dc88e82240b4201b6231d5", 61479),
+ DT_ENTRY0("tempest", "114b5224e7bb8def06a87c3910d7c4f3", 52650),
+ DT_ENTRY0("thegame", "af6e39aadf8dced6f29d03650125a6d6", 139968),
+ DT_ENTRY0("therift", "1c30da9b9a55d691226c45b8b53c11c3", 41877),
+ DT_ENTRY0("tja", "6699e867df8263dd7858d2f6fb84acde", 517185),
+ DT_ENTRY0("toho", "58a6fdf89b29966774beaca80f505fff", 228744),
+ DT_ENTRY0("tossedintospace", "515f06782c5b11108a719a20e182166c", 49491),
+ DT_ENTRY0("timesquared", "55e36771d5e1fe184cce8f5be666ff9f", 105300),
+ DT_ENTRY0("folkestone", "7e949a7376b0a64cee0d9412b0203611", 64557),
+ DT_ENTRY0("wanderer1", "0dcaff32c55dd2c1898da7893500de34", 53946),
+ DT_ENTRY0("wanderer2", "89dd16629022c75f3ffc171a6b126da6", 46980),
+ DT_ENTRY0("wanderer3", "839ab34bce5c82ec6194675f0186b15b", 45765),
+ DT_ENTRY0("weekendsurvival", "e770c0e75b7257eae9d4677340beca10", 91044),
+ DT_ENTRY0("witchfinder", "9acecd1803d2e99282970db1ef6ff344", 186300),
+ DT_ENTRY0("agtwizardscastle", "3adecad94b61babdadfbe20242e86b24", 18792),
+ DT_ENTRY0("hobbswok", "3178e271e8259a889df99545d6c65362", 198369),
+ DT_ENTRY0("wraithblaster", "392f507d42c006a30c55a20ec9e75f44", 194643),
+ DT_ENTRY0("journeyintoxanth", "2b073d48a8a01f91d7bca5db482e3ecd", 147177),
+ DT_ENTRY0("zanfar", "5fc6914fe02c0235f8a5343db8b6359e", 83106),
+
+ // Dutch games
+ DT_ENTRYL0("querido", Common::NL_NLD, "e52fe3a44d7b511bb362ce08a48435ef", 104166),
+
DT_END_MARKER
};