aboutsummaryrefslogtreecommitdiff
path: root/engines/agos/script.cpp
diff options
context:
space:
mode:
authorTravis Howell2007-06-05 06:04:07 +0000
committerTravis Howell2007-06-05 06:04:07 +0000
commit27083f8fb43424a415d83469b211bc64f66588f2 (patch)
treedad05356cd755f18f5c5cc43a6965f8abda546ea /engines/agos/script.cpp
parentb23eb038eaeff19a97feb62d7ee14802501710ba (diff)
downloadscummvm-rg350-27083f8fb43424a415d83469b211bc64f66588f2.tar.gz
scummvm-rg350-27083f8fb43424a415d83469b211bc64f66588f2.tar.bz2
scummvm-rg350-27083f8fb43424a415d83469b211bc64f66588f2.zip
Fix loading and saving game through the options screen in Amiga CD32 version of Simon the Sorcerer 1.
svn-id: r27097
Diffstat (limited to 'engines/agos/script.cpp')
-rw-r--r--engines/agos/script.cpp28
1 files changed, 22 insertions, 6 deletions
diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp
index 5e86766066..ed82fd5316 100644
--- a/engines/agos/script.cpp
+++ b/engines/agos/script.cpp
@@ -745,16 +745,32 @@ void AGOSEngine::o_setAdjNoun() {
void AGOSEngine::o_saveUserGame() {
// 132: save user game
- _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
- userGame(false);
- _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ if (getGameId() == GID_SIMON1CD32) {
+ // The Amiga CD32 version of Simon the Sorcerer 1uses a single slot
+ if (!saveGame(0, "Default Saved Game")) {
+ vc33_setMouseOn();
+ fileError(_windowArray[5], true);
+ }
+ } else {
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ userGame(false);
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ }
}
void AGOSEngine::o_loadUserGame() {
// 133: load user game
- _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
- userGame(true);
- _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ if (getGameId() == GID_SIMON1CD32) {
+ // The Amiga CD32 version of Simon the Sorcerer 1 uses a single slot
+ if (!loadGame(genSaveName(0))) {
+ vc33_setMouseOn();
+ fileError(_windowArray[5], false);
+ }
+ } else {
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ userGame(true);
+ _system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ }
}
void AGOSEngine::o_copysf() {