Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/LRZ/LRZConvSwitch.h
338 views
1
#ifndef OBJ_LRZCONVSWITCH_H
2
#define OBJ_LRZCONVSWITCH_H
3
4
#include "Game.h"
5
6
typedef enum { LRZCONVSWITCH_RIGHT, LRZCONVSWITCH_LEFT } LRZConvSwitchCalibrateModes;
7
8
// Object Class
9
struct ObjectLRZConvSwitch {
10
RSDK_OBJECT
11
uint16 aniFrames;
12
uint16 sfxClack;
13
};
14
15
// Entity Class
16
struct EntityLRZConvSwitch {
17
RSDK_ENTITY
18
StateMachine(state);
19
uint8 calibration;
20
uint8 conveyorDir;
21
int32 dir;
22
Vector2 playerPositions[PLAYER_COUNT];
23
int32 unused1;
24
Vector2 startPos;
25
int32 unused2;
26
int32 unused3;
27
int32 unused4;
28
Animator animator;
29
};
30
31
// Object Struct
32
extern ObjectLRZConvSwitch *LRZConvSwitch;
33
34
// Standard Entity Events
35
void LRZConvSwitch_Update(void);
36
void LRZConvSwitch_LateUpdate(void);
37
void LRZConvSwitch_StaticUpdate(void);
38
void LRZConvSwitch_Draw(void);
39
void LRZConvSwitch_Create(void *data);
40
void LRZConvSwitch_StageLoad(void);
41
#if GAME_INCLUDE_EDITOR
42
void LRZConvSwitch_EditorDraw(void);
43
void LRZConvSwitch_EditorLoad(void);
44
#endif
45
void LRZConvSwitch_Serialize(void);
46
47
// Extra Entity Functions
48
void LRZConvSwitch_Calibrate(void);
49
50
#endif //! OBJ_LRZCONVSWITCH_H
51
52