diff options
-rw-r--r-- | engines/prince/detection.cpp | 3 | ||||
-rw-r--r-- | engines/prince/prince.cpp | 13 |
2 files changed, 10 insertions, 6 deletions
diff --git a/engines/prince/detection.cpp b/engines/prince/detection.cpp index dd553adc6e..3fe7993fdb 100644 --- a/engines/prince/detection.cpp +++ b/engines/prince/detection.cpp @@ -55,7 +55,8 @@ bool PrinceMetaEngine::hasFeature(MetaEngineFeature f) const { (f == kSavesSupportMetaInfo) || (f == kSavesSupportThumbnail) || (f == kSavesSupportCreationDate) || - (f == kSupportsListSaves); + (f == kSupportsListSaves) || + (f == kSupportsLoadingDuringStartup); } bool Prince::PrinceEngine::hasFeature(EngineFeature f) const { diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index 6239d6aa40..5055c6a225 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -439,13 +439,16 @@ void PrinceEngine::showLogo() { } Common::Error PrinceEngine::run() { - + syncSoundSettings(); + int startGameSlot = ConfMan.hasKey("save_slot") ? ConfMan.getInt("save_slot") : -1; init(); - - showLogo(); - + if (startGameSlot == -1) { + showLogo(); + } else { + loadLocation(59); // load intro location - easiest way to set everything up + loadGame(startGameSlot); + } mainLoop(); - return Common::kNoError; } |