Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/TMZ/EscapeCar.h
338 views
1
#ifndef OBJ_ESCAPECAR_H
2
#define OBJ_ESCAPECAR_H
3
4
#include "Game.h"
5
6
typedef enum {
7
ESCAPECAR_DRIVER_SONIC = 0,
8
ESCAPECAR_DRIVER_KNUX = 3,
9
} EscapeCarDrivers;
10
11
// Object Class
12
struct ObjectEscapeCar {
13
RSDK_OBJECT
14
Hitbox hitbox;
15
uint16 aniFrames;
16
uint16 sfxBumper;
17
uint16 sfxDrop;
18
};
19
20
// Entity Class
21
struct EntityEscapeCar {
22
RSDK_ENTITY
23
StateMachine(state);
24
int32 timer;
25
int32 driver;
26
int32 unused1;
27
int32 unused2;
28
Animator carAnimator;
29
Animator driverAnimator;
30
Animator thrustAnimator;
31
};
32
33
// Object Struct
34
extern ObjectEscapeCar *EscapeCar;
35
36
// Standard Entity Events
37
void EscapeCar_Update(void);
38
void EscapeCar_LateUpdate(void);
39
void EscapeCar_StaticUpdate(void);
40
void EscapeCar_Draw(void);
41
void EscapeCar_Create(void *data);
42
void EscapeCar_StageLoad(void);
43
#if GAME_INCLUDE_EDITOR
44
void EscapeCar_EditorDraw(void);
45
void EscapeCar_EditorLoad(void);
46
#endif
47
void EscapeCar_Serialize(void);
48
49
// Extra Entity Functions
50
void EscapeCar_StateMania_AwaitPlayer(void);
51
void EscapeCar_StateMania_EnteredCar(void);
52
void EscapeCar_StateMania_Ride(void);
53
54
#if MANIA_USE_PLUS
55
void EscapeCar_StateEncore_Setup(void);
56
void EscapeCar_StateEncore_BadEnd(void);
57
void EscapeCar_StateEncore_GoodEnd(void);
58
#endif
59
60
#endif //! OBJ_ESCAPECAR_H
61
62