aboutsummaryrefslogtreecommitdiff
path: root/engines/sword1/control.h
diff options
context:
space:
mode:
authorFilippos Karapetis2008-11-18 16:31:55 +0000
committerFilippos Karapetis2008-11-18 16:31:55 +0000
commit7650b61d27aa848d0f22f59c43d23787c04a65b7 (patch)
tree4edfb32d3d705c345308dbda6352c8244ea9d51c /engines/sword1/control.h
parentbdbae740a60cdf153a1ab082329afa92f56ffd22 (diff)
downloadscummvm-rg350-7650b61d27aa848d0f22f59c43d23787c04a65b7.tar.gz
scummvm-rg350-7650b61d27aa848d0f22f59c43d23787c04a65b7.tar.bz2
scummvm-rg350-7650b61d27aa848d0f22f59c43d23787c04a65b7.zip
Applied a slightly modified version of my patch #2307224 - "BS1: Save/load overhaul"
svn-id: r35111
Diffstat (limited to 'engines/sword1/control.h')
-rw-r--r--engines/sword1/control.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/engines/sword1/control.h b/engines/sword1/control.h
index 926db757b9..1fbc7fdeba 100644
--- a/engines/sword1/control.h
+++ b/engines/sword1/control.h
@@ -43,6 +43,11 @@ class Mouse;
class Music;
class Sound;
+#define SAVEGAME_HEADER MKID_BE('BS_1')
+#define SAVEGAME_VERSION 1
+#define HAS_THUMBNAIL 1
+#define NO_THUMBNAIL 0
+
#define MAX_BUTTONS 16
#define CONTROL_NOTHING_DONE 0
@@ -87,13 +92,19 @@ public:
void doRestore(void);
void askForCd(void);
bool savegamesExist(void);
+ void readSavegameDescriptions(void);
+ void saveGameToFile(uint8 slot);
bool restoreGameFromFile(uint8 slot);
+ void checkForOldSaveGames();
+
+ void setSaveDescription(int slot, const char *desc) {
+ _saveNames[slot] = desc;
+ }
+
private:
int displayMessage(const char *altButton, const char *message, ...);
- void saveGameToFile(uint8 slot);
- void readSavegameDescriptions(void);
- void writeSavegameDescriptions(void);
+ bool convertSaveGame(uint8 slot, char* desc);
void showSavegameNames(void);
void deselectSaveslots(void);
uint8 *_restoreBuf;
@@ -101,8 +112,8 @@ private:
uint8 _numSaves;
uint8 _saveScrollPos;
uint8 _selectedSavegame;
- uint8 _saveNames[64][32];
- uint8 _oldName[32];
+ Common::StringList _saveNames;
+ Common::String _oldName;
uint8 _cursorTick;
bool _cursorVisible;