aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/save/saveload.h
diff options
context:
space:
mode:
authorSven Hesse2011-01-18 11:53:21 +0000
committerSven Hesse2011-01-18 11:53:21 +0000
commitb38b5d24849524ba10d1c44e39cdb1b694c33b17 (patch)
tree61661fc8aaa841ceba40e950a8d883ba23c4a6a7 /engines/gob/save/saveload.h
parentb4e12e6a896fd0c2be34d08978129b247dd12793 (diff)
downloadscummvm-rg350-b38b5d24849524ba10d1c44e39cdb1b694c33b17.tar.gz
scummvm-rg350-b38b5d24849524ba10d1c44e39cdb1b694c33b17.tar.bz2
scummvm-rg350-b38b5d24849524ba10d1c44e39cdb1b694c33b17.zip
GOB: Give Inca2 its own SaveLoad class
Add an quick hack to fudge reading of the "voice.inf" file, so that the voice match the selected text language. svn-id: r55298
Diffstat (limited to 'engines/gob/save/saveload.h')
-rw-r--r--engines/gob/save/saveload.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/engines/gob/save/saveload.h b/engines/gob/save/saveload.h
index a88dfee0d9..7242cb1253 100644
--- a/engines/gob/save/saveload.h
+++ b/engines/gob/save/saveload.h
@@ -334,6 +334,44 @@ protected:
SaveFile *getSaveFile(const char *fileName);
};
+/** Save/Load class for Inca 2. */
+class SaveLoad_Inca2 : public SaveLoad {
+public:
+ SaveLoad_Inca2(GobEngine *vm, const char *targetName);
+ virtual ~SaveLoad_Inca2();
+
+ SaveMode getSaveMode(const char *fileName) const;
+
+protected:
+ struct SaveFile {
+ const char *sourceName;
+ SaveMode mode;
+ SaveHandler *handler;
+ const char *description;
+ };
+
+ /** Handles the voice language info file. */
+ class VoiceHandler : public SaveHandler {
+ public:
+ VoiceHandler(GobEngine *vm);
+ ~VoiceHandler();
+
+ int32 getSize();
+ bool load(int16 dataVar, int32 size, int32 offset);
+ bool save(int16 dataVar, int32 size, int32 offset);
+ };
+
+ static SaveFile _saveFiles[];
+
+ VoiceHandler *_voiceHandler;
+
+ SaveHandler *getHandler(const char *fileName) const;
+ const char *getDescription(const char *fileName) const;
+
+ const SaveFile *getSaveFile(const char *fileName) const;
+ SaveFile *getSaveFile(const char *fileName);
+};
+
/** Save/Load class for Woodruff. */
class SaveLoad_v4 : public SaveLoad {
public: