aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/ds/arm9/source/ramsave.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/ds/arm9/source/ramsave.cpp')
-rw-r--r--backends/platform/ds/arm9/source/ramsave.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/backends/platform/ds/arm9/source/ramsave.cpp b/backends/platform/ds/arm9/source/ramsave.cpp
index 8442fd6b88..30c3a06721 100644
--- a/backends/platform/ds/arm9/source/ramsave.cpp
+++ b/backends/platform/ds/arm9/source/ramsave.cpp
@@ -64,6 +64,7 @@ DSSaveFile::DSSaveFile(SCUMMSave* s, bool compressed, u8* data) {
}
isTempFile = false;
+ eosReached = false;
}
DSSaveFile::~DSSaveFile() {
@@ -167,11 +168,13 @@ int DSSaveFile::saveToSaveRAM(vu8* address) {
void DSSaveFile::reset() {
ptr = 0;
+ eosReached = false;
}
uint32 DSSaveFile::read(void *buf, uint32 size) {
if (ptr + size > save.size) {
size = save.size - ptr;
+ eosReached = true;
if (size < 0) size = 0;
}
memcpy(buf, saveData + ptr, size);
@@ -204,11 +207,16 @@ bool DSSaveFile::seek(int32 pos, int whence) {
break;
}
}
+ eosReached = false;
return true;
}
bool DSSaveFile::eos() const {
- return ptr >= (int) save.size;
+ return eosReached;
+}
+
+void DSSaveFile::clearErr() {
+ eosReached = false;
}
bool DSSaveFile::skip(uint32 bytes) {