Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/SPZ/Clapperboard.h
338 views
1
#ifndef OBJ_CLAPPERBOARD_H
2
#define OBJ_CLAPPERBOARD_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectClapperboard {
8
RSDK_OBJECT
9
uint16 aniFrames;
10
uint16 sfxWhack;
11
};
12
13
// Entity Class
14
struct EntityClapperboard {
15
RSDK_ENTITY
16
StateMachine(state);
17
StateMachine(stateCollide);
18
uint8 takeID;
19
int32 clapSpeed;
20
int32 stoodPlayers;
21
Hitbox hitbox;
22
Vector2 amplitudeL;
23
Vector2 amplitudeR;
24
Animator clapperTopAnimator;
25
Animator clapperBottomAnimator;
26
Animator boardAnimator;
27
Animator numbersAnimator;
28
};
29
30
// Object Struct
31
extern ObjectClapperboard *Clapperboard;
32
33
// Standard Entity Events
34
void Clapperboard_Update(void);
35
void Clapperboard_LateUpdate(void);
36
void Clapperboard_StaticUpdate(void);
37
void Clapperboard_Draw(void);
38
void Clapperboard_Create(void *data);
39
void Clapperboard_StageLoad(void);
40
#if GAME_INCLUDE_EDITOR
41
void Clapperboard_EditorDraw(void);
42
void Clapperboard_EditorLoad(void);
43
#endif
44
void Clapperboard_Serialize(void);
45
46
// Extra Entity Functions
47
void Clapperboard_Collide_Left(void);
48
void Clapperboard_Collide_Right(void);
49
50
void Clapperboard_State_Idle(void);
51
void Clapperboard_State_ClappingL(void);
52
void Clapperboard_State_ClapReboundL(void);
53
void Clapperboard_State_ClappingR(void);
54
void Clapperboard_State_ClapReboundR(void);
55
56
#endif //! OBJ_CLAPPERBOARD_H
57
58