Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Common/TilePlatform.h
338 views
1
#ifndef OBJ_TILEPLATFORM_H
2
#define OBJ_TILEPLATFORM_H
3
4
#include "Game.h"
5
6
// Object Class
7
struct ObjectTilePlatform {
8
RSDK_OBJECT
9
Animator animator;
10
uint16 aniFrames;
11
};
12
13
// Entity Class
14
struct EntityTilePlatform {
15
RSDK_ENTITY
16
StateMachine(state);
17
StateMachine(stateCollide);
18
int32 type;
19
Vector2 amplitude;
20
int32 speed;
21
bool32 hasTension;
22
int8 frameID;
23
uint8 collision;
24
Vector2 targetPos;
25
Vector2 centerPos;
26
Vector2 drawPos;
27
Vector2 collisionOffset;
28
int32 stood;
29
int32 timer;
30
int32 stoodAngle;
31
uint8 stoodPlayers;
32
uint8 pushPlayersL;
33
uint8 pushPlayersR;
34
Hitbox hitbox;
35
Animator animator;
36
int32 childCount;
37
Vector2 size;
38
uint16 tiles[0x100];
39
};
40
41
// Object Struct
42
extern ObjectTilePlatform *TilePlatform;
43
44
// Standard Entity Events
45
void TilePlatform_Update(void);
46
void TilePlatform_LateUpdate(void);
47
void TilePlatform_StaticUpdate(void);
48
void TilePlatform_Draw(void);
49
void TilePlatform_Create(void *data);
50
void TilePlatform_StageLoad(void);
51
#if GAME_INCLUDE_EDITOR
52
void TilePlatform_EditorDraw(void);
53
void TilePlatform_EditorLoad(void);
54
#endif
55
void TilePlatform_Serialize(void);
56
57
// Extra Entity Functions
58
59
#endif //! OBJ_TILEPLATFORM_H
60
61