Initial commit
This commit is contained in:
273
engines/lure/detection.cpp
Normal file
273
engines/lure/detection.cpp
Normal file
@@ -0,0 +1,273 @@
|
||||
/* ScummVM - Graphic Adventure Engine
|
||||
*
|
||||
* ScummVM is the legal property of its developers, whose names
|
||||
* are too numerous to list here. Please refer to the COPYRIGHT
|
||||
* file distributed with this source distribution.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "base/plugins.h"
|
||||
|
||||
#include "engines/advancedDetector.h"
|
||||
|
||||
#include "common/translation.h"
|
||||
|
||||
#include "lure/detection.h"
|
||||
#include "lure/lure.h"
|
||||
|
||||
static const PlainGameDescriptor lureGames[] = {
|
||||
{"lure", "Lure of the Temptress"},
|
||||
{nullptr, nullptr}
|
||||
};
|
||||
|
||||
static const DebugChannelDef debugFlagList[] = {
|
||||
{Lure::kLureDebugScripts, "scripts", "Scripts debugging"},
|
||||
{Lure::kLureDebugAnimations, "animations", "Animations debugging"},
|
||||
{Lure::kLureDebugHotspots, "hotspots", "Hotspots debugging"},
|
||||
{Lure::kLureDebugFights, "fights", "Fights debugging"},
|
||||
{Lure::kLureDebugSounds, "sounds", "Sounds debugging"},
|
||||
{Lure::kLureDebugStrings, "strings", "Strings debugging"},
|
||||
DEBUG_CHANNEL_END
|
||||
};
|
||||
|
||||
namespace Lure {
|
||||
|
||||
static const LureGameDescription gameDescriptions[] = {
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"VGA",
|
||||
AD_ENTRY1("disk1.vga", "b2a8aa6d7865813a17a3c636e063572e"),
|
||||
Common::EN_ANY,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
#ifdef USE_TTS
|
||||
GUIO2(GAMEOPTION_TTS_NARRATOR, GAMEOPTION_COPY_PROTECTION)
|
||||
#else
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
#endif
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
{ // Konami VGA version. Assembled 11:13:50 on 08/04/92
|
||||
// Bugreport #11441
|
||||
{
|
||||
"lure",
|
||||
"Konami VGA",
|
||||
AD_ENTRY1s("disk1.vga", "fbb0fca025579c0eda81d832d1fa5567", 615008),
|
||||
Common::EN_ANY,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
#ifdef USE_TTS
|
||||
GUIO2(GAMEOPTION_TTS_NARRATOR, GAMEOPTION_COPY_PROTECTION)
|
||||
#else
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
#endif
|
||||
},
|
||||
GF_FLOPPY | GF_KONAMI
|
||||
},
|
||||
|
||||
{ // Konami VGA version. Assembled 09:19:10 on 09/23/92
|
||||
{
|
||||
"lure",
|
||||
"Konami VGA",
|
||||
AD_ENTRY1s("disk1.vga", "fe11231363593982f76e0a64e988a284", 612352),
|
||||
Common::EN_ANY,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
#ifdef USE_TTS
|
||||
GUIO2(GAMEOPTION_TTS_NARRATOR, GAMEOPTION_COPY_PROTECTION)
|
||||
#else
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
#endif
|
||||
},
|
||||
GF_FLOPPY | GF_KONAMI
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"EGA",
|
||||
AD_ENTRY1("disk1.ega", "e9c9fdd8a19f7910d68e53cb84651273"),
|
||||
Common::EN_ANY,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
#ifdef USE_TTS
|
||||
GUIO2(GAMEOPTION_TTS_NARRATOR, GAMEOPTION_COPY_PROTECTION)
|
||||
#else
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
#endif
|
||||
},
|
||||
GF_FLOPPY | GF_EGA
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"VGA",
|
||||
AD_ENTRY1("disk1.vga", "cf69d5ada228dd74f89046691c16aafb"),
|
||||
Common::IT_ITA,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"EGA",
|
||||
AD_ENTRY1("disk1.ega", "b80aced0321f64c58df2c7d3d74dfe79"),
|
||||
Common::IT_ITA,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY | GF_EGA
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"",
|
||||
AD_ENTRY1("disk1.vga", "7aa19e444dab1ac7194d9f7a40ffe54a"),
|
||||
Common::DE_DEU,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"",
|
||||
AD_ENTRY1("disk1.vga", "894a2c2caeccbad2fc2f4a79a8ee47b0"),
|
||||
Common::DE_DEU,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"",
|
||||
AD_ENTRY1("disk1.vga", "1c94475c1bb7e0e88c1757d3b5377e94"),
|
||||
Common::FR_FRA,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"",
|
||||
AD_ENTRY1("disk1.vga", "1751145b653959f7a64fe1618d6b97ac"),
|
||||
Common::ES_ESP,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
// Russian OG Edition v1.0
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"1.0",
|
||||
AD_ENTRY1("disk1.vga", "04cdcaa9f0cadca492f7aff0c8adfe06"),
|
||||
Common::RU_RUS,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
// Russian OG Edition v1.1
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
"1.1",
|
||||
AD_ENTRY1("disk1.vga", "3f27adff8e8b279f12aaf3d808e84f02"),
|
||||
Common::RU_RUS,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_NO_FLAGS,
|
||||
GUIO1(GAMEOPTION_COPY_PROTECTION)
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
// Unsupported demo
|
||||
// Bugreport #11501
|
||||
{
|
||||
{
|
||||
"lure",
|
||||
MetaEngineDetection::GAME_NOT_IMPLEMENTED, // Reason for being unsupported
|
||||
AD_ENTRY1s("disk1.vga", "7a6aa0e958450c33b70b664d9f841ad1", 621984),
|
||||
Common::RU_RUS,
|
||||
Common::kPlatformDOS,
|
||||
ADGF_DEMO | ADGF_UNSUPPORTED,
|
||||
GUIO0()
|
||||
},
|
||||
GF_FLOPPY
|
||||
},
|
||||
|
||||
|
||||
{ AD_TABLE_END_MARKER, 0 }
|
||||
};
|
||||
|
||||
} // End of namespace Lure
|
||||
|
||||
class LureMetaEngineDetection : public AdvancedMetaEngineDetection<Lure::LureGameDescription> {
|
||||
public:
|
||||
LureMetaEngineDetection() : AdvancedMetaEngineDetection(Lure::gameDescriptions, lureGames) {
|
||||
_md5Bytes = 1024;
|
||||
|
||||
// Use kADFlagUseExtraAsHint to distinguish between EGA and VGA versions
|
||||
// of italian Lure when their datafiles sit in the same directory.
|
||||
_flags = kADFlagUseExtraAsHint;
|
||||
_guiOptions = GUIO1(GUIO_NOSPEECH);
|
||||
}
|
||||
|
||||
const char *getName() const override {
|
||||
return "lure";
|
||||
}
|
||||
|
||||
const char *getEngineName() const override {
|
||||
return "Lure of the Temptress";
|
||||
}
|
||||
|
||||
const char *getOriginalCopyright() const override {
|
||||
return "Lure of the Temptress (C) Revolution";
|
||||
}
|
||||
|
||||
const DebugChannelDef *getDebugChannels() const override {
|
||||
return debugFlagList;
|
||||
}
|
||||
};
|
||||
|
||||
REGISTER_PLUGIN_STATIC(LURE_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, LureMetaEngineDetection);
|
||||
Reference in New Issue
Block a user