Path: blob/master/SonicMania/Objects/Global/Debris.h
338 views
#ifndef OBJ_DEBRIS_H1#define OBJ_DEBRIS_H23#include "Game.h"45// Structs6typedef struct {7int32 frame;8int32 direction;9Vector2 velocity;10} DebrisEntry;1112typedef struct {13int32 frame;14int32 direction;15Vector2 velocity;16Vector2 offset;17} DebrisOffsetEntry;1819// Object Class20struct ObjectDebris {21RSDK_OBJECT22};2324// Entity Class25struct EntityDebris {26RSDK_ENTITY27StateMachine(state);28int32 timer;29int32 gravityStrength;30int32 rotSpeed;31Vector2 scaleSpeed;32int32 delay;33Animator animator;34};3536// Object Struct37extern ObjectDebris *Debris;3839// Standard Entity Events40void Debris_Update(void);41void Debris_LateUpdate(void);42void Debris_StaticUpdate(void);43void Debris_Draw(void);44void Debris_Create(void *data);45void Debris_StageLoad(void);46#if GAME_INCLUDE_EDITOR47void Debris_EditorDraw(void);48void Debris_EditorLoad(void);49#endif50void Debris_Serialize(void);5152// Extra Entity Functions5354// 'entries' format: int32 count, [count] entries of type DebrisEntry55void Debris_CreateFromEntries(int32 aniFrames, int32 *entries, int32 animationID);56// 'entries' format: int32 count, [count] entries of type DebrisOffsetEntry57void Debris_CreateFromEntries_UseOffset(int32 aniFrames, int32 *entries);5859void Debris_State_Move(void);60void Debris_State_Fall(void);61void Debris_State_FallAndFlicker(void);6263#endif //! OBJ_DEBRIS_H646566