Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Unused/TargetBumper.h
338 views
1
#ifndef OBJ_TARGETBUMPER_H
2
#define OBJ_TARGETBUMPER_H
3
4
#include "Game.h"
5
6
typedef enum { TARGETBUMP_HORIZONTAL, TARGETBUMP_VERTICAL, TARGETBUMP_DIAGONAL } TargetBumperTypes;
7
8
typedef enum { TARGETBUMP_THREE_HIT, TARGETBUMP_TWO_HIT, TARGETBUMP_ONE_HIT } TargetBumperHitCount;
9
10
// Object Class
11
struct ObjectTargetBumper {
12
RSDK_OBJECT
13
uint16 aniFrames;
14
};
15
16
// Entity Class
17
struct EntityTargetBumper {
18
RSDK_ENTITY
19
StateMachine(state);
20
int32 type;
21
int32 hitCount;
22
Vector2 startPos;
23
Vector2 curPos;
24
int32 hitTimer;
25
Animator animator;
26
};
27
28
// Object Entity
29
extern ObjectTargetBumper *TargetBumper;
30
31
// Standard Entity Events
32
void TargetBumper_Update(void);
33
void TargetBumper_LateUpdate(void);
34
void TargetBumper_StaticUpdate(void);
35
void TargetBumper_Draw(void);
36
void TargetBumper_Create(void *data);
37
void TargetBumper_StageLoad(void);
38
#if GAME_INCLUDE_EDITOR
39
void TargetBumper_EditorDraw(void);
40
void TargetBumper_EditorLoad(void);
41
#endif
42
void TargetBumper_Serialize(void);
43
44
// Extra Entity Functions
45
void TargetBumper_DebugSpawn(void);
46
void TargetBumper_DebugDraw(void);
47
48
void TargetBumper_CheckPlayerCollisions(void);
49
50
void TargetBumper_State_Idle(void);
51
void TargetBumper_State_Hit(void);
52
53
#endif //! OBJ_TARGETBUMPER_H
54
55