Path: blob/master/SonicMania/Objects/Global/Explosion.c
338 views
// ---------------------------------------------------------------------1// RSDK Project: Sonic Mania2// Object Description: Explosion Object3// Object Author: Christian Whitehead/Simon Thomley/Hunter Bridges4// Decompiled by: Rubberduckycooly & RMGRich5// ---------------------------------------------------------------------67#include "Game.h"89ObjectExplosion *Explosion;1011void Explosion_Update(void)12{13RSDK_THIS(Explosion);1415RSDK.ProcessAnimation(&self->animator);1617self->position.x += self->velocity.x;18self->position.y += self->velocity.y;1920if (self->animator.frameID == self->animator.frameCount - 1)21destroyEntity(self);22}2324void Explosion_LateUpdate(void) {}2526void Explosion_StaticUpdate(void) {}2728void Explosion_Draw(void)29{30RSDK_THIS(Explosion);3132RSDK.DrawSprite(&self->animator, NULL, false);33}3435void Explosion_Create(void *data)36{37RSDK_THIS(Explosion);3839self->active = ACTIVE_NORMAL;40self->visible = true;41if (self->planeFilter > 0 && ((uint8)self->planeFilter - 1) & 2)42self->drawGroup = Zone->objectDrawGroup[1];43else44self->drawGroup = Zone->objectDrawGroup[0];4546RSDK.SetSpriteAnimation(Explosion->aniFrames, VOID_TO_INT(data), &self->animator, true, 0);47}4849void Explosion_StageLoad(void)50{51Explosion->aniFrames = RSDK.LoadSpriteAnimation("Global/Explosions.bin", SCOPE_STAGE);5253Explosion->sfxDestroy = RSDK.GetSfx("Global/Destroy.wav");54}5556#if GAME_INCLUDE_EDITOR57void Explosion_EditorDraw(void)58{59RSDK_THIS(Explosion);60RSDK.SetSpriteAnimation(Explosion->aniFrames, EXPLOSION_ENEMY, &self->animator, true, 2);6162Explosion_Draw();63}6465void Explosion_EditorLoad(void) { Explosion->aniFrames = RSDK.LoadSpriteAnimation("Global/Explosions.bin", SCOPE_STAGE); }66#endif6768void Explosion_Serialize(void) {}697071