diff options
Diffstat (limited to 'engines/sherlock/saveload.h')
| -rw-r--r-- | engines/sherlock/saveload.h | 23 | 
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 | 
