aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/detection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/agos/detection.cpp')
-rw-r--r--engines/agos/detection.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/engines/agos/detection.cpp b/engines/agos/detection.cpp
index dfd4660f9e..629a5d63fc 100644
--- a/engines/agos/detection.cpp
+++ b/engines/agos/detection.cpp
@@ -148,44 +148,41 @@ bool AgosMetaEngine::createInstance(OSystem *syst, Engine **engine, const ADGame
switch (gd->gameType) {
case AGOS::GType_PN:
- *engine = new AGOS::AGOSEngine_PN(syst);
+ *engine = new AGOS::AGOSEngine_PN(syst, gd);
break;
case AGOS::GType_ELVIRA1:
- *engine = new AGOS::AGOSEngine_Elvira1(syst);
+ *engine = new AGOS::AGOSEngine_Elvira1(syst, gd);
break;
case AGOS::GType_ELVIRA2:
- *engine = new AGOS::AGOSEngine_Elvira2(syst);
+ *engine = new AGOS::AGOSEngine_Elvira2(syst, gd);
break;
case AGOS::GType_WW:
- *engine = new AGOS::AGOSEngine_Waxworks(syst);
+ *engine = new AGOS::AGOSEngine_Waxworks(syst, gd);
break;
case AGOS::GType_SIMON1:
- *engine = new AGOS::AGOSEngine_Simon1(syst);
+ *engine = new AGOS::AGOSEngine_Simon1(syst, gd);
break;
case AGOS::GType_SIMON2:
- *engine = new AGOS::AGOSEngine_Simon2(syst);
+ *engine = new AGOS::AGOSEngine_Simon2(syst, gd);
break;
#ifdef ENABLE_AGOS2
case AGOS::GType_FF:
if (gd->features & GF_DEMO)
- *engine = new AGOS::AGOSEngine_FeebleDemo(syst);
+ *engine = new AGOS::AGOSEngine_FeebleDemo(syst, gd);
else
- *engine = new AGOS::AGOSEngine_Feeble(syst);
+ *engine = new AGOS::AGOSEngine_Feeble(syst, gd);
break;
case AGOS::GType_PP:
if (gd->gameId == GID_DIMP)
- *engine = new AGOS::AGOSEngine_DIMP(syst);
+ *engine = new AGOS::AGOSEngine_DIMP(syst, gd);
else
- *engine = new AGOS::AGOSEngine_PuzzlePack(syst);
+ *engine = new AGOS::AGOSEngine_PuzzlePack(syst, gd);
break;
#endif
default:
res = false;
error("AGOS engine: unknown gameType");
}
- if (res) {
- ((AGOS::AGOSEngine *)*engine)->_gameDescription = gd;
- }
return res;
}