Path: blob/master/SonicMania/Objects/Global/Announcer.h
338 views
#ifndef OBJ_ANNOUNCER_H1#define OBJ_ANNOUNCER_H23#include "Game.h"45// Object Class6struct ObjectAnnouncer {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxThree;10uint16 sfxTwo;11uint16 sfxOne;12uint16 sfxGo;13uint16 sfxGoal;14uint16 sfxSonicWins;15uint16 sfxTailsWins;16uint16 sfxKnuxWins;17#if MANIA_USE_PLUS18uint16 sfxMightyWins;19uint16 sfxRayWins;20#endif21uint16 sfxNewRecordTop;22uint16 sfxNewRecordMid;23uint16 sfxSonic;24uint16 sfxTails;25uint16 sfxKnuckles;26#if MANIA_USE_PLUS27uint16 sfxMighty;28uint16 sfxRay;29#endif30uint16 sfxTheWinnerIs;31uint16 sfxPlayer1;32uint16 sfxPlayer2;33#if MANIA_USE_PLUS34uint16 sfxPlayer3;35uint16 sfxPlayer4;36#endif37uint16 sfxDrawRound;38uint16 sfxDrawSet;39bool32 finishedCountdown;40};4142// Entity Class43struct EntityAnnouncer {44RSDK_ENTITY45StateMachine(state);46StateMachine(stateDraw);47int32 timer;48int32 playerID;49int32 screen;50Vector2 drawOffset;51Animator animator;52Animator playerIconAnimator;53};5455// Object Struct56extern ObjectAnnouncer *Announcer;5758// Standard Entity Events59void Announcer_Update(void);60void Announcer_LateUpdate(void);61void Announcer_StaticUpdate(void);62void Announcer_Draw(void);63void Announcer_Create(void *data);64void Announcer_StageLoad(void);65#if GAME_INCLUDE_EDITOR66void Announcer_EditorDraw(void);67void Announcer_EditorLoad(void);68#endif69void Announcer_Serialize(void);7071// Extra Entity Functions72void Announcer_StartCountdown(void);73void Announcer_AnnounceGoal(int32 screen);7475void Announcer_Draw_Countdown(void);76void Announcer_Draw_Finished(void);7778void Announcer_State_Countdown(void);79void Announcer_State_Finished(void);80void Announcer_State_AnnounceWinner(void);81void Announcer_State_AnnounceDraw(void);82void Announcer_State_AnnounceWinPlayer(void);8384#endif //! OBJ_ANNOUNCER_H858687