Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/AIZ/SchrodingersCapsule.h
338 views
1
#ifndef OBJ_SCHRODINGERSCAPSULE_H
2
#define OBJ_SCHRODINGERSCAPSULE_H
3
4
#include "Game.h"
5
6
#if MANIA_USE_PLUS
7
// Object Class
8
struct ObjectSchrodingersCapsule {
9
RSDK_OBJECT
10
uint16 aniFrames;
11
uint16 sfxExplosion2;
12
uint16 sfxExplosion3;
13
};
14
15
// Entity Class
16
struct EntitySchrodingersCapsule {
17
RSDK_ENTITY
18
StateMachine(state);
19
int32 timer;
20
int32 buttonPos;
21
// both of these 2 below go unused, but based on the similarities to Global/EggPrison, its likely to be these
22
int32 notSolid;
23
int32 checkTileCollisions;
24
Hitbox hitboxSolid;
25
Hitbox hitboxButton;
26
Hitbox hitboxButtonTrigger;
27
Animator mainAnimator;
28
Animator glassAnimator;
29
Animator buttonAnimator;
30
Animator mightyAnimator;
31
Animator rayAnimator;
32
};
33
34
// Object Struct
35
extern ObjectSchrodingersCapsule *SchrodingersCapsule;
36
37
// Standard Entity Events
38
void SchrodingersCapsule_Update(void);
39
void SchrodingersCapsule_LateUpdate(void);
40
void SchrodingersCapsule_StaticUpdate(void);
41
void SchrodingersCapsule_Draw(void);
42
void SchrodingersCapsule_Create(void *data);
43
void SchrodingersCapsule_StageLoad(void);
44
#if GAME_INCLUDE_EDITOR
45
void SchrodingersCapsule_EditorDraw(void);
46
void SchrodingersCapsule_EditorLoad(void);
47
#endif
48
void SchrodingersCapsule_Serialize(void);
49
50
// Extra Entity Functions
51
void SchrodingersCapsule_State_Init(void);
52
void SchrodingersCapsule_State_HandleBounds(void);
53
void SchrodingersCapsule_State_Activated(void);
54
void SchrodingersCapsule_State_Explode(void);
55
void SchrodingersCapsule_State_SetupActClear(void);
56
57
#endif
58
59
#endif //! OBJ_SCHRODINGERSCAPSULE_H
60
61