Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rubberduckycooly
GitHub Repository: rubberduckycooly/Sonic-Mania-Decompilation
Path: blob/master/SonicMania/Objects/Title/TitleSonic.c
338 views
1
// ---------------------------------------------------------------------
2
// RSDK Project: Sonic Mania
3
// Object Description: TitleSonic Object
4
// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges
5
// Decompiled by: Rubberduckycooly & RMGRich
6
// ---------------------------------------------------------------------
7
8
#include "Game.h"
9
10
ObjectTitleSonic *TitleSonic;
11
12
void TitleSonic_Update(void)
13
{
14
RSDK_THIS(TitleSonic);
15
16
RSDK.ProcessAnimation(&self->animatorSonic);
17
18
if (self->animatorSonic.frameID == self->animatorSonic.frameCount - 1)
19
RSDK.ProcessAnimation(&self->animatorFinger);
20
}
21
22
void TitleSonic_LateUpdate(void) {}
23
24
void TitleSonic_StaticUpdate(void) {}
25
26
void TitleSonic_Draw(void)
27
{
28
RSDK_THIS(TitleSonic);
29
30
RSDK.SetClipBounds(0, 0, 0, ScreenInfo->size.x, 160);
31
RSDK.DrawSprite(&self->animatorSonic, NULL, false);
32
33
RSDK.SetClipBounds(0, 0, 0, ScreenInfo->size.x, ScreenInfo->size.y);
34
35
if (self->animatorSonic.frameID == self->animatorSonic.frameCount - 1)
36
RSDK.DrawSprite(&self->animatorFinger, NULL, false);
37
}
38
39
void TitleSonic_Create(void *data)
40
{
41
RSDK_THIS(TitleSonic);
42
43
RSDK.SetSpriteAnimation(TitleSonic->aniFrames, 0, &self->animatorSonic, true, 0);
44
RSDK.SetSpriteAnimation(TitleSonic->aniFrames, 1, &self->animatorFinger, true, 0);
45
46
if (!SceneInfo->inEditor) {
47
self->visible = false;
48
self->active = ACTIVE_NEVER;
49
self->drawGroup = 4;
50
}
51
}
52
53
void TitleSonic_StageLoad(void) { TitleSonic->aniFrames = RSDK.LoadSpriteAnimation("Title/Sonic.bin", SCOPE_STAGE); }
54
55
#if GAME_INCLUDE_EDITOR
56
void TitleSonic_EditorDraw(void)
57
{
58
RSDK_THIS(TitleSonic);
59
60
self->animatorSonic.frameID = self->animatorSonic.frameCount - 1;
61
62
RSDK.DrawSprite(&self->animatorSonic, NULL, false);
63
RSDK.DrawSprite(&self->animatorFinger, NULL, false);
64
}
65
66
void TitleSonic_EditorLoad(void) { TitleSonic->aniFrames = RSDK.LoadSpriteAnimation("Title/Sonic.bin", SCOPE_STAGE); }
67
#endif
68
69
void TitleSonic_Serialize(void) {}
70
71