Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Continue/ContinuePlayer.h
338 views
1
#ifndef OBJ_CONTINUEPLAYER_H
2
#define OBJ_CONTINUEPLAYER_H
3
4
#include "Game.h"
5
6
typedef enum {
7
CONTPLR_ANI_IDLE_SONIC,
8
CONTPLR_ANI_REACT_SONIC,
9
CONTPLR_ANI_IDLE_TAILS,
10
CONTPLR_ANI_REACT_TAILS,
11
CONTPLR_ANI_IDLE_KNUX,
12
CONTPLR_ANI_REACT_KNUX,
13
#if MANIA_USE_PLUS
14
CONTPLR_ANI_IDLE_MIGHTY,
15
CONTPLR_ANI_REACT_MIGHTY,
16
CONTPLR_ANI_IDLE_RAY,
17
CONTPLR_ANI_REACT_RAY,
18
#endif
19
CONTPLR_ANI_IDLE_AI,
20
CONTPLR_ANI_ICON,
21
} ContinuePlayerAniIDs;
22
23
// Object Class
24
struct ObjectContinuePlayer {
25
RSDK_OBJECT
26
uint16 aniFrames;
27
uint16 playerAniFrames;
28
uint16 tailAniFrames;
29
uint16 sfxRoll;
30
uint16 sfxCharge;
31
uint16 sfxRelease;
32
};
33
34
// Entity Class
35
struct EntityContinuePlayer {
36
RSDK_ENTITY
37
StateMachine(state);
38
bool32 isPlayer2;
39
int32 timer;
40
int32 unused1;
41
int32 unused2;
42
Animator animator;
43
uint16 aniFrames;
44
};
45
46
// Object Struct
47
extern ObjectContinuePlayer *ContinuePlayer;
48
49
// Standard Entity Events
50
void ContinuePlayer_Update(void);
51
void ContinuePlayer_LateUpdate(void);
52
void ContinuePlayer_StaticUpdate(void);
53
void ContinuePlayer_Draw(void);
54
void ContinuePlayer_Create(void *data);
55
void ContinuePlayer_StageLoad(void);
56
#if GAME_INCLUDE_EDITOR
57
void ContinuePlayer_EditorDraw(void);
58
void ContinuePlayer_EditorLoad(void);
59
#endif
60
void ContinuePlayer_Serialize(void);
61
62
// Extra Entity Functions
63
void ContinuePlayer_HandleDashAnim(void);
64
65
void ContinuePlayer_State_Idle(void);
66
void ContinuePlayer_State_ChargeDash(void);
67
void ContinuePlayer_State_DashRelease(void);
68
69
#endif //! OBJ_CONTINUEPLAYER_H
70
71