1 /* ResidualVM - A 3D game interpreter
2  *
3  * ResidualVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the AUTHORS
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 #include "engines/advancedDetector.h"
24 
25 namespace ICB {
26 
27 static const PlainGameDescriptor icbGames[] = {
28 	{ "icb", "In Cold Blood" },
29 	{ 0, 0 }
30 };
31 
32 static const char *directoryGlobs[] = {
33 	"engine",
34 	"linc",
35 	"demo",
36 	0
37 };
38 
39 static const ADGameDescription gameDescriptions[] = {
40 	{
41 		// In Cold Blood
42 		// English GOG Version
43 		"icb",
44 		"GOG",
45 		AD_ENTRY1s("engine.exe", "0c4a7a5046ec13ccac89ab3f959cc217", 837632),
46 		Common::EN_ANY,
47 		Common::kPlatformWindows,
48 		ADGF_NO_FLAGS,
49 		GUIO1(GUIO_NONE)
50 	},
51 
52 	{
53 		// In Cold Blood
54 		// English Demo
55 		"icb",
56 		"Demo",
57 		AD_ENTRY1s("engine.exe", "94222e343795853b0aa59cb9876415ae", 827392),
58 		Common::EN_GRB,
59 		Common::kPlatformWindows,
60 		ADGF_DEMO,
61 		GUIO1(GUIO_NONE)
62 	},
63 
64 	{
65 		// In Cold Blood
66 		// English Demo
67 		"icb",
68 		"Demo",
69 		AD_ENTRY1s("engine.exe", "d0702069d95423107463001b99a19e73", 939520),
70 		Common::EN_USA,
71 		Common::kPlatformWindows,
72 		ADGF_DEMO,
73 		GUIO1(GUIO_NONE)
74 	},
75 
76 	AD_TABLE_END_MARKER
77 };
78 
79 class IcbMetaEngineDetection : public AdvancedMetaEngineDetection {
80 public:
IcbMetaEngineDetection()81 	IcbMetaEngineDetection() : AdvancedMetaEngineDetection(gameDescriptions, sizeof(ADGameDescription), icbGames) {
82 		_guiOptions = GUIO_NOMIDI;
83 		_maxScanDepth = 3;
84 		_directoryGlobs = directoryGlobs;
85 	}
86 
getName() const87 	virtual const char *getName() const override { return "In Cold Blood Engine"; }
88 
getEngineId() const89 	const char *getEngineId() const override {
90 		return "icb";
91 	}
92 
getOriginalCopyright() const93 	virtual const char *getOriginalCopyright() const override { return "(C) 2000 Revolution Software Ltd"; }
94 };
95 
96 } // End of namespace ICB
97 
98 REGISTER_PLUGIN_STATIC(ICB_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, ICB::IcbMetaEngineDetection);
99