Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/MMZ/FarPlane.h
338 views
1
#ifndef OBJ_FARPLANE_H
2
#define OBJ_FARPLANE_H
3
4
#include "Game.h"
5
6
#define FARPLANE_ENTITY_COUNT (256)
7
8
// Object Class
9
struct ObjectFarPlane {
10
RSDK_OBJECT
11
uint32 aniFrames;
12
Vector2 screenPos;
13
Vector2 worldPos;
14
Vector2 originPos;
15
Vector2 position;
16
Vector2 positionList[0x200];
17
int32 unused1;
18
int32 unused2;
19
int32 unused3;
20
int32 unused4;
21
int32 unused5;
22
uint16 layerID;
23
};
24
25
// Entity Class
26
struct EntityFarPlane {
27
RSDK_ENTITY
28
Vector2 size;
29
Vector2 origin;
30
uint16 entitySlots[FARPLANE_ENTITY_COUNT];
31
int32 entityCount;
32
Animator animator;
33
};
34
35
// Object Struct
36
extern ObjectFarPlane *FarPlane;
37
38
// Standard Entity Events
39
void FarPlane_Update(void);
40
void FarPlane_LateUpdate(void);
41
void FarPlane_StaticUpdate(void);
42
void FarPlane_Draw(void);
43
void FarPlane_Create(void *data);
44
void FarPlane_StageLoad(void);
45
#if GAME_INCLUDE_EDITOR
46
void FarPlane_EditorDraw(void);
47
void FarPlane_EditorLoad(void);
48
#endif
49
void FarPlane_Serialize(void);
50
51
// Extra Entity Functions
52
void FarPlane_SetupEntities(void);
53
void FarPlane_SetEntityActivities(uint8 active);
54
void FarPlane_DrawHook_ApplyFarPlane(void);
55
void FarPlane_DrawHook_RemoveFarPlane(void);
56
void FarPlane_Scanline_FarPlaneView(ScanlineInfo *scanline);
57
58
#endif //! OBJ_FARPLANE_H
59
60