Path: blob/master/SonicMania/Objects/SPZ/CableWarp.h
338 views
#ifndef OBJ_CABLEWARP_H1#define OBJ_CABLEWARP_H23#include "Game.h"45typedef enum {6CABLEWARP_ENTRY,7CABLEWARP_EXIT,8CABLEWARP_NODE,9CABLEWARP_TRANSPORT,10} CableWarpTypes;1112// Object Class13struct ObjectCableWarp {14RSDK_OBJECT15Hitbox hitboxPlug;16Hitbox hitboxTransport;17uint16 aniFrames;18uint16 sfxCharge;19uint16 sfxPulse;20uint16 sfxLedgeBreak;21};2223// Entity Class24struct EntityCableWarp {25RSDK_ENTITY26StateMachine(state);27int32 type;28int32 timer;29EntityPlayer *player;30uint16 slotID;31uint16 nextSlot;32Animator animator;33};3435// Object Struct36extern ObjectCableWarp *CableWarp;3738// Standard Entity Events39void CableWarp_Update(void);40void CableWarp_LateUpdate(void);41void CableWarp_StaticUpdate(void);42void CableWarp_Draw(void);43void CableWarp_Create(void *data);44void CableWarp_StageLoad(void);45#if GAME_INCLUDE_EDITOR46void CableWarp_EditorDraw(void);47void CableWarp_EditorLoad(void);48#endif49void CableWarp_Serialize(void);5051// Extra Entity Functions52void CableWarp_State_CablePlug(void);53void CableWarp_State_CheckPlayerEntry(void);5455void CableWarp_StateTransport_BeginEnter(void);56void CableWarp_StateTransport_Enter(void);57void CableWarp_StateTransport_MoveToNextNode(void);58void CableWarp_StateTransport_EndNode(void);59void CableWarp_StateTransport_Exit(void);6061#endif //! OBJ_CABLEWARP_H626364