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 #include "engines/advancedDetector.h"
23 #include "engines/mm/detection.h"
24 
25 namespace MM {
26 
27 #define GUIO_XEEN GUIO5(GAMEOPTION_SHOW_ITEM_COSTS, GAMEOPTION_DURABLE_ARMOR, GAMEOPTION_SHOW_HP_SP_BARS, GAMEOPTION_COPY_PROTECTION, GAMEOPTION_TTS)
28 
29 static const MightAndMagicGameDescription GAME_DESCRIPTIONS[] = {
30  {
31  // Might and Magic 1
32  {
33  "mm1",
34  nullptr,
35  AD_ENTRY1s("wallpix.dta", "86a7ef03fd5bf434d83012b07fa92680", 123059),
36  Common::EN_ANY,
37  Common::kPlatformDOS,
39  GUIO1(GAMEOPTION_TTS)
40  },
41  GType_MightAndMagic1,
42  0
43  },
44 
45  {
46  // Might and Magic 1 (Enhanced)
47  {
48  "mm1_enh",
49  nullptr,
50  AD_ENTRY1s("wallpix.dta", "86a7ef03fd5bf434d83012b07fa92680", 123059),
51  Common::EN_ANY,
52  Common::kPlatformDOS,
54  GUIO1(GAMEOPTION_TTS)
55  },
56  GType_MightAndMagic1,
57  GF_ENHANCED
58  },
59 
60  {
61  // Might and Magic 1 (Gfx Pack)
62  // This isn't directly supported, because using it would allow playing
63  // the game without actually having the original game files
64  {
65  "mm1",
66  nullptr,
67  AD_ENTRY1s("wallpix.dta", "64af4dad1f86aedf307e8184a9f12ba9", 164220),
68  Common::EN_ANY,
69  Common::kPlatformDOS,
71  GUIO1(GAMEOPTION_TTS)
72  },
73  GType_MightAndMagic1,
74  GF_GFX_PACK
75  },
76 
77  {
78  // World of Xeen
79  {
80  "worldofxeen",
81  nullptr,
82  AD_ENTRY2s("xeen.cc", "0cffbab533d9afe140e69ec93096f43e", 13435646,
83  "dark.cc", "df194483ecea6abc0511637d712ced7c", 11217676),
84  Common::EN_ANY,
85  Common::kPlatformDOS,
87  GUIO_XEEN
88  },
89  GType_WorldOfXeen,
90  0
91  },
92 
93  {
94  // World of Xeen (Monster Spawn Mod v1.0), Bugreport #12714
95  {
96  "worldofxeen",
97  "Monster Spawn Mod v1.0",
98  AD_ENTRY2s("xeen.cc", "37767811a52fb54a8f2be3b45acc91a9", 13536623,
99  "dark.cc", "a4dcb0731ad3818fdd908f17230ee773", 11222393),
100  Common::EN_ANY,
101  Common::kPlatformDOS,
103  GUIO_XEEN
104  },
105  GType_WorldOfXeen,
106  0
107  },
108 
109  {
110  // World of Xeen (Bestseller Games Magazine #6 + #8 German)
111  {
112  "worldofxeen",
113  nullptr,
114  {
115  {"xeen.cc", 0, "f4e4b3ddc43bd102dbe1637f480f1fa1", 13214150},
116  {"dark.cc", 0, "84a86bbbc5f2fe96c0b0325485ed8203", 11173657},
117  {"intro.cc", 0, "e47a7ab0223cf32b2d87eed91d024c35", 8899953},
118  AD_LISTEND
119  },
120  Common::DE_DEU,
121  Common::kPlatformDOS,
123  GUIO_XEEN
124  },
125  GType_WorldOfXeen,
126  0
127  },
128 
129  {
130  // World of Xeen (GOG German)
131  {
132  "worldofxeen",
133  nullptr,
134  AD_ENTRY2s("xeen.cc", "f4e4b3ddc43bd102dbe1637f480f1fa1", 13214150,
135  "dark.cc", "84a86bbbc5f2fe96c0b0325485ed8203", 11168312),
136  Common::DE_DEU,
137  Common::kPlatformDOS,
139  GUIO_XEEN
140  },
141  GType_WorldOfXeen,
142  0
143  },
144 
145  {
146  // World of Xeen (2 CD talkie version)
147  {
148  "worldofxeen",
149  "CD",
150  AD_ENTRY2s("xeen.cc", "964078c53f649937ce9a1a3596ce3d9f", 13438429,
151  "dark.cc", "7f755ce39ea614fa6adb016f8bfc6e43", 11288403),
152  Common::EN_ANY,
153  Common::kPlatformDOS,
154  ADGF_CD,
155  GUIO_XEEN
156  },
157  GType_WorldOfXeen,
158  0
159  },
160 
161  {
162  // World of Xeen French- French untested
163  // https://bugs.scummvm.org/ticket/12559
164  {
165  "worldofxeen",
166  nullptr,
167  AD_ENTRY2s("xeen.cc", "b9bb33bbd3783e7930ddedb189d7ba54", 13203565,
168  "dark.cc", "437618b6b5e76f174719dcb529edbfbb", 11152923),
169  Common::FR_FRA,
170  Common::kPlatformDOS,
172  GUIO_XEEN
173  },
174  GType_WorldOfXeen,
175  0
176  },
177 
178  {
179  // World of Xeen, Spanish fan-translation
180  // https://bugs.scummvm.org/ticket/14976
181  {
182  "worldofxeen",
183  "CD",
184  AD_ENTRY2s("xeen.cc", "8ca98eba894b104e82963b0f4952e795", 13445166,
185  "dark.cc", "9f319d7457e822f2484fa1daa26b2687", 11331280),
186  Common::ES_ESP,
187  Common::kPlatformDOS,
188  ADGF_CD,
189  GUIO_XEEN
190  },
191  GType_WorldOfXeen,
192  0
193  },
194 
195  {
196  // World of Xeen (DOS non-interactive demo)
197  {
198  "worldofxeen",
199  "Non-Interactive Demo",
200  AD_ENTRY1s("demo.cc", "bcd6775323833dc8dd2d930c3b98da03", 4556916),
201  Common::EN_ANY,
202  Common::kPlatformDOS,
204  GUIO0()
205  },
206  GType_WorldOfXeen,
207  0
208  },
209 
210  {
211  // Clouds of Xeen
212  {
213  "cloudsofxeen",
214  nullptr,
215  AD_ENTRY1s("xeen.cc", "0cffbab533d9afe140e69ec93096f43e", 13435646),
216  Common::EN_ANY,
217  Common::kPlatformDOS,
219  GUIO_XEEN
220  },
221  GType_Clouds,
222  0
223  },
224 
225  {
226  // Clouds of Xeen (GOG, Bestseller Games Magazine #6 German)
227  {
228  "cloudsofxeen",
229  nullptr,
230  AD_ENTRY1s("xeen.cc", "f4e4b3ddc43bd102dbe1637f480f1fa1", 13214150),
231  Common::DE_DEU,
232  Common::kPlatformDOS,
234  GUIO_XEEN
235  },
236  GType_Clouds,
237  0
238  },
239 
240  {
241  // Clouds of Xeen, Russian fan-translation
242  {
243  "cloudsofxeen",
244  nullptr,
245  AD_ENTRY1s("xeen.cc", "1dead179f65bbb1ba11dd51d69768489", 13417817),
246  Common::RU_RUS,
247  Common::kPlatformDOS,
249  GUIO_XEEN
250  },
251  GType_Clouds,
252  0
253  },
254 
255  {
256  // Clouds of Xeen (Chinese)
257  {
258  "cloudsofxeen",
259  nullptr,
260  AD_ENTRY1s("xeen.cc", "1fea0587fe139b13f4effa2b5791bd80", 13859999),
261  Common::ZH_TWN,
262  Common::kPlatformDOS,
264  GUIO_XEEN
265  },
266  GType_Clouds,
267  0
268  },
269 
270  {
271  // Clouds of Xeen- French untested
272  // https://bugs.scummvm.org/ticket/12557
273  {
274  "cloudsofxeen",
275  nullptr,
276  AD_ENTRY1s("xeen.cc", "b9bb33bbd3783e7930ddedb189d7ba54", 13203565),
277  Common::FR_FRA,
278  Common::kPlatformDOS,
280  GUIO_XEEN
281  },
282  GType_Clouds,
283  0
284  },
285 
286  {
287  // Clouds of Xeen (DOS non-interactive demo)
288  {
289  "cloudsofxeen",
290  "Non-Interactive Demo",
291  AD_ENTRY1s("logobak.raw", "68425e43f4b0c74f5ff448d1f3c9855c", 64000),
292  Common::EN_ANY,
293  Common::kPlatformDOS,
295  GUIO0()
296  },
297  GType_Clouds,
298  0
299  },
300 
301  {
302  // Darkside of Xeen
303  {
304  "darksideofxeen",
305  nullptr,
306  AD_ENTRY1s("dark.cc", "df194483ecea6abc0511637d712ced7c", 11217676),
307  Common::EN_ANY,
308  Common::kPlatformDOS,
310  GUIO_XEEN
311  },
312  GType_DarkSide,
313  0
314  },
315 
316  {
317  // Darkside of Xeen (GOG German)
318  {
319  "darksideofxeen",
320  nullptr,
321  AD_ENTRY1s("dark.cc", "84a86bbbc5f2fe96c0b0325485ed8203", 11168312),
322  Common::DE_DEU,
323  Common::kPlatformDOS,
325  GUIO_XEEN
326  },
327  GType_DarkSide,
328  0
329  },
330 
331  {
332  // Darkside of Xeen (Bestseller Games Magazine #8 German)
333  {
334  "darksideofxeen",
335  nullptr,
336  AD_ENTRY2s("dark.cc", "84a86bbbc5f2fe96c0b0325485ed8203", 11173657,
337  "intro.cc", "e47a7ab0223cf32b2d87eed91d024c35", 8899953),
338  Common::DE_DEU,
339  Common::kPlatformDOS,
341  GUIO_XEEN
342  },
343  GType_DarkSide,
344  0
345  },
346 
347  {
348  // Darkside of Xeen (Chinese)
349  {
350  "darksideofxeen",
351  nullptr,
352  AD_ENTRY1s("dark.cc", "4dcbcdb0be885afebc2ab6c9e60c434e", 11137412),
353  Common::ZH_TWN,
354  Common::kPlatformDOS,
356  GUIO_XEEN
357  },
358  GType_DarkSide,
359  0
360  },
361 
362  {
363  // Darkside of Xeen- French untested
364  // https://bugs.scummvm.org/ticket/12558
365  {
366  "darksideofxeen",
367  nullptr,
368  AD_ENTRY1s("dark.cc", "437618b6b5e76f174719dcb529edbfbb", 11152923),
369  Common::FR_FRA,
370  Common::kPlatformDOS,
372  GUIO_XEEN
373  },
374  GType_DarkSide,
375  0
376  },
377 
378  {
379  // Darkside of Xeen (DOS non-interactive demo)
380  {
381  "darksideofxeen",
382  "Non-Interactive Demo",
383  AD_ENTRY1s("demo.cc", "2c320db380a479652a27a604c7c357b6", 5017135),
384  Common::EN_ANY,
385  Common::kPlatformDOS,
387  GUIO0()
388  },
389  GType_DarkSide,
390  0
391  },
392 
393  {
394  // Swords of Xeen
395  {
396  "swordsofxeen",
397  nullptr,
398  AD_ENTRY1s("swrd.cc", "0d51c3457070cc7d1a596da9241924a5", 13026924),
399  Common::EN_ANY,
400  Common::kPlatformDOS,
402  GUIO_XEEN
403  },
404  GType_Swords,
405  0
406  },
407 
408  { AD_TABLE_END_MARKER, 0, 0 }
409 };
410 
411 } // End of namespace MM
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
Add "-cd" to gameid.
Definition: advancedDetector.h:155
#define AD_LISTEND
Definition: advancedDetector.h:104
Definition: detection.h:27
#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