1 //-------------------------------------------------------------------------
2 /*
3 Copyright (C) 2010-2019 EDuke32 developers and contributors
4 Copyright (C) 2019 Nuke.YKT
5 
6 This file is part of NBlood.
7 
8 NBlood is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License version 2
10 as published by the Free Software Foundation.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 
16 See the GNU General Public License for more details.
17 
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 */
22 //-------------------------------------------------------------------------
23 #pragma once
24 #include <stdio.h>
25 #include "levels.h"
26 
27 class LoadSave {
28 public:
29     static LoadSave head;
30     static FILE *hSFile;
31     static int hLFile;
32     LoadSave *prev;
33     LoadSave *next;
LoadSave()34     LoadSave() {
35         prev = head.prev;
36         prev->next = this;
37         next = &head;
38         next->prev = this;
39     }
LoadSave(int dummy)40     LoadSave(int dummy)
41     {
42         UNREFERENCED_PARAMETER(dummy);
43         next = prev = this;
44     }
45     //~LoadSave() { }
46     virtual void Save(void);
47     virtual void Load(void);
48     void Read(void *, int);
49     void Write(void *, int);
50     static void LoadGame(char *);
51     static void SaveGame(char *);
52 };
53 
54 extern unsigned int gSavedOffset;
55 extern GAMEOPTIONS gSaveGameOptions[];
56 extern char *gSaveGamePic[10];
57 void UpdateSavedInfo(int nSlot);
58 void LoadSavedInfo(void);
59 void LoadSaveSetup(void);
60