Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Common/SpinBooster.h
338 views
1
#ifndef OBJ_SPINBOOSTER_H
2
#define OBJ_SPINBOOSTER_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectSpinBooster {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
};
11
12
// Entity Class
13
struct EntitySpinBooster {
14
RSDK_ENTITY
15
uint8 autoGrip;
16
uint8 bias;
17
int32 size;
18
int32 boostPower;
19
bool32 boostAlways;
20
bool32 forwardOnly;
21
bool32 playSound;
22
bool32 allowTubeInput;
23
uint8 activePlayers;
24
int32 unused;
25
Animator animator;
26
};
27
28
// Object Struct
29
extern ObjectSpinBooster *SpinBooster;
30
31
// Standard Entity Events
32
void SpinBooster_Update(void);
33
void SpinBooster_LateUpdate(void);
34
void SpinBooster_StaticUpdate(void);
35
void SpinBooster_Draw(void);
36
void SpinBooster_Create(void *data);
37
void SpinBooster_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void SpinBooster_EditorDraw(void);
40
void SpinBooster_EditorLoad(void);
41
#endif
42
void SpinBooster_Serialize(void);
43
44
// Extra Entity Functions
45
int32 SpinBooster_GetRollDir(EntityPlayer *player);
46
void SpinBooster_HandleRollDir(EntityPlayer *player);
47
void SpinBooster_ApplyRollVelocity(EntityPlayer *player);
48
void SpinBooster_DrawArrow(int32 x1, int32 y1, int32 x2, int32 y2, uint32 color);
49
void SpinBooster_DrawSprites(void);
50
void SpinBooster_HandleForceRoll(EntityPlayer *player);
51
52
#endif //! OBJ_SPINBOOSTER_H
53
54