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 namespace Ultima {
23 
24 #define GUI_OPTIONS_ULTIMA1 GUIO0()
25 #define GUI_OPTIONS_ULTIMA4 GUIO1(GUIO_NOSPEECH)
26 #define GUI_OPTIONS_ULTIMA6 GUIO0()
27 #define GUI_OPTIONS_ULTIMA8 GUIO9(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_FOOTSTEP_SOUNDS, GAMEOPTION_JUMP_TO_MOUSE, GAMEOPTION_FONT_REPLACEMENT, GAMEOPTION_FONT_ANTIALIASING)
28 #define GUI_OPTIONS_REMORSE GUIO6(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER)
29 #define GUI_OPTIONS_REGRET GUIO7(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER, GAMEOPTION_ALWAYS_CHRISTMAS)
30 #define GUI_OPTIONS_REGRET_DEMO GUIO6(GUIO_NOMIDI, GAMEOPTION_FRAME_SKIPPING, GAMEOPTION_FRAME_LIMITING, GAMEOPTION_CHEATS, GAMEOPTION_HIGH_RESOLUTION, GAMEOPTION_CAMERA_WITH_SILENCER)
31 #define GUI_OPTIONS_MARTIAN_DREAMS GUIO0()
32 #define GUI_OPTIONS_SAVAGE_EMPIRE GUIO0()
33 
34 // Ultima 6 normal mode only
35 #define ENTRY_ULTIMA6_NORMAL(FILENAME, MD5, FILESIZE, LANG, PLATFORM) {{"ultima6", 0, AD_ENTRY1s(FILENAME, MD5, FILESIZE), LANG, PLATFORM, ADGF_NO_FLAGS, GUI_OPTIONS_ULTIMA6}, GAME_ULTIMA6, 0}
36 
37 // Ultima 6 enhanced mode only
38 #define ENTRY_ULTIMA6_ENHANCED(FILENAME, MD5, FILESIZE, LANG, PLATFORM) {{"ultima6_enh", 0, AD_ENTRY1s(FILENAME, MD5, FILESIZE), LANG, PLATFORM, ADGF_NO_FLAGS, GUI_OPTIONS_ULTIMA6}, GAME_ULTIMA6, GF_VGA_ENHANCED}
39 
40 // Ultima 6 both normal and enhanced mode (this should normally be used)
41 #define ENTRY_ULTIMA6(FILENAME, MD5, FILESIZE, LANG, PLATFORM) \
42  ENTRY_ULTIMA6_NORMAL(FILENAME, MD5, FILESIZE, LANG, PLATFORM), \
43  ENTRY_ULTIMA6_ENHANCED(FILENAME, MD5, FILESIZE, LANG, PLATFORM)
44 
45 // Ultima 6 normal mode only - unstable (currently only used for the PC98 version)
46 #define ENTRY_ULTIMA6_NORMAL_UNSTABLE(FILENAME, MD5, FILESIZE, LANG, PLATFORM) {{"ultima6", 0, AD_ENTRY1s(FILENAME, MD5, FILESIZE), LANG, PLATFORM, ADGF_UNSTABLE, GUI_OPTIONS_ULTIMA6}, GAME_ULTIMA6, 0}
47 
48 static const UltimaGameDescription GAME_DESCRIPTIONS[] = {
49  {
50  // Ultima I - The First Age of Darkness
51  {
52  "ultima1",
53  "VGA Enhanced",
54  {
55  { "maptiles.vga", 0, "d4b67e17affe64c0ddb48511bfe4cf37", 47199 },
56  { "objtiles.vga", 0, "1a1446970d095aeb03bcf6dcec40d6e2", 289344 },
57  { "map.bin", 0, "f99633a0110ccf90837ab161be56cf1c", 13104 },
59  },
60  Common::EN_ANY,
61  Common::kPlatformDOS,
63  GUI_OPTIONS_ULTIMA1
64  },
65  GAME_ULTIMA1,
66  GF_VGA_ENHANCED
67  },
68 
69  {
70  // Ultima I - The First Age of Darkness, PC98 version
71  {
72  "ultima1",
73  0,
74  AD_ENTRY2s("egctown.bin", "4f7de68f6689cf9617aa1ea03240137e", 4896,
75  "map.bin", "f99633a0110ccf90837ab161be56cf1c", 13104),
76  Common::JA_JPN,
77  Common::kPlatformPC98,
79  GUI_OPTIONS_ULTIMA1
80  },
81  GAME_ULTIMA1,
82  0
83  },
84 
85  {
86  // Ultima I - The First Age of Darkness
87  {
88  "ultima1",
89  0,
90  AD_ENTRY1s("map.bin", "f99633a0110ccf90837ab161be56cf1c", 13104),
91  Common::EN_ANY,
92  Common::kPlatformDOS,
94  GUI_OPTIONS_ULTIMA1
95  },
96  GAME_ULTIMA1,
97  0
98  },
99 
100  {
101  // Ultima IV - Quest of the Avatar
102  {
103  "ultima4",
104  0,
105  AD_ENTRY1s("britain.ult", "304fe52ce5f34b9181052363d74d7505", 1280),
106  Common::EN_ANY,
107  Common::kPlatformDOS,
109  GUI_OPTIONS_ULTIMA4
110  },
111  GAME_ULTIMA4,
112  0
113  },
114 
115  {
116  // Ultima IV - Quest of the Avatar
117  {
118  "ultima4_enh",
119  0,
120  AD_ENTRY1s("britain.ult", "304fe52ce5f34b9181052363d74d7505", 1280),
121  Common::EN_ANY,
122  Common::kPlatformDOS,
124  GUI_OPTIONS_ULTIMA4
125  },
126  GAME_ULTIMA4,
127  GF_VGA_ENHANCED
128  },
129 
130  {
131  // Ultima IV - Quest of the Avatar + French patch
132  {
133  "ultima4",
134  "Fanmade",
135  AD_ENTRY1s("britain.ult", "61b8f1f415e1bfb459ab3831eabd4899", 1280),
136  Common::FR_FRA,
137  Common::kPlatformDOS,
139  GUI_OPTIONS_ULTIMA4
140  },
141  GAME_ULTIMA4,
142  0
143  },
144 
145  {
146  // Ultima IV - Quest of the Avatar + French patch
147  {
148  "ultima4_enh",
149  "Fanmade",
150  AD_ENTRY1s("britain.ult", "61b8f1f415e1bfb459ab3831eabd4899", 1280),
151  Common::FR_FRA,
152  Common::kPlatformDOS,
154  GUI_OPTIONS_ULTIMA4
155  },
156  GAME_ULTIMA4,
157  GF_VGA_ENHANCED
158  },
159 
160  // GOG Ultima VI
161  ENTRY_ULTIMA6("converse.a", "5065716423ef1389e3f7b4946d815c26", 162615,
162  Common::EN_ANY,
163  Common::kPlatformDOS),
164 
165  // Ultima VI - French patch by Docwise Dragon
166  // https://sirjohn.de/en/ultima6/ultima-vi-french-translation-patch/
167  // Note: Not all user interface elements are translated in ScummVM
168  ENTRY_ULTIMA6("converse.a", "35c95d56737d957db7e72193e810053b", 182937,
169  Common::FR_FRA,
170  Common::kPlatformDOS),
171 
172  // Ultima VI - German Patch https://sirjohn.de/ultima-6/
173  // Note: Not all user interface elements are translated in ScummVM
174  ENTRY_ULTIMA6("converse.a", "ae979230b97f8813bdf8f82698847435", 198627,
175  Common::DE_DEU,
176  Common::kPlatformDOS),
177 
178  // Ultima VI - German Patch 1.6 https://sirjohn.de/ultima-6/
179  // Note: Not all user interface elements are translated in ScummVM
180  ENTRY_ULTIMA6("converse.a", "5242f0228bbc9c3a60c7aa6071499688", 198797,
181  Common::DE_DEU,
182  Common::kPlatformDOS),
183 
184  // Ultima VI - German Patch 1.7 https://sirjohn.de/ultima-6/
185  // Note: Not all user interface elements are translated in ScummVM
186  ENTRY_ULTIMA6("converse.a", "f4e9280402baff12e5132e62f7bbb54f", 198810,
187  Common::DE_DEU,
188  Common::kPlatformDOS),
189 
190  // PC98 Ultima 6
191  ENTRY_ULTIMA6_NORMAL_UNSTABLE("converse.a", "99975e79e7cae3ee24a8e33982f60fe4", 190920,
192  Common::JA_JPN,
193  Common::kPlatformPC98),
194 
195  // Ultima VI - Nitpickers Delight older version
196  ENTRY_ULTIMA6("converse.a", "5c15ba2a75fb921b715a1a0bf0152bac", 165874,
197  Common::EN_ANY,
198  Common::kPlatformDOS),
199 
200  // Ultima VI - Nitpickers Delight newer version
201  ENTRY_ULTIMA6("converse.a", "9f77c84a03efc77df2d53544d1275da8", 167604,
202  Common::EN_ANY,
203  Common::kPlatformDOS),
204 
205  // Ultima VI - alternative release
206  // TRAC #14659
207  ENTRY_ULTIMA6("converse.a", "ee22a6ac3964f9ff11a48fcb3f4a9389", 162458,
208  Common::EN_ANY,
209  Common::kPlatformDOS),
210 
211  // Ultima VIII - CD (provided by ddeluca1com, bug #11944)
212  {
213  {
214  "ultima8",
215  "",
216  AD_ENTRY1s("usecode/eusecode.flx", "5494165cbf4b07be04a465e28350e086", 1209018),
217  Common::EN_ANY,
218  Common::kPlatformDOS,
220  GUI_OPTIONS_ULTIMA8
221  },
222  GAME_ULTIMA8,
223  0
224  },
225 
226  // Ultima VIII - Ultima Collection 1998
227  {
228  {
229  "ultima8",
230  "",
231  AD_ENTRY1s("usecode/eusecode.flx", "87c8b584e2947e5e4d99bd8bff6cea2e", 1251108),
232  Common::EN_ANY,
233  Common::kPlatformDOS,
235  GUI_OPTIONS_ULTIMA8
236  },
237  GAME_ULTIMA8,
238  0
239  },
240 
241  // GOG Ultima VIII
242  {
243  {
244  "ultima8",
245  "Gold Edition",
246  AD_ENTRY2s("usecode/eusecode.flx", "c61f1dacde591cb39d452264e281f234", 1251108,
247  "static/eintro.skf", "b34169ece4286735262ac3430c441909", 1297731),
248  Common::EN_ANY,
249  Common::kPlatformDOS,
251  GUI_OPTIONS_ULTIMA8
252  },
253  GAME_ULTIMA8,
254  0
255  },
256 
257  {
258  {
259  "ultima8",
260  "Gold Edition",
261  AD_ENTRY2s("usecode/fusecode.flx", "4017eb8678ee24af0ce8c7647a05509b", 1300957,
262  "static/fintro.skf", "58990327f3e155551a69f41e7dcc0d08", 1275321),
263  Common::FR_FRA,
264  Common::kPlatformDOS,
266  GUI_OPTIONS_ULTIMA8
267  },
268  GAME_ULTIMA8,
269  0
270  },
271 
272  {
273  {
274  "ultima8",
275  "Gold Edition",
276  AD_ENTRY2s("usecode/gusecode.flx", "d69599a46870b66c1b7c02710ed185bd", 1378604,
277  "static/gintro.skf", "4a2f3a996d13dba0528ef73264303bf5", 1264343),
278  Common::DE_DEU,
279  Common::kPlatformDOS,
281  GUI_OPTIONS_ULTIMA8
282  },
283  GAME_ULTIMA8,
284  0
285  },
286 
287  // Fan translation patch for GOG version (provided by Condezer0, bug #14484)
288  {
289  {
290  "ultima8",
291  "Gold Edition",
292  AD_ENTRY2s("usecode/eusecode.flx", "cd4b330e09efd232360fd476bcc6a1d1", 1285847,
293  "static/eintro.skf", "9f8a9d95248ae3ae4b74a24ab88bf95f", 1233678),
294  Common::ES_ESP,
295  Common::kPlatformDOS,
297  GUI_OPTIONS_ULTIMA8
298  },
299  GAME_ULTIMA8,
300  0
301  },
302 
303  // German CD version
304  {
305  {
306  "ultima8",
307  "",
308  AD_ENTRY1s("usecode/gusecode.flx", "dc981f82c6303548ad1c967cdef1a0ea", 1335445),
309  Common::DE_DEU,
310  Common::kPlatformDOS,
312  GUI_OPTIONS_ULTIMA8
313  },
314  GAME_ULTIMA8,
315  0
316  },
317 
318  // French version (provided by habib256 bug #13003)
319  {
320  {
321  "ultima8",
322  "",
323  AD_ENTRY1s("usecode/fusecode.flx", "6f7643af10bffa11debea4533ba47061", 1300957),
324  Common::FR_FRA,
325  Common::kPlatformDOS,
327  GUI_OPTIONS_ULTIMA8
328  },
329  GAME_ULTIMA8,
330  0
331  },
332 
333  {
334  {
335  "ultima8",
336  "",
337  AD_ENTRY1s("usecode/eusecode.flx", "1abad7a58e052ff3d9664df1ab2ddb86", 1136206),
338  Common::ES_ESP,
339  Common::kPlatformDOS,
341  GUI_OPTIONS_ULTIMA8
342  },
343  GAME_ULTIMA8,
344  0
345  },
346 
347  {
348  {
349  "ultima8",
350  "",
351  AD_ENTRY1s("usecode/jusecode.flx", "1793bb252b805bf8d59300690987c605", 1208003),
352  Common::JA_JPN,
353  Common::kPlatformDOS,
355  GUI_OPTIONS_ULTIMA8
356  },
357  GAME_ULTIMA8,
358  0
359  },
360 
361  // Crusader games use a very similar engine to ultima8.
362  // complete. Because each version requires a separate Usecode callback
363  // table, only fully patched versions are marked supported.
364 
365  // GOG Crusader - No Remorse (V1.21)
366  {
367  {
368  "remorse",
369  "",
370  AD_ENTRY1s("usecode/eusecode.flx", "0a0f64507adc4f280129c735ee9cad42", 556613),
371  Common::EN_ANY,
372  Common::kPlatformDOS,
373  ADGF_USECODE_DEFAULT,
374  GUI_OPTIONS_REMORSE
375  },
376  GAME_CRUSADER_REM,
377  0
378  },
379 
380  // Crusader - No Remorse CD version (V1.10) provided by heff978 (#15065)
381  {
382  {
383  "remorse",
384  "",
385  AD_ENTRY1s("usecode/eusecode.flx", "73b413b1ef291c4512f16c719ad746f3", 419591),
386  Common::EN_ANY,
387  Common::kPlatformDOS,
389  GUI_OPTIONS_REMORSE
390  },
391  GAME_CRUSADER_REM,
392  0
393  },
394 
395  // Crusader - No Remorse provided by andy155
396  {
397  {
398  "remorse",
399  "",
400  AD_ENTRY1s("usecode/eusecode.flx", "3fb211f4adfd80595078afc85bdfe7b4", 433143),
401  Common::EN_ANY,
402  Common::kPlatformDOS,
404  GUI_OPTIONS_REMORSE
405  },
406  GAME_CRUSADER_REM,
407  0
408  },
409 
410  // Crusader - No Remorse (V1.01), unpatched data on the GOG CD image
411  {
412  {
413  "remorse",
414  "",
415  AD_ENTRY1s("usecode/eusecode.flx", "8c74327e30088ce93f08a15a7f85b3ce", 418556),
416  Common::EN_ANY,
417  Common::kPlatformDOS,
418  ADGF_UNSTABLE | ADGF_USECODE_ORIG,
419  GUI_OPTIONS_REMORSE
420  },
421  GAME_CRUSADER_REM,
422  0
423  },
424 
425  // Crusader - No Remorse (French) provided by BeWorld2018
426  {
427  {
428  "remorse",
429  "",
430  AD_ENTRY1s("usecode/eusecode.flx", "efbd33d6a5e8f14e9c57f963c3fbe939", 423051),
431  Common::FR_FRA,
432  Common::kPlatformDOS,
433  ADGF_UNSTABLE | ADGF_USECODE_FR,
434  GUI_OPTIONS_REMORSE
435  },
436  GAME_CRUSADER_REM,
437  0
438  },
439 
440  // Crusader - No Remorse (Spanish) provided by Wesker
441  {
442  {
443  "remorse",
444  "",
445  AD_ENTRY1s("usecode/eusecode.flx", "36a16d70c97d0379f1133cc743c31313", 558493),
446  Common::ES_ESP,
447  Common::kPlatformDOS,
448  ADGF_USECODE_ES,
449  GUI_OPTIONS_REMORSE
450  },
451  GAME_CRUSADER_REM,
452  0
453  },
454 
455  // Crusader - No Remorse (Spanish fan patch) provided by Wesker
456  {
457  {
458  "remorse",
459  "Fan Translation",
460  AD_ENTRY1s("usecode/eusecode.flx", "a8b5c421c5d74be8c69fcd4fecadd1dd", 559015),
461  Common::ES_ESP,
462  Common::kPlatformDOS,
463  ADGF_USECODE_DEFAULT,
464  GUI_OPTIONS_REMORSE
465  },
466  GAME_CRUSADER_REM,
467  0
468  },
469 
470  // Crusader - No Remorse (Japanese) provided by Dominus
471  {
472  {
473  "remorse",
474  "",
475  AD_ENTRY1s("usecode/jusecode.flx", "088105959be4f2de1cb9e796e71c5f2d", 554522),
476  Common::JA_JPN,
477  Common::kPlatformWindows,
478  ADGF_UNSTABLE | ADGF_USECODE_JA,
479  GUI_OPTIONS_REMORSE
480  },
481  GAME_CRUSADER_REM,
482  0
483  },
484 
485  // Crusader - No Remorse - Demo V1.12D
486  {
487  {
488  "remorse",
489  "Demo",
490  AD_ENTRY1s("usecode/eusecode.flx", "41cdca35b62f4b2a7bb4c3b1ec782423", 556613),
491  Common::EN_ANY,
492  Common::kPlatformDOS,
493  ADGF_DEMO,
494  GUI_OPTIONS_REMORSE
495  },
496  GAME_CRUSADER_REM,
497  0
498  },
499 
500  // GOG Crusader - No Regret (V1.06)
501  {
502  {
503  "regret",
504  "",
505  AD_ENTRY1s("usecode/eusecode.flx", "1bb360156b7240a1f05eb9bda01c54db", 481652),
506  Common::EN_ANY,
507  Common::kPlatformDOS,
508  ADGF_UNSTABLE | ADGF_USECODE_DEFAULT,
509  GUI_OPTIONS_REGRET
510  },
511  GAME_CRUSADER_REG,
512  0
513  },
514 
515  // Crusader - No Regret - German V1.07NV
516  {
517  {
518  "regret",
519  "",
520  AD_ENTRY1s("usecode/eusecode.flx", "1824d9725de45a8b49f058c12c6cf5c3", 484445),
521  Common::DE_DEU,
522  Common::kPlatformDOS,
523  ADGF_UNSTABLE | ADGF_USECODE_DE,
524  GUI_OPTIONS_REGRET
525  },
526  GAME_CRUSADER_REG,
527  0
528  },
529 
530  // Crusader - No Regret - Demo V1.08
531  {
532  {
533  "regret",
534  "Demo",
535  AD_ENTRY1s("usecode/eusecode.flx", "c6416e4716f3c008dba113a2a460367e", 483174),
536  Common::EN_ANY,
537  Common::kPlatformDOS,
539  GUI_OPTIONS_REGRET_DEMO
540  },
541  GAME_CRUSADER_REG,
542  0
543  },
544 
545  // Crusader - No Regret (Spanish) provided by Wesker
546  {
547  {
548  "regret",
549  "",
550  AD_ENTRY1s("usecode/eusecode.flx", "f5906654047ed1dab75760da6426ecfa", 478125),
551  Common::ES_ESP,
552  Common::kPlatformDOS,
553  ADGF_UNSTABLE | ADGF_USECODE_ES,
554  GUI_OPTIONS_REGRET
555  },
556  GAME_CRUSADER_REG,
557  0
558  },
559 
560  // GOG Martian Dreams
561  {
562  {
563  "martiandreams",
564  0,
565  AD_ENTRY1s("talk.lzc", "6efafc030cb552028c564897e40d87b5", 409705),
566  Common::EN_ANY,
567  Common::kPlatformDOS,
569  GUI_OPTIONS_MARTIAN_DREAMS
570  },
571  GAME_MARTIAN_DREAMS,
572  0
573  },
574 
575  // GOG Martian Dreams - Enhanced
576  {
577  {
578  "martiandreams_enh",
579  0,
580  AD_ENTRY1s("talk.lzc", "6efafc030cb552028c564897e40d87b5", 409705),
581  Common::EN_ANY,
582  Common::kPlatformDOS,
584  GUI_OPTIONS_MARTIAN_DREAMS
585  },
586  GAME_MARTIAN_DREAMS,
587  GF_VGA_ENHANCED
588  },
589 
590 
591  // The Savage Empire v1.6
592  {
593  {
594  "thesavageempire",
595  0,
596  AD_ENTRY1s("talk.lzc", "bef60fbc3cc478b2a2e8f0883652b2f3", 160784),
597  Common::EN_ANY,
598  Common::kPlatformDOS,
600  GUI_OPTIONS_SAVAGE_EMPIRE
601  },
602  GAME_SAVAGE_EMPIRE,
603  0
604  },
605 
606  // The Savage Empire v1.6
607  {
608  {
609  "thesavageempire_enh",
610  0,
611  AD_ENTRY1s("talk.lzc", "bef60fbc3cc478b2a2e8f0883652b2f3", 160784),
612  Common::EN_ANY,
613  Common::kPlatformDOS,
615  GUI_OPTIONS_SAVAGE_EMPIRE
616  },
617  GAME_SAVAGE_EMPIRE,
618  GF_VGA_ENHANCED
619  },
620 
621  // The Savage Empire v2.1
622  {
623  {
624  "thesavageempire",
625  0,
626  AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
627  Common::EN_ANY,
628  Common::kPlatformDOS,
630  GUI_OPTIONS_SAVAGE_EMPIRE
631  },
632  GAME_SAVAGE_EMPIRE,
633  0
634  },
635 
636  // The Savage Empire v2.1
637  {
638  {
639  "thesavageempire_enh",
640  0,
641  AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
642  Common::EN_ANY,
643  Common::kPlatformDOS,
645  GUI_OPTIONS_SAVAGE_EMPIRE
646  },
647  GAME_SAVAGE_EMPIRE,
648  GF_VGA_ENHANCED
649  },
650 
651  // The Savage Empire v2.1
652  {
653  {
654  "thesavageempire",
655  0,
656  AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
657  Common::EN_ANY,
658  Common::kPlatformDOS,
660  GUIO0()
661  },
662  GAME_SAVAGE_EMPIRE,
663  0
664  },
665 
666  // The Savage Empire v2.1
667  {
668  {
669  "thesavageempire_enh",
670  0,
671  AD_ENTRY1s("talk.lzc", "1bbb5a425e1d7e2e3aa9b887e511ffc6", 160931),
672  Common::EN_ANY,
673  Common::kPlatformDOS,
675  GUIO0()
676  },
677  GAME_SAVAGE_EMPIRE,
678  GF_VGA_ENHANCED
679  },
680 
681  { AD_TABLE_END_MARKER, (GameId)0, 0 }
682 };
683 
684 } // End of namespace Ultima
Flag to designate not yet officially supported games that are not fit for public testing.
Definition: advancedDetector.h:143
No flags.
Definition: advancedDetector.h:139
#define AD_TABLE_END_MARKER
Definition: advancedDetector.h:328
Definition: detection.h:27
#define AD_LISTEND
Definition: advancedDetector.h:104
#define AD_ENTRY2s(f1, x1, s1, f2, x2, s2)
Definition: advancedDetector.h:122
Add "-demo" to gameid.
Definition: advancedDetector.h:157
#define AD_ENTRY1s(f, x, s)
Definition: advancedDetector.h:116