diff options
author | Travis Howell | 2012-04-15 19:24:57 +1000 |
---|---|---|
committer | Travis Howell | 2012-04-15 19:24:57 +1000 |
commit | 586d9bf32fed9bc2009dcf890a0b714e1e618c2c (patch) | |
tree | 994956f6737e7675e23da1997ba279ed30c11b54 /engines/agos | |
parent | 95dda2254bf4bf62c0928361e6f7254bfd08a94f (diff) | |
download | scummvm-rg350-586d9bf32fed9bc2009dcf890a0b714e1e618c2c.tar.gz scummvm-rg350-586d9bf32fed9bc2009dcf890a0b714e1e618c2c.tar.bz2 scummvm-rg350-586d9bf32fed9bc2009dcf890a0b714e1e618c2c.zip |
AGOS: Add comment about the limitations of quick loading/saving games in the AGOS game engine.
Diffstat (limited to 'engines/agos')
-rw-r--r-- | engines/agos/agos.h | 3 | ||||
-rw-r--r-- | engines/agos/saveload.cpp | 21 |
2 files changed, 19 insertions, 5 deletions
diff --git a/engines/agos/agos.h b/engines/agos/agos.h index d9f982a0fa..65f8dd1420 100644 --- a/engines/agos/agos.h +++ b/engines/agos/agos.h @@ -1265,7 +1265,7 @@ protected: virtual void doOutput(const byte *src, uint len); void clsCheck(WindowBlock *window); - void quickLoadOrSave(); + virtual void quickLoadOrSave(); byte *vc10_uncompressFlip(const byte *src, uint16 w, uint16 h); byte *vc10_flip(const byte *src, uint16 w, uint16 h); @@ -2060,6 +2060,7 @@ protected: void windowBackSpace(WindowBlock *window); virtual char *genSaveName(int slot); + virtual void quickLoadOrSave(); }; class AGOSEngine_FeebleDemo : public AGOSEngine_Feeble { diff --git a/engines/agos/saveload.cpp b/engines/agos/saveload.cpp index 4fbde09ff8..b3ec916b47 100644 --- a/engines/agos/saveload.cpp +++ b/engines/agos/saveload.cpp @@ -136,12 +136,25 @@ char *AGOSEngine::genSaveName(int slot) { return buf; } +#ifdef ENABLE_AGOS2 +void AGOSEngine_Feeble::quickLoadOrSave() { + // Quick loading and saving isn't possible in The Feeble Files or Puzzle Pack. +} +#endif + void AGOSEngine::quickLoadOrSave() { - // Quick load & save is only supported complete version of Simon the Sorcerer 1/2 - if (getGameType() == GType_PP || getGameType() == GType_FF || - (getFeatures() & GF_DEMO)) { + // The function uses segments of code from the original game scripts + // to allow quick loading and saving, but isn't perfect. + // + // Unfortuntely this allows loading and saving in locations, + // which aren't supported, and will not restore correctly: + // Any overhead maps in Simon the Sorcerer 2 + // Various locations in Elvira 1/2 and Waxworks where saving + // was disabled + + // The floppy disk demo of Simon the Sorcerer 1 doesn't work. + if (getFeatures() & GF_DEMO) return; - } bool success; Common::String buf; |