Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/LRZ/LRZConvDropper.h
338 views
1
#ifndef OBJ_LRZCONVDROPPER_H
2
#define OBJ_LRZCONVDROPPER_H
3
4
#include "Game.h"
5
6
typedef enum { LRZCONVDROP_TRIGGER_BUTTON, LRZCONVDROP_TRIGGER_PLAYER } LRZConvDropperTriggerModes;
7
8
// Object Class
9
struct ObjectLRZConvDropper {
10
RSDK_OBJECT
11
uint16 aniFrames;
12
};
13
14
// Entity Class
15
struct EntityLRZConvDropper {
16
RSDK_ENTITY
17
uint8 triggerMode;
18
int32 interval;
19
int32 intervalOffset;
20
Vector2 detectOffset;
21
Vector2 detectSize;
22
uint8 seqCount;
23
bool32 seqLoop;
24
uint8 activePlayers;
25
uint8 seqPos;
26
int32 timerStore;
27
int32 unused;
28
Hitbox hitbox;
29
Animator animator;
30
};
31
32
// Object Struct
33
extern ObjectLRZConvDropper *LRZConvDropper;
34
35
// Standard Entity Events
36
void LRZConvDropper_Update(void);
37
void LRZConvDropper_LateUpdate(void);
38
void LRZConvDropper_StaticUpdate(void);
39
void LRZConvDropper_Draw(void);
40
void LRZConvDropper_Create(void *data);
41
void LRZConvDropper_StageLoad(void);
42
#if GAME_INCLUDE_EDITOR
43
void LRZConvDropper_EditorDraw(void);
44
void LRZConvDropper_EditorLoad(void);
45
#endif
46
void LRZConvDropper_Serialize(void);
47
48
// Extra Entity Functions
49
void LRZConvDropper_SetupDropperChildren(void);
50
void LRZConvDropper_HandleButtonDrop(EntityLRZConvDropper *entity);
51
52
#endif //! OBJ_LRZCONVDROPPER_H
53
54