aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/frotz/detection_tables.h
blob: 3fbaa13e49c2eb22ac2ab20b113c3a62056f6f00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
/* ScummVM - Graphic Adventure Engine
 *
 * ScummVM is the legal property of its developers, whose names
 * are too numerous to list here. Please refer to the COPYRIGHT
 * file distributed with this source distribution.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 *
 */

#include "engines/game.h"
#include "common/gui_options.h"
#include "common/language.h"

namespace Glk {
namespace Frotz {

/**
 * Game descriptor for ZCode games
 */
struct FrotzGameDescription {
	const char *const _gameId;
	const char *const _extra;
	const char *const _md5;
	size_t _filesize;
	Common::Language _language;
	const char *const _guiOptions;
};

const PlainGameDescriptor FROTZ_GAME_LIST[] = {
	{ "zcode", "Unknown Z-code game" },

	// Infocom games
	{ "amfv", "A Mind Forever Voyaging" },
	{ "arthur", "Arthur: The Quest for Excalibur" },
	{ "ballyhoo", "Ballyhoo" },
	{ "beyondzork", "Beyond Zork" },
	{ "borderzone", "Border Zone" },
	{ "bureaucracy", "Bureaucracy" },
	{ "cutthroats", "Cutthroats" },
	{ "deadline", "Deadline" },
	{ "enchanter", "Enchanter" },
	{ "hhgttg", "The Hitchhiker's Guide to the Galaxy" },
	{ "hollywoodhijinx", "Hollywood Hijinx" },
	{ "infidel", "Infidel" },
	{ "journey", "Journey" },
	{ "lgop", "Leather Goddesses of Phobos" },
	{ "lurkinghorror", "The Lurking Horror" },
	{ "minizork1", "Mini Zork I: The Great Underground Empire" },
	{ "moonmist", "Moonmist" },
	{ "nordbert", "Nord and Bert Couldn't Make Head or Tail of It" },
	{ "planetfall", "Planetfall" },
	{ "plunderedhearts", "Plundered Hearts" },
	{ "infocomsampler1", "Infocom Sampler 1" },
	{ "infocomsampler2", "Infocom Sampler 2" },
	{ "seastalker", "Seastalker" },
	{ "sherlockriddle", "Sherlock: The Riddle of the Crown Jewels" },
	{ "shogun", "James Clavell's Shogun" },
	{ "sorcerer", "Sorcerer" },
	{ "spellbreaker", "Spellbreaker" },
	{ "starcross", "Starcross" },
	{ "stationfall", "Stationfall" },
	{ "suspect", "Suspect" },
	{ "suspended", "Suspended" },
	{ "trinity", "Trinity" },
	{ "wishbringer", "Wishbringer" },
	{ "thewitness", "The Witness" },
	{ "zork0", "Zork Zero: The Revenge of Megaboz" },
	{ "zork1", "Zork I: The Great Underground Empire" },
	{ "zork2", "Zork II: The Wizard of Frobozz" },
	{ "zork3", "Zork III: The Dungeon Master" },
	{ "ztuu", "Zork: The Undiscovered Underground" },

	// Converted Scott Adams games
	{ "adventureland",     "Adventureland" },
	{ "pirateadventure",   "Pirate Adventure" },
	{ "missionimpossible", "Mission Impossible" },
	{ "voodoocastle",      "Voodoo Castle" },
	{ "thecount",          "The Count" },
	{ "strangeodyssey",    "Strange Odyssey" },
	{ "mysteryfunhouse",   "Mystery Fun House" },
	{ "pyramidofdoom",     "Pyramid Of Doom" },
	{ "ghosttown",         "Ghost Town" },
	{ "savageisland1",     "Savage Island, Part 1" },
	{ "savageisland2",     "Savage Island, Part 2" },
	{ "goldenvoyage",      "The Golden Voyage" },
	{ "adventure13",       "Adventure 13" },
	{ "adventure14",       "Adventure 14" },
	{ "buckaroobanzai",    "Buckaroo Banzai" },
	{ "marveladventure",   "Marvel Adventure #1" },
	{ "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 }
};

#define NONE GUIO4(GUIO_NOSPEECH, GUIO_NOSFX, GUIO_NOMUSIC, GUIO_NOSUBTITLES)
#define ENTRY0(ID, VERSION, MD5, FILESIZE) { ID, VERSION, MD5, FILESIZE, Common::EN_ANY, NONE }
#define ENTRY1(ID, VERSION, MD5, FILESIZE, LANG) { ID, VERSION, MD5, FILESIZE, LANG, NONE }
#define ENTRYS(ID, VERSION, MD5, FILESIZE) { ID, VERSION, MD5, FILESIZE, Common::EN_ANY, GUIO3(GUIO_NOSPEECH, GUIO_NOMUSIC, GUIO_NOSUBTITLES) }

#define FROTZ_TABLE_END_MARKER { nullptr, nullptr, nullptr, 0, Common::EN_ANY, "" }

const FrotzGameDescription FROTZ_GAMES[] = {
	// Infocom Games - English
	ENTRY0("amfv", "R77-850814", "b7ffaed0ca4a90450f92b34066133377", 262016),
	ENTRY0("amfv", "R79-851122", "1e37dbcf7ccc9244dbfc3229796362f4", 262544),
	ENTRY0("arthur", "R54-890606", "ced2c66d03a49de0e8190b468332f081", 271360),
	ENTRY0("arthur", "R74-890714", "13d13f375f85a874c82a8ac7ad69dc41", 269200),
	ENTRY0("ballyhoo", "R97-851218", "7944e832a7d7b34037c7b6791de43dbd", 128556),
	ENTRY0("beyondzork", "R49-870917", "a5547795def620d0a75a064f9a37ab2d", 261900),
	ENTRY0("beyondzork", "R51-870923", "73948f415596fa4d9afe442b2c19e61f", 261548),
	ENTRY0("beyondzork", "R57-871221", "c56cac07a500e5864a994b19286bc07c", 261388),
	ENTRY0("borderzone", "R9-871008", "189231ed0675f6be3be86856f49211af", 178372),
	ENTRY0("bureaucracy", "R86-870212", "2bb00311d4c201082cfcd278ae5db921", 243144),
	ENTRY0("bureaucracy", "R116-870602", "a8ae194257a989ed3d82648a507466f2", 243340),
	ENTRY0("cutthroats", "R23-840809", "059801d9f90fffeb3645816c37c7eda2", 112558),
	ENTRY0("deadline", "R22-820809", "1610e84ca2505885566e648c1c525976", 111782),
	ENTRY0("deadline", "R26-821108", "e1ae6af1098067b86076c34865ae713c", 108372),
	ENTRY0("deadline", "R27-831006", "166ffb7cabc6b85f210655f371c89c46", 108454),
	ENTRY0("enchanter", "R10-830810", "7b41d915b4c2e31423d99925e9438aa4", 109126),
	ENTRY0("enchanter", "R15-831107", "e70f21aad650dd196fa3601cab5e0fc5", 109230),
	ENTRY0("enchanter", "R16-831118", "46187e0691f6f5ecdd5a336885db6aad", 109234),
	ENTRY0("enchanter", "R29-860820", "f87cdafad3682ead25cfc473656ff713", 111126),
	ENTRY0("hhgttg", "R47-840914", "fdda8f4239819402c62db866bb61a648", 112622),
	ENTRY0("hhgttg", "R56-841221", "a214fcb42bc9f554d07d983a12f6a062", 113444),
	ENTRY0("hhgttg", "R58-851002", "e867d49ad1fb9406ff4e0678a4ee2ac9", 113332),
	ENTRY0("hhgttg", "R59-851108", "34f6abc1f2a42be127ef434fc475f0ee", 113334),
	ENTRY0("hhgttg", "R31-871119", "379022bcd4ec74b90274c6100c33f579", 158412),
	ENTRY0("hollywoodhijinx", "R37-861215", "7b52824057ae24e098c228c41460ef75", 109650),
	ENTRY0("infidel", "R22-830916", "38f713e53af720624434529ea780040c", 93556),
	ENTRY0("journey", "R30-890322", "c9893bc0399080bd3850d4db2120d110", 280472),
	ENTRY0("journey", "R77-890616", "8a4ab56f62e1b7c918b837794182dbcd", 282176),
	ENTRY0("journey", "R83-890706", "c33ea33ab8aec6c617734dcfe1211067", 282312),
	ENTRY0("lgop", "R0", "69b3534570851b90d7f53ebe9d224a6a", 128998),
	ENTRY0("lgop", "R4-880405", "6bdae7434df7c03f3589ece0bed3317d", 159928),
	ENTRY0("lgop", "R59-860730", "e81237e220a612c5a93fbcc1fdf85a0a", 129022),
	ENTRYS("lurkinghorror", "R203", "e2d2505510479fec0405727e3d0abc10", 128986),
	ENTRYS("lurkinghorror", "R219", "83936d75c2cfd71fb64bf63c4696b9ac", 129704),
	ENTRYS("lurkinghorror", "R221", "c60cd0bf3c6eda867241378c7cb5464a", 129944),
	ENTRY0("minizork1", "R34-871124", "0d7700679e5e63dec97f712698610a46", 52216),
	ENTRY0("moonmist", "R4-860918", "284797c3025ffaf76aecfa5c2bbffa86", 129002),
	ENTRY0("moonmist", "R9-861022", "698475de2769c66bc5a1eca600c71561", 128866),
	ENTRY0("nordbert", "R19-870722", "da1e189e19e3b24b2e35bd41fc32d261", 170284),
	ENTRY0("planetfall", "R20-830708", "15815c461a8548b7630d2aee46d07cc7", 107958),
	ENTRY0("planetfall", "R26-831014", "cf6ce61eb2eff9d4f18d7bcba7c12cfb", 108674),
	ENTRY0("planetfall", "R29-840118", "9facd8b974e658520fb762af4c4789dc", 109052),
	ENTRY0("planetfall", "R37-851003", "01844816673414c97d21dc003304989b",109398),
	ENTRY0("planetfall", "R10-880531", "34c69f1d24418fd4d2de195a1d7546c4", 136560),
	ENTRY0("plunderedhearts", "R26-870730", "fe5b9eb91949d41838166364f1753b10", 128962),
	ENTRY0("infocomsampler1", "R26-840731", "5483febc51abd55fb5e04c4c97a0b260", 112610),
	ENTRY0("infocomsampler1", "R53-850407", "47b8b8394e25faec870a798145529688", 126708),
	ENTRY0("infocomsampler1", "R55-850823", "05d9d1a1c3c73fce9e24ab695ece16c8", 126902),
	ENTRY0("infocomsampler2", "R97-870601", "201fa230a942df5aa75bb5b5f609e8ce", 125314),
	ENTRY0("seastalker", "R15-840501", "2f0220b0390deda695e01832a92b5493", 117738),
	ENTRY0("seastalker", "R15-840522", "050961fa7788c309bbf40accbff2ffdf", 117728),
	ENTRY0("seastalker", "R16-850515", "eb39dff7beb3589c8581dd2e3569eb78", 117752),
	ENTRY0("seastalker", "R16-850603", "bccf194b1e823e37db2431b586662773", 117762),
	ENTRY0("seastalker", "R86-840320", "64fb27e7b9fd682ff4f0d0ec6616a468", 116456),
	ENTRYS("sherlockriddle", "R21-871214", "69862f7f07a4e977159ea4da7f2f2ba6", 188444),
	ENTRYS("sherlockriddle", "R26-880127", "2cb2bda2e34eb7f9494cb585720e74cd", 190180),
	ENTRY0("shogun", "R322-890706", "62cca41feb94082442026f44f3e48e19", 344816),
	ENTRY0("sorcerer", "R4-840131", "d4a914fdfe90f5cd055a03b9aa24addd", 109734),
	ENTRY0("sorcerer", "R6-840508", "7ee357c10a9e049fe7c641a4817ee575", 109482),
	ENTRY0("sorcerer", "R13-851021", "7a076459806eaee72015b2b2882a89dc", 108692),
	ENTRY0("sorcerer", "R15-851108", "cde88a011d2ba183ff69b47b0d8881c6", 108682),
	ENTRY0("spellbreaker", "R63-850916", "b7b9eef231dee03fb40a9d98416fa0d5", 128480),
	ENTRY0("spellbreaker", "R87-860904", "852286847f4cdd790075fa824260ff4e", 128916),
	ENTRY0("starcross", "R15-820901", "fb2e6d9a0ad5822f3a8d4aec949e4e3c", 84984),
	ENTRY0("starcross", "R17-821021", "ed1e62e1f0eb9d819be45c076c5729f7", 83792),
	ENTRY0("stationfall", "R107-870430", "cfadfb66afabaa2971ec9b4ae65266ca", 128934),
	ENTRY0("suspect", "R14-841005", "3d759ccb19233f51968fa79d7374b393", 118692),
	ENTRY0("suspended", "v5-830222", "d898430e3cccdee9f9acfffcc9ef709c", 105418),
	ENTRY0("suspended", "R7-830419", "65f0cc760a2500d110242fbf942f1028", 105500),
	ENTRY0("suspended", "R8-830521", "b749d42462dfec21831b69635cd9c5e8", 105492),
	ENTRY0("suspended", "R8_2-840521", "6088ad7cb553626b52875a9b8e801312", 105584),
	ENTRY0("trinity", "R11-860509", "994ea591f8d401e11661c912b92ee05e", 262016),
	ENTRY0("trinity", "R12-860926", "5377dc1ee39f1c8ed572944f89946eb2", 262064),
	ENTRY0("wishbringer", "R23-880706", "bec823084c5622e88eca5a886278d2a5", 164712),
	ENTRY0("wishbringer", "R68-850501", "898b9b157ce8e54a0953366d6317fbd5", 128952),
	ENTRY0("wishbringer", "R69-850920", "e7c0412c4b3bda39de438a02cbae3816", 128904),
	ENTRY0("thewitness", "R13-830524", "d2297ddfe2c1b976c1b0c381ab01e2b3", 102608),
	ENTRY0("thewitness", "R18-830910", "a6e441b0b92a72537c830fed201267af", 103728),
	ENTRY0("thewitness", "R22-840924", "1019b9b1e1aa2c6eda945d7d92c2073a", 104664),
	ENTRY0("zork0", "R296-881019", "fca554c21542729c9d154c319af6307e", 295536),
	ENTRY0("zork0", "R366-demo-890323", "b58c35dc2ba36d48fade99564922c7c3", 296376),
	ENTRY0("zork0", "R366-890323", "e787b2cad2d6f29fd812e737f75646e8", 296376),
	ENTRY0("zork0", "R383-890602", "32e3e7ec438dabe77df2351af6ece324", 299392),
	ENTRY0("zork0", "R393-890714", "29fb0e090bbff7bc8e9661e55da69ae7", 299968),
	ENTRY0("zork1", "R15-UG3AU5", "fa2d22304700898cb8de921f46ca4bc9", 78566),
	ENTRY0("zork1", "R20", "b222bed4a0ab2650135cba7f4b1b1c67", 75734),
	ENTRY0("zork1", "R23-820428", "6ad3d9ab2874beefcbc53630e9261118", 75780),
	ENTRY0("zork1", "R25-820515", "287a1ce17f458fb2e776499a13796719", 75808),
	ENTRY0("zork1", "R26-820803", "285f1d7c5deb1a2f23825f63823d0777", 75964),
	ENTRY0("zork1", "R28-821013", "83bb70d73f3b4b5c4a32d8588b2d0707", 76018),
	ENTRY0("zork1", "R30-830330", "d6d8b3ae49a683a6fce2383a8bab36a5", 76324),
	ENTRY0("zork1", "R5", "dd5ba502b30189d03abfcfb9817dffe0", 82836),
	ENTRY0("zork1", "R52-871125", "e56267fd041c71fc229f7deb6b6537c2", 105264),
	ENTRY0("zork1", "R75-830929", "b35bca8dd18f6312c7e54dcd7958d7e5", 84868),
	ENTRY0("zork1", "R76-840509", "50ebf3c0c959ac2571c23cb7f7907c70", 84874),
	ENTRY0("zork1", "R88-840726", "d708b6751126f3b2b7612c760f080d41", 84876),
	ENTRY0("zork2", "R15-820308", "4b6ecc8e40243ddbd4cc19ef82304c3b", 82110),
	ENTRY0("zork2", "R17-820427", "386f2cd937e0ca316695d6ddca521c78", 82368),
	ENTRY0("zork2", "R18-820512", "a019dd721134b57f5926ee2adf634b55", 82422),
	ENTRY0("zork2", "R18_2-820517", "6cafa0e5239a74aa120bb8e2c33441be", 82422),
	ENTRY0("zork2", "R19-820721", "a5236020509af26b47c737e51ce884aa", 82586),
	ENTRY0("zork2", "R22-830331", "600264d62720731283454592261ec3fe", 82920),
	ENTRY0("zork2", "R23-830411", "6c2e766b553c127bb07f7a0f8fe03ae2", 81876),
	ENTRY0("zork2", "R48-840904", "a5064c9c3ce0bc02f16e01d745f39b67", 89912),
	ENTRY0("zork2", "R7-UG3AU5", "8243ce12e7b3ce24b150f34cc2cb472c", 85260),
	ENTRY0("zork3", "R10-820818", "ba4897f4d82ba08906295dd3aebf501a", 82334),
	ENTRY0("zork3", "R15-830331", "2fb29e6f5eebb643f42714ca9086e145", 82558),
	ENTRY0("zork3", "R15_2-840518", "672b54d8f457bd3be32e41fc9e069d71", 82642),
	ENTRY0("zork3", "R16-830410", "4717f8ec2f08da7d438c05f1351d28bd", 81626),
	ENTRY0("zork3", "R17-840727", "c5dc520f469771c59d193558d405341d", 82714),
	ENTRY0("ztuu", "ztuu-970828", "3a55991be19943a13da58a91cd3615eb", 102524),

	// Infocom Games - Foreign
	ENTRY1("zork1", "R3-880113", "9f336c92c1fd392fc7e81288e5c9b6ab", 116216, Common::DE_DEU),

	// Converted Scott Adams games
	ENTRY0("adventureland", "941017", "cde66d37efaff46f18e67b0f39e4d0cd", 43008),
	ENTRY0("scottsampler", "980329", "86c473c81e86637105108afa943c3ced", 23040),
	ENTRY0("buckaroobanzai", "980329", "cdbf748cdcee3cade378cf62cfe01d43", 24064),
	ENTRY0("thecount", "980329", "a0060ef9c9fa5cc3d3dbbc060f6451c2", 25088),
	ENTRY0("mysteryfunhouse", "980329", "4b78c1883356db8184b351c5a269fdce", 24064),
	ENTRY0("ghosttown", "980329", "0240f4119bb9b8e8197f37049c9b4f82", 25600),
	ENTRY0("goldenvoyage", "980329", "d986f2ac673abdce741c90e8b9fc3acf", 26112),
	ENTRY0("marveladventure", "HULK-980329", "964dfa22fcd54d2674123951af79136b", 25600),
	ENTRY0("strangeodyssey", "980329", "8216fc5ca7ed593d6a9c4265064d83a4", 24576),
	ENTRY0("pirateadventure", "980329", "0c3d27eaa6563835bfb1aadd309e7a00", 24064),
	ENTRY0("pyramidofdoom", "980329", "a6fc7fd81b7330bc254afbac17b29058", 26112),
	ENTRY0("adventure14", "980329", "56e5d7c33d5403ed59a62f67744f4d02", 26624),
	ENTRY0("savageisland1", "980329", "6f6cf307a97becb32524fe66a910587e", 24576),
	ENTRY0("savageisland2", "980329", "a43ab1063e6a8d4849ad3b69f1e4cacb", 25600),
	ENTRY0("missionimpossible", "980329", "9c759b65e43e2d9d6aa02122248040ae", 24064),
	ENTRY0("adventure13", "980329", "54cc89bbead7dac21455b9c00f32f604", 25088),
	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
};

} // End of namespace Frotz
} // End of namespace Glk