[Scummvm-git-logs] scummvm master -> cf82dfaec5847d791c5f7f98e31544cd4098d901

dreammaster paulfgilbert at gmail.com
Mon Dec 10 06:07:02 CET 2018


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:
cf82dfaec5 GLK: FROTZ: Add game names for ZCode games on if-archive


Commit: cf82dfaec5847d791c5f7f98e31544cd4098d901
    https://github.com/scummvm/scummvm/commit/cf82dfaec5847d791c5f7f98e31544cd4098d901
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-12-09T21:06:49-08:00

Commit Message:
GLK: FROTZ: Add game names for ZCode games on if-archive

Changed paths:
    engines/glk/frotz/detection.cpp
    engines/glk/frotz/detection_tables.h


diff --git a/engines/glk/frotz/detection.cpp b/engines/glk/frotz/detection.cpp
index 1d3e1ce..08865e1 100644
--- a/engines/glk/frotz/detection.cpp
+++ b/engines/glk/frotz/detection.cpp
@@ -66,10 +66,12 @@ bool FrotzMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &g
 			continue;
 		Common::String md5 = Common::computeStreamMD5AsString(gameFile, 5000);
 		size_t filesize = gameFile.size();
-		char serial[7] = "unkown";
+		char serial[9] = "";
 		if (!filename.hasSuffixIgnoreCase(".zblorb")) {
 			gameFile.seek(18);
-			gameFile.read(&serial[0], 6);
+			strcpy(&serial[0], " \"");
+			gameFile.read(&serial[1], 6);
+			strcpy(&serial[7], "\"");
 		}
 		gameFile.close();
 
@@ -98,8 +100,8 @@ bool FrotzMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &g
 				if (dot)
 					fname = Common::String(fname.c_str(), dot);
 
-				debug("ENTRY0(\"%s\", \"%s-%s\", \"%s\", %u),",
-					folderName.c_str(), fname.c_str(), serial, md5.c_str(), (uint)filesize);
+				debug("ENTRY0(\"%s\", %s, \"%s\", %u),",
+					fname.c_str(), strlen(serial) ? serial : "nullptr", md5.c_str(), (uint)filesize);
 			}
 			const PlainGameDescriptor &desc = FROTZ_GAME_LIST[0];
 			gd = DetectedGame(desc.gameId, desc.description, Common::UNK_LANG, Common::kPlatformUnknown);
