Path: blob/master/SonicMania/Objects/MSZ/GiantPistol.h
338 views
#ifndef OBJ_GIANTPISTOL_H1#define OBJ_GIANTPISTOL_H23#include "Game.h"45// Object Class6struct ObjectGiantPistol {7RSDK_OBJECT8#if MANIA_USE_PLUS9bool32 inCutscene;10#endif11Hitbox hitboxFront;12Hitbox hitboxEntry;13Hitbox hitboxRear;14uint16 sfxClack;15uint16 sfxCannonFire;16uint16 aniFrames;17};1819// Entity Class20struct EntityGiantPistol {21RSDK_ENTITY22StateMachine(state);23int32 timer;24int32 activePlayers;25int32 playerPos;26int32 rotationVel;27Vector2 startPos;28Vector2 pivot;29Animator pistolAnimator;30Animator pistolEntryAnimator;31Animator chamberAnimator;32Animator hammerAnimator;33Animator handLowAnimator;34Animator handHighAnimator;35Animator triggerAnimator;36Animator triggerFingerAnimator;37};3839// Object Struct40extern ObjectGiantPistol *GiantPistol;4142// Standard Entity Events43void GiantPistol_Update(void);44void GiantPistol_LateUpdate(void);45void GiantPistol_StaticUpdate(void);46void GiantPistol_Draw(void);47void GiantPistol_Create(void *data);48void GiantPistol_StageLoad(void);49#if GAME_INCLUDE_EDITOR50void GiantPistol_EditorDraw(void);51void GiantPistol_EditorLoad(void);52#endif53void GiantPistol_Serialize(void);5455// Extra Entity Functions56void GiantPistol_State_AwaitPlayerEntry(void);57void GiantPistol_State_CloseChamber(void);58void GiantPistol_State_SpinGun(void);59void GiantPistol_State_Aiming(void);60void GiantPistol_State_FiredPlayers(void);6162#if MANIA_USE_PLUS63void GiantPistol_PlayerState_PistolAir(void);64void GiantPistol_PlayerState_PistolGround(void);65#endif6667#endif //! OBJ_GIANTPISTOL_H686970