ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
detection_tables.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef SCUMM_DETECTION_TABLES_H
23 #define SCUMM_DETECTION_TABLES_H
24 
25 #include "engines/obsolete.h"
26 #include "common/gui_options.h"
27 #include "common/rect.h"
28 #include "common/util.h"
29 
30 #include "audio/mididrv.h"
31 #include "scumm/detection.h"
32 
33 #include "scumm/scumm-md5.h"
34 
35 #include "scumm/obsolete.h"
36 
37 namespace Scumm {
38 
39 #pragma mark -
40 #pragma mark --- Tables ---
41 #pragma mark -
42 
47 static const char *const directoryGlobs[] = {
48  "rooms *", // Mac version of indy3/loom
49  "Contents", // Mac Steam versions
50  "MacOS", // Mac Steam versions
51  "Resources", // Mac SE/Remastered versions
52  0
53 };
54 
55 
60 static const PlainGameDescriptor gameDescriptions[] = {
61  { "atlantis", "Indiana Jones and the Fate of Atlantis" },
62  { "indy3", "Indiana Jones and the Last Crusade" },
63  { "loom", "Loom" },
64  { "maniac", "Maniac Mansion" },
65  { "monkey", "The Secret of Monkey Island" },
66  { "monkey2", "Monkey Island 2: LeChuck's Revenge" },
67  { "pass", "Passport to Adventure" },
68  { "samnmax", "Sam & Max Hit the Road" },
69  { "tentacle", "Day of the Tentacle" },
70  { "zak", "Zak McKracken and the Alien Mindbenders" },
71  { "indyloom", "Indiana Jones and the Last Crusade & Loom" },
72  { "indyzak", "Indiana Jones and the Last Crusade & Zak McKracken" },
73  { "zakloom", "Zak McKracken & Loom" },
74  { "ft", "Full Throttle" },
75  { "dig", "The Dig" },
76  { "comi", "The Curse of Monkey Island" },
77 
78  { "activity", "Putt-Putt & Fatty Bear's Activity Pack" },
79  { "brstorm", "Bear Stormin'" },
80  { "fbear", "Fatty Bear's Birthday Surprise" },
81  { "fbpack", "Fatty Bear's Fun Pack" },
82  { "funpack", "Putt-Putt's Fun Pack" },
83  { "puttmoon", "Putt-Putt Goes to the Moon" },
84  { "puttputt", "Putt-Putt Joins the Parade" },
85  { "arttime", "Blue's Art Time Activities" },
86  { "baseball2001", "Backyard Baseball 2001" },
87  { "Baseball2003", "Backyard Baseball 2003" },
88  { "basketball", "Backyard Basketball" },
89  { "football2002", "Backyard Football 2002" },
90  { "freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cove" },
91  { "moonbase", "Moonbase Commander" },
92  { "pjgames", "Pajama Sam: Games to Play on Any Day" },
93  { "readtime", "Blue's Reading Time Activities" },
94  { "Soccer2004", "Backyard Soccer 2004" },
95  { "SoccerMLS", "Backyard Soccer MLS Edition" },
96  { "spyozon", "SPY Fox 3: Operation Ozone" },
97  { "airport", "Let's Explore the Airport with Buzzy" },
98  { "balloon", "Putt-Putt and Pep's Balloon-O-Rama" },
99  { "baseball", "Backyard Baseball" },
100  { "Blues123Time", "Blue's 123 Time Activities" },
101  { "BluesABCTime", "Blue's ABC Time Activities" },
102  { "BluesBirthday", "Blue's Birthday Adventure" },
103  { "BluesTreasureHunt", "Blue's Treasure Hunt" },
104  { "catalog", "Humongous Interactive Catalog" },
105  { "chase", "SPY Fox in Cheese Chase" },
106  { "dog", "Putt-Putt and Pep's Dog on a Stick" },
107  { "farm", "Let's Explore the Farm with Buzzy" },
108  { "football", "Backyard Football" },
109  { "freddi", "Freddi Fish 1: The Case of the Missing Kelp Seeds" },
110  { "freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse" },
111  { "freddi3", "Freddi Fish 3: The Case of the Stolen Conch Shell" },
112  { "freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch" },
113  { "FreddisFunShop", "Freddi Fish's One-Stop Fun Shop" },
114  { "jungle", "Let's Explore the Jungle with Buzzy" },
115  { "lost", "Pajama Sam's Lost & Found" },
116  { "maze", "Freddi Fish and Luther's Maze Madness" },
117  { "mustard", "SPY Fox in Hold the Mustard" },
118  { "pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside" },
119  { "pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening" },
120  { "pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet" },
121  { "puttcircus", "Putt-Putt Joins the Circus" },
122  { "puttrace", "Putt-Putt Enters the Race" },
123  { "PuttsFunShop", "Putt-Putt's One-Stop Fun Shop" },
124  { "putttime", "Putt-Putt Travels Through Time" },
125  { "puttzoo", "Putt-Putt Saves the Zoo" },
126  { "SamsFunShop", "Pajama Sam's One-Stop Fun Shop" },
127  { "soccer", "Backyard Soccer" },
128  { "socks", "Pajama Sam's Sock Works" },
129  { "spyfox", "SPY Fox 1: Dry Cereal" },
130  { "spyfox2", "SPY Fox 2: Some Assembly Required" },
131  { "thinker1", "Big Thinkers First Grade" },
132  { "thinkerk", "Big Thinkers Kindergarten" },
133  { "water", "Freddi Fish and Luther's Water Worries" },
134  { 0, 0 }
135 };
136 
137 // The following table contains information about variants of our various
138 // games. We index into it with help of md5table (from scumm-md5.h), to find
139 // the correct GameSettings for a given game variant.
140 //
141 // The first listed variant is assumed to be the 'default' variant -- i.e. the
142 // variant that gets used when no explicit variant code has been specified.
143 //
144 // Note #1: Only set 'platform' to a value different from UNK if that game
145 // variant really *only* exists for that given platform. In all other cases,
146 // the correct platform will be determined via the MD5 table or derived from
147 // the filename.
148 //
149 // Note #2: Make sure that all variants for a given gameid are in sequence with
150 // no gaps. Some code may rely on this and stop searching the table early as
151 // soon as the gameid changes.
152 //
153 // Note #3: Use 0 (zero) for the variant field *if and only if* the game has
154 // only a single unique variant. This is used to help the detector quickly
155 // decide whether it has to worry about distinguishing multiple variants or not.
156 static const GameSettings gameVariantsTable[] = {
157  {"maniac", "Apple II", 0, GID_MANIAC, 0, 0, MDT_APPLEIIGS, 0, Common::kPlatformApple2GS, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI, GAMEOPTION_ENHANCEMENTS)},
158  {"maniac", "C64", 0, GID_MANIAC, 0, 0, MDT_C64, 0, Common::kPlatformC64, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI) },
159  {"maniac", "C64 Demo", 0, GID_MANIAC, 0, 0, MDT_C64, GF_DEMO, Common::kPlatformC64, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI) },
160  {"maniac", "V1", "v1", GID_MANIAC, 1, 0, MDT_PCSPK | MDT_PCJR, 0, Common::kPlatformDOS, GUIO10(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGABW, GUIO_RENDERCGACOMP, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
161  {"maniac", "V1 Demo", "v1", GID_MANIAC, 1, 0, MDT_PCSPK | MDT_PCJR, GF_DEMO, Common::kPlatformDOS, GUIO8(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGABW, GUIO_RENDERCGACOMP, GUIO_RENDERCGA, GAMEOPTION_ORIGINALGUI)},
162  {"maniac", "NES", 0, GID_MANIAC, 1, 0, MDT_NONE, 0, Common::kPlatformNES, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
163  {"maniac", "V2", "v2", GID_MANIAC, 2, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO9(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
164  {"maniac", "V2 Demo", "v2", GID_MANIAC, 2, 0, MDT_PCSPK | MDT_PCJR, GF_DEMO, Common::kPlatformDOS, GUIO7(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI)},
165  {"maniac", "Remastered", 0, GID_MANIAC, 2, 0, MDT_PCSPK | MDT_PCJR, GF_DOUBLEFINE_PAK, Common::kPlatformDOS, GUIO9(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
166 
167  {"zak", "V1", "v1", GID_ZAK, 1, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO9(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGABW, GUIO_RENDERCGACOMP, GUIO_RENDERCGA, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
168  {"zak", "V2", "v2", GID_ZAK, 2, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO8(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
169  {"zak", "FM-TOWNS", 0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
170  {"zakloom", "FM-TOWNS", 0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ORIGINALGUI)},
171  {"indyloom", "FM-TOWNS", 0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ORIGINALGUI)},
172  {"indyzak", "FM-TOWNS", 0, GID_ZAK, 3, 0, MDT_TOWNS, GF_OLD256 | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ORIGINALGUI)},
173 
174  {"indy3", "EGA", "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
175  {"indy3", "Mac", "ega", GID_INDY3, 3, 0, MDT_MACINTOSH, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERMACINTOSHBW, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GUIO_NOASPECT)},
176  {"indy3", "No AdLib", "ega", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERCGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
177  {"indy3", "VGA", "vga", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS, Common::kPlatformDOS, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
178  {"indy3", "Steam", "steam", GID_INDY3, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_OLD256 | GF_FEW_LOCALS, UNK, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
179  {"indy3", "FM-TOWNS", 0, GID_INDY3, 3, 0, MDT_TOWNS, GF_OLD256 | GF_FEW_LOCALS | GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
180 
181  {"loom", "EGA", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
182  {"loom", "Mac", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_RENDERMACINTOSHBW, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GUIO_NOASPECT)},
183  {"loom", "No AdLib", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS, 0, UNK, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
184  {"loom", "PC-Engine", 0, GID_LOOM, 3, 0, MDT_NONE, GF_AUDIOTRACKS | GF_OLD256 | GF_16BIT_COLOR, Common::kPlatformPCEngine, GUIO3(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS)},
185  {"loom", "FM-TOWNS", 0, GID_LOOM, 3, 0, MDT_TOWNS, GF_AUDIOTRACKS | GF_OLD256, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GUIO_NOASPECT, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
186  {"loom", "VGA", "vga", GID_LOOM, 4, 0, MDT_NONE, GF_AUDIOTRACKS, Common::kPlatformDOS, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
187  {"loom", "Steam", "steam", GID_LOOM, 4, 0, MDT_NONE, GF_AUDIOTRACKS, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
188  {"loom", "Demo", "ega", GID_LOOM, 3, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO4(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI)},
189 
190  {"pass", 0, 0, GID_PASS, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_16COLOR, Common::kPlatformDOS, GUIO5(GUIO_NOSPEECH, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI)},
191 
192  {"monkey", "VGA", "vga", GID_MONKEY_VGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
193  {"monkey", "VGA Demo", "vga", GID_MONKEY_VGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO3(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ORIGINALGUI)},
194  {"monkey", "EGA", "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_16COLOR, Common::kPlatformDOS, GUIO7(GUIO_NOSPEECH, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
195  {"monkey", "No AdLib", "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR, GF_16COLOR, Common::kPlatformAtariST, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
196  {"monkey", "Demo", "ega", GID_MONKEY_EGA, 4, 0, MDT_PCSPK | MDT_PCJR | MDT_CMS | MDT_ADLIB, GF_16COLOR | GF_DEMO, Common::kPlatformDOS, GUIO7(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDERHERCGREEN, GUIO_RENDERHERCAMBER, GUIO_RENDERCGA, GUIO_RENDERAMIGA, GAMEOPTION_ORIGINALGUI)},
197  {"monkey", "CD", 0, GID_MONKEY, 5, 0, MDT_ADLIB, GF_AUDIOTRACKS, UNK, GUIO5(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
198  {"monkey", "SE", 0, GID_MONKEY, 5, 0, MDT_ADLIB, GF_AUDIOTRACKS | GF_DOUBLEFINE_PAK, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_USE_REMASTERED_AUDIO)},
199  {"monkey", "Mac", 0, GID_MONKEY, 5, 0, MDT_MACINTOSH, 0, UNK, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION, GUIO_NOASPECT)},
200  {"monkey", "FM-TOWNS", 0, GID_MONKEY, 5, 0, MDT_TOWNS, GF_AUDIOTRACKS, Common::kPlatformFMTowns, GUIO6(GUIO_NOSPEECH, GUIO_NOMIDI, GUIO_MIDITOWNS, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
201  {"monkey", "SEGA", 0, GID_MONKEY, 5, 0, MDT_NONE, GF_AUDIOTRACKS, Common::kPlatformSegaCD, GUIO4(GUIO_NOSPEECH, GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
202  {"monkey", "SE Talkie", 0, GID_MONKEY, 5, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_AUDIOTRACKS | GF_ULTIMATE_TALKIE, UNK, GUIO2(GUIO_RENDEREGA, GAMEOPTION_ORIGINALGUI)},
203  {"monkey2", "", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
204  {"monkey2", "SE", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DOUBLEFINE_PAK, UNK, GUIO6(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION, GAMEOPTION_USE_REMASTERED_AUDIO)},
205  {"monkey2", "Demo", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_DEMO, UNK, GUIO2(GUIO_NOSPEECH, GAMEOPTION_ENHANCEMENTS)},
206  {"monkey2", "Amiga", 0, GID_MONKEY2, 5, 0, MDT_AMIGA, 0, Common::kPlatformAmiga, GUIO5(GUIO_NOSPEECH, GUIO_MIDIAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
207  {"monkey2", "Mac", 0, GID_MONKEY2, 5, 0, MDT_MACINTOSH, 0, UNK, GUIO5(GUIO_NOSPEECH, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION, GUIO_NOASPECT)},
208  {"monkey2", "FM-TOWNS", 0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_TOWNS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, Common::kPlatformFMTowns, GUIO7(GUIO_NOSPEECH, GUIO_MIDITOWNS, GUIO_MIDIADLIB, GUIO_MIDIMT32, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
209  {"monkey2", "SE Talkie",0, GID_MONKEY2, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, GF_ULTIMATE_TALKIE, UNK, GUIO2(GUIO_RENDEREGA, GAMEOPTION_ORIGINALGUI)},
210  {"atlantis", "", 0, GID_INDY4, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO3(GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
211  {"atlantis", "Steam", "steam", GID_INDY4, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO3(GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
212  {"atlantis", "Floppy", 0, GID_INDY4, 5, 0, MDT_PCSPK | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, UNK, GUIO5(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
213  {"atlantis", "Amiga", 0, GID_INDY4, 5, 0, MDT_AMIGA, 0, Common::kPlatformAmiga, GUIO5(GUIO_NOSPEECH, GUIO_MIDIAMIGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION)},
214  {"atlantis", "Mac", 0, GID_INDY4, 5, 0, 0, 0, UNK, GUIO3(GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GUIO_NOASPECT)},
215  {"atlantis", "Mac Floppy", 0, GID_INDY4, 5, 0, 0, 0, UNK, GUIO5(GUIO_NOSPEECH, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_COPY_PROTECTION, GUIO_NOASPECT)},
216  {"atlantis", "FM-TOWNS", 0, GID_INDY4, 5, 0, MDT_TOWNS | MDT_ADLIB | MDT_MIDI | MDT_PREFER_MT32, 0, Common::kPlatformFMTowns, GUIO6(GUIO_MIDITOWNS, GUIO_MIDIADLIB, GUIO_MIDIMT32, GAMEOPTION_TRIM_FMTOWNS_TO_200_PIXELS, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
217 
218  {"tentacle", "", 0, GID_TENTACLE, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO3(GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
219  {"tentacle", "Remastered", 0, GID_TENTACLE, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY | GF_DOUBLEFINE_PAK, UNK, GUIO4(GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_USE_REMASTERED_AUDIO)},
220  {"tentacle", "Floppy", 0, GID_TENTACLE, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO4(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
221 
222  {"samnmax", "", 0, GID_SAMNMAX, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO3(GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
223  {"samnmax", "Floppy", 0, GID_SAMNMAX, 6, 0, MDT_ADLIB | MDT_MIDI | MDT_PREFER_GM, GF_USE_KEY, UNK, GUIO4(GUIO_NOSPEECH, GUIO_RENDEREGA, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI)},
224 
225  {"ft", "", 0, GID_FT, 7, 0, MDT_NONE, 0, UNK, GUIO4(GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
226  {"ft", "Remastered", 0, GID_FT, 7, 0, MDT_NONE, GF_DOUBLEFINE_PAK, UNK, GUIO4(GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
227  {"ft", "Demo", 0, GID_FT, 7, 0, MDT_NONE, GF_DEMO, UNK, GUIO3(GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
228 
229  {"dig", "", 0, GID_DIG, 7, 0, MDT_NONE, 0, UNK, GUIO4(GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
230  {"dig", "Demo", 0, GID_DIG, 7, 0, MDT_NONE, GF_DEMO, UNK, GUIO3(GUIO_NOMIDI, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
231  {"dig", "Steam", "steam", GID_DIG, 7, 0, MDT_NONE, 0, UNK, GUIO4(GUIO_NOMIDI, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
232 
233  {"comi", "", 0, GID_CMI, 8, 0, MDT_NONE, 0, Common::kPlatformWindows, GUIO5(GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
234  {"comi", "Demo", 0, GID_CMI, 8, 0, MDT_NONE, GF_DEMO, Common::kPlatformWindows, GUIO5(GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_ENHANCEMENTS, GAMEOPTION_ORIGINALGUI, GAMEOPTION_LOWLATENCYAUDIO)},
235 
236  // Humongous Entertainment Scumm Version 6
237  {"activity", "", 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
238  {"funpack", 0, 0, GID_FUNPACK, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
239  {"fbpack", 0, 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
240 
241  {"brstorm", 0, 0, GID_FBEAR, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
242  {"fbear", "HE 62", 0, GID_FBEAR, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
243  {"fbear", "HE 70", 0, GID_FBEAR, 6, 70, MDT_NONE, GF_USE_KEY, Common::kPlatformWindows, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GAMEOPTION_AUDIO_OVERRIDE)},
244 
245  {"puttmoon", "", 0, GID_PUTTMOON, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
246  {"puttmoon", "Demo", 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
247  {"puttmoon", "HE 70", 0, GID_PUTTMOON, 6, 70, MDT_NONE, GF_USE_KEY, Common::kPlatformWindows, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GAMEOPTION_AUDIO_OVERRIDE)},
248 
249  {"puttputt", "HE 60", 0, GID_HEGAME, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
250  {"puttputt", "HE 61", 0, GID_HEGAME, 6, 61, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
251  {"puttputt", "HE 62", 0, GID_HEGAME, 6, 62, MDT_ADLIB | MDT_MIDI, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
252  {"puttputt", "Demo", 0, GID_PUTTDEMO, 6, 60, MDT_ADLIB | MDT_MIDI, GF_USE_KEY, UNK, GUIO2(GUIO_NOLAUNCHLOAD, GAMEOPTION_AUDIO_OVERRIDE)},
253 
254  // The following are meant to be generic HE game variants and as such do
255  // not specify a game ID. Make sure that these are last in the table, else
256  // they'll override more specific entries that follow later on.
257  {"", "HE 70", 0, GID_HEGAME, 6, 70, MDT_NONE, GF_USE_KEY, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GAMEOPTION_AUDIO_OVERRIDE)},
258 
259  // HE CUP demos
260  {"", "HE CUP", 0, GID_HECUP, 6, 200, MDT_NONE, 0, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOSPEECH)},
261 
262  // Humongous Entertainment Scumm Version 7.1
263  // The first version to use 640x480 resolution and wizImages
264  // There are also 7.1 versions of freddemo, airdemo and farmdemo
265  {"catalog", "", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
266  {"farm", "", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
267  {"freddi", "", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
268  {"freddi", "HE 71", 0, GID_FREDDI, 6, 71, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
269  {"freddi", "HE 73", 0, GID_FREDDI, 6, 73, MDT_NONE, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
270 
271  // Humongous Entertainment Scumm Version 7.2
272  {"airport", "", 0, GID_HEGAME, 6, 72, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
273 
274  // Changed o_getResourceSize to cover all resource types
275  {"puttzoo", "", 0, GID_PUTTZOO, 6, 73, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
276  {"puttzoo", "HE 72", 0, GID_PUTTZOO, 6, 72, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
277  {"puttzoo", "HE 98.5", 0, GID_PUTTZOO, 6, 98, MDT_NONE, GF_USE_KEY | GF_HE_985, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
278  {"puttzoo", "HE 99", 0, GID_PUTTZOO, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
279  {"puttzoo", "HE 100", 0, GID_PUTTZOO, 6, 100, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
280 
281  // Added VAR_PLATFORM variable
282  {"jungle", "", 0, GID_HEGAME, 6, 74, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
283 
284  // Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
285  {"freddi2", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
286  {"pajama", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
287 
288  {"balloon", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
289  {"dog", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
290  {"maze", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
291 
292  {"water", "", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
293 
294  // condMaskCode value changed in setUserCondition & setTalkCondition
295  {"putttime", "", 0, GID_HEGAME, 6, 85, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
296  {"socks", "", 0, GID_HEGAME, 6, 85, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
297 
298  // Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
299  {"baseball", "", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
300  {"thinkerk", "", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
301  {"thinker1", "", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
302  {"spyfox", "", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
303 
304  {"freddi3", "", 0, GID_FREDDI3, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_ENHANCEMENTS)},
305  {"freddi3", "HE 99", 0, GID_FREDDI3, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
306 
307  // Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
308  {"pajama2", "", 0, GID_HEGAME, 6, 95, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
309  {"pajama2", "HE 99", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_NO_BIDI, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
310  {"chase", "", 0, GID_HEGAME, 6, 95, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
311 
312  // Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
313  // these and later games can easily be identified by the .(a) file instead of a .he1
314  // and INIB chunk in the .he0
315  {"lost", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
316 
317  {"puttrace", "HE 98", 0, GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
318  {"puttrace", "HE 98.5", 0, GID_PUTTRACE, 6, 98, MDT_NONE, GF_USE_KEY | GF_HE_985, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
319  {"puttrace", "HE 99", 0, GID_PUTTRACE, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
320 
321  {"bluesabctime", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
322  {"BluesBirthday", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
323  {"BluesBirthday", "Red", 0, GID_BIRTHDAYRED, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
324  {"BluesBirthday", "Yellow", 0, GID_BIRTHDAYYELLOW, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
325  {"soccer", "", 0, GID_SOCCER, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
326 
327  // Global scripts increased to 2048
328  {"blues123time", "", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_HE_985, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
329  {"freddi4", "", 0, GID_FREDDI4, 6, 98, MDT_NONE, GF_USE_KEY | GF_HE_985, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_ENHANCEMENTS)},
330  {"freddi4", "unenc", 0, GID_FREDDI4, 6, 98, MDT_NONE, GF_HE_985, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_ENHANCEMENTS)},
331  {"freddi4", "HE 99", 0, GID_FREDDI4, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_ENHANCEMENTS)},
332 
333  // Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
334  {"football", 0, 0, GID_FOOTBALL, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_NETWORK)},
335  {"pajama3", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
336  {"puttcircus", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_HE_NO_BIDI, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
337  {"spyfox2", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
338  {"mustard", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
339 
340  // Added the use of fonts
341  {"FreddisFunShop", 0, 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
342  {"SamsFunShop", 0, 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
343  {"PuttsFunShop", 0, 0, GID_FUNSHOP, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
344 
345  // Added the use of smacker videos
346  {"BluesTreasureHunt", 0, 0, GID_TREASUREHUNT, 6, 99, MDT_NONE, GF_HE_LOCALIZED | GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
347 
348  // Added 16bit color
349  {"arttime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
350  {"baseball2001", 0, 0, GID_BASEBALL2001, 6, 99, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR | GF_HE_995, UNK, GUIO5(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE, GAMEOPTION_NETWORK)},
351  {"readtime", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
352  {"SoccerMLS", 0, 0, GID_SOCCERMLS, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR | GF_HE_995, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
353  {"spyozon", 0, 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR | GF_HE_995, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
354 
355  {"freddicove", "", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR | GF_HE_995, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
356  {"freddicove", "unenc", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_HE_LOCALIZED | GF_16BIT_COLOR | GF_HE_995, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
357  {"freddicove", "HE 100", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
358 
359  // Restructured the Scumm engine
360  {"pjgames", 0, 0, GID_PJGAMES, 6, 100, MDT_NONE, GF_USE_KEY | GF_HE_LOCALIZED | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
361 
362  // Added the use of bink videos
363  {"Soccer2004", 0, 0, GID_SOCCER2004, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
364 
365  // U32 code required, for testing only
366  {"moonbase", "1.0", 0, GID_MOONBASE, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_NETWORK)},
367  {"moonbase", "1.1", 0, GID_MOONBASE, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_NETWORK)},
368  {"moonbase", "Demo", 0, GID_MOONBASE, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR | GF_DEMO, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_NETWORK)},
369 
370  // HE100 games, which use older o72_debugInput code
371  {"Baseball2003", 0, 0, GID_BASEBALL2003, 6, 101, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
372  {"basketball", 0, 0, GID_BASKETBALL, 6, 101, MDT_NONE, GF_USE_KEY| GF_16BIT_COLOR, UNK, GUIO3(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT)},
373  {"football2002", 0, 0, GID_FOOTBALL2002, 6, 101, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_NETWORK)},
374 
375  // The following are meant to be generic HE game variants and as such do
376  // not specify a game ID. Make sure that these are last in the table, else
377  // they'll override more specific entries that follow later on.
378  {"", "HE 71", 0, GID_HEGAME, 6, 71, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
379  {"", "HE 72", 0, GID_HEGAME, 6, 72, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
380  {"", "HE 73", 0, GID_HEGAME, 6, 73, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
381  {"", "HE 74", 0, GID_HEGAME, 6, 74, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
382  {"", "HE 80", 0, GID_HEGAME, 6, 80, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
383  {"", "HE 85", 0, GID_HEGAME, 6, 85, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
384  {"", "HE 90", 0, GID_HEGAME, 6, 90, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
385  {"", "HE 95", 0, GID_HEGAME, 6, 95, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
386  {"", "HE 98", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
387  {"", "HE 98.5", 0, GID_HEGAME, 6, 98, MDT_NONE, GF_USE_KEY | GF_HE_985, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
388  {"", "HE 99", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
389  {"", "HE 99.5", 0, GID_HEGAME, 6, 99, MDT_NONE, GF_USE_KEY | GF_HE_995, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
390  {"", "HE 100", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
391  {"", "HE 101", 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY, UNK, GUIO4(GUIO_NOLAUNCHLOAD, GUIO_NOMIDI, GUIO_NOASPECT, GAMEOPTION_AUDIO_OVERRIDE)},
392 
393  {NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0, UNK, 0}
394 };
395 
396 using Common::UNK_LANG;
397 
398 // The following describes how Fingolfin thinks this table might be used one day;
399 // this is work in progress, so read this with a grain of salt...
400 //
401 // The following table maps gameids to possible filename variants for that game.
402 // This information is used by the detector to determine possible "detect files".
403 // It is also later used by the engine creation code to verify the game to be
404 // launched is present. Finally, the correct GameFilenamePattern entry is passed on
405 // to the engine which uses it to locate the files for the game.
406 //
407 // The table is augmented by platform/language/variant information where applicable.
408 //
409 // Note: Setting variant to 0 means "don't care", while setting it to ""
410 // (i.e. an empty string) means "use the default variant".
411 static const GameFilenamePattern gameFilenamesTable[] = {
412  { "maniac", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
413  { "maniac", "%02d.MAN", kGenRoomNum, UNK_LANG, UNK, "V1 Demo" },
414  { "maniac", "dott.exe", kGenUnchanged, UNK_LANG, UNK, "Remastered" }, // Classic version within the remastered one. We don't really need this file, but it has to be different from DOTT's tenta.cle file (Windows version)
415  { "maniac", "dott", kGenUnchanged, UNK_LANG, UNK, "Remastered" }, // Classic version within the remastered one. We don't really need this file, but it has to be different from DOTT's tenta.cle file (Mac version)
416  { "maniac", "maniac1.d64", kGenUnchanged, UNK_LANG, Common::kPlatformC64, "C64" }, // ... and maniac2.d64
417  { "maniac", "maniac1.dsk", kGenUnchanged, UNK_LANG, Common::kPlatformApple2GS, "Apple II" }, // ... and maniac2.dsk
418  { "maniac", "maniacdemo.d64", kGenUnchanged, UNK_LANG, Common::kPlatformC64, "C64 Demo" },
419  { "maniac", "Maniac Mansion (E).prg", kGenUnchanged, Common::EN_GRB, Common::kPlatformNES, "NES" },
420  { "maniac", "Maniac Mansion (F).prg", kGenUnchanged, Common::FR_FRA, Common::kPlatformNES, "NES" },
421  { "maniac", "Maniac Mansion (SW).prg", kGenUnchanged, Common::SV_SWE, Common::kPlatformNES, "NES" },
422  { "maniac", "Maniac Mansion (U).prg", kGenUnchanged, Common::EN_USA, Common::kPlatformNES, "NES" },
423  { "maniac", "Maniac Mansion (G).prg", kGenUnchanged, Common::DE_DEU, Common::kPlatformNES, "NES" },
424  { "maniac", "Maniac Mansion (I).prg", kGenUnchanged, Common::IT_ITA, Common::kPlatformNES, "NES" },
425  { "maniac", "Maniac Mansion (Sp).prg", kGenUnchanged, Common::ES_ESP, Common::kPlatformNES, "NES" },
426 
427  { "zak", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
428  { "zak", "zak1.d64", kGenUnchanged, UNK_LANG, Common::kPlatformC64, "V1" }, // ... and zak2.d64
429 
430  { "indy3", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
431  { "indy3", "%02d.LFL", kGenRoomNumSteam, UNK_LANG, Common::kPlatformWindows, "Steam" },
432  { "indy3", "%02d.LFL", kGenRoomNumSteam, UNK_LANG, Common::kPlatformMacintosh, "Steam" },
433 
434  { "indyloom", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
435  { "indyzak", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
436  { "zakloom", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
437 
438  { "loom", "%02d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
439  { "loom", "%03d.LFL", kGenRoomNum, UNK_LANG, UNK, "VGA" }, // Loom CD
440  { "loom", "%03d.LFL", kGenRoomNumSteam, UNK_LANG, Common::kPlatformWindows, "Steam" },
441  { "loom", "%03d.LFL", kGenRoomNumSteam, UNK_LANG, Common::kPlatformMacintosh, "Steam" },
442 
443  { "pass", "%03d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 },
444 
445  { "monkey", "%03d.LFL", kGenRoomNum, UNK_LANG, UNK, 0 }, // EGA & VGA versions
446  { "monkey", "monkey.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
447  { "monkey", "monkey1.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
448  { "monkey", "monkey1.pak", kGenUnchanged, UNK_LANG, UNK, "SE" }, // Classic version within the remastered one
449  { "monkey", "monkeyk.%03d", kGenDiskNum, Common::JA_JPN, Common::kPlatformFMTowns, "FM-TOWNS" },
450  { "monkey", "game.%03d", kGenDiskNum, UNK_LANG, Common::kPlatformSegaCD, "SEGA" }, // SegaCD
451 
452  { "monkey2", "monkey2.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
453  { "monkey2", "monkey2.pak", kGenUnchanged, UNK_LANG, UNK, "SE" }, // Classic version within the remastered one
454  { "monkey2", "mi2demo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
455 
456  { "atlantis", "atlantis.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
457  { "atlantis", "fate.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
458  { "atlantis", "playfate.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
459  { "atlantis", "indy4.%03d", kGenDiskNum, Common::JA_JPN, Common::kPlatformFMTowns, "FM-TOWNS" },
460  { "atlantis", "indydemo.%03d", kGenDiskNum, Common::JA_JPN, Common::kPlatformFMTowns, "FM-TOWNS" },
461  { "atlantis", "Fate of Atlantis Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
462  { "atlantis", "atlantis.%03d", kGenDiskNumSteam, UNK_LANG, Common::kPlatformWindows, "Steam" },
463  { "atlantis", "atlantis.%03d", kGenDiskNumSteam, UNK_LANG, Common::kPlatformMacintosh, "Steam" },
464 
465  { "tentacle", "tentacle.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
466  { "tentacle", "tenta.cle", kGenUnchanged, UNK_LANG, UNK, "Remastered" }, // Classic version within the remastered one
467  { "tentacle", "dottdemo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
468  { "tentacle", "Day of the Tentacle Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
469  { "tentacle", "Day of the Tentacle Demo Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
470 
471  { "samnmax", "samnmax.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
472  { "samnmax", "samnmax.sm%d", kGenDiskNum, UNK_LANG, UNK, 0 },
473  { "samnmax", "Sam & Max Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
474  { "samnmax", "Sam & Max Demo Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
475  { "samnmax", "ramnmax.%03d", kGenDiskNum, Common::RU_RUS, UNK, 0 }, // Used in some releases of Russian Sam'n'Max
476  { "samnmax", "samdemo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
477  { "samnmax", "snmdemo.sm%d", kGenDiskNum, UNK_LANG, UNK, 0 },
478  { "samnmax", "snmidemo.%03d", kGenDiskNum, UNK_LANG, UNK, 0 },
479  { "samnmax", "sdemo.sm%d", kGenDiskNum, Common::DE_DEU, UNK, 0 },
480 
481  { "dig", "dig.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
482  { "dig", "thedig.la%d", kGenDiskNum, UNK_LANG, UNK, "Demo" }, // Used by an alternate version of the demo
483  { "dig", "The Dig Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
484  { "dig", "The Dig Demo Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, "Demo" },
485  { "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG, Common::kPlatformWindows, "Steam" },
486  { "dig", "dig.la%d", kGenDiskNumSteam, UNK_LANG, Common::kPlatformMacintosh, "Steam" },
487 
488  { "ft", "ft.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
489  { "ft", "full.data", kGenUnchanged, UNK_LANG, UNK, "Remastered" }, // Classic version within the remastered one
490  { "ft", "ft.%03d", kGenDiskNum, UNK_LANG, UNK, "Demo" }, // Used by PC version of Full Throttle demo
491  { "ft", "ftdemo.la%d", kGenDiskNum, UNK_LANG, UNK, "Demo" },
492  { "ft", "Full Throttle Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, 0 },
493  { "ft", "Full Throttle Demo Data", kGenUnchanged, UNK_LANG, Common::kPlatformMacintosh, "Demo" },
494  { "ft", "Vollgas Data", kGenUnchanged, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
495  { "ft", "Vollgas Demo Data", kGenUnchanged, Common::DE_DEU, Common::kPlatformMacintosh, "Demo" },
496 
497  { "comi", "comi.la%d", kGenDiskNum, UNK_LANG, UNK, 0 },
498 
499  { "activity", "activity", kGenHEPC, UNK_LANG, UNK, 0 },
500  { "activity", "Putt & Fatty's Actpack", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
501 
502  { "fbpack", "fbpack", kGenHEPC, UNK_LANG, UNK, 0 },
503  { "fbpack", "Fatty Bear's Funpack", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
504  { "funpack", "funpack", kGenHEPC, UNK_LANG, UNK, 0 },
505  { "funpack", "Putt-Putt's Funpack", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
506 
507  { "brstorm", "brstorm", kGenHEPC, UNK_LANG, UNK, 0 },
508 
509  { "fbear", "fbear", kGenHEPC, UNK_LANG, UNK, 0 },
510  { "fbear", "fbdemo", kGenHEPC, UNK_LANG, UNK, 0 },
511  { "fbear", "Fatty Bear Demo", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
512  { "fbear", "Fatty Bear", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
513  { "fbear", "jfbear", kGenHEPC, Common::JA_JPN, Common::kPlatform3DO, 0 },
514 
515  { "puttmoon", "puttmoon", kGenHEPC, UNK_LANG, UNK, 0 },
516  { "puttmoon", "moondemo", kGenHEPC, UNK_LANG, UNK, 0 },
517  { "puttmoon", "Putt-Putt Moon Demo", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
518  { "puttmoon", "Putt-Putt Moon", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
519 
520  { "puttputt", "jputtputt", kGenHEPC, Common::JA_JPN, Common::kPlatform3DO, 0 },
521  { "puttputt", "puttputt", kGenHEPC, UNK_LANG, UNK, 0 },
522  { "puttputt", "puttdemo", kGenHEPC, UNK_LANG, UNK, 0 },
523  { "puttputt", "Putt-Putt's Demo", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
524  { "puttputt", "Putt-Putt Parade", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
525  { "puttputt", "Putt-Putt", kGenHEMacNoParens, UNK_LANG, Common::kPlatformMacintosh, 0 },
526 
527  { "arttime", "arttime", kGenHEPC, UNK_LANG, UNK, 0 },
528  { "arttime", "Blues-ArtTime", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
529  { "arttime", "artdemo", kGenHEPC, UNK_LANG, UNK, 0 },
530  { "arttime", "Blues-ArtTime Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
531 
532  { "baseball2001", "baseball2001", kGenHEPC, UNK_LANG, UNK, 0 },
533  { "baseball2001", "bb2demo", kGenHEPC, UNK_LANG, UNK, 0 },
534  { "baseball2001", "Baseball 2001 Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
535  { "baseball2001", "Baseball 2001", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
536  { "baseball2001", "baseball 2001", kGenHEPC, UNK_LANG, UNK, 0 },
537 
538  { "Baseball2003", "Baseball2003", kGenHEPC, UNK_LANG, UNK, 0 },
539  { "Baseball2003", "Baseball 2003", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
540 
541  { "basketball", "basketball", kGenHEPC, UNK_LANG, UNK, 0 },
542  { "basketball", "Basketball", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
543 
544  { "football2002", "FootBall2002", kGenHEPC, UNK_LANG, UNK, 0 },
545  { "football2002", "Football 2002", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
546 
547  { "freddicove", "freddicove", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
548  { "freddicove", "FreddiCCC", kGenHEPC, UNK_LANG, UNK, 0 },
549  { "freddicove", "FreddiCove", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
550  { "freddicove", "FreddiDZZ", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
551  { "freddicove", "FreddiDZZ", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
552  { "freddicove", "FreddiMML", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
553  { "freddicove", "FreddiMML", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
554  { "freddicove", "FFCoveDemo", kGenHEPC, UNK_LANG, UNK, 0 },
555  { "freddicove", "FreddiCoveDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
556  { "freddicove", "ff5demo", kGenHEPC, UNK_LANG, UNK, 0 },
557  { "freddicove", "FF5Demo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
558 
559  { "moonbase", "moonbase", kGenHEPC, UNK_LANG, UNK, 0 },
560  { "moonbase", "moondemo", kGenHEPC, UNK_LANG, UNK, 0 },
561 
562  { "pjgames", "pjgames", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
563  { "pjgames", "PJGames", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
564 
565  { "readtime", "Blue's Reading Time", kGenHEPC, UNK_LANG, UNK, 0 },
566  { "readtime", "Blues-ReadingTime", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
567  { "readtime", "readDemo", kGenHEPC, UNK_LANG, UNK, 0 },
568  { "readtime", "Blues-ReadingTime Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
569 
570  { "Soccer2004", "Soccer2004", kGenHEPC, UNK_LANG, UNK, 0 },
571  { "Soccer2004", "Soccer 2004", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
572 
573  { "SoccerMLS", "SoccerMLS", kGenHEPC, UNK_LANG, UNK, 0 },
574  { "SoccerMLS", "Backyard Soccer MLS", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
575 
576  { "spyozon", "spyozon", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
577  { "spyozon", "sf3-demo", kGenHEPC, UNK_LANG, UNK, 0 },
578  { "spyozon", "SF3Demo", kGenHEPC, Common::FR_FRA, UNK, 0 },
579  { "spyozon", "Spy Ozone Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
580  { "spyozon", "SPYFoxAIW", kGenHEPC, Common::DE_DEU, UNK, 0 },
581  { "spyozon", "SPYFoxOZU", kGenHEPC, UNK_LANG, UNK, 0 },
582  { "spyozon", "SPYFoxSOS", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
583  { "spyozon", "SPYFoxSOS", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
584  { "spyozon", "SpyOzon", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
585  { "spyozon", "ozonepre.cup", kGenUnchanged, UNK_LANG, UNK, "HE CUP" },
586 
587  { "airport", "airport", kGenHEPC, UNK_LANG, UNK, 0 },
588  { "airport", "airdemo", kGenHEPC, UNK_LANG, UNK, 0 },
589  { "airport", "Airport Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
590  { "airport", "The AirPort", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
591 
592  { "balloon", "balloon", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
593  { "balloon", "Balloon-O-Rama", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
594  { "balloon", "Ballon-O-Rama", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
595 
596  { "baseball", "baseball", kGenHEPC, UNK_LANG, UNK, 0 },
597  { "baseball", "BaseBall", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
598  { "baseball", "basedemo.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
599 
600  { "blues123time", "Blues123time", kGenHEPC, UNK_LANG, UNK, 0 },
601  { "blues123time", "Blue's 123 Time", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
602 
603  { "bluesabctime", "bluesabctime", kGenHEPC, UNK_LANG, UNK, 0 },
604  { "bluesabctime", "Blues ABC Time", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
605  { "bluesabctime", "BluesABCTimeDemo", kGenHEPC, UNK_LANG, UNK, 0 },
606  { "bluesabctime", "BluesABCTimeDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
607  { "bluesabctime", "abc-slideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
608  { "bluesabctime", "BluesABCTimeSlideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
609 
610  { "BluesBirthday", "Blue'sBirthday-Red", kGenHEPC, UNK_LANG, UNK, 0 },
611  { "BluesBirthday", "Blue'sBirthday-Red", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
612  { "BluesBirthday", "Blue'sBirthday-Yellow", kGenHEPC, UNK_LANG, UNK, 0 },
613  { "BluesBirthday", "Blue'sBirthday-Yellow", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
614  { "BluesBirthday", "BluesBirthdayDemo", kGenHEPC, UNK_LANG, UNK, 0 },
615  { "BluesBirthday", "BluesBirthdayDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
616  { "BluesBirthday", "bda-slideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
617  { "BluesBirthday", "BluesBirthdaySlideshow.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
618 
619  { "BluesTreasureHunt", "Blue'sTreasureHunt-Disc1", kGenHEPC, UNK_LANG, UNK, 0 },
620  { "BluesTreasureHunt", "Blue'sTreasureHunt-Disc1", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
621  { "BluesTreasureHunt", "Blue'sTreasureHunt-Disc2", kGenHEPC, UNK_LANG, UNK, 0 },
622  { "BluesTreasureHunt", "Blue'sTreasureHunt-Disc2", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
623 
624  { "catalog", "catalog", kGenHEPC, UNK_LANG, UNK, 0 },
625  { "catalog", "catalog2", kGenHEPC, UNK_LANG, UNK, 0 },
626  { "catalog", "Preview.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
627 
628  { "chase", "chase", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
629  { "chase", "Cheese Chase", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
630 
631  { "dog", "dog", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
632  { "dog", "Dog on a Stick", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
633  { "dog", "Springparadijs", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
634 
635  { "farm", "farm", kGenHEPC, UNK_LANG, UNK, 0 },
636  { "farm", "The Farm", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
637  { "farm", "farmdemo", kGenHEPC, UNK_LANG, UNK, 0 },
638  { "farm", "Farm Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
639 
640  { "football", "football", kGenHEPC, UNK_LANG, UNK, 0 },
641  { "football", "FootBall", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
642  { "football", "FootBall Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
643  { "football", "footdemo", kGenHEPC, UNK_LANG, UNK, 0 },
644 
645  { "freddi", "freddi", kGenHEPC, UNK_LANG, UNK, 0 },
646  { "freddi", "Freddi", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
647  { "freddi", "Freddi1", kGenHEPC, UNK_LANG, UNK, 0 },
648  { "freddi", "Freddemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
649  { "freddi", "freddemo", kGenHEPC, UNK_LANG, UNK, 0 },
650  { "freddi", "Freddi Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
651  { "freddi", "Freddi Fish", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
652  { "freddi", "FreddiD", kGenHEPC, Common::NL_NLD, UNK, 0 },
653  { "freddi", "FreddiE", kGenHEPC, UNK_LANG, UNK, 0 },
654  { "freddi", "Freddi Fisk", kGenHEMac, Common::SV_SWE, Common::kPlatformMacintosh, 0 },
655  { "freddi", "FRITZI", kGenHEPC, Common::DE_DEU, UNK, 0 },
656  { "freddi", "Marine Malice", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
657  { "freddi", "MM-DEMO", kGenHEPC, UNK_LANG, UNK, 0 },
658 
659  { "freddi2", "freddi2", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
660  { "freddi2", "FF2-demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
661  { "freddi2", "ff2-demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
662  { "freddi2", "FFHSDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
663  { "freddi2", "FFHSDemo", kGenHEPC, UNK_LANG, UNK, 0 },
664  { "freddi2", "Freddi Fish 2 Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
665  { "freddi2", "Freddi Fish 2", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
666  { "freddi2", "FreddiCHSH", kGenHEPC, UNK_LANG, UNK, 0 },
667  { "freddi2", "FRITZI2", kGenHEPC, Common::DE_DEU, UNK, 0 },
668  { "freddi2", "Fritzi Fisch 2", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
669  { "freddi2", "MALICE2", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
670 
671  { "freddi3", "freddi3", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
672  { "freddi3", "F3-Mdemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
673  { "freddi3", "f3-mdemo", kGenHEPC, UNK_LANG, UNK, 0 },
674  { "freddi3", "FF3 Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
675  { "freddi3", "FF3-demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
676  { "freddi3", "FF3-DEMO", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
677  { "freddi3", "FF3DEMO", kGenHEPC, Common::HE_ISR, UNK, 0 },
678  { "freddi3", "Freddi 3", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
679  { "freddi3", "Freddi Fish 3", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
680  { "freddi3", "FreddiFGT", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
681  { "freddi3", "FreddiFGT", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
682  { "freddi3", "FreddiSCS", kGenHEPC, UNK_LANG, UNK, 0 },
683  { "freddi3", "fritzi3", kGenHEPC, Common::DE_DEU, UNK, 0 },
684  { "freddi3", "Fritzi3demo", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
685  { "freddi3", "Fritzi3demo", kGenHEPC, Common::DE_DEU, UNK, 0 },
686  { "freddi3", "Marine Malice 3", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
687  { "freddi3", "MALICE3", kGenHEPC, Common::FR_FRA, UNK, 0 },
688  { "freddi3", "MALICEMCV", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
689  { "freddi3", "MaliceMCV", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
690  { "freddi3", "MM3-DEMO", kGenHEPC, Common::FR_FRA, UNK, 0 },
691  { "freddi3", "MM3-Demo", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
692 
693  { "freddi4", "freddi4", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
694  { "freddi4", "Freddi4", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
695  { "freddi4", "f4-demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
696  { "freddi4", "ff4demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
697  { "freddi4", "Ff4demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
698  { "freddi4", "FF4 demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
699  { "freddi4", "Freddi 4", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
700  { "freddi4", "Freddi 4 Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
701  { "freddi4", "FreddiCMP", kGenHEPC, Common::IT_ITA, Common::kPlatformWindows, 0 },
702  { "freddi4", "FreddiGS", kGenHEPC, Common::DE_DEU, UNK, 0 },
703  { "freddi4", "FreddiGS", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
704  { "freddi4", "FreddiHRBG", kGenHEPC, Common::EN_GRB, UNK, 0 },
705  { "freddi4", "FreddiHRBG", kGenHEMac, Common::EN_GRB, Common::kPlatformMacintosh, 0 },
706  { "freddi4", "FreddiMini", kGenHEPC, UNK_LANG, UNK, 0 },
707  { "freddi4", "Malice4", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
708  { "freddi4", "MaliceMRC", kGenHEPC, Common::FR_FRA, UNK, 0 },
709  { "freddi4", "MaliceMRC", kGenHEMac, Common::FR_FRA, UNK, 0 },
710  { "freddi4", "Mm4demo", kGenHEPC, Common::FR_FRA, UNK, 0 },
711 
712  { "FreddisFunShop", "FreddisFunShop", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
713  { "FreddisFunShop", "FreddisFunShop", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
714  { "FreddisFunShop", "Freddi's FunShop", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
715 
716  { "jungle", "jungle", kGenHEPC, UNK_LANG, UNK, 0 },
717  { "jungle", "The Jungle", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
718 
719  { "lost", "lost", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
720  { "lost", "Lost and Found", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
721  { "lost", "smaller", kGenHEPC, UNK_LANG, UNK, 0 },
722  { "lost", "verloren", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
723  { "lost", "Verloren", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
724 
725  { "maze", "maze", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
726  { "maze", "Doolhof", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
727  { "maze", "Doolhof", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
728  { "maze", "Maze Madness", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
729 
730  { "mustard", "mustard", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
731  { "mustard", "Mustard", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
732 
733  { "pajama", "pajama", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
734  { "pajama", "Pyjama Pit", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
735  { "pajama", "Pajama Sam", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
736  { "pajama", "PajamaNHD", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
737  { "pajama", "PJS-DEMO", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
738  { "pajama", "PJS-DEMO", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
739  { "pajama", "pjsam", kGenHEPC, UNK_LANG, UNK, 0 },
740  { "pajama", "PjSamDemo", kGenHEPC, UNK_LANG, UNK, 0 },
741  { "pajama", "PYJAMA", kGenHEPC, Common::DE_DEU, UNK, 0 },
742  { "pajama", "SAMDEMO", kGenHEPC, Common::FR_FRA, UNK, 0 },
743  { "pajama", "SAMDEMO", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
744  { "pajama", "sampyjam", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
745  { "pajama", "SamPyjam", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
746 
747  { "pajama2", "pajama2", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
748  { "pajama2", "Pajama2", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
749  { "pajama2", "pyjam2", kGenHEPC, Common::FR_FRA, UNK, 0 },
750  { "pajama2", "Pajama Sam 2", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
751  { "pajama2", "PajamaTAL", kGenHEPC, UNK_LANG, UNK, 0 },
752  { "pajama2", "PYJAMADB", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
753  { "pajama2", "PyjamaDBMN", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
754  { "pajama2", "PyjamaDBMN", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
755  { "pajama2", "PyjamaHM", kGenHEPC, Common::FR_FRA, UNK, 0 },
756  { "pajama2", "PyjamaHM", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
757  { "pajama2", "PYJAMA2", kGenHEPC, Common::DE_DEU, UNK, 0 },
758  { "pajama2", "Pyjama Pit 2", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
759  { "pajama2", "Pyjama Pit 2 Demo", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
760  { "pajama2", "PJP2DEMO", kGenHEPC, Common::DE_DEU, UNK, 0 },
761  { "pajama2", "PJ2Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
762  { "pajama2", "pj2demo", kGenHEPC, UNK_LANG, UNK, 0 },
763  { "pajama2", "Pjs2demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
764  { "pajama2", "PJ2 Demo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
765  { "pajama2", "PS2DEMO", kGenHEPC, Common::HE_ISR, UNK, 0 },
766 
767  { "pajama3", "pajama3", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
768  { "pajama3", "FPJ3Demo", kGenHEPC, Common::FR_FRA, UNK, 0 },
769  { "pajama3", "GPJ3Demo", kGenHEPC, Common::DE_DEU, UNK, 0 },
770  { "pajama3", "PajamaHTF", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
771  { "pajama3", "Pajama Sam 3", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
772  { "pajama3", "Pajama Sam 3-Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
773  { "pajama3", "pj3-demo", kGenHEPC, UNK_LANG, UNK, 0 },
774  { "pajama3", "pj3demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
775  { "pajama3", "PJ3Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
776  { "pajama3", "Pajama Sam Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
777  { "pajama3", "PJMini", kGenHEPC, UNK_LANG, UNK, 0 },
778  { "pajama3", "PjSamDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
779  { "pajama3", "PjSamDemo", kGenHEPC, UNK_LANG, UNK, 0 },
780  { "pajama3", "PyjamaHG", kGenHEPC, Common::FR_FRA, UNK, 0 },
781  { "pajama3", "PyjamaSKS", kGenHEPC, Common::DE_DEU, UNK, 0 },
782  { "pajama3", "PyjamaSKS", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
783  { "pajama3", "SamLDM", kGenHEPC, Common::IT_ITA, Common::kPlatformWindows, 0 },
784  { "pajama3", "UKPajamaEAT", kGenHEPC, Common::RU_RUS, Common::kPlatformWindows, 0 },
785 
786  { "puttcircus", "puttcircus", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
787  { "puttcircus", "circdemo", kGenHEPC, UNK_LANG, UNK, 0 },
788  { "puttcircus", "CircusDemo", kGenHEPC, Common::FR_FRA, UNK, 0 },
789  { "puttcircus", "PouceDLC", kGenHEPC, Common::FR_FRA, UNK, 0 },
790  { "puttcircus", "Putt Circus Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
791  { "puttcircus", "Putt Circus", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
792  { "puttcircus", "PuttIHC", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
793  { "puttcircus", "PuttPuttIHC", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
794  { "puttcircus", "PuttPuttJTC", kGenHEPC, UNK_LANG, UNK, 0 },
795  { "puttcircus", "ToffToff", kGenHEPC, Common::DE_DEU, UNK, 0 },
796  { "puttcircus", "ToffToffGZZ", kGenHEPC, Common::DE_DEU, UNK, 0 },
797 
798  { "puttrace", "puttrace", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
799  { "puttrace", "500demo", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
800  { "puttrace", "course", kGenHEPC, Common::FR_FRA, UNK, 0 },
801  { "puttrace", "CourseDemo", kGenHEPC, Common::FR_FRA, UNK, 0 },
802  { "puttrace", "GasGasEG", kGenHEPC, Common::IT_ITA, Common::kPlatformWindows, 0 },
803  { "puttrace", "racedemo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
804  { "puttrace", "RaceDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
805  { "puttrace", "Rennen", kGenHEPC, Common::DE_DEU, UNK, 0 },
806  { "puttrace", "PouceCourse", kGenHEPC, Common::FR_FRA, UNK, 0 },
807  { "puttrace", "Putt500", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
808  { "puttrace", "Putt500", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
809  { "puttrace", "Putt500 demo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
810  { "puttrace", "Putt Race", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
811  { "puttrace", "ToffRenn", kGenHEPC, Common::DE_DEU, UNK, 0 },
812  { "puttrace", "ToffRennen", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
813  { "puttrace", "ToffRennen", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
814  { "puttrace", "UKPuttRace", kGenHEPC, Common::RU_RUS, UNK, 0 }, // Russian
815  { "puttrace", "PUTTDEMO.CUP", kGenUnchanged, UNK_LANG, UNK, 0 },
816  { "puttrace", "racedemo.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
817 
818  { "PuttsFunShop", "PuttsFunShop", kGenHEPC, UNK_LANG, UNK, 0 },
819  { "PuttsFunShop", "Putt's FunShop", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
820 
821  { "putttime", "putttime", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
822  { "putttime", "PuttTime", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
823  { "putttime", "pouce", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
824  { "putttime", "Pouce-Pouce", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
825  { "putttime", "PuttPuttTTT", kGenHEPC, UNK_LANG, UNK, 0 },
826  { "putttime", "PuttPuttTTT", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
827  { "putttime", "PuttTijd", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
828  { "putttime", "PuttTijd", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
829  { "putttime", "Putt Time", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
830  { "putttime", "PuttTTT", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
831  { "putttime", "PuttTTT", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
832  { "putttime", "TIJDDEMO", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
833  { "putttime", "TijdDemo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
834  { "putttime", "timedemo", kGenHEPC, UNK_LANG, UNK, 0 },
835  { "putttime", "TimeDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
836  { "putttime", "TEMPDEMO", kGenHEPC, Common::FR_FRA, UNK, 0 },
837  { "putttime", "Tempdemo", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
838  { "putttime", "toffzeit", kGenHEPC, Common::DE_DEU, UNK, 0 }, // German Toeff-Toeff: Reist durch die Zeit
839  { "putttime", "toffzeit", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 }, // German Toeff-Toeff: Reist durch die Zeit
840  { "putttime", "ZeitDemo", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
841  { "putttime", "ZEITDEMO", kGenHEPC, Common::DE_DEU, UNK, 0 },
842  { "putttime", "PuttMini", kGenHEPC, UNK_LANG, UNK, 0 },
843  { "putttime", "PouceVDT", kGenHEPC, Common::FR_FRA, UNK, 0 },
844 
845  { "puttzoo", "Putt-Putt Redt De Zoo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
846  { "puttzoo", "puttzoo", kGenHEPC, UNK_LANG, UNK, 0 },
847  { "puttzoo", "Puttzoo Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
848  { "puttzoo", "PuttZoo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
849  { "puttzoo", "T\xC3\x96""FFZOO", kGenHEPC, Common::DE_DEU, UNK, 0 }, // UTF-8 encoding
850  { "puttzoo", "T\xD6""FFZOO", kGenHEPC, Common::DE_DEU, UNK, 0 }, // Windows encoding
851  { "puttzoo", "T\xC3\xB6""ff-T\xC3\xB6""ff\xE2\x84\xA2 Zoo Demo", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 }, // UTF-8 encoding
852  { "puttzoo", "T\xF6""ff-T""\xF6""ff\x99 Zoo Demo", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 }, // Windows encoding
853  { "puttzoo", "Zoodemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
854  { "puttzoo", "zoodemo", kGenHEPC, UNK_LANG, UNK, 0 },
855  { "puttzoo", "Zoo Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
856  { "puttzoo", "Putt-Putt Saves the Zoo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
857  { "puttzoo", "game", kGenHEPC, Common::EN_ANY, Common::kPlatformIOS, 0 },
858  { "puttzoo", "pp3_unlocked", kGenHEPC, Common::EN_ANY, Common::kPlatformWindows, 0 },
859 
860  { "SamsFunShop", "SamsFunShop", kGenHEPC, UNK_LANG, UNK, 0 },
861  { "SamsFunShop", "Sam's FunShop", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
862 
863  { "soccer", "soccer", kGenHEPC, UNK_LANG, UNK, 0 },
864  { "soccer", "Soccer", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
865  { "soccer", "FOOTBALL", kGenHEPC, Common::EN_GRB, Common::kPlatformWindows, 0 },
866 
867  { "socks", "socks", kGenHEPC, UNK_LANG, UNK, 0 },
868  { "socks", "SockWorks", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
869  { "socks", "SokkenSoep", kGenHEPC, Common::NL_NLD, Common::kPlatformWindows, 0 },
870  { "socks", "SokkenSoep", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
871  { "socks", "Chaussettes", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
872 
873  { "spyfox", "spyfox", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
874  { "spyfox", "Fuchsdem", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
875  { "spyfox", "FUCHS", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
876  { "spyfox", "FUCHSDEM", kGenHEPC, Common::DE_DEU, UNK, 0 },
877  { "spyfox", "FoxDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
878  { "spyfox", "foxdemo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
879  { "spyfox", "JAMESDEM", kGenHEPC, Common::FR_FRA, UNK, 0 },
880  { "spyfox", "renard", kGenHEPC, Common::FR_FRA, UNK, 0 },
881  { "spyfox", "Spydemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
882  { "spyfox", "Spydemo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
883  { "spyfox", "SPYFox", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
884  { "spyfox", "SPYFoxDC", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
885  { "spyfox", "SPYFoxDC", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
886  { "spyfox", "SpyFoxDMK", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
887  { "spyfox", "SpyFoxDMK", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
888  { "spyfox", "SPYFoxOM", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
889  { "spyfox", "SPYFoxOM", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
890  { "spyfox", "SPYFoxOMW", kGenHEPC, Common::NL_NLD, UNK, 0 },
891  { "spyfox", "Spy Fox", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
892  { "spyfox", "Spy Fox Demo", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
893  { "spyfox", "JR-Demo", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
894  { "spyfox", "game", kGenHEIOS, Common::EN_ANY, Common::kPlatformIOS, 0 },
895 
896  { "spyfox2", "spyfox2", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
897  { "spyfox2", "sf2-demo", kGenHEPC, UNK_LANG, UNK, 0 },
898  { "spyfox2", "sf2demo", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
899  { "spyfox2", "Sf2demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
900  { "spyfox2", "Spy Fox 2", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
901  { "spyfox2", "Spy Fox 2 - Demo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
902  { "spyfox2", "SPyFoxMCR", kGenHEPC, Common::IT_ITA, Common::kPlatformWindows, 0 },
903  { "spyfox2", "SpyFoxOR", kGenHEPC, Common::DE_DEU, Common::kPlatformWindows, 0 },
904  { "spyfox2", "SpyFoxOR", kGenHEMac, Common::DE_DEU, Common::kPlatformMacintosh, 0 },
905  { "spyfox2", "SPYFoxORE", kGenHEPC, Common::FR_FRA, Common::kPlatformWindows, 0 },
906  { "spyfox2", "SPYFoxORE", kGenHEMac, Common::FR_FRA, Common::kPlatformMacintosh, 0 },
907  { "spyfox2", "spyfoxsr", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
908  { "spyfox2", "SpyFoxSR", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
909  { "spyfox2", "SPYMini", kGenHEPC, UNK_LANG, UNK, 0 },
910  { "spyfox2", "spy2preview.cup", kGenUnchanged, UNK_LANG, UNK, 0 },
911 
912  { "thinker1", "1grademo", kGenHEPC, UNK_LANG, UNK, 0 },
913  { "thinker1", "thinker1", kGenHEPC, UNK_LANG, UNK, 0 },
914  { "thinker1", "Thinker1", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
915 
916  { "thinkerk", "kinddemo", kGenHEPC, UNK_LANG, UNK, 0 },
917  { "thinkerk", "KindDemo", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
918  { "thinkerk", "thinkerk", kGenHEPC, UNK_LANG, UNK, 0 },
919  { "thinkerk", "ThinkerK", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
920 
921  { "water", "water", kGenHEPC, UNK_LANG, Common::kPlatformWindows, 0 },
922  { "water", "Water", kGenHEMac, Common::NL_NLD, Common::kPlatformMacintosh, 0 },
923  { "water", "Water Worries", kGenHEMac, UNK_LANG, Common::kPlatformMacintosh, 0 },
924 
925  { NULL, NULL, kGenUnchanged, UNK_LANG, UNK, 0 }
926 };
927 
928 static const RuScummPatcher ruScummPatcherTable[] = {
929  // cmi_rus_1.1b.exe is InstallShield
930  { GID_MANIAC, "V2", "mm_ega_rus_1.0.exe" },
931  { GID_MANIAC, "V2", "mm_ega_rus_1.1.exe" },
932  { GID_INDY3, "VGA", "indy3vga_rus_1.01_final.exe" },
933  { GID_INDY4, "", "indy_atlantis_rus_v1.0_cd.exe" }, // CD
934  { GID_LOOM, "EGA", "loom_ega_1.0_rus.exe" },
935  { GID_LOOM, "EGA", "loom_ega_1.1_rus.exe" },
936  { GID_LOOM, "FM-TOWNS", "loom_fm_1.0_rus.exe" },
937  { GID_ZAK, "V2", "zak_ega_rus_1.0.exe" },
938  { GID_TENTACLE, "", "xn-- . -. .1.0.exe-vtlacb4b3avgf1ea6cs7c2brf8abfez6ajun7b8d6byezgg" }, // CD, "день щупальца. патчер-русификатор. вер.1.0.exe"
939  { GID_CMI, NULL, NULL }
940 };
941 
942 } // End of namespace Scumm
943 
944 #endif
Definition: detection.h:174
Definition: detection.h:147
Definition: detection.h:186
Definition: detection.h:162
Definition: detection.h:177
Definition: game.h:49
Definition: detection.h:165
Definition: detection.h:216
Definition: detection.h:199
Definition: detection.h:211
Definition: detection.h:153
Definition: detection.h:183
Definition: detection.h:168
Definition: actor.h:30
Definition: detection.h:205