diff --git a/engines/glk/frotz/detection_tables.h b/engines/glk/frotz/detection_tables.h
index c7727ae..3fbaa13 100644
--- a/engines/glk/frotz/detection_tables.h
+++ b/engines/glk/frotz/detection_tables.h
@@ -103,6 +103,691 @@ const PlainGameDescriptor FROTZ_GAME_LIST[] = {
 	{ "questprobe2",       "Questprobe 2: Spiderman" },
 	{ "scottsampler",      "Adventure International's Mini-Adventure Sampler" },
 
+	// English ZCode games
+	{ "404life",           "404 - Life not found" },
+	{ "69105keys",         "69,105 Keys" },
+	{ "905",               "9:05" },
+	{ "9dancers",          "The Nine Dancers (Larsoft Adventure number 4)" },
+	{ "cockandbull",       "A_Cock_and_Bull_Story" },
+	{ "aasmasters",        "AAS Masters, in which all is revealed" },
+	{ "accuse",            "Accuse" },
+	{ "acheton",           "Acheton" },
+	{ "acorncourt",        "The Acorn Court" },
+	{ "acrobat",           "The Mysterious Case of the Acrobat and His Peers" },
+	{ "acrossthestars",    "Across the Stars" },
+	{ "addendum",          "Flawed Addendum" },
+	{ "adv",               "Adventure, Colossal Cave" },
+	{ "adv350",            "Adventure, 350 point Colossal Cave" },
+	{ "adv440",            "Adventure II, 440 point Colossal Cave" },
+	{ "adv550",            "Adventure 3, 550 point Colossal Cave" },
+	{ "adv551",            "Adventure 6, 551 point Colossal Cave" },
+	{ "adventuretime",     "Adventure Time" },
+	{ "adverbum",          "Ad Verbum" },
+	{ "affront",           "Annoyotron IV: Affrontotron" },
+	{ "aisle",             "Aisle" },
+	{ "alice",             "Alice Through the Looking Glass" },
+	{ "allroads",          "All Roads" },
+	{ "alongtheriver",     "Along the River" },
+	{ "alpha",             "Journey to Alpha Centauri (In Real Time)" },
+	{ "ambassadorsdaughter", "The Ambassador''s Daughter, a Brief Romance" },
+	{ "amish",             "Amishville" },
+	{ "amiss",             "Amissville" },
+	{ "anchor",            "Anchorhead: an Interactive Tale of Lovecraftian Horror" },
+	{ "hipponewyear",      "And A Hippo New Year" },
+	{ "animals",           "Animals 1.1" },
+	{ "annoy",             "Annoyotron" },
+	{ "aotyrz",            "Attack of the Yeti Robot Zombies" },
+	{ "aphasiaquest",      "Aphasia_Quest" },
+	{ "apollo",            "Apollo 18+20: The IF Tribute Album" },
+	{ "appall",            "Appallatron: Annoyotron 3" },
+	{ "aridandpale",       "Arid and Pale" },
+	{ "asylum",            "Asylum" },
+	{ "atrocitron",        "Atrocitron, An Interactive Puzzlebox" },
+	{ "ats",               "A Tight Spot" },
+	{ "atwork",            "Danger! Adventurer At Work!" },
+	{ "aug4",              "Augmented Fourth, an Interactive Performance" },
+	{ "avon",              "Avon" },
+	{ "awoken",            "The Awakening" },
+	{ "awitl",             "A Week In The Life" },
+	{ "ayac",              "Are You A Chef? An interactive ifMUD-saving" },
+	{ "b2demo",            "Pick up the Phone Booth and Die, Part 2" },
+	{ "b7snare",           "Snare, an interactive Blake's 7 adventure" },
+	{ "babytree",          "Baby tree" },
+	{ "back2wakeup",       "Back to WakeUp, a Backpacker Tale" },
+	{ "martyquest",        "Back to the Future - Marty Quest: an adventure through time" },
+	{ "backup",            "Backup, an Interactive System Failure" },
+	{ "balances",          "Balances, An Interactive Short Story" },
+	{ "baldersdeath",      "Balder's Death" },
+	{ "ballerina102",      "Not Just an Ordinary Ballerina" },
+	{ "balt24",            "Baltimore:24, An Exercise in Interactive Fiction" },
+	{ "bathtub",           "There's a Snake in the Bathtub, a Test of Patience" },
+	{ "bazic",             "baZic version 0.1, Z-Machine BASIC implementation" },
+	{ "bear",              "A Bear's Night Out, an Interactive Children's Story" },
+	{ "bedlam",            "Bedlam, An Interactive Preview" },
+	{ "bedtime",           "Bed Time" },
+	{ "andrewplotkin",     "Being Andrew Plotkin" },
+	{ "beingsteve",        "Being Steve" },
+	{ "beneath",           "Beneath: a Transformation" },
+	{ "bibleretold",       "The Bible Retold: The Bread and the Fishes" },
+	{ "bicon",             "BiCon, an Interactive Infatuation" },
+	{ "biscuit",           "Biscuit, An Interactive Funeral" },
+	{ "bishoes",           "Buried In Shoes" },
+	{ "bj",                "Blow Job Drifter, An Interactive You Kno What" },
+	{ "blair",             "Tales From The College Presents A Breath Of Fresh Blair" },
+	{ "bluechairs",        "Blue Chairs" },
+	{ "blues",             "Tinseltown Blues: A quest for success in Hollyweird" },
+	{ "bofh",              "The Bastard Operator from Hell" },
+	{ "bomber",            "The Mad Bomber" },
+	{ "bookvol",           "Book and Volume" },
+	{ "booth",             "Pick up the Phone Booth and Die" },
+	{ "boothdye",          "Pick up the Phone Booth and Dye" },
+	{ "brainnightguest",   "Brain of the Night Guest" },
+	{ "brandx",            "BrandX" },
+	{ "breakin",           "Break-In, an Interactive Burglary" },
+	{ "bronze",            "Bronze, Inform 7 demonstration game" },
+	{ "bryantcollection",  "The Bryant Collection, an Interactive Anthology" },
+	{ "bse",               "BSE, An Interactive Epidemic" },
+	{ "building",          "Building" },
+	{ "nightbunnies",      "The Night of the Vampire Bunnies" },
+	{ "bureaucrocy",       "Bureaucrocy, a frustrating tale about paperwork" },
+	{ "burglar",           "Burglar! A Learning Experience" },
+	{ "burnsnightsupper",  "Burns Night Supper" },
+	{ "burnkoran",         "Burn The Koran and Die" },
+	{ "busted",            "Busted! A game of high cunning and low humor" },
+	{ "byzantine",         "Byzantine Perspective" },
+	{ "cabal",             "The Cabal: The Interactive Illuminati" },
+	{ "cacophony",         "Cacophony, an interactive stumbling" },
+	{ "calendar",          "Calendar, an Inform 7 abuse" },
+	{ "calmmutemoving",    "Calm, Mute, Moving" },
+	{ "calypso",           "Calypso" },
+	{ "candy",             "Candy, An Attempt at Reliving Childhood" },
+	{ "cars2",             "ASCII Cars!!! A game of racing with the imagination" },
+	{ "casting",           "Casting" },
+	{ "castleadventure",   "Castle Adventure!" },
+	{ "castleredprince",   "Castle of the Red Prince, an interactive land of darkness" },
+	{ "siliconcastles",    "Silicon Castles" },
+	{ "catcherintherye",   "Catcher in the Rye" },
+	{ "catseye2",          "Cat's Eye, Miniventure #2" },
+	{ "causality",         "Causality: The Search for Eternal Life" },
+	{ "caveadventure",     "Cave Adventure" },
+	{ "cavernofdoom",      "Zork: The Cavern of Doom" },
+	{ "cavernsofchaos",    "Caverns of Chaos" },
+	{ "cavetrip",          "The Spelunking Trip" },
+	{ "ccake",             "Arthur Yahtzee: The Curse of Hell's Cheesecake" },
+	{ "chaos",             "Chaos" },
+	{ "chaosgame",         "Chaos" },
+	{ "cheater",           "Cheater, An Annoying Adventure" },
+	{ "cheesedoff",        "Cheesed Off!" },
+	{ "cheeseshop",        "Cheeseshop" },
+	{ "cheshirecat",       "Save the Cheshire Cat!" },
+	{ "chico",             "Chico and I Ran" },
+	{ "childsplay",        "Child's Play, A child, a toy, and a rival" },
+	{ "chix",              "Chicks Dig Jerks" },
+	{ "cia",               "CIA Adventure" },
+	{ "claw",              "Wearing the Claw" },
+	{ "codenamesilver",    "Code Name Silver Steel" },
+	{ "cointoss",          "Coin toss" },
+	{ "coke",              "Coke Is It!" },
+	{ "coldiron",          "Cold Iron" },
+	{ "colonists",         "Colonists" },
+	{ "coloromc",          "Color of Milk Coffee" },
+	{ "comp96",            "Yearly IF competitions unofficial 'front-end' game" },
+	{ "conankill",         "Conan Kill Everything" },
+	{ "dreamcorruptor",    "Corrupter of Dreams" },
+	{ "cottage",           "Cottage" },
+	{ "cove",              "The Cove" },
+	{ "creepydemo",        "A Day in the Creepy Life of Bob Demo" },
+	{ "crimescene",        "A Crime Scene, a Short Story" },
+	{ "criticalbreach",    "Critical Breach, an Escape Story" },
+	{ "crobe",             "Crobe" },
+	{ "cryptographer",     "Cryptographer" },
+	{ "crystalpalace",     "The Crystal Palace" },
+	{ "csbb",              "Crystal and Stone Beetle and Bone" },
+	{ "ctdoom",            "Countdown to Doom" },
+	{ "curses",            "Curses, An Interactive Diversion" },
+	{ "curves",            "Dangerous Curves" },
+	{ "cycles",            "Vicious Cycles" },
+	{ "cyclops",           "The Land of the Cyclops" },
+	{ "dday",              "D-Day" },
+	{ "damnatiomemoriae",  "Damnatio Memoriae" },
+	{ "darkiss1",          "Darkiss! Wrath of the Vampire - Chapter 1: The Awakening" },
+	{ "dashslapney",       "Dash Slapney, Patrol Leader" },
+	{ "dayinlife",         "A Day in Life" },
+	{ "dd4",               "Dutch Dapper IV: The Final Voyage" },
+	{ "deadmansgrave",     "Dead Man's Grave: A Tell Don't Show Mystery" },
+	{ "deadmeat",          "Dead Meat in the Pit" },
+	{ "deadpavane",        "Dead Pavane for a Princess" },
+	{ "deadreckoning",     "Dead Reckoning" },
+	{ "deasville",         "Deadsville" },
+	{ "death",             "Death to my Enemies" },
+	{ "debate",            "Debate" },
+	{ "deephome",          "Deephome" },
+	{ "degeneracy",        "Degeneracy" },
+	{ "dejavu",            "Deja Vu" },
+	{ "deliciousbreakfast", "Delicious Breakfast" },
+	{ "delusions",         "Delusions" },
+	{ "detective",         "Detective" },
+	{ "detention",         "Detention, an attempt to escape from school" },
+	{ "devildoit",         "The Devil Made Me Do It" },
+	{ "devours",           "All Things Devours" },
+	{ "dewdrops",          "Within a Wreath of Dewdrops" },
+	{ "djinni",            "The Djinni Chronicles \"Undercurrents of Manipulation\"" },
+	{ "dogslife",          "It's a Dog's Life" },
+	{ "zunidoll",          "The Zuni Doll" },
+	{ "dontgo",            "Don't Go" },
+	{ "dontpeeyourself",   "Don't Pee Yourself!" },
+	{ "dotd",              "Dawn of the Demon" },
+	{ "downthematrix",     "Down The Matrix" },
+	{ "dpod",              "Dracula - Prince of Darkness" },
+	{ "dracula2",          "Dracula: Part 2, The Arrival" },
+	{ "dracula1",          "Dracula: Part 1, The First Night" },
+	{ "dragon",            "Dragon Adventure" },
+	{ "dragonflies",       "Dragon Flies Like Labradorite" },
+	{ "dragontroll",       "The Dragon and the Troll" },
+	{ "dremhold",          "The Dreamhold" },
+	{ "dreamtooreal",      "A Dream Too Real" },
+	{ "dual",              "Dual Transform" },
+	{ "dumont",            "Dr. Dumont's Wild P.A.R.T.I" },
+	{ "eas",               "Earth And Sky: Episode 1" },
+	{ "cliffedge",         "Edge of the Cliff" },
+	{ "edifice",           "The Edifice" },
+	{ "eyptianwalking",    "Egyptian Walking Simulator" },
+	{ "elephants",         "When I Was Shot By Elephants III" },
+	{ "eleven",            "Film at Eleven" },
+	{ "eliza",             "Eliza" },
+	{ "enemies",           "Enemies" },
+	{ "Enigma",            "Enimga" },
+	{ "enterprise",        "The Enterprise Incidents" },
+	{ "entropy",           "Entropy" },
+	{ "epyk",              "Eypk" },
+	{ "erden",             "Travels in the Land of Erden: In Quest of the Adventure" },
+	{ "eric",              "Eric The Power-Mad Dungeon Master" },
+	{ "escape",            "Escape!" },
+	{ "escaperemember",    "An Escape To Remember" },
+	{ "eurydice",          "Eurydice" },
+	{ "f209",              "Apartment 209" },
+	{ "fable",             "A Fable" },
+	{ "faculty",           "The Care and Feeding of Adjuncts" },
+	{ "failsafe",          "FailSafe" },
+	{ "farm",              "The Farmer's Daughter" },
+	{ "fff",               "Fox, Fowl and Feed" },
+	{ "figaro",            "Figaro" },
+	{ "figueres",          "Figueres in my Basement" },
+	{ "findesick",         "Fin de sickleburg" },
+	{ "findthebed",        "Find the Bed" },
+	{ "finetuned",         "Fine-Tuned" },
+	{ "fingertips",        "Fingertips: I Found a New Friend" },
+	{ "firstday",          "The First Day of My New Life" },
+	{ "fmvpoker",          "Frobozz Magic Video Poker" },
+	{ "forestdemo",        "Forest Demo" },
+	{ "fork",              "Fork: The Great Underground Dining Room" },
+	{ "hiddennazi",        "The Game Formerly Known as Hidden Nazi Mode" },
+	{ "forms",             "Of Forms Unknown" },
+	{ "fracture",          "Fractured Metamorphoses (Example Version)" },
+	{ "fragileshells",     "Fragile Shells" },
+	{ "frankie",           "Frankenstein Adventure" },
+	{ "freefall",          "Free Fall" },
+	{ "frobozzi",          "The Encyclopedia Frobozzica (Abridged Edition)" },
+	{ "frozen",            "Frozen: A Night at the Lab" },
+	{ "fyleet",            "Fyleet" },
+	{ "ga",                "Geocaching Adventure - GC3JJ9C - Cryptic Puzzle #6" },
+	{ "gamer",             "Gamer: Digital Limbo" },
+	{ "gamlet",            "Gamlet" },
+	{ "gardening",         "Gardening for Beginners" },
+	{ "gatoron",           "Gator-On, Friend to Wetlands!" },
+	{ "gaucho",            "Gaucho" },
+	{ "gd",                "Goodbye Doggy" },
+	{ "geb",               "Goose, Egg, Badger" },
+	{ "geist",             "Geist" },
+	{ "gerbilriot",        "Gerbil Riot" },
+	{ "ghost",             "The Ghost Train" },
+	{ "glass",             "Glass, a fractured fairy tale" },
+	{ "glik1",             "Glik part 1: Undead Menace" },
+	{ "gnuzoo",            "Gnu in the Zoo" },
+	{ "godot",             "Looking For Godot" },
+	{ "goldilocks",        "Goldilocks is a Fox!" },
+	{ "golf",              "Textfire Golf" },
+	{ "gostak",            "The Gostak" },
+	{ "gourmet",           "Gourmet" },
+	{ "gourmetgaffe",      "Gourmet Gaffe" },
+	{ "gowest",            "Go West" },
+	{ "greatxavio",        "The Great Xavio" },
+	{ "greenrain",         "A Green Rain" },
+	{ "growingup",         "Growing Up" },
+	{ "grue",              "GRUE" },
+	{ "guard",             "Guard Duty" },
+	{ "guess",             "Guess The Verb!" },
+	{ "guestreet",         "Life on Gue Street" },
+	{ "gumshoe",           "Gumshoe" },
+	{ "gussdeath",         "Guss's Death" },
+	{ "halloweve",         "Hallow Eve" },
+	{ "hamhouse",          "In the House of Professor Evil: The HAM HOUSE" },
+	{ "hamil",             "Hamil" },
+	{ "hangar22",          "Hangar 22" },
+	{ "happyeverafter",    "Happy Ever After" },
+	{ "crabhat",           "Oh No, Mr Crab Stole Your Hat!" },
+	{ "hauntedhouse",      "Haunted House" },
+	{ "hauntings",         "Hauntings" },
+	{ "heist",             "Heist: The Crime of the Century" },
+	{ "heliopause",        "Hoist Sail for the Heliopause and Home" },
+	{ "welcometohell",     "Welcome to Hell" },
+	{ "hellosword",        "Hello Sword - The journey" },
+	{ "hellsbasement",     "Hell's Basement" },
+	{ "helpcollides",      "When Help Collides: The Wreck of the H.M.S. Snark" },
+	{ "heroes",            "Heroes" },
+	{ "heroinesmantle",    "Heroine's Mantle" },
+	{ "hidepachyderm",     "Hide a pachyderm!" },
+	{ "hlainform",         "HLA Inform: A Classic Quest" },
+	{ "hobbittruestory",   "The Hobbit - The True Story" },
+	{ "robotempire",       "Holy Robot Empire" },
+	{ "home",              "Home" },
+	{ "homecoming",        "Homecoming" },
+	{ "hoosegow",          "Hoosegow, a Wild West Wreck" },
+	{ "housekey1",         "Housekey, Part I" },
+	{ "housedream",        "House of Dream of Moon" },
+	{ "humongouscave",     "Adventure in Humongous Cave" },
+	{ "humongouscavehints", "Humongous Cave Hints" },
+	{ "hummingbird",       "Flight of the Hummingbird" },
+	{ "hunterdark",        "Hunter, in Darkness" },
+	{ "hyperrpg",          "Hyper RPG Game!" },
+	{ "i0",                "I-0: the \"jailbait on the interstate\" game" },
+	{ "Ibo",               "Ibo" },
+	{ "iceweb",            "Iceweb" },
+	{ "identity",          "Identity" },
+	{ "ifwhispers5",       "IF Whispers 5" },
+	{ "ifaquarium",        "IF Aquarium" },
+	{ "ifquake",           "Text adventure interpretation of Id's classic FPS Level 1" },
+	{ "ill",               "I'll" },
+	{ "imiagination",      "Imiagination" },
+	{ "cubicle",           "In The Cubicle" },
+	{ "inamanor",          "In a Manor of Speaking" },
+	{ "inevita",           "Inevitable" },
+	{ "informatory",       "Informatory" },
+	{ "inhumane",          "Inhumane: An Infralogic Massacre" },
+	{ "insight",           "Insight" },
+	{ "intangible",        "Intangible" },
+	{ "ifplayer",          "Interactive Fiction Player" },
+	{ "interviewrockstar", "Interview with a Rock Star" },
+	{ "lionskin",          "In the Skin of a Lion Quest: Caravaggio's Journey" },
+	{ "intruder",          "Intruder - Interactive Fiction: A Burglary" },
+	{ "invisibleadv",      "The Believable Adventures of an Invisible Man" },
+	{ "pressedon",         "I pressed on, being chased by a stapler with my name on it" },
+	{ "iraqiinvasion",     "Iraqi Invasion: A Text Misadventure" },
+	{ "islandsfaraway",    "Islands Far Away" },
+	{ "beanstalker",       "The Bean Stalker" },
+	{ "jetblue",           "Jet-Blue" },
+	{ "jewelofknowledge",  "The Jewel of Knowledge" },
+	{ "jigsaw",            "Jigsaw, An Interactive History" },
+	{ "jigsawrules",       "Jigsaw: Rules and Footnotes" },
+	{ "juicehead",         "Juicehead, an interactive binge" },
+	{ "justanotherday",    "Just Another Day" },
+	{ "karn",              "Return to Karn" },
+	{ "keepingdido",       "Keeping Dido" },
+	{ "kidnapsea",         "Kidnapped - On the Sea" },
+	{ "kierkegaardsspider", "Kierkegaard's Spider" },
+	{ "kiiwii",            "Kii!Wii! A tiny friend to brighten your day" },
+	{ "killingthedoctor",  "Killing the Doctor" },
+	{ "kirby",             "The X-Child, Kevin Johnson Residence Hall Saga 2" },
+	{ "kitten",            "robotfindskitten" },
+	{ "kooku",             "Kook U" },
+	{ "lambs",             "Silence of the Lambs" },
+	{ "lambs2",            "Silence of the Lambs 2" },
+	{ "largemachine",      "Large Machine" },
+	{ "lash",              "Local Asynchronous Satellite Hookup" },
+	{ "ldodoom",           "Last Days of Doom" },
+	{ "leaptime",          "Leap Time" },
+	{ "lecture",           "Lecture Feature" },
+	{ "lex",               "LeX" },
+	{ "librariani7",       "Life of A Librarian (Inform 7 version)" },
+	{ "libraryfront",      "All Quiet on the Library Front" },
+	{ "lifeordeath",       "Life or Death" },
+	{ "blacklily",         "The Black Lily" },
+	{ "limp",              "Limp" },
+	{ "nemeanlion",        "The Nemean Lion: another anonymous joke game" },
+	{ "lists",             "Lists and Lists" },
+	{ "livejoseph",        "LiveJoseph" },
+	{ "llr3",              "A Little Like Rogue" },
+	{ "lmstvg",            "LMS The Video Game" },
+	{ "lookingtothesky",   "Looking to the Sky" },
+	{ "motherloose",       "Mother Loose" },
+	{ "lostspellmaker",    "The Lost Spellmaker" },
+	{ "lostpig",           "Lost Pig And Place Under Ground" },
+	{ "lostsheep",         "The Bible Retold: The Lost Sheep" },
+	{ "luicorp",           "The Ludicorp Mystery" },
+	{ "magictoyshop",      "The Magic Toyshop" },
+	{ "magicmuffin",       "Magic Muffin - The Desert" },
+	{ "mahadev",           "Mahadev: Painless Little Stupid Games #6" },
+	{ "makeitgood",        "Make it Good" },
+	{ "mansion",           "Mansion" },
+	{ "revenger",          "Revenger" },
+	{ "masquerade",        "Masquerade" },
+	{ "medusa",            "Medusa, NPC Conversations Example" },
+	{ "mercy",             "Mercy" },
+	{ "metamorphoses",     "Metamorphoses" },
+	{ "mhpquest",          "Quest for the Magic Healing Plant" },
+	{ "midpoints",         "Midpoints" },
+	{ "mimesis",           "Sins Against Mimesis" },
+	{ "mindelectric",      "The Mind Electric" },
+	{ "mines",             "Mines" },
+	{ "christminster",     "Christminster" },
+	{ "misdirection",      "The Act Of Misdirection" },
+	{ "missinggrandpa",    "Missing Grandpa: Lost in Time" },
+	{ "mobius",            "Mobius" },
+	{ "monstermaker",      "Monster Maker" },
+	{ "monzasphantom",     "Monza's Phantom" },
+	{ "moonshaped",        "Moon-Shaped" },
+	{ "moonglow",          "Moonglow, Miniventure #1" },
+	{ "moonwrecked",       "Moonwrecked" },
+	{ "more",              "More" },
+	{ "mortlakemanor",     "Mortlake Manor" },
+	{ "mountain",          "Mountain, an Interactive Expedition" },
+	{ "mousequest",        "Mouse Quest Chapter 1 - The Arrival of Winter" },
+	{ "mrp",               "The Story of Mr. P." },
+	{ "mst3k1",            "Detective, An Interactive MiSTing (Mystery Science Theater 3000)" },
+	{ "mst3k2",            "A Fable, interactive MiSTing-up of \"A Fable\"" },
+	{ "mulldoon",          "The Mulldoon Legacy" },
+	{ "mulldoonmurders",   "The Mulldoon Murders" },
+	{ "murdac",            "Murdac" },
+	{ "murdererleft",      "What The Murderer Had Left" },
+	{ "muse",              "Muse: An Autumn Romance" },
+	{ "musician",          "The Musician" },
+	{ "myangel",           "My Angel" },
+	{ "mylastduchess",     "My Last Duchess" },
+	{ "conceptisproven",   "My Little Project Concept is Proven" },
+	{ "oceantower",        "Love, Hate and the Mysterious Ocean Tower" },
+	{ "nameless",          "Endless, Nameless" },
+	{ "nautilisia",        "Nautilisia" },
+	{ "newday",            "A New Day" },
+	{ "nidus",             "Nidus" },
+	{ "nightcomputer",     "Night at the Computer Center" },
+	{ "nightchristmas",    "An Abbreviated Night Before Christmas" },
+	{ "nihilism",          "The Abyss" },
+	{ "ninepoints",        "Nine Points" },
+	{ "njag2",             "Not Just A Game" },
+	{ "noroom",            "No Room" },
+	{ "northnorth",        "The Northnorth Passage" },
+	{ "nudistsgonewild",   "Nudists Gone Wild" },
+	{ "adventurelobjan",   "Adventure (Lobjan translation)" },
+	{ "oad",               "Only After Dark" },
+	{ "odieus",            "Odieus's Quest for the Magic Flingshot (Beta)" },
+	{ "omniquest",         "Omniquest" },
+	{ "ogisoas",           "One Game in Search of a Story" },
+	{ "onegirl",           "One Girl" },
+	{ "onyourback",        "On Your Back" },
+	{ "orevore",           "Orevore Courier" },
+	{ "bloodless",         "Bloodless on the Orient Express" },
+	{ "orion",             "The Orion Agenda" },
+	{ "ottumwa",           "PDFA Ottumwa" },
+	{ "outofthepit",       "Out of the Pit" },
+	{ "paddlingmania",     "Total Paddling Mania" },
+	{ "paint",             "Paint and Corners" },
+	{ "palebluelight",     "Pale Blue Light" },
+	{ "paperchase",        "Paper Chase" },
+	{ "parallel",          "Parallel" },
+	{ "paranoia",          "Paranoia" },
+	{ "parc",              "Parc" },
+	{ "pathway",           "Pathway to Destruction" },
+	{ "peacock",           "Not Made With Hands" },
+	{ "pegasus",           "Pegasus" },
+	{ "pentari",           "Pentari" },
+	{ "pirilousmagic",     "Perilous Magic" },
+	{ "perrysworld",       "Perry's World" },
+	{ "phlegm",            "Phlegm" },
+	{ "photograph",        "Photograph, a Portrait of Reflection" },
+	{ "photopia",          "Photopia" },
+	{ "piece",             "Piece of Mind" },
+	{ "pigpancake",        "Pigpancake" },
+	{ "piracy2",           "Piracy 2.0" },
+	{ "piraterailroad",    "Pirate Railroad" },
+	{ "plsg",              "Painless Little Stupid Games" },
+	{ "praser5",           "Praser 5" },
+	{ "primer",            "Primer" },
+	{ "primrose",          "The Primrose Path" },
+	{ "iceprincess",       "The Ice Princess" },
+	{ "probing",           "Offensive Probing" },
+	{ "promoted",          "Promoted!" },
+	{ "puerto",            "The board game Puerto Rico" },
+	{ "punkpoints",        "Punk Points" },
+	{ "puppetman",         "The Puppet-Man (Larsoft Adventure number 5)" },
+	{ "putpbaa",           "Pick Up the Phone Booth and Aisle" },
+	{ "pytho",             "Pytho's Mask" },
+	{ "muffinquest",       "The Quest for the Magic Muffin" },
+	{ "muffinquest3",      "Quest for the Magic Bagel...Err Muffin 3" },
+	{ "simpletheft2",      "A Simple Theft 2: A Simple Theftier" },
+	{ "quidditch1954",     "The Quidditch Final of 1954" },
+	{ "ralph",             "Ralph, An Interactive Sniffing" },
+	{ "rameses",           "Rameses, a Tale of Heroes" },
+	{ "rans",              "RANS, an interworld progress" },
+	{ "rachaelbadday",     "Rachel has a bad day" },
+	{ "readinginmay",      "A Reading in May" },
+	{ "relief",            "The Hunt For Relief" },
+	{ "reorsbushcave",     "Reor's Bush-Cave (The Sprout Pouch pt 4)" },
+	{ "reser",             "Rock'Em Sock'Em Robots" },
+	{ "resident",          "The Resident" },
+	{ "retrofatale",       "Retro Fatale" },
+	{ "reverb",            "Reverberations" },
+	{ "reverzi",           "Reverzi" },
+	{ "ribbons",           "Ribbons" },
+	{ "risenecropolis",    "Rise of the Necropolis" },
+	{ "risorg",            "Risorgimento Represso" },
+	{ "robots",            "Robots - Another Abuse of the Z-Machine" },
+	{ "rogue",             "zRogue" },
+	{ "roomserial",        "Room Serial, an escape game" },
+	{ "rota",              "The Reliques of Tolti-Aph" },
+	{ "rpn",               "RPN" },
+	{ "rtdoom",            "Return to Doom" },
+	{ "samegame",          "SameGame, another episode in the Z-Machine abuse saga" },
+	{ "samhain",           "Samhain: Pick Up The Pumpkin and KILL" },
+	{ "sangraal",          "Sangraal" },
+	{ "santassleighride",  "Santa's Sleigh Ride" },
+	{ "saveprinceton",     "Save Princeton" },
+	{ "savoirfaire",       "Savoir-Faire" },
+	{ "scald",             "Scald" },
+	{ "informschool",      "Inform School" },
+	{ "schooldays",        "Schooldays" },
+	{ "scopa",             "Scopa, a graphical (Z-code V6) card game" },
+	{ "finalselection",    "Final Selection" },
+	{ "sfiction",          "Speculative Fiction: Beginner's Lessons" },
+	{ "shadowgate",        "Shadowgate" },
+	{ "sherlock1",         "Sherlock gamebook #1: Murder at the Diogenes Club" },
+	{ "sherlock2",         "Sherlock gamebook #2: The Black River Emerald" },
+	{ "sherlock3",         "Sherlock gamebook #3: Death at Appledore Towers" },
+	{ "sherlock4",         "Sherlock gamebook #4: The Crown vs Dr. Watson" },
+	{ "shade",             "Shade" },
+	{ "shadowofmemories",  "Shadow of Memories" },
+	{ "shadowsoldiers",    "Shadow Soldiers" },
+	{ "shallow",           "Shallow" },
+	{ "sherbet",           "The Meteor, the Stone and a Long Glass of Sherbet" },
+	{ "shrapnel",          "Shrapnel" },
+	{ "sixgrayrats",       "Six Gray Rats Crawl Up The Pillow" },
+	{ "slackerx",          "Slacker X" },
+	{ "sleepcycle",        "Sleep Cycle" },
+	{ "snafufun",          "SNAFUFUN" },
+	{ "snowquest",         "Snowquest" },
+	{ "neverplayed",       "So, You've Never Played a Text Adventure Before, Huh?" },
+	{ "sofar",             "So Far, An Interactive Catharsis" },
+	{ "softporn",          "Softporn Adventure" },
+	{ "solitary",          "Solitary" },
+	{ "somewhere",         "Somewhere" },
+	{ "soreality",         "So Reality" },
+	{ "spacestation",      "Space Station: based on Planetfall example transcript" },
+	{ "spaceinvaderz",     "Space InvaderZ" },
+	{ "spadventure",       "SpAdventure" },
+	{ "spiritwrak",        "SpiritWrak" },
+	{ "sporkery1",         "Sporkery 1: There Will Be Sporking" },
+	{ "spot",              "The Spot" },
+	{ "spring",            "She's Got a Thing For a Spring" },
+	{ "spycatcher",        "Spycatcher" },
+	{ "starborn",          "Starborn" },
+	{ "seeksorrow",        "Starry Seeksorrow" },
+	{ "stealingthestolen", "Stealing the Stolen" },
+	{ "stiffmst",          "Stiffy Makane: Mystery Science Theater 3000" },
+	{ "stinkorswim",       "Stink or Swim" },
+	{ "stonecave",         "The Stone Cave" },
+	{ "stormcellar",       "Storm Cellar" },
+	{ "strangeworld",      "Strange World" },
+	{ "sturdlint",         "Sturdlint (The Mempotnaclob): Painless Little Stupid Games #7" },
+	{ "suicide",           "Suicide, a self-ordered death sentence" },
+	{ "sunburn",           "Sunburn" },	
+	{ "sunburst",          "Sunburst: A C64 science fiction adventure game" },
+	{ "sundayafternoon",   "Sunday Afternoon" },
+	{ "briantimmons",      "The Surprising Case of Brian Timmons" },
+	{ "sushi",             "A Day For Fresh Sushi" },
+	{ "sutwin",            "The Space Under the Window" },
+	{ "suvehnux",          "Suveh Nux" },
+	{ "swineback",         "Swineback Ridge" },
+	{ "sycamoratree",      "Sycamora Tree" },
+	{ "taipan",            "Taipan!" },
+	{ "spiderandweb",      "Spider And Web" },
+	{ "tatctae",           "Time: All things come to an end" },
+	{ "tauntingdonut",     "Taunting Donut" },
+	{ "tblw",              "The Blood lust Warrior" },
+	{ "tcomremake",        "The Color of Magic remake" },
+	{ "tcoty",             "The Citizen of the Year" },
+	{ "teacherfeature",    "Teacher Feature" },
+	{ "williamtell",       "William Tell" },
+	{ "telling",           "Whom The Telling Changed" },
+	{ "temple",            "The Temple" },
+	{ "terrortabby",       "Attack of the Terror Tabby!" },
+	{ "tesseract",         "Beyond The Tesseract" },
+	{ "tgm",               "The Great Machine - a fragment" },
+	{ "thatdamnelevator",  "That Damn Elevator" },
+	{ "thatdamnremote",    "thatdamnremote" },
+	{ "cenricfamilycurse", "The Cenric Family Curse" },
+	{ "vergingpaths",      "The Garden of Verging Paths" },
+	{ "minimalistgame",    "The Minimalist Game" },
+	{ "talemorning",       "The Mundane Tale of the Morning After" },
+	{ "paperbagprincess",  "The Paper Bag Princess" },
+	{ "worldupsidedown",   "The World Turned Upside Down" },
+	{ "advhoudini",        "The Adventures of Houdini" },
+	{ "penury",            "The Algophilists' Penury" },
+	{ "theatre",           "Theatre" },
+	{ "dayishothitler",    "The Day I Shot..." },
+	{ "doghouse",          "The Dog/House" },
+	{ "emptyroom",         "The Empty Room" },
+	{ "forgottengirls",    "The Forgotten Girls" },
+	{ "henribeauchamp",    "The Gallery of Henri Beauchamp" },
+	{ "garliccage",        "The Garlic Cage, Episode I" },	
+	{ "grandquest",        "The Grand Quest" },
+	{ "thegreat",          "The Great, A Voyage To The Inner Self" },
+	{ "greatpancake",      "The Great Pancake Detectives - Case #27" },
+	{ "horriblepyramid",   "The Horrible Pyramid" },
+	{ "house",             "The House" },
+	{ "houseoffear",       "The House of Fear" },
+	{ "island",            "The Island" },
+	{ "kazooist",          "The Kazooist" },
+	{ "lastdarkday",       "The Last Dark Day: Painless Little Stupid Games #8" },
+	{ "priceoffreedom",    "The Price of Freedom" },
+	{ "prize",             "The Prize" },
+	{ "nascarexperience",  "The Realistic Nascar eXperience" },
+	{ "smallroom",         "Trapped in a Small Room" },
+	{ "spotlight",         "The Spotlight" },
+	{ "stargods",          "The Star Gods" },
+	{ "terribleoldmanse",  "The Terrible Old Manse: 8bit fun in 7bit ASCII" },
+	{ "townmusicians",     "The Town Musicians" },
+	{ "valleyhouse",       "The Valley House: Painless Little Stupid Games #10" },
+	{ "warblersnest",      "The Warbler's Nest" },
+	{ "thorn",             "The Thorn" },
+	{ "threecows",         "Three Cows and Two Doors" },
+	{ "threediopolis",     "Threediopolis" },
+	{ "threemore",         "Three More Visitors" },
+	{ "timefortea",        "Time For Tea: A Game of Tea, Cakes, and Deadly Secrets" },
+	{ "tirehoax",          "My Magic Tire Hoax" },
+	{ "tk1",               "Time Killer #1: Claustrophobia" },
+	{ "tkatc",             "The King and the Crown, Special Edition" },
+	{ "toask",             "Treasures of a Slaver's Kingdom" },
+	{ "tok",               "ToK" },
+	{ "downtowntokyo",     "Downtown Tokyo Present Day" },
+	{ "tower",             "Tower, a surreal trip" },
+	{ "toxinx",            "Toxin X" },
+	{ "trapped",           "Trapped" },
+	{ "troll",             "Zork: A Troll's Eye View" },
+	{ "trw",               "Tull Road Warrior" },
+	{ "trystoffate",       "Tryst of Fate" },
+	{ "tubetrouble",       "Tube Trouble" },
+	{ "tutorial",          "Tutorial" },
+	{ "tutorialhotel",     "Hotel Tutorial" },
+	{ "tuuli",             "Tuuli" },
+	{ "typo",              "Typo!" },
+	{ "uhohdemo",          "Uh-oh! (demo version)" },
+	{ "underdoos",         "The Underoos that ate New York!" },
+	{ "underthebed",       "Under the Bed" },
+	{ "ungodlyhour",       "Ungodly hour" },
+	{ "uninvited",         "Uninvited" },
+	{ "unicornpool",       "The Unicorn Pool" },
+	{ "vacation",          "Vacation Gone Awry" },
+	{ "vagueness",         "What Happens In Vagueness" },
+	{ "vampiresun",        "House of the Midnight Sun - A Vampire's Tale" },
+	{ "notinvenice",       "Not in Venice" },
+	{ "vespers",           "Vespers" },
+	{ "varicella",         "Varicella" },
+	{ "vigilance",         "Internal Vigilance" },
+	{ "vindaloo",          "Vindaloo" },
+	{ "violet",            "Violet" },
+	{ "virtuality",        "Virtuality" },
+	{ "lackofvision",      "Lack of Vision" },
+	{ "visitor",           "The Visitor" },
+	{ "vosr",              "Voices of Spoon River" },
+	{ "wadewar3",          "The WadeWars Book III" },
+	{ "walkamongus",       "Walk Among Us" },
+	{ "walkinthepark",     "A Walk in the Park" },
+	{ "wallpaper",         "Delightful Wallpaper" },
+	{ "warp",              "Warp!" },
+	{ "wizardscastle",     "Wizard's Castle" },
+	{ "weareunfinished",   "We Are Unfinished" },
+	{ "weapon",            "The Weapon" },
+	{ "weather",           "A Change in the Weather" },
+	{ "thewedding",        "The Wedding" },
+	{ "weding",            "Wedding" },
+	{ "weirdcity",         "Weird City Interloper" },
+	{ "weirdness",         "Weirdness: Strange, Different, and Altogether Weird" },
+	{ "wwwanderer",        "Werewolves and Wanderer" },
+	{ "wernersquest",      "Werner's Quest Parts 1-4" },
+	{ "whispers",          "The Corn Identity, an \"IF Whispers\" collaborative project" },
+	{ "whitehouses",       "White Houses" },
+	{ "wildflowers",       "Wildflowers" },
+	{ "windchester",       "Winchester's Nightmare" },		
+	{ "windhall",          "The Windhall Chronicles, Volume One" },
+	{ "winterwonderland",  "Winter Wonderland" },
+	{ "wir1",              "When in Rome 1: Accounting for Taste" },
+	{ "wir2",              "When in Rome 2: Far from Home" },
+	{ "wireless",          "Get Magazine. Open Magazine. Read Article" },
+	{ "insidewoman",       "Inside Woman" },
+	{ "wossname",          "Spodgeville Murphy and The Jewelled Eye of Wossname" },
+	{ "wrenlaw",           "Wrenlaw" },
+	{ "wscholars",         "Weishaupt Scholars" },
+	{ "wump2ka",           "Wumpus 2000, The Virulent Labyrinth Of Yob-Shuggoth" },
+	{ "wumpus",            "Hunt the Wumpus" },
+	{ "wurm",              "Wurm" },
+	{ "xenophobia",        "Xenophobia" },
+	{ "yagwad",            "YAGWAD: Yes, Another Game With A Dragon!" },
+	{ "yakshaving",        "Yak Shaving for Kicks and Giggles!" },
+	{ "yomomma",           "Raising the Flag on Mount Yo Momma" },
+	{ "stewgoing",         "You've Got A Stew Going!" },
+	{ "zlife",             "Z-Life" },
+	{ "zassball",          "ZassBall, Another Abuse of the Z-Machine" },
+	{ "zbefunge",          "ZBefunge 0.7 beta" },
+	{ "zcamel",            "Camel" },
+	{ "zcatalog",          "The Z-Files, a Z-Code Catalog" },
+	{ "zchess",            "Z-Chess" },
+	{ "zdungeon",          "ZDungeon" },
+	{ "zedfunge",          "ZedFunge 0.7.3 beta" },
+	{ "zedit",             "ZEdit, The World's Most Portable Text Editor" },
+	{ "zegro",             "Zegrothenus" },
+	{ "zenon",             "Escape from the Starship Zenon" },
+	{ "zenspeak",          "Zen Speaks!" },
+	{ "zokoban",           "Z-Machine Sokoban" },
+	{ "zombies",           "Zombies, yet another abuse of the Z-Machine" },
+	{ "zorklxix",          "Zork LXIX: The Great Underground Hot Dog" },
+	{ "zorkianstories1",   "Zorkian Stories 1: G.U.E" },
+	{ "zorknplus9",        "Zork N plus 9" },
+	{ "zracer",            "ZRacer" },
+	{ "zsnake",            "Z-Snake" },
+	{ "ztornado",          "Z-Tornado" },
+	{ "ztrek",             "Super Z Trek" },
+	{ "ztuu",              "Zork: The Undiscovered Underground" },
+	{ "zugzwang",          "Zugzwang: The Interactive Life of a Chess Piece" },
+
 	{ nullptr, nullptr }
 };
 
@@ -250,7 +935,10 @@ const FrotzGameDescription FROTZ_GAMES[] = {
 	ENTRY0("questprobe2", "980329", "6b9cb86c332c092b3a93973ba9f4c946", 27136),
 	ENTRY0("voodoocastle", "980329", "bff285e6c9291fc6ba77c9743b610c2d", 24064),
 
-
+	// English ZCode games 
+	ENTRY0("404life", "110524", "a4ee7ba2cb611e0ae3e413a6eb9dc4da", 506770),
+	ENTRY0("69105keys", "090302", "bc343936e0e9d79a3736b200eadfc6ee", 195162),
+		
 	FROTZ_TABLE_END_MARKER
 };
 





More information about the Scummvm-git-logs mailing list