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 MADE_DETECTION_TABLES_H
23#define MADE_DETECTION_TABLES_H
24
25#include "made/detection.h"
26
27#include "common/translation.h"
28
29namespace Made {
30
31static const MadeGameDescription gameDescriptions[] = {
32
33 {
34 // NOTE: Return to Zork entries with *.dat are used to detect the game via rtzcd.dat,
35 // which is packed inside rtzcd.red. Entries with *.red refer to the packed file
36 // directly, which is the "official" way.
37
38 // Return to Zork - English CD version 1.0 9/15/93 (installed)
39 // Ticket #8858 submitted by spookypeanut
40 {
41 "rtz",
42 "V1.0, 9/15/93, installed, CD",
43 AD_ENTRY1("rtzcd.dat", "e95c38ded389e39cfbf87a8cb250b12e"),
44 Common::EN_ANY,
45 Common::kPlatformDOS,
47 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
48 },
49 GID_RTZ,
50 0,
51 GF_CD,
52 3, 0,
53 },
54
55 {
56 // Return to Zork - English CD version 1.0 9/15/93
57 // Ticket #8858 submitted by spookypeanut
58 {
59 "rtz",
60 "V1.0, 9/15/93, CD",
61 AD_ENTRY1("rtzcd.red", "cd8b62ece4677c438688c1de3f5379b9"),
62 Common::EN_ANY,
63 Common::kPlatformDOS,
64 ADGF_CD,
65 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
66 },
67 GID_RTZ,
68 0,
69 GF_CD_COMPRESSED,
70 3, 0,
71 },
72
73 {
74 // Return to Zork - English CD version 1.1 12/7/93 (installed)
75 {
76 "rtz",
77 "V1.1, 12/7/93, installed, CD",
78 AD_ENTRY1s("rtzcd.dat", "a1db8c97a78dae10f91d356f16ad07b8", 536064),
79 Common::EN_ANY,
80 Common::kPlatformDOS,
81 ADGF_CD,
82 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
83 },
84 GID_RTZ,
85 0,
86 GF_CD,
87 3, 0,
88 },
89
90 {
91 // Return to Zork - English OEM CD version 1.1 12/7/93
92 {
93 "rtz",
94 "V1.1, 12/7/93, CD",
95 AD_ENTRY1s("rtzcd.red", "c4e2430e6b6c6ff1562a80fb4a9df24c", 276177),
96 Common::EN_ANY,
97 Common::kPlatformDOS,
98 ADGF_CD,
99 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
100 },
101 GID_RTZ,
102 0,
103 GF_CD_COMPRESSED,
104 3, 0,
105 },
106
107 {
108 // Return to Zork - English Retail CD version 1.1 12/7/93
109 {
110 "rtz",
111 "V1.1, 12/7/93, CD",
112 AD_ENTRY1s("rtzcd.red", "c4e2430e6b6c6ff1562a80fb4a9df24c", 276466),
113 Common::EN_ANY,
114 Common::kPlatformDOS,
115 ADGF_CD,
116 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
117 },
118 GID_RTZ,
119 0,
120 GF_CD_COMPRESSED,
121 3, 0,
122 },
123
124 {
125 // Return to Zork - English CD version 1.2 9/29/94 (installed)
126 // Supplied by Dark-Star in the ScummVM forums
127 {
128 "rtz",
129 "V1.2, 9/29/94, installed, CD",
130 AD_ENTRY1("rtzcd.dat", "9d740378da2d16e83d0d0efff01bf83a"),
131 Common::EN_ANY,
132 Common::kPlatformDOS,
133 ADGF_CD,
134 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
135 },
136 GID_RTZ,
137 0,
138 GF_CD,
139 3, 0,
140 },
141
142 {
143 // Return to Zork - English CD version 1.2 9/29/94
144 {
145 "rtz",
146 "V1.2, 9/29/94, CD",
147 {
148 { "rtzcd.red", 0, "946997d8b0aa6cb4e848bad02a1fc3d2", 276584 },
149 { "rtzcd.prj", 0, "974d74410c3c29d50e857863e8bf40e2", 43016792 },
151 },
152 Common::EN_ANY,
153 Common::kPlatformDOS,
154 ADGF_CD,
155 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
156 },
157 GID_RTZ,
158 0,
159 GF_CD_COMPRESSED,
160 3, 0,
161 },
162
163 {
164 // Return to Zork - German CD version 1.2 9/29/94 (installed)
165 // Supplied by Dark-Star in the ScummVM forums
166 {
167 "rtz",
168 "V1.2, 9/29/94, installed, CD",
169 AD_ENTRY1s("rtzcd.dat", "9d740378da2d16e83d0d0efff01bf83a", 525824),
170 Common::DE_DEU,
171 Common::kPlatformDOS,
172 ADGF_CD,
173 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
174 },
175 GID_RTZ,
176 0,
177 GF_CD,
178 3, 0,
179 },
180
181 {
182 // Return to Zork - German CD version 1.2 4/18/95
183 // Supplied by Dark-Star in the ScummVM forums
184 {
185 "rtz",
186 "V1.2, 4/18/95, CD",
187 AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 355442),
188 Common::DE_DEU,
189 Common::kPlatformDOS,
190 ADGF_CD,
191 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
192 },
193 GID_RTZ,
194 0,
195 GF_CD_COMPRESSED,
196 3, 0,
197 },
198
199 {
200 // Return to Zork - Italian CD version 1.2 3/31/95 (installed)
201 // Patch #4225 submitted by goodoldgeorg
202 {
203 "rtz",
204 "V1.2, 3/31/95, installed, CD",
205 AD_ENTRY1s("rtzcd.dat", "5b86035aed0277f96e3d173542b5364a", 523776),
206 Common::IT_ITA,
207 Common::kPlatformDOS,
208 ADGF_CD,
209 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
210 },
211 GID_RTZ,
212 0,
213 GF_CD,
214 3, 0,
215 },
216
217 {
218 // Return to Zork - Italian CD version 1.2 3/31/95
219 // Patch #4225 submitted by goodoldgeorg
220 {
221 "rtz",
222 "V1.2, 3/31/95, CD",
223 AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354971),
224 Common::IT_ITA,
225 Common::kPlatformDOS,
226 ADGF_CD,
227 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
228 },
229 GID_RTZ,
230 0,
231 GF_CD_COMPRESSED,
232 3, 0,
233 },
234
235 {
236 // Return to Zork - French CD version 1.2 5/13/95 (installed)
237 // Patch #4225 submitted by goodoldgeorg
238 {
239 "rtz",
240 "V1.2, 5/13/95, installed, CD",
241 AD_ENTRY1s("rtzcd.dat", "bde8251a8e34e87c54e3f93147d56c9e", 523776),
242 Common::FR_FRA,
243 Common::kPlatformDOS,
244 ADGF_CD,
245 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
246 },
247 GID_RTZ,
248 0,
249 GF_CD,
250 3, 0,
251 },
252
253 {
254 // Return to Zork - French CD version 1.2 5/13/95
255 // Patch #4225 submitted by goodoldgeorg
256 {
257 "rtz",
258 "V1.2, 3/31/95, CD",
259 AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 354614),
260 Common::FR_FRA,
261 Common::kPlatformDOS,
262 ADGF_CD,
263 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
264 },
265 GID_RTZ,
266 0,
267 GF_CD_COMPRESSED,
268 3, 0,
269 },
270
271 {
272 // Return to Zork - Korean CD version 1.2 9/29/94
273 // Dub only. No text was translated, even in menus, so there are no font issues.
274 // submitted by trembyle
275 {
276 "rtz",
277 "V1.2, 9/29/94, CD",
278 {
279 { "rtzcd.red", 0, "946997d8b0aa6cb4e848bad02a1fc3d2", 276584 },
280 { "rtzcd.prj", 0, "3c8644f7ce77b74968637c035c3532d8", 48083511 },
282 },
283 Common::KO_KOR,
284 Common::kPlatformDOS,
285 ADGF_CD,
286 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
287 },
288 GID_RTZ,
289 0,
290 GF_CD_COMPRESSED,
291 3, 0,
292 },
293
294 {
295 // Return to Zork - English floppy version
296 {
297 "rtz",
298 "Floppy",
299 AD_ENTRY1("rtz.prj", "764d02f52ce1c219f2c0066677fba4ce"),
300 Common::EN_ANY,
301 Common::kPlatformDOS,
303 GUIO1(GUIO_NOSPEECH)
304 },
305 GID_RTZ,
306 0,
307 GF_FLOPPY,
308 3, 0,
309 },
310
311 {
312 // Return to Zork - Demo
313 {
314 "rtz",
315 "Demo",
316 {
317 { "demo.dat", 0, "2a6a1354bd5346fad4aee08e5b56caaa", 34304 },
318 { "demo.prj", 0, "46891bd6e5180228fe4b3253d500997b", 1675348 },
320 },
321 Common::EN_ANY,
322 Common::kPlatformDOS,
323 ADGF_DEMO,
324 GUIO0()
325 },
326 GID_RTZ,
327 0,
328 GF_DEMO,
329 3, 0,
330 },
331
332 {
333 // Return to Zork - Standalone CD Demo v1.1
334 {
335 "rtz",
336 "V1.1, 12/6/93, Demo CD",
337 AD_ENTRY1s("rtzcd.red", "827cfb323eae37b385985a2359fae3e9", 133784),
338 Common::EN_ANY,
339 Common::kPlatformDOS,
341 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
342 },
343 GID_RTZ,
344 0,
345 GF_CD_COMPRESSED,
346 3, 0,
347 },
348
349 {
350 // Return to Zork - Demo from Zork Anthology CD
351 // Bugreport #11202
352 {
353 "rtz",
354 "V1.2, 9/8/94, Demo CD",
355 AD_ENTRY1s("rtzcd.red", "946997d8b0aa6cb4e848bad02a1fc3d2", 130683),
356 Common::EN_ANY,
357 Common::kPlatformDOS,
359 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
360 },
361 GID_RTZ,
362 0,
363 GF_CD_COMPRESSED,
364 3, 0,
365 },
366
367 {
368 // Return to Zork - Mac Demo from Zork Anthology CD
369 // Same disc as DOS version (on ISO-9660)
370 // The only resource fork is in the executable
371 {
372 "rtz",
373 "V1.2, 5/4/94, Demo CD",
374 AD_ENTRY1s("Return To Zork", "0c1377afd4b6fc4ee900e1882ac13895", 1714064),
375 Common::EN_ANY,
376 Common::kPlatformMacintosh,
378 GUIO1(GAMEOPTION_INTRO_MUSIC_DIGITAL)
379 },
380 GID_RTZ,
381 0,
382 GF_CD_COMPRESSED,
383 3, 0,
384 },
385
386 {
387 // Return to Zork - Japanese DOS
388 // This is the RTZCD.DAT in the base directory of the FM-Towns CD
389 {
390 "rtz",
391 "",
392 AD_ENTRY1("rtzcd.dat", "c4fccf67ad247f09b94c3c808b138576"),
393 Common::JA_JPN,
394 Common::kPlatformDOS,
395 ADGF_CD,
396 GUIO0()
397 },
398 GID_RTZ,
399 0,
400 GF_CD,
401 3, 0,
402 },
403
404 {
405 // Return to Zork - Japanese FM-Towns
406 // This is in the RTZFM folder of the FM-Towns CD
407 {
408 "rtz",
409 "",
410 AD_ENTRY1("rtzcd.dat", "e949a6a42d82daabfa7d4dc0a87a9843"),
411 Common::JA_JPN,
412 Common::kPlatformFMTowns,
413 ADGF_CD,
414 GUIO1(GUIO_NOASPECT)
415 },
416 GID_RTZ,
417 0,
418 GF_CD,
419 3, 0,
420 },
421
422 {
423 // Return to Zork - Japanese PC-98
424 // This is in the RTZ9821 folder of the FM-Towns CD
425 {
426 "rtz",
427 "",
428 AD_ENTRY1("rtzcd.dat", "0c0117e98530c736a141c2aad6834dc5"),
429 Common::JA_JPN,
430 Common::kPlatformPC98,
431 ADGF_CD,
432 GUIO0()
433 },
434 GID_RTZ,
435 0,
436 GF_CD,
437 3, 0,
438 },
439
440 // The Manhole: Masterpiece Edition is not a MADE engine and cannot be
441 // supported by MADE. It is a HyperCard-like engine
442 {
443 // The Manhole: Masterpiece Edition (GOG/CD)
444 {
445 "manhole",
446 _s("The game is using unsupported engine"),
447 AD_ENTRY1("manhole.dat", "e8cec9bf21e4c50a7ebc193a4e0b48f5"),
448 Common::EN_ANY,
449 Common::kPlatformDOS,
451 GUIO1(GUIO_NOSPEECH)
452 },
453 GID_MANHOLE,
454 0,
455 GF_CD,
456 2, 0,
457 },
458
459 // Bugreport #5855
460 {
461 {
462 "manhole",
463 _s("The game is using unsupported engine"),
464 AD_ENTRY1s("manhole.dat", "df77ad5232757d7149342fb6471de4ed", 99317),
465 Common::EN_ANY,
466 Common::kPlatformDOS,
468 GUIO1(GUIO_NOSPEECH)
469 },
470 GID_MANHOLE,
471 0,
472 GF_CD,
473 2, 0,
474 },
475
476 {
477 // The Manhole: New and Enhanced
478 {
479 "manhole",
480 "",
481 AD_ENTRY1("manhole.dat", "cb21e31ed35c963208343bc995225b73"),
482 Common::EN_ANY,
483 Common::kPlatformDOS,
484 ADGF_CD,
485 GUIO1(GUIO_NOSPEECH)
486 },
487 GID_MANHOLE,
488 0,
489 GF_CD,
490 2, 0,
491 },
492
493 {
494 // The Manhole (EGA, 5.25")
495 {
496 "manhole",
497 "EGA",
498 AD_ENTRY1("manhole.dat", "2b1658292599a861c4cd3cf6cdb3c581"),
499 Common::EN_ANY,
500 Common::kPlatformDOS,
502 GUIO1(GUIO_NOSPEECH)
503 },
504 GID_MANHOLE,
505 0,
506 GF_FLOPPY,
507 1, 0,
508 },
509
510 {
511 // The Manhole
512 {
513 "manhole",
514 "",
515 AD_ENTRY1s("manhole.dat", "2f14b5d87a862aad25701514dc282475", 119667),
516 Common::JA_JPN,
517 Common::kPlatformFMTowns,
519 GUIO1(GUIO_NOSPEECH)
520 },
521 GID_MANHOLE,
522 0,
523 GF_CD,
524 3, 0,
525 },
526
527 {
528 // The Manhole DOS/V
529 // Platform: IBM PS-55, Sega TeraDrive or DOS/V-compatibles
530 // MADE v2.00a JAPAN PC - Copyright (c) 1990, MEDIAGENIC
531 {
532 "manhole",
533 "DOS-V",
534 AD_ENTRY1s("manhole.dat", "14522ee9139ca0823ac0cc15805e1fcc", 112303),
535 Common::JA_JPN,
536 Common::kPlatformDOS,
538 GUIO1(GUIO_NOSPEECH)
539 },
540 GID_MANHOLE,
541 0,
542 GF_FLOPPY,
543 3, 0,
544 },
545
546 {
547 // Leather Goddesses of Phobos 2 (English)
548 {
549 "lgop2",
550 "",
551 AD_ENTRY1s("lgop2.dat", "8137996db200ff67e8f172ff106f2e48", 280280),
552 Common::EN_ANY,
553 Common::kPlatformDOS,
555 GUIO1(GUIO_NOSPEECH)
556 },
557 GID_LGOP2,
558 0,
559 GF_FLOPPY,
560 2, 0,
561 },
562
563 {
564 // Leather Goddesses of Phobos 2 (German)
565 // Supplied by windlepoons (bug tracker #4218)
566 {
567 "lgop2",
568 "",
569 AD_ENTRY1s("lgop2.dat", "a0ffea6a3b7e39bd861edd00c397641c", 299466),
570 Common::DE_DEU,
571 Common::kPlatformDOS,
573 GUIO1(GUIO_NOSPEECH)
574 },
575 GID_LGOP2,
576 0,
577 GF_FLOPPY,
578 2, 0,
579 },
580
581 {
582 // Leather Goddesses of Phobos 2 (French)
583 // Supplied by goodoldgeorg (bug tracker #4219)
584 {
585 "lgop2",
586 "",
587 AD_ENTRY1s("lgop2.dat", "f9e974087af7cf4b7ec2d8dc45d01e0c", 295366),
588 Common::FR_FRA,
589 Common::kPlatformDOS,
591 GUIO1(GUIO_NOSPEECH)
592 },
593 GID_LGOP2,
594 0,
595 GF_FLOPPY,
596 2, 0,
597 },
598
599 {
600 // Leather Goddesses of Phobos 2 (Spanish)
601 // Supplied by goodoldgeorg (bug tracker #4219)
602 {
603 "lgop2",
604 "",
605 AD_ENTRY1s("lgop2.dat", "96eb95b4d75b9a3da0b0d67e3b4a787d", 288984),
606 Common::ES_ESP,
607 Common::kPlatformDOS,
609 GUIO1(GUIO_NOSPEECH)
610 },
611 GID_LGOP2,
612 0,
613 GF_FLOPPY,
614 2, 0,
615 },
616
617 {
618 // Rodney's Funscreen
619 // MS-DOS, Win16 and Tandy VIS all share the same resource but a different player.
620 {
621 "rodney",
622 "",
623 AD_ENTRY1s("rodneys.dat", "a79887dbaa47689facd7c6f09258ba5a", 92990),
624 Common::EN_ANY,
625 Common::kPlatformDOS,
627 GUIO2(GUIO_NOSPEECH, GAMEOPTION_WINDOWS_CURSORS)
628 },
629 GID_RODNEY,
630 0,
631 GF_FLOPPY,
632 2, 0,
633 },
634
635 {
636 // Richard Scarry's Best Neighborhood Disc Ever!
637 // Hybrid CD, this is the MS-DOS version
638 {
639 "rsbestnde",
640 "",
641 AD_ENTRY1s("best.dat", "9c36e7ee85df0d049a106196683e0134", 38400),
642 Common::EN_ANY,
643 Common::kPlatformDOS,
645 GUIO0()
646 },
647 GID_RSBESTNDE,
648 0,
649 0,
650 3, 1,
651 },
652
653 {
654 // Richard Scarry's Best Neighborhood Disc Ever! demo
655 // This is found on the Activision 1.1 RTZ CD-ROM for MS-DOS
656 {
657 "rsbestnde",
658 "Demo",
659 AD_ENTRY1s("bestdemo.dat", "6ef50ec61799d37ed75eada90a76d0e7", 12800),
660 Common::EN_ANY,
661 Common::kPlatformDOS,
663 GUIO0()
664 },
665 GID_RSBESTNDE,
666 0,
667 GF_DEMO,
668 3, 1,
669 },
670
671 {
672 // Richard Scarry's Busiest Neighborhood Disc Ever!
673 // MS-DOS version
674 {
675 "rsbusynde",
676 "",
677 AD_ENTRY1s("busy.dat", "df793b06adb7944684e63f2af08bd48b", 43520),
678 Common::EN_ANY,
679 Common::kPlatformDOS,
681 GUIO0()
682 },
683 GID_RSBUSYNDE,
684 0,
685 0,
686 3, 1,
687 },
688
689 { AD_TABLE_END_MARKER, 0, 0, 0, 0, 0 }
690};
691
696static MadeGameDescription g_fallbackDesc = {
697 {
698 "",
699 "",
700 AD_ENTRY1(0, 0), // This should always be AD_ENTRY1(0, 0) in the fallback descriptor
701 Common::UNK_LANG,
702 Common::kPlatformDOS,
704 GUIO0()
705 },
706 0,
707 0,
708 0,
709 0, 0,
710};
711
712} // End of namespace Made
713
714#endif
#define AD_LISTEND
Definition: advancedDetector.h:104
#define AD_TABLE_END_MARKER
Definition: advancedDetector.h:328
#define AD_ENTRY1(f, x)
Definition: advancedDetector.h:110
#define AD_ENTRY1s(f, x, s)
Definition: advancedDetector.h:116
@ ADGF_DEMO
Add "-demo" to gameid.
Definition: advancedDetector.h:157
@ ADGF_NO_FLAGS
No flags.
Definition: advancedDetector.h:139
@ ADGF_UNSUPPORTED
Definition: advancedDetector.h:146
@ ADGF_CD
Add "-cd" to gameid.
Definition: advancedDetector.h:155
@ ADGF_MACRESFORK
Calculate the MD5 for this entry from the resource fork.
Definition: advancedDetector.h:151
@ ADGF_UNSTABLE
Flag to designate not yet officially supported games that are not fit for public testing.
Definition: advancedDetector.h:143
Definition: console.h:27