aboutsummaryrefslogtreecommitdiff
path: root/engines/sherlock/saveload.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sherlock/saveload.h')
-rw-r--r--engines/sherlock/saveload.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/engines/sherlock/saveload.h b/engines/sherlock/saveload.h
index a0f1da4041..20ce4e6067 100644
--- a/engines/sherlock/saveload.h
+++ b/engines/sherlock/saveload.h
@@ -31,9 +31,13 @@
namespace Sherlock {
-#define NUM_SAVEGAME_SLOTS 99
+#define MAX_SAVEGAME_SLOTS 99
#define SHERLOCK_SAVEGAME_VERSION 1
+enum SaveMode { SAVEMODE_NONE = 0, SAVEMODE_LOAD = 1, SAVEMODE_SAVE = 2 };
+
+extern const int ENV_POINTS[6][3];
+
struct SherlockSavegameHeader {
uint8 _version;
Common::String _saveName;
@@ -49,15 +53,18 @@ class SaveManager {
private:
SherlockEngine *_vm;
Common::String _target;
- Common::StringArray _savegames;
Graphics::Surface *_saveThumb;
void createSavegameList();
public:
+ Common::StringArray _savegames;
+ int _savegameIndex;
+ SaveMode _envMode;
+public:
SaveManager(SherlockEngine *vm, const Common::String &target);
~SaveManager();
- void show();
+ void drawInterface();
void createThumbnail();
@@ -67,6 +74,16 @@ public:
static bool readSavegameHeader(Common::InSaveFile *in, SherlockSavegameHeader &header);
+ int getHighlightedButton() const;
+
+ void highlightButtons(int btnIndex);
+
+ void loadGame(int slot);
+ void saveGame(int slot, const Common::String &name);
+
+ bool checkGameOnScreen(int slot);
+
+ bool getFilename(int slot);
};
} // End of namespace Sherlock