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