From 0ac394902ef009fe0b41f77095b069d4f6d7e632 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Tue, 24 Sep 2013 20:02:25 +0000 Subject: Split Heretic savegame code into a separate file. Subversion-branch: /branches/v2-branch Subversion-revision: 2681 --- src/heretic/g_game.c | 97 ---------------------------------------------------- 1 file changed, 97 deletions(-) (limited to 'src/heretic/g_game.c') diff --git a/src/heretic/g_game.c b/src/heretic/g_game.c index 961314ef..85e57ca9 100644 --- a/src/heretic/g_game.c +++ b/src/heretic/g_game.c @@ -41,9 +41,6 @@ // Macros -#define SVG_RAM 0 -#define SVG_FILE 1 -#define SAVE_GAME_TERMINATOR 0x1d #define AM_STARTKEY 9 // Functions @@ -88,9 +85,6 @@ struct { -1, { -1, -1 } } // Terminator }; -FILE *SaveGameFP; -int SaveGameType; - gameaction_t gameaction; gamestate_t gamestate; skill_t gameskill; @@ -1823,94 +1817,3 @@ void G_DoSaveGame(void) free(filename); } -//========================================================================== -// -// SV_Filename -// -// Generate the filename to use for a particular savegame slot. -// Returns a malloc()'d buffer that must be freed by the caller. -// -//========================================================================== - -char *SV_Filename(int slot) -{ - char *filename; - - filename = malloc(strlen(savegamedir) + strlen(SAVEGAMENAME) + 8); - sprintf(filename, "%s" SAVEGAMENAME "%d.hsg", savegamedir, slot); - - return filename; -} - -//========================================================================== -// -// SV_Open -// -//========================================================================== - -void SV_Open(char *fileName) -{ - SaveGameType = SVG_FILE; - SaveGameFP = fopen(fileName, "wb"); -} - -//========================================================================== -// -// SV_Close -// -//========================================================================== - -void SV_Close(char *fileName) -{ - int length; - - SV_WriteByte(SAVE_GAME_TERMINATOR); - if (SaveGameType == SVG_RAM) - { - 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); - } -} - -//========================================================================== -// -// SV_Write -// -//========================================================================== - -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); - } -} - -void SV_WriteByte(byte val) -{ - SV_Write(&val, sizeof(byte)); -} - -void SV_WriteWord(unsigned short val) -{ - SV_Write(&val, sizeof(unsigned short)); -} - -void SV_WriteLong(unsigned int val) -{ - SV_Write(&val, sizeof(int)); -} -- cgit v1.2.3