commit 32928efdfdc13d90a29d0506ae8a2cd24c4dd017
Author: Thomas A. Birkel <capnclever@gmail.com>
AuthorDate: Thu Oct 27 17:24:04 2016 -0400
Commit: Thomas A. Birkel <capnclever@gmail.com>
CommitDate: Thu Oct 27 17:24:04 2016 -0400
heretic/p_saveg.c: Reproduce vanilla savegame error
Removes SaveGameType variable, since the SVG_RAM code was never used.
---
src/heretic/p_saveg.c | 44 +++++++++-----------------------------------
1 file changed, 9 insertions(+), 35 deletions(-)
diff --git a/src/heretic/p_saveg.c b/src/heretic/p_saveg.c
index 34e9e906..b8d268f4 100644
--- a/src/heretic/p_saveg.c
+++ b/src/heretic/p_saveg.c
@@ -29,7 +29,6 @@
#define SVG_FILE 1
static FILE *SaveGameFP;
-static int SaveGameType;
static byte *savebuffer, *save_p;
@@ -63,13 +62,11 @@ char *SV_Filename(int slot)
void SV_Open(char *fileName)
{
- SaveGameType = SVG_FILE;
SaveGameFP = fopen(fileName, "wb");
}
void SV_OpenRead(char *filename)
{
- SaveGameType = SVG_FILE;
SaveGameFP = fopen(filename, "rb");
}
@@ -81,23 +78,16 @@ void SV_OpenRead(char *filename)
void SV_Close(char *fileName)
{
- int length;
-
SV_WriteByte(SAVE_GAME_TERMINATOR);
- if (SaveGameType == SVG_RAM)
+
+ // Enforce the same savegame size limit as in Vanilla Heretic
+
+ if (ftell(SaveGameFP) > SAVEGAMESIZE)
{
- length = save_p - savebuffer;
- if (length > SAVEGAMESIZE)
- {
- I_Error("Savegame buffer overrun");
- }
- M_WriteFile(fileName, savebuffer, length);
- Z_Free(savebuffer);
- }
- else
- { // SVG_FILE
- fclose(SaveGameFP);
+ I_Error("Savegame buffer overrun");
}
+
+ fclose(SaveGameFP);
}
//==========================================================================
@@ -108,15 +98,7 @@ void SV_Close(char *fileName)
void SV_Write(void *buffer, int size)
{
- if (SaveGameType == SVG_RAM)
- {
- memcpy(save_p, buffer, size);
- save_p += size;
- }
- else
- { // SVG_FILE
- fwrite(buffer, size, 1, SaveGameFP);
- }
+ fwrite(buffer, size, 1, SaveGameFP);
}
void SV_WriteByte(byte val)
@@ -151,15 +133,7 @@ void SV_WritePtr(void *ptr)
void SV_Read(void *buffer, int size)
{
- if (SaveGameType == SVG_RAM)
- {
- memcpy(buffer, save_p, size);
- save_p += size;
- }
- else
- { // SVG_FILE
- fread(buffer, size, 1, SaveGameFP);
- }
+ fread(buffer, size, 1, SaveGameFP);
}
byte SV_ReadByte(void)