X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsnapshot.h;h=41fca6407a4a185cefbaa010534d87c164113b5a;hb=897c46a2720672a49ce6d0803b08eed23fd2dd90;hp=ef63bdf80933f1a5ac396fa22a7102a0fd52b9fc;hpb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;p=rocksndiamonds.git diff --git a/src/libgame/snapshot.h b/src/libgame/snapshot.h index ef63bdf8..41fca640 100644 --- a/src/libgame/snapshot.h +++ b/src/libgame/snapshot.h @@ -16,10 +16,12 @@ #include "misc.h" -/* needed for comfortably saving engine snapshot buffers */ -#define ARGS_ADDRESS_AND_SIZEOF(x) (&(x)), (sizeof(x)) +#define SNAPSHOT_MEMORY_DEFAULT (512 * 1024 * 1024) -struct EngineSnapshotNodeInfo +// needed for comfortably saving engine snapshot buffers +#define ARGS_ADDRESS_AND_SIZEOF(x) (&(x)), (sizeof(x)) + +struct SnapshotNodeInfo { void *buffer_orig; void *buffer_copy; @@ -27,8 +29,17 @@ struct EngineSnapshotNodeInfo }; -void SaveEngineSnapshotBuffer(void *buffer, int size); -void LoadEngineSnapshotBuffers(); -void FreeEngineSnapshotBuffers(); +void SaveSnapshotBuffer(ListNode **, void *, int); +void LoadSnapshotBuffers(ListNode *); +void FreeSnapshotBuffers(ListNode *); + +void SaveSnapshotSingle(ListNode *); +void SaveSnapshotToList(ListNode *); +boolean LoadSnapshotSingle(void); +boolean LoadSnapshotFromList_Older(int); +boolean LoadSnapshotFromList_Newer(int); +boolean CheckSnapshotList(void); +void FreeSnapshotSingle(void); +void FreeSnapshotList(void); -#endif /* SNAPSHOT_H */ +#endif // SNAPSHOT_H