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 #include "common/translation.h" 26 27 #include "hopkins/detection.h" 28 #include "hopkins/hopkins.h" 29 30 static const DebugChannelDef debugFlagList[] = { 31 {Hopkins::kDebugPath, "Path", "Pathfinding debug level"}, 32 {Hopkins::kDebugGraphics, "Graphics", "Graphics debug level"}, 33 DEBUG_CHANNEL_END 34 }; 35 36 static const PlainGameDescriptor hopkinsGames[] = { 37 {"hopkins", "Hopkins FBI"}, 38 {0, 0} 39 }; 40 41 #include "hopkins/detection_tables.h" 42 43 static const ADExtraGuiOptionsMap optionsList[] = { 44 { 45 GAMEOPTION_GORE_DEFAULT_OFF, 46 { 47 _s("Gore Mode"), 48 _s("Enable Gore Mode when available"), 49 "enable_gore", 50 false 51 } 52 }, 53 54 { 55 GAMEOPTION_GORE_DEFAULT_ON, 56 { 57 _s("Gore Mode"), 58 _s("Enable Gore Mode when available"), 59 "enable_gore", 60 true 61 } 62 }, 63 64 AD_EXTRA_GUI_OPTIONS_TERMINATOR 65 }; 66 67 const static char *directoryGlobs[] = { 68 "voice", 69 "link", 70 0 71 }; 72 73 class HopkinsMetaEngineDetection : public AdvancedMetaEngineDetection { 74 public: HopkinsMetaEngineDetection()75 HopkinsMetaEngineDetection() : AdvancedMetaEngineDetection(Hopkins::gameDescriptions, sizeof(Hopkins::HopkinsGameDescription), hopkinsGames, optionsList) { 76 _maxScanDepth = 3; 77 _directoryGlobs = directoryGlobs; 78 } 79 getEngineId() const80 const char *getEngineId() const override { 81 return "hopkins"; 82 } 83 getName() const84 const char *getName() const override { 85 return "Hopkins FBI"; 86 } 87 getOriginalCopyright() const88 const char *getOriginalCopyright() const override { 89 return "Hopkins FBI (C) 1997-2003 MP Entertainment"; 90 } 91 getDebugChannels() const92 const DebugChannelDef *getDebugChannels() const override { 93 return debugFlagList; 94 } 95 }; 96 97 98 REGISTER_PLUGIN_STATIC(HOPKINS_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, HopkinsMetaEngineDetection); 99