[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