aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlukaslw2014-11-09 01:42:54 +0100
committerlukaslw2014-11-09 01:42:54 +0100
commitce1e776eeef153ca3aa6beaae5ce3786919368d6 (patch)
treeb0a6ba42fc9a4aac14632eb9132bf499943429c5
parent8ad075a764ba948b922a01218989fa3d09d828ad (diff)
downloadscummvm-rg350-ce1e776eeef153ca3aa6beaae5ce3786919368d6.tar.gz
scummvm-rg350-ce1e776eeef153ca3aa6beaae5ce3786919368d6.tar.bz2
scummvm-rg350-ce1e776eeef153ca3aa6beaae5ce3786919368d6.zip
PRINCE: Add loading during startup and syncSoundSettings features
-rw-r--r--engines/prince/detection.cpp3
-rw-r--r--engines/prince/prince.cpp13
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;
}