p_saveg.h
 1  //
 2  // Copyright(C) 1993-1996 Id Software, Inc.
 3  // Copyright(C) 2005-2014 Simon Howard
 4  //
 5  // This program is free software; you can redistribute it and/or
 6  // modify it under the terms of the GNU General Public License
 7  // as published by the Free Software Foundation; either version 2
 8  // of the License, or (at your option) any later version.
 9  //
10  // This program is distributed in the hope that it will be useful,
11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  // GNU General Public License for more details.
14  //
15  // DESCRIPTION:
16  //	Savegame I/O, archiving, persistence.
17  //
18  
19  
20  #ifndef __P_SAVEG__
21  #define __P_SAVEG__
22  
23  #include "ff.h"
24  
25  // maximum size of a savegame description
26  
27  #define SAVESTRINGSIZE 24
28  
29  // temporary filename to use while saving.
30  
31  char *P_TempSaveGameFile(void);
32  
33  // filename to use for a savegame slot
34  
35  char *P_SaveGameFile(int slot);
36  
37  // Savegame file header read/write functions
38  
39  boolean P_ReadSaveGameHeader(void);
40  void P_WriteSaveGameHeader(char *description);
41  
42  // Savegame end-of-file read/write functions
43  
44  boolean P_ReadSaveGameEOF(void);
45  void P_WriteSaveGameEOF(void);
46  
47  // Persistent storage/archiving.
48  // These are the load / save game routines.
49  void P_ArchivePlayers (void);
50  void P_UnArchivePlayers (void);
51  void P_ArchiveWorld (void);
52  void P_UnArchiveWorld (void);
53  void P_ArchiveThinkers (void);
54  void P_UnArchiveThinkers (void);
55  void P_ArchiveSpecials (void);
56  void P_UnArchiveSpecials (void);
57  
58  extern FIL save_stream;
59  extern boolean savegame_error;
60  
61  
62  #endif