Path: blob/master/SonicMania/Objects/MMZ/ConveyorPlatform.h
338 views
#ifndef OBJ_CONVEYORPLATFORM_H1#define OBJ_CONVEYORPLATFORM_H23#include "Game.h"45typedef enum {6CONVEYORPLATFORM_FIXED,7CONVEYORPLATFORM_MOVING,8} ConveyorPlatformTypes;910// Object Class11struct ObjectConveyorPlatform {12RSDK_OBJECT13TABLE(int32 frameIDs[24], { 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1 });14TABLE(int32 directionIDs[24], { 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1 });15};1617// Entity Class18struct EntityConveyorPlatform {19RSDK_ENTITY20StateMachine(state);21StateMachine(stateCollide);22int32 type;23Vector2 amplitude;24int32 node;25bool32 hasTension;26int8 frameID;27uint8 collision;28Vector2 tileOrigin;29Vector2 centerPos;30Vector2 drawPos;31Vector2 collisionOffset;32int32 stood;33int32 timer;34int32 stoodAngle;35uint8 stoodPlayers;36uint8 pushPlayersL;37uint8 pushPlayersR;38Hitbox hitbox;39Animator animator;40int32 childCount;4142uint16 interval;43uint16 intervalOffset;44uint16 flipCount;45uint8 flipTimer;46};4748// Object Struct49extern ObjectConveyorPlatform *ConveyorPlatform;5051// Standard Entity Events52void ConveyorPlatform_Update(void);53void ConveyorPlatform_LateUpdate(void);54void ConveyorPlatform_StaticUpdate(void);55void ConveyorPlatform_Draw(void);56void ConveyorPlatform_Create(void *data);57void ConveyorPlatform_StageLoad(void);58#if GAME_INCLUDE_EDITOR59void ConveyorPlatform_EditorDraw(void);60void ConveyorPlatform_EditorLoad(void);61#endif62void ConveyorPlatform_Serialize(void);6364// Extra Entity Functions6566#endif //! OBJ_CONVEYORPLATFORM_H676869