aboutsummaryrefslogtreecommitdiffstats
path: root/src/save/GenericGameStorage.h
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2020-01-14 01:13:42 +0200
committerSergeanur <s.anureev@yandex.ua>2020-01-27 18:22:51 +0200
commitfa4dbcab35733bb0b760cdb24a7d74b285360eb0 (patch)
tree69e79db7fe59903f2f0368fc0f7277b260c324d3 /src/save/GenericGameStorage.h
parentfdbcd1fb6850c4c8366ec8a0be3088f94325c645 (diff)
save
Diffstat (limited to 'src/save/GenericGameStorage.h')
-rw-r--r--src/save/GenericGameStorage.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/save/GenericGameStorage.h b/src/save/GenericGameStorage.h
new file mode 100644
index 00000000..86861e5e
--- /dev/null
+++ b/src/save/GenericGameStorage.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include "PCSave.h"
+
+class CDate
+{
+public:
+ int m_nSecond;
+ int m_nMinute;
+ int m_nHour;
+ int m_nDay;
+ int m_nMonth;
+ int m_nYear;
+
+ CDate();
+ bool operator>(const CDate &right);
+ bool operator<(const CDate &right);
+ bool operator==(const CDate &right);
+ void PopulateDateFields(int8 &second, int8 &minute, int8 &hour, int8 &day, int8 &month, int16 year);
+};
+
+#define SLOT_COUNT (8)
+
+bool GenericSave(int file);
+bool GenericLoad();
+bool ReadInSizeofSaveFileBuffer(int32 &file, uint32 &size);
+bool ReadDataFromFile(int32 file, uint8 *buf, uint32 size);
+bool CloseFile(int32 file);
+void DoGameSpecificStuffAfterSucessLoad();
+bool CheckSlotDataValid(int32 slot);
+void MakeSpaceForSizeInBufferPointer(uint8 *&presize, uint8 *&buf, uint8 *&postsize);
+void CopySizeAndPreparePointer(uint8 *&buf, uint8 *&postbuf, uint8 *&postbuf2, uint32 &unused, uint32 &size);
+void DoGameSpecificStuffBeforeSave();
+void MakeValidSaveName(int32 slot);
+wchar *GetSavedGameDateAndTime(int32 slot);
+wchar *GetNameOfSavedGame(int32 slot);
+bool CheckDataNotCorrupt(int32 slot, char *name);
+bool RestoreForStartLoad();
+int align4bytes(int32 size);
+
+extern CDate& CompileDateAndTime;
+
+extern char (&DefaultPCSaveFileName)[260];
+extern char (&ValidSaveName)[260];
+extern char (&LoadFileName)[256];
+extern wchar (&SlotFileName)[SLOT_COUNT][260];
+extern wchar (&SlotSaveDate)[SLOT_COUNT][70];
+extern int &CheckSum;
+extern enum eLevelName &m_LevelToLoad;
+extern int (&Slots)[SLOT_COUNT+1];
+
+extern char SaveFileNameJustSaved[260]; // 8F2570
+
+const char TopLineEmptyFile[] = "THIS FILE IS NOT VALID YET";
+extern C_PcSave &PcSaveHelper; \ No newline at end of file