Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Pinball/PBL_Player.h
338 views
1
#ifndef OBJ_PBL_PLAYER_H
2
#define OBJ_PBL_PLAYER_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectPBL_Player {
9
RSDK_OBJECT
10
uint16 aniFrames;
11
uint16 unused1;
12
Hitbox innerBox;
13
Hitbox outerBox;
14
uint16 sfxPlunger;
15
uint16 jumpFrames;
16
uint16 ballFrames;
17
uint16 sceneIndex;
18
};
19
20
// Entity Class
21
struct EntityPBL_Player {
22
RSDK_ENTITY
23
StateMachine(state);
24
int32 timer;
25
int32 angleX;
26
int32 height;
27
int32 unused1;
28
int32 unused2;
29
Matrix matRotate;
30
Matrix matTranslate;
31
Matrix matWorld;
32
Matrix matNormal;
33
StateMachine(stateInput);
34
int32 controllerID;
35
bool32 up;
36
bool32 down;
37
bool32 left;
38
bool32 right;
39
bool32 jumpPress;
40
bool32 jumpHold; // completely unused, but probably pretty likely
41
Animator animator;
42
};
43
44
// Object Struct
45
extern ObjectPBL_Player *PBL_Player;
46
47
// Standard Entity Events
48
void PBL_Player_Update(void);
49
void PBL_Player_LateUpdate(void);
50
void PBL_Player_StaticUpdate(void);
51
void PBL_Player_Draw(void);
52
void PBL_Player_Create(void *data);
53
void PBL_Player_StageLoad(void);
54
#if GAME_INCLUDE_EDITOR
55
void PBL_Player_EditorDraw(void);
56
void PBL_Player_EditorLoad(void);
57
#endif
58
void PBL_Player_Serialize(void);
59
60
// Extra Entity Functions
61
void PBL_Player_Input_P1(void);
62
63
// States
64
void PBL_Player_State_Launcher(void);
65
void PBL_Player_State_Ground(void);
66
void PBL_Player_State_Air(void);
67
68
#endif
69
70
#endif //! OBJ_PBL_PLAYER_H
71
72