Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Summary/SummaryEmerald.c
338 views
1
// ---------------------------------------------------------------------
2
// RSDK Project: Sonic Mania
3
// Object Description: SummaryEmerald Object
4
// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges
5
// Decompiled by: Rubberduckycooly & RMGRich
6
// ---------------------------------------------------------------------
7
8
#include "Game.h"
9
10
#if MANIA_USE_PLUS
11
ObjectSummaryEmerald *SummaryEmerald;
12
13
void SummaryEmerald_Update(void) {}
14
15
void SummaryEmerald_LateUpdate(void) {}
16
17
void SummaryEmerald_StaticUpdate(void) {}
18
19
void SummaryEmerald_Draw(void)
20
{
21
RSDK_THIS(SummaryEmerald);
22
23
RSDK.DrawSprite(&self->animator, NULL, false);
24
}
25
26
void SummaryEmerald_Create(void *data)
27
{
28
RSDK_THIS(SummaryEmerald);
29
30
self->active = ACTIVE_NORMAL;
31
self->drawGroup = 3;
32
self->visible = true;
33
self->updateRange.x = 0x800000;
34
self->updateRange.y = 0x800000;
35
36
if (!SceneInfo->inEditor) {
37
if (SaveGame_GetEmerald(self->emeraldID))
38
RSDK.SetSpriteAnimation(SummaryEmerald->aniFrames, 0, &self->animator, true, self->emeraldID % 7);
39
else
40
RSDK.SetSpriteAnimation(SummaryEmerald->aniFrames, 0, &self->animator, true, 7);
41
}
42
}
43
44
void SummaryEmerald_StageLoad(void) { SummaryEmerald->aniFrames = RSDK.LoadSpriteAnimation("Summary/SummaryEmerald.bin", SCOPE_STAGE); }
45
46
#if GAME_INCLUDE_EDITOR
47
void SummaryEmerald_EditorDraw(void)
48
{
49
RSDK_THIS(SummaryEmerald);
50
51
RSDK.SetSpriteAnimation(SummaryEmerald->aniFrames, 0, &self->animator, true, self->emeraldID % 7);
52
53
SummaryEmerald_Draw();
54
}
55
56
void SummaryEmerald_EditorLoad(void)
57
{
58
SummaryEmerald->aniFrames = RSDK.LoadSpriteAnimation("Summary/SummaryEmerald.bin", SCOPE_STAGE);
59
60
RSDK_ACTIVE_VAR(SummaryEmerald, emeraldID);
61
RSDK_ENUM_VAR("Green", CHAOSEMERALD_GREEN);
62
RSDK_ENUM_VAR("Yellow", CHAOSEMERALD_YELLOW);
63
RSDK_ENUM_VAR("Blue", CHAOSEMERALD_BLUE);
64
RSDK_ENUM_VAR("Purple", CHAOSEMERALD_PURPLE);
65
RSDK_ENUM_VAR("Gray", CHAOSEMERALD_GRAY);
66
RSDK_ENUM_VAR("Cyan", CHAOSEMERALD_CYAN);
67
RSDK_ENUM_VAR("Red", CHAOSEMERALD_RED);
68
}
69
#endif
70
71
void SummaryEmerald_Serialize(void) { RSDK_EDITABLE_VAR(SummaryEmerald, VAR_ENUM, emeraldID); }
72
#endif
73
74