Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Pinball/PBL_Flipper.h
338 views
1
#ifndef OBJ_PBL_FLIPPER_H
2
#define OBJ_PBL_FLIPPER_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectPBL_Flipper {
9
RSDK_OBJECT
10
Animator unusedAnimator1;
11
Hitbox hitbox;
12
Hitbox hitboxUnused;
13
int32 drawType;
14
uint16 aniFrames;
15
uint16 modelFrames;
16
uint16 sceneIndex;
17
uint16 sfxFlipper;
18
uint16 sfxFlipperStage;
19
};
20
21
// Entity Class
22
struct EntityPBL_Flipper {
23
RSDK_ENTITY
24
StateMachine(state);
25
uint8 minCraneID;
26
int32 height;
27
bool32 retractable;
28
Matrix unusedMatrix1;
29
Matrix matTransform;
30
Matrix matWorld;
31
Matrix matNormal;
32
bool32 buttonPress;
33
bool32 buttonDown;
34
bool32 flipperActive;
35
Animator animator;
36
};
37
38
// Object Struct
39
extern ObjectPBL_Flipper *PBL_Flipper;
40
41
// Standard Entity Events
42
void PBL_Flipper_Update(void);
43
void PBL_Flipper_LateUpdate(void);
44
void PBL_Flipper_StaticUpdate(void);
45
void PBL_Flipper_Draw(void);
46
void PBL_Flipper_Create(void *data);
47
void PBL_Flipper_StageLoad(void);
48
#if GAME_INCLUDE_EDITOR
49
void PBL_Flipper_EditorDraw(void);
50
void PBL_Flipper_EditorLoad(void);
51
#endif
52
void PBL_Flipper_Serialize(void);
53
54
// Extra Entity Functions
55
void PBL_Flipper_HandlePlayerInteractions(void);
56
void PBL_Flipper_State_AwaitFlip(void);
57
void PBL_Flipper_State_RiseFlipper(void);
58
void PBL_Flipper_State_LowerFlipper(void);
59
60
#endif
61
62
#endif //! OBJ_PBL_FLIPPER_H
63
64