aboutsummaryrefslogtreecommitdiff
path: root/saveload.cpp
diff options
context:
space:
mode:
authorLudvig Strigeus2001-10-18 20:04:58 +0000
committerLudvig Strigeus2001-10-18 20:04:58 +0000
commita8fac8f5abb7bfcd47372bec641258f949204cea (patch)
tree1f42b9beb69ff5bfcfc8eb874b7668e2749a0f4a /saveload.cpp
parent8c0c299a8506db5fab398c84ee4bbaffce9986c9 (diff)
downloadscummvm-rg350-a8fac8f5abb7bfcd47372bec641258f949204cea.tar.gz
scummvm-rg350-a8fac8f5abb7bfcd47372bec641258f949204cea.tar.bz2
scummvm-rg350-a8fac8f5abb7bfcd47372bec641258f949204cea.zip
flags were not saved properly
svn-id: r3441
Diffstat (limited to 'saveload.cpp')
-rw-r--r--saveload.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/saveload.cpp b/saveload.cpp
index 377b93aec8..c6f99c34cd 100644
--- a/saveload.cpp
+++ b/saveload.cpp
@@ -17,6 +17,9 @@
*
* Change Log:
* $Log$
+ * Revision 1.5 2001/10/18 20:04:58 strigeus
+ * flags were not saved properly
+ *
* Revision 1.4 2001/10/17 10:07:39 strigeus
* fixed verbs not saved in non dott games,
* implemented a screen effect
@@ -44,6 +47,8 @@ struct SaveGameHeader {
uint32 ver;
};
+#define CURRENT_VER 2
+
bool Scumm::saveState(const char *filename) {
FILE *out = fopen(filename,"wb");
SaveGameHeader hdr;
@@ -53,7 +58,7 @@ bool Scumm::saveState(const char *filename) {
hdr.type = MKID('SCVM');
hdr.size = 0;
- hdr.ver = 1;
+ hdr.ver = CURRENT_VER;
fwrite(&hdr, sizeof(hdr), 1, out);
@@ -78,7 +83,7 @@ bool Scumm::loadState(const char *filename) {
return false;
}
- if (hdr.ver != 1) {
+ if (hdr.ver != CURRENT_VER) {
warning("Invalid version of '%s'", filename);
fclose(out);
return false;
@@ -291,7 +296,7 @@ void Scumm::saveOrLoad(FILE *inout, bool mode) {
MKLINE(Scumm,gdi.unk4,sleByte),
MKLINE(Scumm,gdi.currentCursor,sleByte),
- MKLINE(Scumm,doEffect,sleUint16), /* Convert to byte */
+ MKLINE(Scumm,doEffect,sleByte),
MKLINE(Scumm,_switchRoomEffect,sleByte),
MKLINE(Scumm,_newEffect,sleByte),
MKLINE(Scumm,_switchRoomEffect2,sleByte),
@@ -417,7 +422,7 @@ void Scumm::saveOrLoad(FILE *inout, bool mode) {
saveLoadArrayOf(_objectFlagTable, _numGlobalObjects, sizeof(_objectFlagTable[0]), sleByte);
saveLoadArrayOf(_classData, _numGlobalObjects, sizeof(_classData[0]), sleUint32);
saveLoadArrayOf(_vars, _numVariables, sizeof(_vars[0]), sleInt16);
- saveLoadArrayOf(_bitVars, _numBitVariables>>8, 1, sleByte);
+ saveLoadArrayOf(_bitVars, _numBitVariables>>3, 1, sleByte);
}
void Scumm::saveLoadResource(int type, int index) {