Path: blob/master/SonicMania/Objects/GHZ/Fireball.h
338 views
#ifndef OBJ_FIREBALL_H1#define OBJ_FIREBALL_H23#include "Game.h"45typedef enum {6FIREBALL_SPAWNER,7FIREBALL_LAUNCHER_STATIC,8FIREBALL_LAUNCHER_GRAVITY,9} FireballTypes;1011// Object Class12struct ObjectFireball {13RSDK_OBJECT14uint16 aniFrames;15Hitbox hitboxFireball;16uint16 sfxFireball;17};1819// Entity Class20struct EntityFireball {21RSDK_ENTITY22StateMachine(state);23StateMachine(stateDraw);24Animator animator;25uint8 type;26uint8 interval;27uint8 intervalOffset;28int32 unused1;29int32 unused2;30};3132// Object Entity33extern ObjectFireball *Fireball;3435// Standard Entity Events36void Fireball_Update(void);37void Fireball_LateUpdate(void);38void Fireball_StaticUpdate(void);39void Fireball_Draw(void);40void Fireball_Create(void *data);41void Fireball_StageLoad(void);42#if GAME_INCLUDE_EDITOR43void Fireball_EditorDraw(void);44void Fireball_EditorLoad(void);45#endif46void Fireball_Serialize(void);4748// Extra Entity Functions49void Fireball_HandlePlayerInteractions(void);5051// Spawner States52void Fireball_State_Spawner(void);53void Fireball_State_LauncherStatic(void);54void Fireball_State_LauncherGravity(void);5556// Fireball States57void Fireball_StateFireball_Spawner(void);58void Fireball_StateFireball_LauncherStatic(void);59void Fireball_StateFireball_LauncherGravity(void);60void Fireball_StateFireball_Dissipate(void);6162void Fireball_Draw_Simple(void);6364#endif //! OBJ_FIREBALL_H656667