aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/hopkins.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/hopkins.cpp')
-rw-r--r--engines/hopkins/hopkins.cpp36
1 files changed, 32 insertions, 4 deletions
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 6143219283..32108fb846 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -59,6 +59,38 @@ HopkinsEngine::HopkinsEngine(OSystem *syst, const HopkinsGameDescription *gameDe
HopkinsEngine::~HopkinsEngine() {
}
+Common::String HopkinsEngine::generateSaveName(int slot) {
+ return Common::String::format("%s.%03d", _targetName.c_str(), slot);
+}
+
+/**
+ * Returns true if it is currently okay to restore a game
+ */
+bool HopkinsEngine::canLoadGameStateCurrently() {
+ return !_globals.SORTIE && !_globals.PLAN_FLAG;
+}
+
+/**
+ * Returns true if it is currently okay to save the game
+ */
+bool HopkinsEngine::canSaveGameStateCurrently() {
+ return !_globals.SORTIE && !_globals.PLAN_FLAG;
+}
+
+/**
+ * Load the savegame at the specified slot index
+ */
+Common::Error HopkinsEngine::loadGameState(int slot) {
+ return _saveLoadManager.restore(slot);
+}
+
+/**
+ * Save the game to the given slot index, and with the given name
+ */
+Common::Error HopkinsEngine::saveGameState(int slot, const Common::String &desc) {
+ return _saveLoadManager.save(slot, desc);
+}
+
Common::Error HopkinsEngine::run() {
_saveLoadManager.initSaves();
@@ -959,8 +991,4 @@ void HopkinsEngine::PUBQUIT() {
_graphicsManager.FADE_OUTW();
}
-Common::String HopkinsEngine::generateSaveName(int slot) {
- return Common::String::format("%s.%03d", _targetName.c_str(), slot);
-}
-
} // End of namespace Hopkins