Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Common/PlatformNode.c
338 views
1
// ---------------------------------------------------------------------
2
// RSDK Project: Sonic Mania
3
// Object Description: PlatformNode Object
4
// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges
5
// Decompiled by: Rubberduckycooly & RMGRich
6
// ---------------------------------------------------------------------
7
8
#include "Game.h"
9
10
ObjectPlatformNode *PlatformNode;
11
12
void PlatformNode_Update(void) {}
13
14
void PlatformNode_LateUpdate(void) {}
15
16
void PlatformNode_StaticUpdate(void) {}
17
18
void PlatformNode_Draw(void) {}
19
20
void PlatformNode_Create(void *data) {}
21
22
void PlatformNode_StageLoad(void) {}
23
24
#if GAME_INCLUDE_EDITOR
25
void PlatformNode_EditorDraw(void)
26
{
27
RSDK_THIS(PlatformNode);
28
29
if (showGizmos()) {
30
RSDK_DRAWING_OVERLAY(true);
31
EntityPlatformNode *next = RSDK_GET_ENTITY(SceneInfo->entitySlot + 1, PlatformNode);
32
if (next && next->classID == PlatformNode->classID) {
33
RSDK.DrawLine(self->position.x, self->position.y, next->position.x, next->position.y, 0xFFFF00, 0xFF, INK_NONE, false);
34
}
35
RSDK_DRAWING_OVERLAY(false);
36
}
37
38
RSDK.SetSpriteAnimation(PlatformNode->aniFrames, 0, &self->animator, false, 0);
39
RSDK.DrawSprite(&self->animator, NULL, false);
40
}
41
42
void PlatformNode_EditorLoad(void) { PlatformNode->aniFrames = RSDK.LoadSpriteAnimation("Global/PlaneSwitch.bin", SCOPE_STAGE); }
43
#endif
44
45
void PlatformNode_Serialize(void) { RSDK_EDITABLE_VAR(PlatformNode, VAR_ENUM, nodeFlag); }
46
47