Path: blob/master/SonicMania/Objects/TMZ/CrashTest.h
338 views
#ifndef OBJ_CRASHTEST_H1#define OBJ_CRASHTEST_H23#include "Game.h"45// Object Class6struct ObjectCrashTest {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxExplosion;10uint16 sfxCrash;11uint16 sfxTrafficLight;12uint16 sfxCarRev;13uint16 sfxSpeedBooster;14};1516// Entity Class17struct EntityCrashTest {18RSDK_ENTITY19StateMachine(state);20int32 length;21bool32 debugParticles;22uint8 activePlayers;23int32 playerTimers[PLAYER_COUNT];24Vector2 startPos;25int32 timer;26int32 travelDistance;27bool32 boosterActive;28Vector2 debrisOffsets[8];29bool32 turningGreen;30bool32 prevTurningGreen;31Hitbox hitboxSeat;32Hitbox hitboxFront;33Hitbox hitboxBack;34Hitbox hitboxFloor;35Hitbox hitboxStopper;36Hitbox hitboxBooster;37Animator carAnimator;38Animator driverAnimator;39Animator lightAnimator;40Animator stopperAnimator;41};4243// Object Struct44extern ObjectCrashTest *CrashTest;4546// Standard Entity Events47void CrashTest_Update(void);48void CrashTest_LateUpdate(void);49void CrashTest_StaticUpdate(void);50void CrashTest_Draw(void);51void CrashTest_Create(void *data);52void CrashTest_StageLoad(void);53#if GAME_INCLUDE_EDITOR54void CrashTest_EditorDraw(void);55void CrashTest_EditorLoad(void);56#endif57void CrashTest_Serialize(void);5859// Extra Entity Functions60void CrashTest_SetupHitboxes(void);61void CrashTest_CheckOffScreen(void);62void CrashTest_HandlePlayerCrash(void);63void CrashTest_CheckPlayerCollisionsSolid(void);64void CrashTest_CheckPlayerRide(void);65void CrashTest_CheckPlayerJump(void);66void CrashTest_HandleLightAnims(void);6768void CrashTest_State_Init(void);69void CrashTest_State_AwaitPlayer(void);70void CrashTest_State_Rev(void);71void CrashTest_State_Move(void);72void CrashTest_State_Crashed(void);7374#endif //! OBJ_CRASHTEST_H757677