[Scummvm-cvs-logs] SF.net SVN: scummvm: [30728] scummvm/trunk
jvprat at users.sourceforge.net
jvprat at users.sourceforge.net
Sat Feb 2 03:35:13 CET 2008
Revision: 30728
http://scummvm.svn.sourceforge.net/scummvm/?rev=30728&view=rev
Author: jvprat
Date: 2008-02-01 18:35:13 -0800 (Fri, 01 Feb 2008)
Log Message:
-----------
Converted the remaining engines to use MetaEngine
Modified Paths:
--------------
scummvm/trunk/common/advancedDetector.h
scummvm/trunk/engines/agos/detection.cpp
scummvm/trunk/engines/cine/detection.cpp
scummvm/trunk/engines/cruise/detection.cpp
scummvm/trunk/engines/drascula/detection.cpp
scummvm/trunk/engines/gob/detection.cpp
scummvm/trunk/engines/igor/detection.cpp
scummvm/trunk/engines/kyra/detection.cpp
scummvm/trunk/engines/lure/detection.cpp
scummvm/trunk/engines/metaengine.h
scummvm/trunk/engines/parallaction/detection.cpp
scummvm/trunk/engines/saga/detection.cpp
Modified: scummvm/trunk/common/advancedDetector.h
===================================================================
--- scummvm/trunk/common/advancedDetector.h 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/common/advancedDetector.h 2008-02-02 02:35:13 UTC (rev 30728)
@@ -281,7 +281,7 @@
const Common::ADParams ¶ms;
public:
AdvancedMetaEngine(const Common::ADParams &dp) : params(dp) {}
-
+
// To be provided by subclasses
virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const = 0;
Modified: scummvm/trunk/engines/agos/detection.cpp
===================================================================
--- scummvm/trunk/engines/agos/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/agos/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -99,7 +99,22 @@
Common::kADFlagAugmentPreferredTarget
};
-bool engineCreateAgos(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class AgosMetaEngine : public AdvancedMetaEngine {
+public:
+ AgosMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "AGOS";
+ }
+
+ virtual const char *getCopyright() const {
+ return "AGOS (C) Adventure Soft";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool AgosMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const AGOS::AGOSGameDescription *gd = (const AGOS::AGOSGameDescription *)(encapsulatedDesc.realDesc);
bool res = true;
@@ -136,7 +151,7 @@
return res;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(AGOS, engineCreateAgos, detectionParams);
+META_COMPATIBLITY_WRAPPER(AGOS, AgosMetaEngine);
REGISTER_PLUGIN(AGOS, "AGOS", "AGOS (C) Adventure Soft");
Modified: scummvm/trunk/engines/cine/detection.cpp
===================================================================
--- scummvm/trunk/engines/cine/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/cine/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -488,7 +488,22 @@
Common::kADFlagAugmentPreferredTarget
};
-static bool Engine_CINE_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class CineMetaEngine : public AdvancedMetaEngine {
+public:
+ CineMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Cinematique evo 1 engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Future Wars & Operation Stealth (C) Delphine Software";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool CineMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Cine::CINEGameDescription *gd = (const Cine::CINEGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Cine::CineEngine(syst, gd);
@@ -496,6 +511,6 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(CINE, Engine_CINE_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(CINE, CineMetaEngine);
REGISTER_PLUGIN(CINE, "Cinematique evo 1 engine", "Future Wars & Operation Stealth (C) Delphine Software");
Modified: scummvm/trunk/engines/cruise/detection.cpp
===================================================================
--- scummvm/trunk/engines/cruise/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/cruise/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -123,7 +123,22 @@
Common::kADFlagAugmentPreferredTarget
};
-static bool Engine_CRUISE_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class CruiseMetaEngine : public AdvancedMetaEngine {
+public:
+ CruiseMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Cinematique evo 2 engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Cruise for a Corpse (C) Delphine Software";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool CruiseMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Cruise::CRUISEGameDescription *gd = (const Cruise::CRUISEGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Cruise::CruiseEngine(syst, gd);
@@ -131,6 +146,6 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(CRUISE, Engine_CRUISE_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(CRUISE, CruiseMetaEngine);
REGISTER_PLUGIN(CRUISE, "Cinematique evo 2 engine", "Cruise for a Corpse (C) Delphine Software");
Modified: scummvm/trunk/engines/drascula/detection.cpp
===================================================================
--- scummvm/trunk/engines/drascula/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/drascula/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -163,7 +163,22 @@
Common::kADFlagAugmentPreferredTarget
};
-static bool Engine_DRASCULA_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class DrasculaMetaEngine : public AdvancedMetaEngine {
+public:
+ DrasculaMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Drascula Engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Drascula Engine (C) 2000 Alcachofa Soft, 1996 (C) Digital Dreams Multimedia, 1994 (C) Emilio de Paz";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool DrasculaMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Drascula::DrasculaGameDescription *gd = (const Drascula::DrasculaGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Drascula::DrasculaEngine(syst, gd);
@@ -171,7 +186,6 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(DRASCULA, Engine_DRASCULA_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(DRASCULA, DrasculaMetaEngine);
REGISTER_PLUGIN(DRASCULA, "Drascula Engine", "Drascula Engine (C) 2000 Alcachofa Soft, 1996 (C) Digital Dreams Multimedia, 1994 (C) Emilio de Paz");
-
Modified: scummvm/trunk/engines/gob/detection.cpp
===================================================================
--- scummvm/trunk/engines/gob/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/gob/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -1742,7 +1742,22 @@
kADFlagAugmentPreferredTarget
};
-static bool Engine_GOB_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class GobMetaEngine : public AdvancedMetaEngine {
+public:
+ GobMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Gob Engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Goblins Games (C) Coktel Vision";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool GobMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Gob::GOBGameDescription *gd = (const Gob::GOBGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Gob::GobEngine(syst);
@@ -1751,7 +1766,7 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(GOB, Engine_GOB_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(GOB, GobMetaEngine);
REGISTER_PLUGIN(GOB, "Gob Engine", "Goblins Games (C) Coktel Vision");
Modified: scummvm/trunk/engines/igor/detection.cpp
===================================================================
--- scummvm/trunk/engines/igor/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/igor/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -105,7 +105,22 @@
Common::kADFlagAugmentPreferredTarget
};
-static bool Engine_IGOR_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class IgorMetaEngine : public AdvancedMetaEngine {
+public:
+ IgorMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Igor: Objective Uikokahonia";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Igor: Objective Uikokahonia (C) Pendulo Studios";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool IgorMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const IgorGameDescription *gd = (const IgorGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
Igor::DetectedGameVersion dgv;
@@ -119,6 +134,6 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(IGOR, Engine_IGOR_createInstance, igorDetectionParams);
+META_COMPATIBLITY_WRAPPER(IGOR, IgorMetaEngine);
REGISTER_PLUGIN(IGOR, "Igor: Objective Uikokahonia", "Igor: Objective Uikokahonia (C) Pendulo Studios");
Modified: scummvm/trunk/engines/kyra/detection.cpp
===================================================================
--- scummvm/trunk/engines/kyra/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/kyra/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -430,7 +430,22 @@
} // End of anonymous namespace
-bool engineCreateKyra(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class KyraMetaEngine : public AdvancedMetaEngine {
+public:
+ KyraMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Legend of Kyrandia Engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "The Legend of Kyrandia (C) Westwood Studios";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool KyraMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const KYRAGameDescription *gd = (const KYRAGameDescription *)(encapsulatedDesc.realDesc);
bool res = true;
@@ -469,8 +484,6 @@
return res;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(KYRA, engineCreateKyra, detectionParams);
+META_COMPATIBLITY_WRAPPER(KYRA, KyraMetaEngine);
REGISTER_PLUGIN(KYRA, "Legend of Kyrandia Engine", "The Legend of Kyrandia (C) Westwood Studios");
-
-
Modified: scummvm/trunk/engines/lure/detection.cpp
===================================================================
--- scummvm/trunk/engines/lure/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/lure/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -174,7 +174,22 @@
Common::kADFlagAugmentPreferredTarget | Common::kADFlagUseExtraAsHint
};
-static bool Engine_LURE_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class LureMetaEngine : public AdvancedMetaEngine {
+public:
+ LureMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Lure of the Temptress Engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Lure of the Temptress (C) Revolution";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool LureMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Lure::LureGameDescription *gd = (const Lure::LureGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Lure::LureEngine(syst, gd);
@@ -182,6 +197,6 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(LURE, Engine_LURE_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(LURE, LureMetaEngine);
REGISTER_PLUGIN(LURE, "Lure of the Temptress Engine", "Lure of the Temptress (C) Revolution");
Modified: scummvm/trunk/engines/metaengine.h
===================================================================
--- scummvm/trunk/engines/metaengine.h 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/metaengine.h 2008-02-02 02:35:13 UTC (rev 30728)
@@ -61,7 +61,7 @@
/**
* The META_COMPATIBLITY_WRAPPER macro is there to ease the transition from the
* old plugin API to the new MetaEngine class. Ultimately, this macro will go
- * and REGISTER_PLUGIN will be changedd to simply take an ID and a METACLASS.
+ * and REGISTER_PLUGIN will be changed to simply take an ID and a METACLASS.
* Until then, use META_COMPATIBLITY_WRAPPER + REGISTER_PLUGIN.
*/
#define META_COMPATIBLITY_WRAPPER(ID,METACLASS) \
Modified: scummvm/trunk/engines/parallaction/detection.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/parallaction/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -191,6 +191,7 @@
virtual const char *getName() const {
return "Parallaction engine";
}
+
virtual const char *getCopyright() const {
return "Nippon Safes Inc. (C) Dynabyte";
}
Modified: scummvm/trunk/engines/saga/detection.cpp
===================================================================
--- scummvm/trunk/engines/saga/detection.cpp 2008-02-02 00:56:02 UTC (rev 30727)
+++ scummvm/trunk/engines/saga/detection.cpp 2008-02-02 02:35:13 UTC (rev 30728)
@@ -141,7 +141,22 @@
Common::kADFlagAugmentPreferredTarget
};
-static bool Engine_SAGA_createInstance(OSystem *syst, Engine **engine, Common::EncapsulatedADGameDesc encapsulatedDesc) {
+class SagaMetaEngine : public AdvancedMetaEngine {
+public:
+ SagaMetaEngine() : AdvancedMetaEngine(detectionParams) {}
+
+ virtual const char *getName() const {
+ return "Saga engine";
+ }
+
+ virtual const char *getCopyright() const {
+ return "Inherit the Earth (C) Wyrmkeep Entertainment";
+ }
+
+ virtual bool createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const;
+};
+
+bool SagaMetaEngine::createInstance(OSystem *syst, Engine **engine, const Common::EncapsulatedADGameDesc &encapsulatedDesc) const {
const Saga::SAGAGameDescription *gd = (const Saga::SAGAGameDescription *)(encapsulatedDesc.realDesc);
if (gd) {
*engine = new Saga::SagaEngine(syst, gd);
@@ -149,7 +164,7 @@
return gd != 0;
}
-ADVANCED_DETECTOR_DEFINE_PLUGIN(SAGA, Engine_SAGA_createInstance, detectionParams);
+META_COMPATIBLITY_WRAPPER(SAGA, SagaMetaEngine);
REGISTER_PLUGIN(SAGA, "SAGA Engine", "Inherit the Earth (C) Wyrmkeep Entertainment");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list