aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMax Horn2007-12-30 13:05:38 +0000
committerMax Horn2007-12-30 13:05:38 +0000
commitc54562d9a3fbcc6bc2249e7e36a92ead78165653 (patch)
tree9d41d71c915942a42917a1b5c8e1a1138ea52792 /backends
parent0d3092689b6134671ec8ad1ec767bced43a32333 (diff)
downloadscummvm-rg350-c54562d9a3fbcc6bc2249e7e36a92ead78165653.tar.gz
scummvm-rg350-c54562d9a3fbcc6bc2249e7e36a92ead78165653.tar.bz2
scummvm-rg350-c54562d9a3fbcc6bc2249e7e36a92ead78165653.zip
The PS2, DS and PalmOS ports currently do not properly implement their SaveFileManagers -- flagging the incorrect & invalid code by making it not compile. Note: Portser should probably also fix their code in the 0.11 branch
svn-id: r30079
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/PalmOS/Src/be_save.cpp9
-rw-r--r--backends/platform/PalmOS/Src/be_save.h2
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.cpp58
-rw-r--r--backends/platform/ds/arm9/source/gbampsave.h4
-rw-r--r--backends/platform/ds/arm9/source/ramsave.cpp15
-rw-r--r--backends/platform/ds/arm9/source/ramsave.h7
-rw-r--r--backends/platform/ps2/savefile.cpp13
-rw-r--r--backends/platform/ps2/savefile.h2
-rw-r--r--backends/saves/default/default-saves.cpp4
-rw-r--r--backends/saves/default/default-saves.h2
10 files changed, 49 insertions, 67 deletions
diff --git a/backends/platform/PalmOS/Src/be_save.cpp b/backends/platform/PalmOS/Src/be_save.cpp
index 70edbab38f..1c3da1ba23 100644
--- a/backends/platform/PalmOS/Src/be_save.cpp
+++ b/backends/platform/PalmOS/Src/be_save.cpp
@@ -27,6 +27,13 @@
#include "common/savefile.h"
#include "be_save.h"
+Common::StringList PalmSaveFileManager::listSavefiles(const char *pattern) {
+ TODO: Implement this. If you don't understand what it should do, just ask
+ (e.g. on scummvm-devel or Fingolfin). It should be pretty simple if you
+ use Common::matchString from common/util.h and read the Doxygen docs,
+ then combine this with the old code below...
+
+/*
void PalmSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num) {
FileRef fileRef;
// try to open the dir
@@ -65,3 +72,5 @@ void PalmSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num
VFSFileClose(fileRef);
}
+
+}
diff --git a/backends/platform/PalmOS/Src/be_save.h b/backends/platform/PalmOS/Src/be_save.h
index cad5855551..c0aaf2a46c 100644
--- a/backends/platform/PalmOS/Src/be_save.h
+++ b/backends/platform/PalmOS/Src/be_save.h
@@ -30,7 +30,7 @@
class PalmSaveFileManager : public DefaultSaveFileManager {
public:
- void listSavefiles(const char *prefix, bool *marks, int num);
+ Common::StringList listSavefiles(const char *pattern);
};
#endif
diff --git a/backends/platform/ds/arm9/source/gbampsave.cpp b/backends/platform/ds/arm9/source/gbampsave.cpp
index 830073e7a7..b03a1334f7 100644
--- a/backends/platform/ds/arm9/source/gbampsave.cpp
+++ b/backends/platform/ds/arm9/source/gbampsave.cpp
@@ -164,62 +164,13 @@ GBAMPSaveFile* GBAMPSaveFileManager::openSavefile(char const* name, bool saveOrL
}
}
-void GBAMPSaveFileManager::listSavefiles(char const* prefix, bool* marks, int num) {
-// memset(marks, true, num * sizeof(bool));
-// return;
-
- // Seems like I misunderstood what this function was supposed to do.
- // I thought I was meant to set the marks[] array according to which
- // saves are present on disk.
- enum { TYPE_NO_MORE = 0, TYPE_FILE = 1, TYPE_DIR = 2 };
- char name[128];
- char path[128];
-
- DS::std_cwd((char *) getSavePath());
- consolePrintf("Save path: %s\n", getSavePath());
-
- int fileType = FAT_FindFirstFileLFN(name);
-
- for (int r = 0; r < num; r++) {
- marks[r] = false;
- }
-
- do {
-
- if (fileType == TYPE_FILE) {
-
- FAT_GetLongFilename(name);
-
- for (int r = 0; r < num; r++) {
- char str[128];
-
-
- sprintf(str, "%s%02d", prefix, r);
- consolePrintf("%s != %s", str, name);
- if (!stricmp(str, name)) {
- marks[r] = true;
- consolePrintf("Matched %d", r);
- }
-
- }
-
- }
-
- } while ((fileType = FAT_FindNextFileLFN(name)));
-
- FAT_chdir("/");
-}
-
-Common::StringList GBAMPSaveFileManager::listSavefiles(const char *regex) {
-
-
+Common::StringList GBAMPSaveFileManager::listSavefiles(const char *pattern) {
enum { TYPE_NO_MORE = 0, TYPE_FILE = 1, TYPE_DIR = 2 };
char name[256];
-
DS::std_cwd((char *) getSavePath());
-// consolePrintf("Save path: '%s', regex: '%s'\n", getSavePath(),regex);
+// consolePrintf("Save path: '%s', pattern: '%s'\n", getSavePath(),pattern);
int fileType = FAT_FindFirstFileLFN(name);
@@ -238,16 +189,15 @@ Common::StringList GBAMPSaveFileManager::listSavefiles(const char *regex) {
}
- if (Common::matchString(name, regex)) {
+ if (Common::matchString(name, pattern)) {
list.push_back(name);
}
}
-
+
} while ((fileType = FAT_FindNextFileLFN(name)));
FAT_chdir("/");
-
return list;
}
diff --git a/backends/platform/ds/arm9/source/gbampsave.h b/backends/platform/ds/arm9/source/gbampsave.h
index 6fd3098b99..b46c9bd53b 100644
--- a/backends/platform/ds/arm9/source/gbampsave.h
+++ b/backends/platform/ds/arm9/source/gbampsave.h
@@ -71,9 +71,7 @@ public:
virtual Common::InSaveFile* openForLoading(const char* filename) { return openSavefile(filename, false); }
virtual bool removeSavefile(const char *filename) { return false; } // TODO: Implement this
- virtual Common::StringList listSavefiles(const char *regex);
-
- void listSavefiles(const char *prefix, bool *marks, int num);
+ virtual Common::StringList listSavefiles(const char *pattern);
void deleteFile(char* name);
void listFiles();
diff --git a/backends/platform/ds/arm9/source/ramsave.cpp b/backends/platform/ds/arm9/source/ramsave.cpp
index 1cd7ff814b..24eea80c5c 100644
--- a/backends/platform/ds/arm9/source/ramsave.cpp
+++ b/backends/platform/ds/arm9/source/ramsave.cpp
@@ -383,6 +383,18 @@ void DSSaveFileManager::deleteFile(char* name) {
flushToSaveRAM();
}
+void DSSaveFileManager::removeSavefile(const char *filename) {
+ TODO: Implement this. Most likely, you just have to use the code of deleteFile?
+}
+
+
+Common::StringList DSSaveFileManager::listSavefiles(const char *pattern) {
+ TODO: Implement this. If you don't understand what it should do, just ask
+ (e.g. on scummvm-devel or Fingolfin). It should be pretty simple if you
+ use Common::matchString from common/util.h and read the Doxygen docs,
+ then combine this with the old code below...
+
+/*
void DSSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num) {
memset(marks, true, num * sizeof(bool));
return;
@@ -398,6 +410,9 @@ void DSSaveFileManager::listSavefiles(const char *prefix, bool *marks, int num)
}
}
+*/
+
+}
DSSaveFile *DSSaveFileManager::makeSaveFile(const char *filename, bool saveOrLoad) {
diff --git a/backends/platform/ds/arm9/source/ramsave.h b/backends/platform/ds/arm9/source/ramsave.h
index 9145a9b29b..d7ba6b5d68 100644
--- a/backends/platform/ds/arm9/source/ramsave.h
+++ b/backends/platform/ds/arm9/source/ramsave.h
@@ -123,11 +123,8 @@ public:
virtual Common::OutSaveFile* openForSaving(const char* filename) { return openSavefile(filename, true); }
virtual Common::InSaveFile* openForLoading(const char* filename) { return openSavefile(filename, false); }
- virtual bool removeSavefile(const char *filename) { return false; } // TODO: Implement this
- virtual Common::StringList listSavefiles(const char *regex) { return Common::StringList(); } // TODO: I don't know what this is for!
-
-
- void listSavefiles(const char *prefix, bool *marks, int num);
+ virtual bool removeSavefile(const char *filename);
+ virtual Common::StringList listSavefiles(const char *pattern);
void flushToSaveRAM();
diff --git a/backends/platform/ps2/savefile.cpp b/backends/platform/ps2/savefile.cpp
index 84bee4cf35..3865278788 100644
--- a/backends/platform/ps2/savefile.cpp
+++ b/backends/platform/ps2/savefile.cpp
@@ -442,6 +442,17 @@ Common::OutSaveFile *Ps2SaveFileManager::openForSaving(const char *filename) {
return NULL;
}
+void Ps2SaveFileManager::removeSavefile(const char *filename) {
+ TODO: Implement this.
+}
+
+Common::StringList Ps2SaveFileManager::listSavefiles(const char *pattern) {
+ TODO: Implement this. If you don't understand what it should do, just ask
+ (e.g. on scummvm-devel or Fingolfin). It should be pretty simple if you
+ use Common::matchString from common/util.h and read the Doxygen docs,
+ then combine this with the old code below...
+
+/*
void Ps2SaveFileManager::listSavefiles(const char *prefix, bool *marks, int num) {
_screen->wantAnim(true);
@@ -483,6 +494,8 @@ void Ps2SaveFileManager::listSavefiles(const char *prefix, bool *marks, int num)
}
_screen->wantAnim(false);
}
+*/
+
bool Ps2SaveFileManager::setupIcon(const char *dest, const char *ico, const char *descr1, const char *descr2) {
mcIcon icon_sys;
diff --git a/backends/platform/ps2/savefile.h b/backends/platform/ps2/savefile.h
index 5e3c12beb7..f72177e7ca 100644
--- a/backends/platform/ps2/savefile.h
+++ b/backends/platform/ps2/savefile.h
@@ -40,7 +40,7 @@ public:
virtual Common::InSaveFile *openForLoading(const char *filename);
virtual Common::OutSaveFile *openForSaving(const char *filename);
- virtual void listSavefiles(const char *prefix, bool *marks, int num);
+ virtual Common::StringList listSavefiles(const char *pattern);
void writeSaveNonblocking(char *name, void *buf, uint32 size);
void saveThread(void);
diff --git a/backends/saves/default/default-saves.cpp b/backends/saves/default/default-saves.cpp
index aaa403291f..c96ae9dcf6 100644
--- a/backends/saves/default/default-saves.cpp
+++ b/backends/saves/default/default-saves.cpp
@@ -114,11 +114,11 @@ static void join_paths(const char *filename, const char *directory,
strncat(buf, filename, bufsize-1);
}
-Common::StringList DefaultSaveFileManager::listSavefiles(const char *regex) {
+Common::StringList DefaultSaveFileManager::listSavefiles(const char *pattern) {
FilesystemNode savePath(getSavePath());
FSList savefiles;
Common::StringList results;
- Common::String search(regex);
+ Common::String search(pattern);
if (savePath.lookupFile(savefiles, search, false, true)) {
for (FSList::const_iterator file = savefiles.begin(); file != savefiles.end(); ++file) {
diff --git a/backends/saves/default/default-saves.h b/backends/saves/default/default-saves.h
index 5d7bf159ff..f1a0d04aef 100644
--- a/backends/saves/default/default-saves.h
+++ b/backends/saves/default/default-saves.h
@@ -34,7 +34,7 @@
*/
class DefaultSaveFileManager : public Common::SaveFileManager {
public:
- virtual Common::StringList listSavefiles(const char *regex);
+ virtual Common::StringList listSavefiles(const char *pattern);
virtual Common::InSaveFile *openForLoading(const char *filename);
virtual Common::OutSaveFile *openForSaving(const char *filename);
virtual bool removeSavefile(const char *filename);