mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-12 14:09:28 +00:00
228 lines
8.3 KiB
C++
228 lines
8.3 KiB
C++
/* 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 "common/algorithm.h"
|
|
|
|
#include "base/plugins.h"
|
|
#include "common/translation.h"
|
|
|
|
#include "engines/advancedDetector.h"
|
|
#include "teenagent/teenagent.h"
|
|
|
|
static const DebugChannelDef debugFlagList[] = {
|
|
{TeenAgent::kDebugActor, "Actor", "Enable Actor Debug"},
|
|
{TeenAgent::kDebugAnimation, "Animation", "Enable Animation Debug"},
|
|
{TeenAgent::kDebugCallbacks, "Callbacks", "Enable Callbacks Debug"},
|
|
{TeenAgent::kDebugDialog, "Dialog", "Enable Dialog Debug"},
|
|
{TeenAgent::kDebugFont, "Font", "Enable Font Debug"},
|
|
{TeenAgent::kDebugInventory, "Inventory", "Enable Inventory Debug"},
|
|
{TeenAgent::kDebugMusic, "Music", "Enable Music Debug"},
|
|
{TeenAgent::kDebugObject, "Object", "Enable Object Debug"},
|
|
{TeenAgent::kDebugPack, "Pack", "Enable Pack Debug"},
|
|
{TeenAgent::kDebugScene, "Scene", "Enable Scene Debug"},
|
|
{TeenAgent::kDebugSurface, "Surface", "Enable Surface Debug"},
|
|
DEBUG_CHANNEL_END
|
|
};
|
|
|
|
static const PlainGameDescriptor teenAgentGames[] = {
|
|
{ "teenagent", "Teen Agent" },
|
|
{ 0, 0 }
|
|
};
|
|
|
|
static const ADGameDescription teenAgentGameDescriptions[] = {
|
|
{
|
|
"teenagent",
|
|
"",
|
|
{
|
|
{"off.res", 0, "c5263a726d038bb6780a40eb3b83cc87", 2720432},
|
|
{"on.res", 0, "a0d5e5bbf6fab4bdc7f4094ed85f9639", 153907},
|
|
{"ons.res", 0, "a7e2e8def1f0fb46644c20686af0d91a", 173077},
|
|
{"varia.res", 0, "b5ba6925029c7bc285283da8c2d3042d", 209315},
|
|
{"lan_000.res", 0, "06e409b0a43ff0ced014b93fb8f5dd5b", 535599},
|
|
{"lan_500.res", 0, "c098cc17cc27a1cad4319fb6789aa5a7", 9538457},
|
|
{"mmm.res", 0, "d25033d9bc88662d680b56825e892e5c", 42104},
|
|
{"sam_mmm.res", 0, "a0878ad9a1af39d515e2e0471222f080", 229636},
|
|
{"sam_sam.res", 0, "547a48cc1be9cf30744de8b0b47838f2", 769552},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14672},
|
|
AD_LISTEND
|
|
},
|
|
Common::EN_ANY,
|
|
Common::kPlatformDOS,
|
|
ADGF_NO_FLAGS,
|
|
GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)
|
|
},
|
|
{
|
|
"teenagent",
|
|
"Alt version",
|
|
{
|
|
{"off.res", 0, "c5263a726d038bb6780a40eb3b83cc87", 2720432},
|
|
{"on.res", 0, "a0d5e5bbf6fab4bdc7f4094ed85f9639", 153907},
|
|
{"ons.res", 0, "a7e2e8def1f0fb46644c20686af0d91a", 173077},
|
|
{"varia.res", 0, "b786c48e160e1981b496a30acd3deff9", 216683},
|
|
{"lan_000.res", 0, "06e409b0a43ff0ced014b93fb8f5dd5b", 535599},
|
|
{"lan_500.res", 0, "c098cc17cc27a1cad4319fb6789aa5a7", 9538457},
|
|
{"mmm.res", 0, "d25033d9bc88662d680b56825e892e5c", 42104},
|
|
{"sam_mmm.res", 0, "a0878ad9a1af39d515e2e0471222f080", 229636},
|
|
{"sam_sam.res", 0, "547a48cc1be9cf30744de8b0b47838f2", 769552},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14665},
|
|
AD_LISTEND
|
|
},
|
|
Common::EN_ANY,
|
|
Common::kPlatformDOS,
|
|
ADGF_NO_FLAGS,
|
|
GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)
|
|
},
|
|
{ // Russian fan translation
|
|
"teenagent",
|
|
"",
|
|
{
|
|
{"off.res", 0, "c5263a726d038bb6780a40eb3b83cc87", 2720432},
|
|
{"on.res", 0, "a0d5e5bbf6fab4bdc7f4094ed85f9639", 153907},
|
|
{"ons.res", 0, "a7e2e8def1f0fb46644c20686af0d91a", 173077},
|
|
{"varia.res", 0, "b786c48e160e1981b496a30acd3deff9", 216683},
|
|
{"lan_000.res", 0, "06e409b0a43ff0ced014b93fb8f5dd5b", 535599},
|
|
{"lan_500.res", 0, "c098cc17cc27a1cad4319fb6789aa5a7", 9538457},
|
|
{"mmm.res", 0, "d25033d9bc88662d680b56825e892e5c", 42104},
|
|
{"sam_mmm.res", 0, "a0878ad9a1af39d515e2e0471222f080", 229636},
|
|
{"sam_sam.res", 0, "547a48cc1be9cf30744de8b0b47838f2", 769552},
|
|
{"cdlogo.res", 0, "d1aacbb7deb718f9d946ba9deec6271d", 64768},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14665},
|
|
AD_LISTEND
|
|
},
|
|
Common::RU_RUS,
|
|
Common::kPlatformDOS,
|
|
ADGF_NO_FLAGS,
|
|
GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)
|
|
},
|
|
{ // Czech Floppy
|
|
"teenagent",
|
|
_s("Missing game code"), // Reason for being unsupported
|
|
{
|
|
{"off.res", 0, "c5263a726d038bb6780a40eb3b83cc87", 2720432},
|
|
{"on.res", 0, "a0d5e5bbf6fab4bdc7f4094ed85f9639", 153907},
|
|
{"ons.res", 0, "a7e2e8def1f0fb46644c20686af0d91a", 173077},
|
|
{"varia.res", 0, "b786c48e160e1981b496a30acd3deff9", 216683},
|
|
{"lan_000.res", 0, "06e409b0a43ff0ced014b93fb8f5dd5b", 535599},
|
|
{"lan_500.res", 0, "c098cc17cc27a1cad4319fb6789aa5a7", 9538457},
|
|
{"mmm.res", 0, "d25033d9bc88662d680b56825e892e5c", 42104},
|
|
{"sam_mmm.res", 0, "a0878ad9a1af39d515e2e0471222f080", 229636},
|
|
{"sam_sam.res", 0, "547a48cc1be9cf30744de8b0b47838f2", 769552},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14672},
|
|
AD_LISTEND
|
|
},
|
|
Common::CZ_CZE,
|
|
Common::kPlatformDOS,
|
|
ADGF_UNSUPPORTED,
|
|
GUIO1(GUIO_NOMIDI)
|
|
},
|
|
{ // Czech CD
|
|
"teenagent",
|
|
"CD",
|
|
{
|
|
{"off.res", 0, "aaac839a6ef639d68ebc97bc42faa42d", 2720432},
|
|
{"on.res", 0, "a0d5e5bbf6fab4bdc7f4094ed85f9639", 153907},
|
|
{"ons.res", 0, "a7e2e8def1f0fb46644c20686af0d91a", 173077},
|
|
{"varia.res", 0, "b786c48e160e1981b496a30acd3deff9", 216683},
|
|
{"lan_000.res", 0, "06e409b0a43ff0ced014b93fb8f5dd5b", 535599},
|
|
{"lan_500.res", 0, "c098cc17cc27a1cad4319fb6789aa5a7", 9538457},
|
|
{"sam_sam.res", 0, "547a48cc1be9cf30744de8b0b47838f2", 769552},
|
|
{"voices.res", 0, "955aa04517a2b0499adf17d9b7c6f4a1", 37306128},
|
|
{"cdlogo.res", 0, "6bf95a48f366bdf8af3a198c7b723c77", 64768},
|
|
{"sdr.res", 0, "d0b1398c78dc82571ddef5877c9a3a06", 14993},
|
|
AD_LISTEND
|
|
},
|
|
Common::CZ_CZE,
|
|
Common::kPlatformDOS,
|
|
ADGF_CD,
|
|
GUIO1(GUIO_NOMIDI)
|
|
},
|
|
{ // Demo
|
|
"teenagent",
|
|
"Demo",
|
|
{
|
|
{"off.res", 0, "441b7dde82ca84a829fc7fe9743e9b78", 906956},
|
|
{"on.res", 0, "25dbb6eed0a80d98edff3c24f09f1ee0", 37654},
|
|
{"ons.res", 0, "394fbd9418e43942127c45a326d10ee1", 50596},
|
|
{"varia.res", 0, "b786c48e160e1981b496a30acd3deff9", 216683},
|
|
{"lan_000.res", 0, "c7241846ec67dd249fe02610cb9b8425", 91729},
|
|
{"lan_500.res", 0, "791e4058a4742abd7c03dc82272623a9", 2109796},
|
|
{"mmm.res", 0, "afbab0a454860f4ccf23005d8d2f4a70", 27073},
|
|
{"sam_mmm.res", 0, "85fcdd0d49062577acf4a9ddafc53283", 148783},
|
|
{"sam_sam.res", 0, "dc39c65ec57ed70612670b7e780f3408", 342219},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14672},
|
|
AD_LISTEND
|
|
},
|
|
Common::EN_ANY,
|
|
Common::kPlatformDOS,
|
|
ADGF_DEMO,
|
|
GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)
|
|
},
|
|
{ // Demo alt
|
|
"teenagent",
|
|
"Alt Demo",
|
|
{
|
|
{"off.res", 0, "441b7dde82ca84a829fc7fe9743e9b78", 906956},
|
|
{"on.res", 0, "25dbb6eed0a80d98edff3c24f09f1ee0", 37654},
|
|
{"ons.res", 0, "394fbd9418e43942127c45a326d10ee1", 50596},
|
|
{"varia.res", 0, "8ffe0a75b7299b44a34fdd3831cecacb", 217003},
|
|
{"lan_000.res", 0, "c7241846ec67dd249fe02610cb9b8425", 91729},
|
|
{"lan_500.res", 0, "791e4058a4742abd7c03dc82272623a9", 2109796},
|
|
{"mmm.res", 0, "afbab0a454860f4ccf23005d8d2f4a70", 27073},
|
|
{"sam_mmm.res", 0, "85fcdd0d49062577acf4a9ddafc53283", 148783},
|
|
{"sam_sam.res", 0, "dc39c65ec57ed70612670b7e780f3408", 342219},
|
|
{"sdr.res", 0, "434c62c1f43b7aa4def62ff276163edb", 14672},
|
|
AD_LISTEND
|
|
},
|
|
Common::EN_ANY,
|
|
Common::kPlatformDOS,
|
|
ADGF_DEMO,
|
|
GUIO2(GUIO_NOSPEECH, GUIO_NOMIDI)
|
|
},
|
|
|
|
AD_TABLE_END_MARKER,
|
|
};
|
|
|
|
|
|
|
|
class TeenAgentMetaEngineDetection : public AdvancedMetaEngineDetection {
|
|
public:
|
|
TeenAgentMetaEngineDetection() : AdvancedMetaEngineDetection(teenAgentGameDescriptions, sizeof(ADGameDescription), teenAgentGames) {
|
|
}
|
|
|
|
const char *getEngineId() const override {
|
|
return "teenagent";
|
|
}
|
|
|
|
const char *getName() const override {
|
|
return "TeenAgent";
|
|
}
|
|
|
|
const char *getOriginalCopyright() const override {
|
|
return "TEENAGENT (C) 1994 Metropolis";
|
|
}
|
|
|
|
const DebugChannelDef *getDebugChannels() const override {
|
|
return debugFlagList;
|
|
}
|
|
};
|
|
|
|
REGISTER_PLUGIN_STATIC(TEENAGENT_DETECTION, PLUGIN_TYPE_ENGINE_DETECTION, TeenAgentMetaEngineDetection);
|