Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Cutscene/FXRuby.h
338 views
1
#ifndef OBJ_FXRUBY_H
2
#define OBJ_FXRUBY_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectFXRuby {
8
RSDK_OBJECT
9
int32 deformation[0x200];
10
#if MANIA_USE_PLUS
11
uint16 tintLookupTable[0x10000];
12
#endif
13
TileLayer *fgLow;
14
TileLayer *fgHigh;
15
};
16
17
// Entity Class
18
struct EntityFXRuby {
19
RSDK_ENTITY
20
StateMachine(state);
21
int32 unused1;
22
int32 radiusSpeed;
23
int32 radius;
24
int32 innerRadius;
25
int32 outerRadius;
26
int32 timer;
27
int32 delay;
28
int32 fadeWhite;
29
int32 fadeBlack;
30
bool32 waitForTrigger;
31
int32 unused2;
32
int32 unused3;
33
int32 unused4;
34
bool32 fullyExpanded;
35
};
36
37
// Object Struct
38
extern ObjectFXRuby *FXRuby;
39
40
// Standard Entity Events
41
void FXRuby_Update(void);
42
void FXRuby_LateUpdate(void);
43
void FXRuby_StaticUpdate(void);
44
void FXRuby_Draw(void);
45
void FXRuby_Create(void *data);
46
void FXRuby_StageLoad(void);
47
#if GAME_INCLUDE_EDITOR
48
void FXRuby_EditorDraw(void);
49
void FXRuby_EditorLoad(void);
50
#endif
51
void FXRuby_Serialize(void);
52
53
// Extra Entity Functions
54
void FXRuby_SetupLayerDeformation(void);
55
void FXRuby_HandleLayerDeform(void);
56
57
void FXRuby_State_Expanding(void);
58
void FXRuby_State_Shrinking(void);
59
void FXRuby_State_Idle(void);
60
void FXRuby_State_IncreaseStageDeform(void);
61
void FXRuby_State_DecreaseStageDeform(void);
62
void FXRuby_State_ShrinkAndDestroy(void);
63
64
#endif //! OBJ_FXRUBY_H
65
66