Path: blob/master/SonicMania/Objects/OOZ/Sol.h
338 views
#ifndef OBJ_SOL_H1#define OBJ_SOL_H23#include "Game.h"45#define SOL_FLAMEORB_COUNT (4)67// Object Class8struct ObjectSol {9RSDK_OBJECT10Hitbox hitboxBadnik;11Hitbox hitboxOrb;12uint16 aniFrames;13};1415// Entity Class16struct EntitySol {17RSDK_ENTITY18StateMachine(state);19Vector2 startPos;20uint8 startDir;21uint8 activeOrbs;22Vector2 positions[SOL_FLAMEORB_COUNT];23int32 oscillateAngle;24bool32 isFlameFX;25bool32 fireOrbs;26Animator mainAnimator;27Animator ballAnimator;28};2930// Object Struct31extern ObjectSol *Sol;3233// Standard Entity Events34void Sol_Update(void);35void Sol_LateUpdate(void);36void Sol_StaticUpdate(void);37void Sol_Draw(void);38void Sol_Create(void *data);39void Sol_StageLoad(void);40#if GAME_INCLUDE_EDITOR41void Sol_EditorDraw(void);42void Sol_EditorLoad(void);43#endif44void Sol_Serialize(void);4546// Extra Entity Functions47void Sol_DebugSpawn(void);48void Sol_DebugDraw(void);4950void Sol_HandlePlayerInteractions(void);51void Sol_HandlePlayerHurt(void);52void Sol_HandleRotation(void);53void Sol_CheckOffScreen(void);5455void Sol_State_Init(void);56void Sol_State_Moving(void);57void Sol_State_ShootingOrbs(void);58void Sol_State_NoOrbs(void);5960void Sol_State_SmallFireball(void);61void Sol_State_ActiveFireball(void);6263void Sol_State_FlameDissipate(void);64void Sol_State_FireballOilFlame(void);65void Sol_State_OilFlame(void);6667#endif //! OBJ_SOL_H686970