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 static const PlainGameDescriptor asylumGames[] = {
23  { "asylum", "Sanitarium" },
24  { 0, 0 }
25 };
26 
27 namespace Asylum {
28 
29 static const char *const directoryGlobs[] = {
30  "Vids",
31  0
32 };
33 
34 static const ADGameDescription gameDescriptions[] = {
35  {
36  // English CD version (unpatched)
37  "asylum",
38  "CD Unpatched",
39  {
40  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
41  {"RES.000", 0, "4d13f1412f9e7dd3eaf0a58f0e00e662", 272057},
42  {"SCN.006", 0, "71a5f49cbda597a11e877589075e27b5", 2918330},
44  },
45  Common::EN_ANY,
46  Common::kPlatformWindows,
48  GUIO0()
49  },
50  {
51  // English CD version (patched)
52  // Level 2 Lockout Bug patch was applied
53  "asylum",
54  "CD Patched",
55  {
56  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
57  {"RES.000", 0, "4d13f1412f9e7dd3eaf0a58f0e00e662", 272057},
58  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
60  },
61  Common::EN_ANY,
62  Common::kPlatformWindows,
64  GUIO0()
65  },
66  {
67  // English GOG.com version
68  "asylum",
69  "GOG.com",
70  {
71  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
72  {"RES.000", 0, "f58f8dc3e63663f174977d359e11132c", 272057},
73  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
74  {"MOV000.SMK", 0, NULL, AD_NO_SIZE},
76  },
77  Common::EN_ANY,
78  Common::kPlatformWindows,
80  GUIO0()
81  },
82 
83  {
84  // English CD version (unpatched) + Chinese Patch
85  "asylum",
86  "CD Unpatched",
87  {
88  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
89  {"RES.000", 0, "4e279f32d2a0e4099f3e174aa6dcf1e8", 208458},
90  {"SCN.006", 0, "71a5f49cbda597a11e877589075e27b5", 2918330},
92  },
93  Common::ZH_CHN,
94  Common::kPlatformWindows,
96  GUIO0()
97  },
98  {
99  // English CD version (patched) + Chinese Patch
100  // Level 2 Lockout Bug patch was applied
101  "asylum",
102  "CD Patched",
103  {
104  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
105  {"RES.000", 0, "4e279f32d2a0e4099f3e174aa6dcf1e8", 208458},
106  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
107  AD_LISTEND
108  },
109  Common::ZH_CHN,
110  Common::kPlatformWindows,
112  GUIO0()
113  },
114 
115  {
116  // French GOG.com version
117  "asylum",
118  "GOG.com",
119  {
120  {"SNTRM.DAT", 0, "e09a12543c6ede1727c8ecffb74e7fd2", 8930},
121  {"RES.000", 0, "2a4677ee3fd7bfa3161e16cd59371238", 277931},
122  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
123  {"MOV000.SMK", 0, NULL, AD_NO_SIZE},
124  AD_LISTEND
125  },
126  Common::FR_FRA,
127  Common::kPlatformWindows,
129  GUIO0()
130  },
131  {
132  // English Steam version
133  "asylum",
134  "Steam",
135  {
136  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
137  {"RES.000", 0, "f58f8dc3e63663f174977d359e11132c", 272057},
138  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
139  {"MOV000_2_SMK.ogv", 0, NULL, AD_NO_SIZE},
140  AD_LISTEND
141  },
142  Common::EN_ANY,
143  Common::kPlatformWindows,
145  GUIO0()
146  },
147  {
148  // German Steam version
149  "asylum",
150  "Steam",
151  {
152  {"SNTRM.DAT", 0, "f427fda37a0e29afd4acf982c4cb9fb0", 8930},
153  {"RES.000", 0, "0578f326b40d22f661ac93cf49dc2c19", 285658},
154  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
155  {"MOV000_2_SMK.ogv", 0, NULL, AD_NO_SIZE},
156  AD_LISTEND
157  },
158  Common::DE_DEU,
159  Common::kPlatformWindows,
161  GUIO0()
162  },
163  {
164  // French Steam version
165  "asylum",
166  "Steam",
167  {
168  {"SNTRM.DAT", 0, "e09a12543c6ede1727c8ecffb74e7fd2", 8930},
169  {"RES.000", 0, "94f3c795599ea79492cbf81127944f37", 277935},
170  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
171  {"MOV000_2_SMK.ogv", 0, NULL, AD_NO_SIZE},
172  AD_LISTEND
173  },
174  Common::FR_FRA,
175  Common::kPlatformWindows,
177  GUIO0()
178  },
179  {
180  // French CD version (fanmade?)
181  "asylum",
182  "CD",
183  {
184  {"SNTRM.DAT", 0, "e09a12543c6ede1727c8ecffb74e7fd2", 8930},
185  {"RES.000", 0, "2a4677ee3fd7bfa3161e16cd59371238", 277931},
186  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
187  AD_LISTEND
188  },
189  Common::FR_FRA,
190  Common::kPlatformWindows,
192  GUIO0()
193  },
194  {
195  // French CD version (fanmade?) alternate
196  // TRAC #16109
197  "asylum",
198  "CD",
199  {
200  {"SNTRM.DAT", 0, "e09a12543c6ede1727c8ecffb74e7fd2", 8930},
201  {"RES.000", 0, "94f3c795599ea79492cbf81127944f37", 277935},
202  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
203  AD_LISTEND
204  },
205  Common::FR_FRA,
206  Common::kPlatformWindows,
208  GUIO0()
209  },
210  {
211  // German CD version
212  "asylum",
213  "CD",
214  {
215  {"SNTRM.DAT", 0, "f427fda37a0e29afd4acf982c4cb9fb0", 8930},
216  {"RES.000", 0, "058ea2fca583c27a8e3d7ccc16a9a3bd", 285660},
217  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
218  AD_LISTEND
219  },
220  Common::DE_DEU,
221  Common::kPlatformWindows,
223  GUIO0()
224  },
225  {
226  // Russian CD version
227  "asylum",
228  "CD",
229  {
230  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
231  {"RES.000", 0, "1f8a262bf8b3035bd3cfda24068c4651", 263624},
232  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
233  AD_LISTEND
234  },
235  Common::RU_RUS,
236  Common::kPlatformWindows,
238  GUIO0()
239  },
240  {
241  // Unofficial Russian translation (Fargus Multimedia)
242  "asylum",
243  "GOG.com",
244  {
245  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
246  {"RES.000", 0, "1f7b3734a8da87464ce3765bd79be208", 247149},
247  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
248  {"MOV000.SMK", 0, NULL, AD_NO_SIZE},
249  AD_LISTEND
250  },
251  Common::RU_RUS,
252  Common::kPlatformWindows,
254  GUIO0()
255  },
256  {
257  // Unofficial Russian translation (Fargus Multimedia)
258  "asylum",
259  "Steam",
260  {
261  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
262  {"RES.000", 0, "1f7b3734a8da87464ce3765bd79be208", 247149},
263  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
264  {"MOV000_2_SMK.ogv", 0, NULL, AD_NO_SIZE},
265  AD_LISTEND
266  },
267  Common::RU_RUS,
268  Common::kPlatformWindows,
270  GUIO0()
271  },
272  {
273  // Polish fanmade translation
274  "asylum",
275  "Fanmade",
276  {
277  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
278  {"RES.000", 0, "38989acceb9c7942b8758945768c5f85", 279825},
279  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
280  AD_LISTEND
281  },
282  Common::PL_POL,
283  Common::kPlatformWindows,
285  GUIO0()
286  },
287  {
288  // Spanish fanmade translation
289  "asylum",
290  "Fanmade",
291  {
292  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
293  {"RES.000", 0, "4a112c41f58ac89b472be8cbfe82ab4b", 272057},
294  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
295  AD_LISTEND
296  },
297  Common::ES_ESP,
298  Common::kPlatformWindows,
300  GUIO0()
301  },
302  {
303  // Italian fanmade translation (CD version)
304  "asylum",
305  "Fanmade",
306  {
307  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
308  {"RES.000", 0, "354521af1d7874fb048b1dea00311fa4", 285198},
309  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
310  AD_LISTEND
311  },
312  Common::IT_ITA,
313  Common::kPlatformWindows,
315  GUIO0()
316  },
317  {
318  // Italian fanmade translation (GOG version)
319  "asylum",
320  "Fanmade",
321  {
322  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
323  {"RES.000", 0, "fa342da449bbf87c43b7c8fc51747ee4", 285198},
324  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
325  AD_LISTEND
326  },
327  Common::IT_ITA,
328  Common::kPlatformWindows,
330  GUIO0()
331  },
332  {
333  // Hebrew fanmade translation (GOG version)
334  "asylum",
335  "Fanmade",
336  {
337  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
338  {"RES.005", 0, "02c06cb1cb4038203c027b53a5d71c05", 18064925},
339  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
340  AD_LISTEND
341  },
342  Common::HE_ISR,
343  Common::kPlatformWindows,
345  GUIO0()
346  },
347  {
348  // English Demo
349  "asylum",
350  "Demo",
351  AD_ENTRY2s("SNTRM.DAT", "6a8079e0b49affc99d148624fbb584a1", 326,
352  "RES.000", "57446ce089c6f9decb7f3faf41d09edf", 9022),
353  Common::EN_ANY,
354  Common::kPlatformWindows,
356  GUIO0()
357  },
358  {
359  // English Alt Demo
360  "asylum",
361  "Demo",
362  AD_ENTRY2s("ASYLUM.DAT", "6a8079e0b49affc99d148624fbb584a1", 326,
363  "RES.000", "a527449397576a019cdd4884a96403e2", 9012),
364  Common::EN_ANY,
365  Common::kPlatformWindows,
367  GUIO0()
368  },
369  {
370  // Basque fanmade translation (GOG version)
371  "asylum",
372  "Fanmade",
373  {
374  {"SNTRM.DAT", 0, "7cfcc457c1f579fbf9878ac175d29374", 8930},
375  {"RES.000", 0, "4d45db59452ff4e7354f6d01e165e27a", 272057},
376  {"SCN.006", 0, "3a5b54da08198012dc0614114782d5fb", 2918330},
377  AD_LISTEND
378  },
379  Common::EU_ESP,
380  Common::kPlatformWindows,
382  GUIO0()
383  },
385 };
386 
387 static const ADFileBasedFallback fileBasedFallback[] = {
388  { &gameDescriptions[0], { "SNTRM.DAT", 0 } }, // default to english version
389  { 0, { 0 } }
390 };
391 
392 } // End of namespace Asylum
Definition: advancedDetector.h:164
Definition: asylum.h:53
Do not add platform to gameid.
Definition: advancedDetector.h:154
Definition: game.h:49
#define AD_TABLE_END_MARKER
Definition: advancedDetector.h:328
#define AD_LISTEND
Definition: advancedDetector.h:104
#define AD_ENTRY2s(f1, x1, s1, f2, x2, s2)
Definition: advancedDetector.h:122
Definition: advancedDetector.h:331
Add "-demo" to gameid.
Definition: advancedDetector.h:157