Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/AIZ/AIZTornado.h
338 views
1
#ifndef OBJ_AIZTORNADO_H
2
#define OBJ_AIZTORNADO_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectAIZTornado {
8
RSDK_OBJECT
9
TABLE(int32 flameOffsets[5], { -0x20000, -0x10000, 0x00000, 0x10000, 0x20000 });
10
uint16 aniFrames;
11
};
12
13
// Entity Class
14
struct EntityAIZTornado {
15
RSDK_ENTITY
16
StateMachine(state);
17
int32 collideTimer; // unused here (used in MSZ/Tornado)
18
int32 turnAngle;
19
bool32 isStood;
20
bool32 showFlame;
21
int32 storeY; // unused here (used in MSZ/Tornado)
22
int32 gravityForce; // unused here (used in MSZ/Tornado)
23
Vector2 prevPos;
24
Vector2 movePos;
25
Vector2 newPos;
26
Vector2 moveVelocity;
27
bool32 disableInteractions;
28
int32 offsetX; // unused here (used in MSZ/Tornado)
29
Animator animatorTornado;
30
Animator animatorPropeller;
31
Animator animatorFlame;
32
Animator animatorPilot;
33
};
34
35
// Object Struct
36
extern ObjectAIZTornado *AIZTornado;
37
38
// Standard Entity Events
39
void AIZTornado_Update(void);
40
void AIZTornado_LateUpdate(void);
41
void AIZTornado_StaticUpdate(void);
42
void AIZTornado_Draw(void);
43
void AIZTornado_Create(void *data);
44
void AIZTornado_StageLoad(void);
45
#if GAME_INCLUDE_EDITOR
46
void AIZTornado_EditorDraw(void);
47
void AIZTornado_EditorLoad(void);
48
#endif
49
void AIZTornado_Serialize(void);
50
51
// Extra Entity Functions
52
void AIZTornado_HandleMovement(void);
53
void AIZTornado_HandlePlayerCollisions(void);
54
void AIZTornado_State_Move(void);
55
56
#endif //! OBJ_AIZTORNADO_H
57
58