Path: blob/master/SonicMania/Objects/BSS/BSS_HUD.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: BSS_HUD Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectBSS_HUD *BSS_HUD;1011void BSS_HUD_Update(void) {}1213void BSS_HUD_LateUpdate(void) {}1415void BSS_HUD_StaticUpdate(void) {}1617void BSS_HUD_Draw(void)18{19RSDK_THIS(BSS_HUD);2021Vector2 drawPos;22drawPos.x = TO_FIXED(ScreenInfo->center.x - 141);23drawPos.y = TO_FIXED(13);24RSDK.DrawSprite(&self->sphereAnimator, &drawPos, true);2526drawPos.x += TO_FIXED(37);27drawPos.y = TO_FIXED(17);28BSS_HUD_DrawNumbers(BSS_Setup->sphereCount, &drawPos);2930drawPos.x = TO_FIXED(ScreenInfo->center.x + 64);31drawPos.y = TO_FIXED(13);32RSDK.DrawSprite(&self->ringAnimator, &drawPos, true);3334drawPos.x += TO_FIXED(56);35drawPos.y = TO_FIXED(17);36BSS_HUD_DrawNumbers(BSS_Setup->ringCount, &drawPos);37}3839void BSS_HUD_Create(void *data)40{41RSDK_THIS(BSS_HUD);4243if (!SceneInfo->inEditor) {44self->active = ACTIVE_NORMAL;45self->visible = true;46self->drawGroup = DRAWGROUP_COUNT - 1;47self->updateRange.x = TO_FIXED(128);48self->updateRange.y = TO_FIXED(128);4950RSDK.SetSpriteAnimation(BSS_HUD->aniFrames, 0, &self->sphereAnimator, true, 0);51RSDK.SetSpriteAnimation(BSS_HUD->aniFrames, 0, &self->ringAnimator, true, 1);52RSDK.SetSpriteAnimation(BSS_HUD->aniFrames, 1, &self->numbersAnimator, true, 0);53}54}5556void BSS_HUD_StageLoad(void)57{58BSS_HUD->aniFrames = RSDK.LoadSpriteAnimation("SpecialBS/HUD.bin", SCOPE_STAGE);5960RSDK.ResetEntitySlot(SLOT_BSS_HUD, BSS_HUD->classID, NULL);61}6263void BSS_HUD_DrawNumbers(int32 value, Vector2 *drawPos)64{65RSDK_THIS(BSS_HUD);6667int32 mult = 1;68for (int32 i = 0; i < 3; ++i) {69self->numbersAnimator.frameID = value / mult % 10;70RSDK.DrawSprite(&self->numbersAnimator, drawPos, true);71drawPos->x -= TO_FIXED(16);72mult *= 10;73}74}7576#if GAME_INCLUDE_EDITOR77void BSS_HUD_EditorDraw(void) {}7879void BSS_HUD_EditorLoad(void) {}80#endif8182void BSS_HUD_Serialize(void) {}838485