Path: blob/master/SonicMania/Objects/OOZ/OOZFlames.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: OOZFlames Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectOOZFlames *OOZFlames;1011void OOZFlames_Update(void)12{13RSDK_THIS(OOZFlames);1415RSDK.ProcessAnimation(&self->animator);1617StateMachine_Run(self->state);18}1920void OOZFlames_LateUpdate(void) {}2122void OOZFlames_StaticUpdate(void) {}2324void OOZFlames_Draw(void)25{26RSDK_THIS(OOZFlames);2728Vector2 drawPos;29drawPos.x = (ScreenInfo[SceneInfo->currentScreenID].center.x - 240) << 16;3031for (int32 angle = 0; angle < 0x100; angle += 0x10) {32drawPos.y = (RSDK.Sin256(4 * (angle + Zone->timer)) << 11) + self->flamePos;33RSDK.DrawSprite(&self->animator, &drawPos, true);3435drawPos.x += 0x200000;36}37}3839void OOZFlames_Create(void *data)40{41RSDK_THIS(OOZFlames);4243if (!SceneInfo->inEditor) {44self->visible = true;45self->drawGroup = Zone->objectDrawGroup[1];46self->active = ACTIVE_NORMAL;47self->drawFX = FX_SCALE;48self->inkEffect = INK_ADD;49self->alpha = 0x100;50self->scale.x = 0x200;51self->scale.y = 0x200;52self->flamePos = 0x1400000;53self->state = OOZFlames_State_Appear;54RSDK.SetSpriteAnimation(OOZFlames->aniFrames, 0, &self->animator, true, 0);55}56}5758void OOZFlames_StageLoad(void) { OOZFlames->aniFrames = RSDK.LoadSpriteAnimation("OOZ/Flames.bin", SCOPE_STAGE); }5960void OOZFlames_State_Appear(void)61{62RSDK_THIS(OOZFlames);6364if (self->flamePos > 0xE00000)65self->flamePos -= 0x20000;6667if (++self->timer == 120) {68self->timer = 0;69self->state = OOZFlames_State_Rise;70}71}7273void OOZFlames_State_Rise(void)74{75RSDK_THIS(OOZFlames);7677if (self->scale.y < 0x1000)78self->scale.y += 0x10;79}8081#if GAME_INCLUDE_EDITOR82void OOZFlames_EditorDraw(void) {}8384void OOZFlames_EditorLoad(void) {}85#endif8687void OOZFlames_Serialize(void) {}888990