Path: blob/master/SonicMania/Objects/ERZ/PhantomRider.h
338 views
#ifndef OBJ_PHANTOMRIDER_H1#define OBJ_PHANTOMRIDER_H23#include "Game.h"45typedef enum { PHANTOMRIDER_JIMMY = 3 } PhantomRiderTypes;67// Object Class8struct ObjectPhantomRider {9RSDK_OBJECT10uint16 aniFrames;11uint16 sfxRiderLaunch;12uint16 unused;13};1415// Entity Class16struct EntityPhantomRider {17RSDK_ENTITY18StateMachine(state);19StateMachine(stateDraw);20Vector2 startPos;21int32 timer;22int32 invincibilityTimer;23int32 unused;24int32 type;25bool32 prevOnGround;26EntityPhantomRider *child;27Hitbox hitbox;28Hitbox outerBox;29Hitbox innerBox;30Animator mainAnimator;31Animator jimmyAnimator;32Animator wheelAnimator;33Animator thrustAnimator;34Animator unusedAnimator1;35Animator unusedAnimator2;36};3738// Object Struct39extern ObjectPhantomRider *PhantomRider;4041// Standard Entity Events42void PhantomRider_Update(void);43void PhantomRider_LateUpdate(void);44void PhantomRider_StaticUpdate(void);45void PhantomRider_Draw(void);46void PhantomRider_Create(void *data);47void PhantomRider_StageLoad(void);48#if GAME_INCLUDE_EDITOR49void PhantomRider_EditorDraw(void);50void PhantomRider_EditorLoad(void);51#endif52void PhantomRider_Serialize(void);5354// Extra Entity Functions55void PhantomRider_ProcessAutoScroll(void);56void PhantomRider_Hit(void);5758void PhantomRider_Draw_Rider(void);5960void PhantomRider_State_HandleBegin(void);61void PhantomRider_State_EnterRider(void);62void PhantomRider_State_InitialRace(void);63void PhantomRider_State_RacePlayer(void);64void PhantomRider_State_ExitRider(void);6566void PhantomRider_State_Jimmy(void);6768#endif //! OBJ_PHANTOMRIDER_H697071