aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorAlexander Tkachev2016-08-31 12:33:57 +0600
committerAlexander Tkachev2016-08-31 12:33:57 +0600
commit9d6ae2a33ff842e1089eabea5ec271f45916e51b (patch)
tree19bb26953c4d92f9bb316d323f444fd90f650553 /backends
parent153f06b324c686b5b7a220ca59414adab14c2032 (diff)
downloadscummvm-rg350-9d6ae2a33ff842e1089eabea5ec271f45916e51b.tar.gz
scummvm-rg350-9d6ae2a33ff842e1089eabea5ec271f45916e51b.tar.bz2
scummvm-rg350-9d6ae2a33ff842e1089eabea5ec271f45916e51b.zip
DS, N64: Fix SaveFileManagers
Added updateSavefilesList() and openRawFile() stubs. It should build fine now, I guess.
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.cpp11
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.h3
-rw-r--r--backends/platform/n64/framfs_save_manager.h15
-rw-r--r--backends/platform/n64/pakfs_save_manager.h15
4 files changed, 44 insertions, 0 deletions
diff --git a/backends/platform/ds/arm9/source/gbampsave.cpp b/backends/platform/ds/arm9/source/gbampsave.cpp
index 236ec55801..3b4fb451f5 100644
--- a/backends/platform/ds/arm9/source/gbampsave.cpp
+++ b/backends/platform/ds/arm9/source/gbampsave.cpp
@@ -45,6 +45,17 @@ static Common::String getSavePath() {
// GBAMP Save File Manager
//////////////////////////
+void GBAMPSaveFileManager::updateSavefilesList(Common::StringArray &lockedFiles) {
+ // TODO: implement this
+ // in this method manager should remember lockedFiles
+ // these files must not be opened for loading or saving, or listed by listSavefiles()
+}
+
+Common::InSaveFile *GBAMPSaveFileManager::openRawFile(const Common::String &filename) {
+ // TODO: make sure it returns raw file, not uncompressed save contents
+ return openForLoading(filename);
+}
+
Common::OutSaveFile *GBAMPSaveFileManager::openForSaving(const Common::String &filename, bool compress) {
Common::String fileSpec = getSavePath();
if (fileSpec.lastChar() != '/')
diff --git a/backends/platform/ds/arm9/source/gbampsave.h b/backends/platform/ds/arm9/source/gbampsave.h
index d86db2ec70..d30e3ab177 100644
--- a/backends/platform/ds/arm9/source/gbampsave.h
+++ b/backends/platform/ds/arm9/source/gbampsave.h
@@ -27,6 +27,9 @@
class GBAMPSaveFileManager : public Common::SaveFileManager {
public:
+ virtual void updateSavefilesList(Common::StringArray &lockedFiles);
+ virtual Common::InSaveFile *openRawFile(const Common::String &filename);
+
virtual Common::OutSaveFile *openForSaving(const Common::String &filename, bool compress = true);
virtual Common::InSaveFile *openForLoading(const Common::String &filename);
diff --git a/backends/platform/n64/framfs_save_manager.h b/backends/platform/n64/framfs_save_manager.h
index f2404285bb..4696794fe9 100644
--- a/backends/platform/n64/framfs_save_manager.h
+++ b/backends/platform/n64/framfs_save_manager.h
@@ -102,6 +102,21 @@ public:
class FRAMSaveManager : public Common::SaveFileManager {
public:
+ virtual void updateSavefilesList(Common::StringArray &lockedFiles) {
+ // this method is used to lock saves while cloud syncing
+ // as there is no network on N64, this method wouldn't be used
+ // thus it's not implemtented
+ }
+
+ virtual Common::InSaveFile *openRawFile(const Common::String &filename) {
+ InFRAMSave *s = new InFRAMSave();
+ if (s->readSaveGame(filename.c_str())) {
+ return s;
+ } else {
+ delete s;
+ return 0;
+ }
+ }
virtual Common::OutSaveFile *openForSaving(const Common::String &filename, bool compress = true) {
OutFRAMSave *s = new OutFRAMSave(filename.c_str());
diff --git a/backends/platform/n64/pakfs_save_manager.h b/backends/platform/n64/pakfs_save_manager.h
index 16b6330b35..f69d91005b 100644
--- a/backends/platform/n64/pakfs_save_manager.h
+++ b/backends/platform/n64/pakfs_save_manager.h
@@ -104,6 +104,21 @@ public:
class PAKSaveManager : public Common::SaveFileManager {
public:
+ virtual void updateSavefilesList(Common::StringArray &lockedFiles) {
+ // this method is used to lock saves while cloud syncing
+ // as there is no network on N64, this method wouldn't be used
+ // thus it's not implemtented
+ }
+
+ virtual Common::InSaveFile *openRawFile(const Common::String &filename) {
+ InPAKSave *s = new InPAKSave();
+ if (s->readSaveGame(filename.c_str())) {
+ return s;
+ } else {
+ delete s;
+ return NULL;
+ }
+ }
virtual Common::OutSaveFile *openForSaving(const Common::String &filename, bool compress = true) {
OutPAKSave *s = new OutPAKSave(filename.c_str());