aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2008-11-09 20:07:46 +0000
committerFilippos Karapetis2008-11-09 20:07:46 +0000
commitea7f3059605526e61e8cea2364c70bef3c35806a (patch)
treecb2f732f79a980cedf31ffdd38c0a1bbe0218c48 /engines
parent7d8e4ca59bc1877ccb86bcbffacb1847bdf7f3e9 (diff)
downloadscummvm-rg350-ea7f3059605526e61e8cea2364c70bef3c35806a.tar.gz
scummvm-rg350-ea7f3059605526e61e8cea2364c70bef3c35806a.tar.bz2
scummvm-rg350-ea7f3059605526e61e8cea2364c70bef3c35806a.zip
Added a new SaveStateDescriptor flag, is_write_protected, which can be used to stop the user from overwriting certain saves (e.g. the auto save, the restart save in the Kyrandia games, the quicksaves etc)
svn-id: r34970
Diffstat (limited to 'engines')
-rw-r--r--engines/game.cpp4
-rw-r--r--engines/game.h8
2 files changed, 11 insertions, 1 deletions
diff --git a/engines/game.cpp b/engines/game.cpp
index 5011685412..3e6cdc2e79 100644
--- a/engines/game.cpp
+++ b/engines/game.cpp
@@ -115,6 +115,10 @@ void SaveStateDescriptor::setDeletableFlag(bool state) {
setVal("is_deletable", state ? "true" : "false");
}
+void SaveStateDescriptor::setWriteProtectedFlag(bool state) {
+ setVal("is_write_protected", state ? "true" : "false");
+}
+
void SaveStateDescriptor::setSaveDate(int year, int month, int day) {
char buffer[32];
snprintf(buffer, 32, "%.2d.%.2d.%.4d", day, month, year);
diff --git a/engines/game.h b/engines/game.h
index 9a8c25e35b..21bfbce0f5 100644
--- a/engines/game.h
+++ b/engines/game.h
@@ -151,12 +151,18 @@ public:
bool getBool(const Common::String &key) const;
/**
- * Sets the 'is_deletable' key, which indicates, if the
+ * Sets the 'is_deletable' key, which indicates if the
* given savestate is safe for deletion.
*/
void setDeletableFlag(bool state);
/**
+ * Sets the 'is_write_protected' key, which indicates if the
+ * given savestate can be overwritten or not
+ */
+ void setWriteProtectedFlag(bool state);
+
+ /**
* Return a thumbnail graphics surface representing the savestate visually.
* This is usually a scaled down version of the game graphics. The size
* should be either 160x100 or 160x120 pixels, depending on the aspect