Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/SPZ/FilmReel.h
338 views
1
#ifndef OBJ_FILMREEL_H
2
#define OBJ_FILMREEL_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectFilmReel {
8
RSDK_OBJECT
9
Hitbox hitboxWheel;
10
Vector2 offsetPos;
11
uint16 aniFrames;
12
uint16 sfxUnravel;
13
uint16 sfxLanding;
14
};
15
16
// Entity Class
17
struct EntityFilmReel {
18
RSDK_ENTITY
19
Vector2 pathSize;
20
uint8 spinDirection;
21
Vector2 drawPos;
22
Vector2 endPos;
23
Vector2 lastPos;
24
Vector2 moveOffset;
25
int32 spinAngle;
26
int32 unused;
27
int32 spinSpeed;
28
int32 pathFlags;
29
int32 pathDir;
30
int32 lineDir;
31
bool32 moveCamera;
32
Animator reelAnimator;
33
Animator celluoidAnimator;
34
Animator edgeAnimator;
35
Animator pinAnimator;
36
};
37
38
// Object Struct
39
extern ObjectFilmReel *FilmReel;
40
41
// Standard Entity Events
42
void FilmReel_Update(void);
43
void FilmReel_LateUpdate(void);
44
void FilmReel_StaticUpdate(void);
45
void FilmReel_Draw(void);
46
void FilmReel_Create(void *data);
47
void FilmReel_StageLoad(void);
48
#if GAME_INCLUDE_EDITOR
49
void FilmReel_EditorDraw(void);
50
void FilmReel_EditorLoad(void);
51
#endif
52
void FilmReel_Serialize(void);
53
54
// Extra Entity Functions
55
void FilmReel_SpinLeft(void);
56
void FilmReel_SpinRight(void);
57
58
#endif //! OBJ_FILMREEL_H
59
60