Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Global/Competition.h
338 views
1
#ifndef OBJ_COMPETITION_H
2
#define OBJ_COMPETITION_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectCompetition {
8
RSDK_OBJECT
9
int32 unused1;
10
int32 unused2;
11
int32 unused3;
12
int32 unused4;
13
int32 unused5;
14
int32 unused6;
15
int32 unused7;
16
int32 unused8;
17
uint16 aniFrames;
18
EntityCompetition *sessionManager;
19
int32 unused9;
20
};
21
22
// Entity Class
23
struct EntityCompetition {
24
RSDK_ENTITY
25
StateMachine(state);
26
bool32 playerFinished[PLAYER_COUNT];
27
int32 timer;
28
int32 seconds;
29
int32 unused1;
30
Animator animator;
31
};
32
33
// Object Struct
34
extern ObjectCompetition *Competition;
35
36
// Standard Entity Events
37
void Competition_Update(void);
38
void Competition_LateUpdate(void);
39
void Competition_StaticUpdate(void);
40
void Competition_Draw(void);
41
void Competition_Create(void *data);
42
void Competition_StageLoad(void);
43
#if GAME_INCLUDE_EDITOR
44
void Competition_EditorDraw(void);
45
void Competition_EditorLoad(void);
46
#endif
47
void Competition_Serialize(void);
48
49
// Extra Entity Functions
50
void Competition_State_Manager(void);
51
52
#if MANIA_USE_PLUS
53
void Competition_ResetOptions(void);
54
void Competition_ClearMatchData(void);
55
void Competition_DeriveWinner(int32 playerID, uint8 finishType);
56
void Competition_WinMatchFor(int32 playerID);
57
#endif
58
59
#endif //! OBJ_COMPETITION_H
60
61