Path: blob/master/SonicMania/Objects/HCZ/HangConveyor.h
338 views
#ifndef OBJ_HANGCONVEYOR_H1#define OBJ_HANGCONVEYOR_H23#include "Game.h"45// Object Class6struct ObjectHangConveyor {7RSDK_OBJECT8uint16 aniFrames;9};1011// Entity Class12struct EntityHangConveyor {13RSDK_ENTITY14StateMachine(state);15int32 length;16uint8 movementActivePlayers;17uint8 activePlayersTop;18uint8 activePlayersBottom;19uint8 checkableActivePlayers;20Vector2 endPosTopLeft;21Vector2 endPosTopRight;22Vector2 endPosBottomLeft;23Vector2 endPosBottomRight;24int32 grabDelayTop[PLAYER_COUNT];25int32 grabDelayBottom[PLAYER_COUNT];26Vector2 playerPositions[PLAYER_COUNT];27int32 fanTimer[PLAYER_COUNT];28Vector2 startPos;29int32 unused;30Hitbox hitboxFallCheckTop;31Hitbox hitboxFallCheckBottom;32Hitbox hitboxSpikeBallRange;33Animator endAnimator;34Animator startAnimator;35Animator middleAnimator;36};3738// Object Struct39extern ObjectHangConveyor *HangConveyor;4041// Standard Entity Events42void HangConveyor_Update(void);43void HangConveyor_LateUpdate(void);44void HangConveyor_StaticUpdate(void);45void HangConveyor_Draw(void);46void HangConveyor_Create(void *data);47void HangConveyor_StageLoad(void);48#if GAME_INCLUDE_EDITOR49void HangConveyor_EditorDraw(void);50void HangConveyor_EditorLoad(void);51#endif52void HangConveyor_Serialize(void);5354// Extra Entity Functions55void HangConveyor_DrawSprites(void);5657void HangConveyor_SetupHitboxes(void);58void HangConveyor_HandlePlayerInteractions(void);5960#endif //! OBJ_HANGCONVEYOR_H616263