Hi Pat!
Another part to re-check it please
File: _ex_memory.gsc
Function: saveMemory()
saveMemory()
{
if(!isPlayer(self)) return;
if(!checkPlayerStruct()) return;
if(self.pers["memory"]["-dirty-"])
{
filename = "memory/" + self.pers["memory"]["-name-"] + "-memory";
filehandle = openfile(filename, "write");
if(filehandle != -1)
{
mline = "";
for(i = 0; i < level.memID.size; i++)
{
memID = level.memID[i];
values = "";
for(j = 0; j < level.memIT[memID].size; j++)
{
if(values != "") values += " ";
values += self.pers["memory"][memID][level.memIT[memID][j]];
}
if(mline != "") mline += " ";
mline += memID + " " + values;
}
if(level.ex_memory_log) logprint("(WRITE) " + mline + "
");
fprintln(filehandle, mline);
closefile(filehandle);
}
self.pers["memory"]["-dirty-"] = false;
}
}
I would think, that "self.pers["memory"]["-dirty-"] = false;" should move to:
fprintln(filehandle, mline);
closefile(filehandle);
self.pers["memory"]["-dirty-"] = false;
}
Otherwise, if a file write would failed, the memory is marked as "not dirty". :roll:
Please confirm this part, thank you!
Regards,
{NADF} Geronimo