Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Summary/Summary.h
338 views
1
#ifndef OBJ_SUMMARY_H
2
#define OBJ_SUMMARY_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectSummary {
9
RSDK_OBJECT
10
STATIC(int32 bgAniDuration, 240);
11
int32 bgAniFrame;
12
TABLE(int32 bgAniDurationTable[4], { 240, 3, 3, 3 });
13
};
14
15
// Entity Class
16
struct EntitySummary {
17
RSDK_ENTITY
18
StateMachine(state);
19
StateMachine(stateDraw);
20
int32 timer;
21
int32 unused1;
22
int32 unused2;
23
int32 leaderCharacterID;
24
int32 sidekickCharacterID;
25
EntityUIText *gameModeLabel;
26
EntityUIText *saveFileLabel;
27
EntityUIText *totalTime;
28
EntityUIText *zoneLabels[32];
29
EntityUIPicture *player2Icon;
30
EntityUIPicture *player1Icon;
31
void *unusedPtr;
32
};
33
34
// Object Struct
35
extern ObjectSummary *Summary;
36
37
// Standard Entity Events
38
void Summary_Update(void);
39
void Summary_LateUpdate(void);
40
void Summary_StaticUpdate(void);
41
void Summary_Draw(void);
42
void Summary_Create(void *data);
43
void Summary_StageLoad(void);
44
#if GAME_INCLUDE_EDITOR
45
void Summary_EditorDraw(void);
46
void Summary_EditorLoad(void);
47
#endif
48
void Summary_Serialize(void);
49
50
// Extra Entity Functions
51
void Summary_State_Draw(void);
52
53
void Summary_State_SetupText(void);
54
void Summary_State_FadeIn(void);
55
void Summary_State_Wait(void);
56
void Summary_State_FadeOut(void);
57
58
void Summary_SetTextString(uint8 anim, EntityUIText *text, const char *str);
59
void Summary_GetPlayTime(char *buffer, int32 time);
60
void Summary_LoadTimes(void);
61
62
#endif
63
64
#endif //! OBJ_SUMMARY_H
65
66