Path: blob/master/SonicMania/Objects/HCZ/Gondola.h
338 views
#ifndef OBJ_GONDOLA_H1#define OBJ_GONDOLA_H23#include "Game.h"45// Object Class6struct ObjectGondola {7RSDK_OBJECT8uint16 aniFrames;9bool32 taggedBoatIDs[3];10bool32 hasAchievement;11};1213// Entity Class14struct EntityGondola {15RSDK_ENTITY16StateMachine(state);17int32 minY;18int32 maxY;19uint8 boatID;20uint8 activePlayers;21Vector2 startPos;22int32 unused;23bool32 waterInRange;24bool32 stoppedL;25bool32 stoppedR;26int32 waterDistance;27Vector2 centerPos;28Vector2 drawPos;29Vector2 collisionOffset;30int32 stoodAngle;31int32 maxStoodAngle;32int32 floatAngle;33Hitbox hitbox;34Animator animator;35};3637// Object Struct38extern ObjectGondola *Gondola;3940// Standard Entity Events41void Gondola_Update(void);42void Gondola_LateUpdate(void);43void Gondola_StaticUpdate(void);44void Gondola_Draw(void);45void Gondola_Create(void *data);46void Gondola_StageLoad(void);47#if GAME_INCLUDE_EDITOR48void Gondola_EditorDraw(void);49void Gondola_EditorLoad(void);50#endif51void Gondola_Serialize(void);5253// Extra Entity Functions54int32 Gondola_GetWaterLevel(void);55void Gondola_HandleWaterFloating(void);56void Gondola_HandleTilting(void);57void Gondola_HandleMoveVelocity(void);58void Gondola_HandleTileCollisions(void);59void Gondola_HandlePlayerInteractions(void);6061#endif //! OBJ_GONDOLA_H626364