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 #include "base/plugins.h" 24 #include "engines/advancedDetector.h" 25 26 #include "cruise/detection.h" 27 #include "cruise/cruise.h" 28 29 static const PlainGameDescriptor cruiseGames[] = { 30 {"cruise", "Cruise for a Corpse"}, 31 {0, 0} 32 }; 33 34 static const DebugChannelDef debugFlagList[] = { 35 {Cruise::kCruiseDebugScript, "scripts", "Scripts debug level"}, 36 {Cruise::kCruiseDebugSound, "sound", "Sound debug level"}, 37 DEBUG_CHANNEL_END 38 }; 39 40 namespace Cruise { 41 42 static const CRUISEGameDescription gameDescriptions[] = { 43 { 44 { 45 "cruise", 46 "16 colors", 47 AD_ENTRY1("D1", "cd29a4cd9162076e9a18495fe56a48f3"), 48 Common::EN_GRB, 49 Common::kPlatformDOS, 50 ADGF_NO_FLAGS, 51 GUIO0() 52 }, 53 }, 54 { 55 { 56 "cruise", 57 "16 colors", 58 AD_ENTRY1("D1", "41a7a4d426dbd048eb369cfee4bb2717"), 59 Common::FR_FRA, 60 Common::kPlatformDOS, 61 ADGF_NO_FLAGS, 62 GUIO0() 63 }, 64 }, 65 { 66 { 67 "cruise", 68 "256 colors", 69 AD_ENTRY1("D1", "a90d2b9ead6b4d812cd14268672cf178"), 70 Common::EN_ANY, 71 Common::kPlatformDOS, 72 ADGF_NO_FLAGS, 73 GUIO0() 74 }, 75 }, 76 { 77 { 78 "cruise", 79 "256 colors", 80 AD_ENTRY1("D1", "e258865807ea31b2d523340e6f0a606b"), 81 Common::FR_FRA, 82 Common::kPlatformDOS, 83 ADGF_NO_FLAGS, 84 GUIO0() 85 }, 86 }, 87 { 88 { 89 "cruise", 90 "16 colors", 91 AD_ENTRY1("D1", "287d2ec1799e2f881dee23c70be96e81"), 92 Common::DE_DEU, 93 Common::kPlatformDOS, 94 ADGF_NO_FLAGS, 95 GUIO0() 96 }, 97 }, 98 { 99 { 100 "cruise", 101 "256 colors", 102 AD_ENTRY1("D1", "f2a26522d49983c4ae32bcccbb801b02"), 103 Common::DE_DEU, 104 Common::kPlatformDOS, 105 ADGF_NO_FLAGS, 106 GUIO0() 107 }, 108 }, 109 { 110 { 111 "cruise", 112 0, 113 AD_ENTRY1("D1", "70f42a21cc257b01d58667853335f4f1"), 114 Common::DE_DEU, 115 Common::kPlatformAmiga, 116 ADGF_NO_FLAGS, 117 GUIO0() 118 }, 119 }, 120 { // Amiga English US GOLD edition. 121 { 122 "cruise", 123 0, 124 AD_ENTRY1("D1", "de084e9d2c6e4b2cc14803bf849eda3e"), 125 Common::EN_ANY, 126 Common::kPlatformAmiga, 127 ADGF_NO_FLAGS, 128 GUIO0() 129 }, 130 }, 131 { // Amiga Italian US GOLD edition. 132 { 133 "cruise", 134 0, 135 AD_ENTRY1("D1", "a0011075413b7335e003e8e3c9cf51b9"), 136 Common::IT_ITA, 137 Common::kPlatformAmiga, 138 ADGF_NO_FLAGS, 139 GUIO0() 140 }, 141 }, 142 { // Amiga Spanish edition. 143 { 144 "cruise", 145 0, 146 AD_ENTRY1s("D1", "b600d0892a2605b9ead63e1c86a8a0a3", 700576), 147 Common::ES_ESP, 148 Common::kPlatformAmiga, 149 ADGF_NO_FLAGS, 150 GUIO0() 151 }, 152 }, 153 { // AtariST English KixxXL edition. 154 { 155 "cruise", 156 0, 157 AD_ENTRY1("D1", "be78614d5fa34bdb68bb03a2a6130280"), 158 Common::EN_ANY, 159 Common::kPlatformAtariST, 160 ADGF_NO_FLAGS, 161 GUIO0() 162 }, 163 }, 164 { // AtariST French edition. Bugreport #12824 165 { 166 "cruise", 167 0, 168 AD_ENTRY1s("D1", "485ff850b7035316621f632e33f56468", 537311), 169 Common::FR_FRA, 170 Common::kPlatformAtariST, 171 ADGF_NO_FLAGS, 172 GUIO0() 173 }, 174 }, 175 { 176 { 177 "cruise", 178 "256 colors", 179 AD_ENTRY1("D1", "e19a4ab2e24a69087e4ea994a5506231"), 180 Common::IT_ITA, 181 Common::kPlatformDOS, 182 ADGF_NO_FLAGS, 183 GUIO0() 184 }, 185 }, 186 { 187 { 188 "cruise", 189 "256 colors", 190 AD_ENTRY1("D1", "9a302ada55600d96061fda1d63a6ccda"), 191 Common::ES_ESP, 192 Common::kPlatformDOS, 193 ADGF_NO_FLAGS, 194 GUIO0() 195 }, 196 }, 197 {AD_TABLE_END_MARKER} 198 }; 199 200 } 201 202 class CruiseMetaEngineDetection : public AdvancedMetaEngineDetection { 203 public: CruiseMetaEngineDetection()204 CruiseMetaEngineDetection() : AdvancedMetaEngineDetection(Cruise::gameDescriptions, sizeof(Cruise::CRUISEGameDescription), cruiseGames) { 205 _guiOptions = GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI); 206 } 207 getEngineId() const208 const char *getEngineId() const override { 209 return "cruise"; 210 } 211 getName() const212 const char *getName() const override { 213 return "Cinematique evo 2"; 214 } 215 getOriginalCopyright() const216 const char *getOriginalCopyright() const override { 217 return "Cinematique evo 2 (C) Delphine Software"; 218 } 219 getDebugChannels() const220 const DebugChannelDef *getDebugChannels() const override { 221 return debugFlagList; 222 } 223 }; 224 225 REGISTER_PLUGIN_STATIC(CRUISE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, CruiseMetaEngineDetection); 226