aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula/drascula.h
diff options
context:
space:
mode:
authorFilippos Karapetis2013-01-04 13:02:17 +0200
committerFilippos Karapetis2013-01-04 13:12:52 +0200
commit4adfdb17e3dc757c5b430898458c2e1875377843 (patch)
tree5ec48467fccee9db85078d9021dd574dfa9c9bc9 /engines/drascula/drascula.h
parent532dd09b21510e100eec65a3fd29c9f507a16e58 (diff)
downloadscummvm-rg350-4adfdb17e3dc757c5b430898458c2e1875377843.tar.gz
scummvm-rg350-4adfdb17e3dc757c5b430898458c2e1875377843.tar.bz2
scummvm-rg350-4adfdb17e3dc757c5b430898458c2e1875377843.zip
DRASCULA: Add advanced savegame functionality
This cleans up the save/load code and resolves multiple issues with the original save/load screen. Save game timestamps and thumbnails are now implemented, together with the ability to load a game from the launcher. F7 is now mapped to the ScummVM load dialog, and F10 to the save dialog (if the user has selected to use the ScummVM save screen).
Diffstat (limited to 'engines/drascula/drascula.h')
-rw-r--r--engines/drascula/drascula.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index 2d1954e3ca..bb601b5b2e 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -36,6 +36,8 @@
#include "common/system.h"
#include "common/util.h"
+#include "engines/savestate.h"
+
#include "audio/mixer.h"
#include "engines/engine.h"
@@ -453,11 +455,9 @@ public:
int term_int;
int currentChapter;
int loadedDifferentChapter;
- char saveName[13];
+ int _currentSaveSlot;
int _color;
int musicStopped;
- char select[23];
- int selectionMade;
int mouseX;
int mouseY;
int leftMouseButton;
@@ -494,9 +494,16 @@ public:
void selectVerb(int);
void updateVolume(Audio::Mixer::SoundType soundType, int prevVolume);
void volumeControls();
+
bool saveLoadScreen();
+ bool scummVMSaveLoadDialog(bool isSave);
+ Common::String enterName(Common::String &selectedName);
void loadSaveNames();
- void saveSaveNames();
+ void saveGame(int slot, Common::String &desc);
+ bool loadGame(int slot);
+ void checkForOldSaveGames();
+ void convertSaveGame(int slot, Common::String &desc);
+
void print_abc(const char *, int, int);
void delay(int ms);
bool confirmExit();
@@ -550,7 +557,6 @@ public:
void updateMusic();
int musicStatus();
void updateRoom();
- bool loadGame(const char *);
void updateDoor(int);
void setPaletteBase(int darkness);
void updateVisible();
@@ -568,7 +574,6 @@ public:
void showCursor();
void hideCursor();
bool isCursorVisible();
- void enterName();
bool soundIsActive();
void waitFrameSSN();
void mixVideo(byte *OldScreen, byte *NewScreen, uint16 oldPitch);
@@ -589,7 +594,6 @@ public:
void quadrant_2();
void quadrant_3();
void quadrant_4();
- void saveGame(const char *gameName);
void increaseFrameNum();
int whichObject();
bool checkMenuFlags();
@@ -778,7 +782,7 @@ private:
RoomUpdate *_roomPreUpdates, *_roomUpdates;
RoomTalkAction *_roomActions;
TalkSequenceCommand *_talkSequences;
- char _saveNames[10][23];
+ Common::String _saveNames[10];
char **loadTexts(Common::File &in);
void freeTexts(char **ptr);