Path: blob/master/SonicMania/Objects/HCZ/DiveEggman.h
338 views
#ifndef OBJ_DIVEEGGMAN_H1#define OBJ_DIVEEGGMAN_H23#include "Game.h"45typedef enum {6DIVEEGGMAN_EGGMAN,7DIVEEGGMAN_BOMB,8} DiveEggmanTypes;910// Object Class11struct ObjectDiveEggman {12RSDK_OBJECT13Hitbox unusedHitbox1;14Hitbox hitboxBomb;15Hitbox hitboxEggman;16EntityScrewMobile *screwMobile;17uint16 diveFrames;18uint16 aniFrames;19uint16 sfxBigFan;20uint16 sfxHit;21uint16 sfxExplosion;22uint16 sfxRockemSockem;23};2425// Entity Class26struct EntityDiveEggman {27RSDK_ENTITY28StateMachine(state);29int32 startY;30int32 timer;31int32 invincibilityTimer;32uint8 health;33Animator animator;34};3536// Object Struct37extern ObjectDiveEggman *DiveEggman;3839// Standard Entity Events40void DiveEggman_Update(void);41void DiveEggman_LateUpdate(void);42void DiveEggman_StaticUpdate(void);43void DiveEggman_Draw(void);44void DiveEggman_Create(void *data);45void DiveEggman_StageLoad(void);46#if GAME_INCLUDE_EDITOR47void DiveEggman_EditorDraw(void);48void DiveEggman_EditorLoad(void);49#endif50void DiveEggman_Serialize(void);5152// Extra Entity Functions53void DiveEggman_Hit(void);54void DiveEggman_Explode(void);5556void DiveEggman_StateEggman_AwaitPlayer(void);57void DiveEggman_StateEggman_Swimming(void);58void DiveEggman_StateEggman_InWhirlpool(void);59void DiveEggman_StateEggman_WhirlpoolRise(void);60void DiveEggman_StateEggman_Falling(void);61void DiveEggman_StateEggman_PlaceBomb(void);62void DiveEggman_StateEggman_Destroyed(void);63void DiveEggman_StateEggman_Finish(void);6465bool32 DiveEggman_CheckNoBombExplode(void);6667void DiveEggman_StateBomb_Idle(void);68void DiveEggman_StateBomb_InWhirlpool(void);69void DiveEggman_StateBomb_WhirlpoolRise(void);70void DiveEggman_StateBomb_Falling(void);7172#endif //! OBJ_DIVEEGGMAN_H737475