Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Helpers/ReplayDB.h
338 views
1
#ifndef OBJ_REPLAYDB_H
2
#define OBJ_REPLAYDB_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectReplayDB {
9
RSDK_OBJECT
10
Entity *loadEntity;
11
void (*loadCallback)(bool32 success);
12
Entity *saveEntity;
13
void (*saveCallback)(bool32 success);
14
Entity *deleteEntity;
15
void (*deleteCallback)(bool32 success);
16
};
17
18
// Entity Class
19
struct EntityReplayDB {
20
RSDK_ENTITY
21
};
22
23
// Object Struct
24
extern ObjectReplayDB *ReplayDB;
25
26
// Standard Entity Events
27
void ReplayDB_Update(void);
28
void ReplayDB_LateUpdate(void);
29
void ReplayDB_StaticUpdate(void);
30
void ReplayDB_Draw(void);
31
void ReplayDB_Create(void *data);
32
void ReplayDB_StageLoad(void);
33
#if GAME_INCLUDE_EDITOR
34
void ReplayDB_EditorDraw(void);
35
void ReplayDB_EditorLoad(void);
36
#endif
37
void ReplayDB_Serialize(void);
38
39
// Extra Entity Functions
40
void ReplayDB_CreateDB(void);
41
void ReplayDB_LoadDB(void (*callback)(bool32 success));
42
void ReplayDB_SaveDB(void (*callback)(bool32 success));
43
uint32 ReplayDB_AddReplay(uint8 zoneID, uint8 act, uint8 characterID, int32 score, uint8 encore);
44
void ReplayDB_DeleteReplay(int32 row, void (*callback)(bool32 success), bool32 useAltCB);
45
void ReplayDB_DeleteReplay_CB(int32 status);
46
void ReplayDB_DeleteReplaySave_CB(int32 status);
47
void ReplayDB_DeleteReplaySave2_CB(int32 status);
48
void ReplayDB_LoadDBCallback(int32 status);
49
void ReplayDB_SaveDBCallback(int32 status);
50
void ReplayDB_LoadCallback(bool32 success);
51
52
int32 ReplayDB_Buffer_PackEntry(uint8 *compressed, void *uncompressed);
53
int32 ReplayDB_Buffer_UnpackEntry(void *uncompressed, uint8 *compressed);
54
#endif
55
56
#endif //! OBJ_REPLAYDB_H
57
58