diff options
Diffstat (limited to 'engines/agos/detection.cpp')
-rw-r--r-- | engines/agos/detection.cpp | 23 |
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; } |