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
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (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, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef ZVISION_DETECTION_TABLES_H
24 #define ZVISION_DETECTION_TABLES_H
25 
26 namespace ZVision {
27 
28 static const PlainGameDescriptor zVisionGames[] = {
29 	{ "zvision", "Z-Vision Game" },
30 	{ "znemesis", "Zork Nemesis: The Forbidden Lands" },
31 	{ "zgi", "Zork: Grand Inquisitor" },
32 	{ 0, 0 }
33 };
34 
35 static const char *directoryGlobs[] = {
36 	"znemscr",
37 	0
38 };
39 
40 #define GAMEOPTION_ORIGINAL_SAVELOAD          GUIO_GAMEOPTIONS1
41 #define GAMEOPTION_DOUBLE_FPS                 GUIO_GAMEOPTIONS2
42 #define GAMEOPTION_ENABLE_VENUS               GUIO_GAMEOPTIONS3
43 #define GAMEOPTION_DISABLE_ANIM_WHILE_TURNING GUIO_GAMEOPTIONS4
44 #define GAMEOPTION_USE_HIRES_MPEG_MOVIES      GUIO_GAMEOPTIONS5
45 
46 static const ADExtraGuiOptionsMap optionsList[] = {
47 
48 	{
49 		GAMEOPTION_ORIGINAL_SAVELOAD,
50 		{
51 			_s("Use original save/load screens"),
52 			_s("Use the original save/load screens instead of the ScummVM ones"),
53 			"originalsaveload",
54 			false
55 		}
56 	},
57 
58 	{
59 		GAMEOPTION_DOUBLE_FPS,
60 		{
61 			_s("Double FPS"),
62 			_s("Increase framerate from 30 to 60 FPS"),
63 			"doublefps",
64 			false
65 		}
66 	},
67 
68 	{
69 		GAMEOPTION_ENABLE_VENUS,
70 		{
71 			_s("Enable Venus"),
72 			_s("Enable the Venus help system"),
73 			"venusenabled",
74 			true
75 		}
76 	},
77 
78 	{
79 		GAMEOPTION_DISABLE_ANIM_WHILE_TURNING,
80 		{
81 			_s("Disable animation while turning"),
82 			_s("Disable animation while turning in panorama mode"),
83 			"noanimwhileturning",
84 			false
85 		}
86 	},
87 
88 	{
89 		GAMEOPTION_USE_HIRES_MPEG_MOVIES,
90 		{
91 			_s("Use high resolution MPEG video"),
92 			_s("Use MPEG video from the DVD version instead of lower resolution AVI"),
93 			"mpegmovies",
94 			true
95 		}
96 	},
97 
98 	AD_EXTRA_GUI_OPTIONS_TERMINATOR
99 };
100 
101 static const ZVisionGameDescription gameDescriptions[] = {
102 
103 	{
104 		// Zork Nemesis English version
105 		{
106 			"znemesis",
107 			0,
108 			AD_ENTRY1s("CSCR.ZFS", "88226e51a205d2e50c67a5237f3bd5f2", 2397741),
109 			Common::EN_ANY,
110 			Common::kPlatformDOS,
111 			ADGF_NO_FLAGS,
112 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_ENABLE_VENUS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
113 		},
114 		GID_NEMESIS
115 	},
116 
117 	{
118 		// Zork Nemesis French version
119 		{
120 			"znemesis",
121 			0,
122 			{
123 				{ "CSCR.ZFS", 0, "f04113357b4748c13efcb58b4629887c", 2577873 },
124 				{ "NEMESIS.STR", 0, "333bcb17bbb7f57cae742fbbe44f56f3", 9219 },
125 				AD_LISTEND
126 			},
127 			Common::FR_FRA,
128 			Common::kPlatformDOS,
129 			ADGF_NO_FLAGS,
130 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_ENABLE_VENUS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
131 		},
132 		GID_NEMESIS
133 	},
134 
135 	{
136 		// Zork Nemesis German version
137 		{
138 			"znemesis",
139 			0,
140 			{
141 				{ "CSCR.ZFS", 0, "f04113357b4748c13efcb58b4629887c", 2577873 },
142 				{ "NEMESIS.STR", 0, "3d1a12b907751653866cffc6d4dfb331", 9505 },
143 				AD_LISTEND
144 			},
145 			Common::DE_DEU,
146 			Common::kPlatformDOS,
147 			ADGF_NO_FLAGS,
148 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_ENABLE_VENUS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
149 		},
150 		GID_NEMESIS
151 	},
152 
153 	{
154 		// Zork Nemesis Italian version
155 		{
156 			"znemesis",
157 			0,
158 			{
159 				{ "CSCR.ZFS", 0, "f04113357b4748c13efcb58b4629887c", 2577873 },
160 				{ "NEMESIS.STR", 0, "7c568feca8d9f9ae855c47183612c305", 9061 },
161 				AD_LISTEND
162 			},
163 			Common::IT_ITA,
164 			Common::kPlatformDOS,
165 			ADGF_NO_FLAGS,
166 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_ENABLE_VENUS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
167 		},
168 		GID_NEMESIS
169 	},
170 
171 	{
172 		// Zork Nemesis English demo version
173 		{
174 			"znemesis",
175 			"Demo",
176 			AD_ENTRY1s("SCRIPTS.ZFS", "64f1e881394e9462305104f99513c833", 380539),
177 			Common::EN_ANY,
178 			Common::kPlatformWindows,
179 			ADGF_DEMO,
180 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_ENABLE_VENUS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
181 		},
182 		GID_NEMESIS
183 	},
184 
185 	{
186 		// Zork Grand Inquisitor English CD version
187 		{
188 			"zgi",
189 			"CD",
190 			AD_ENTRY1s("SCRIPTS.ZFS", "81efd40ecc3d22531e211368b779f17f", 8336944),
191 			Common::EN_ANY,
192 			Common::kPlatformWindows,
193 			ADGF_NO_FLAGS,
194 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
195 		},
196 		GID_GRANDINQUISITOR
197 	},
198 
199 	{
200 		// Zork Grand Inquisitor French CD version, reported by ulrichh on IRC
201 		{
202 			"zgi",
203 			"CD",
204 			AD_ENTRY1s("SCRIPTS.ZFS", "4d1ec4ade7ecc9ee9ec591d43ca3d213", 8338133),
205 			Common::FR_FRA,
206 			Common::kPlatformWindows,
207 			ADGF_NO_FLAGS,
208 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
209 		},
210 		GID_GRANDINQUISITOR
211 	},
212 
213 	{
214 		// Zork Grand Inquisitor German CD version, reported by breit in bug #6760
215 		{
216 			"zgi",
217 			"CD",
218 			AD_ENTRY1s("SCRIPTS.ZFS", "b7ac7e331b9b7f884590b0b325b560c8", 8338133),
219 			Common::DE_DEU,
220 			Common::kPlatformWindows,
221 			ADGF_NO_FLAGS,
222 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
223 		},
224 		GID_GRANDINQUISITOR
225 	},
226 
227 	{
228 		// Zork Grand Inquisitor Spanish CD version, reported by dianiu in bug #6764
229 		{
230 			"zgi",
231 			"CD",
232 			AD_ENTRY1s("SCRIPTS.ZFS", "5cdc4b99c1134053af135aae71326fd1", 8338141),
233 			Common::ES_ESP,
234 			Common::kPlatformWindows,
235 			ADGF_NO_FLAGS,
236 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
237 		},
238 		GID_GRANDINQUISITOR
239 	},
240 
241 	{
242 		// Zork Grand Inquisitor English DVD version
243 		{
244 			"zgi",
245 			"DVD",
246 			AD_ENTRY1s("SCRIPTS.ZFS", "03157a3399513bfaaf8dc6d5ab798b36", 8433326),
247 			Common::EN_ANY,
248 			Common::kPlatformWindows,
249 			GF_DVD,
250 #if defined(USE_MPEG2) && defined(USE_A52)
251 			GUIO4(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING, GAMEOPTION_USE_HIRES_MPEG_MOVIES)
252 #else
253 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
254 #endif
255 		},
256 		GID_GRANDINQUISITOR
257 	},
258 
259 	{
260 		// Zork Grand Inquisitor English demo version
261 		{
262 			"zgi",
263 			"Demo",
264 			AD_ENTRY1s("SCRIPTS.ZFS", "71a2494fd2fb999347deb13401e9b998", 304239),
265 			Common::EN_ANY,
266 			Common::kPlatformWindows,
267 			ADGF_DEMO,
268 			GUIO3(GAMEOPTION_ORIGINAL_SAVELOAD, GAMEOPTION_DOUBLE_FPS, GAMEOPTION_DISABLE_ANIM_WHILE_TURNING)
269 		},
270 		GID_GRANDINQUISITOR
271 	},
272 
273 	{
274 		AD_TABLE_END_MARKER,
275 		GID_NONE
276 	}
277 };
278 
279 } // End of namespace ZVision
280 
281 #endif
282