Path: blob/master/SonicMania/Objects/Credits/EncoreGoodEnd.h
338 views
#ifndef OBJ_ENCOREGOODEND_H1#define OBJ_ENCOREGOODEND_H23#include "Game.h"45#if MANIA_USE_PLUS67typedef enum {8E_END_DECOR_STOOL,9E_END_DECOR_ICECREAM_PINK,10E_END_DECOR_ICECREAM_GREEN,11E_END_DECOR_ICECREAM_CONE,12E_END_DECOR_KING,13E_END_DECOR_RAYSPIN,14E_END_DECOR_RAYSHOCKED,15E_END_DECOR_SONICLAYDOWN,16E_END_DECOR_SONICSHOCKED,17E_END_DECOR_KNUXBREATHE,18E_END_DECOR_KNUXCLINK,19E_END_DECOR_KNUXCLINKG,20E_END_DECOR_KNUXSHOCKED,21E_END_DECOR_KNUXSITDOWN,22E_END_DECOR_KNUXSITDOWNG,23E_END_DECOR_MIGHTYBREATHE,24E_END_DECOR_MIGHTYCLINK,25E_END_DECOR_MIGHTYCLINKG,26E_END_DECOR_MIGHTYSITDOWN,27E_END_DECOR_MIGHTYSITDOWNG,28E_END_DECOR_MIGHTYSHOCKED,29E_END_DECOR_TAILSSHOCKED,30E_END_DECOR_TAILSSPIN,31E_END_DECOR_STOOL_STILL,32E_END_DECOR_KNUXICECREAMSHOCK,33E_END_DECOR_MIGHTYICECREAMSHOCK,34E_END_DECOR_LETTERBOX1,35E_END_DECOR_LETTERBOX2,36} EncoreGoodEndDecorTypes;3738typedef enum {39E_END_KING,40E_END_STOOLT,41E_END_STOOLK,42E_END_STOOLM,43E_END_STOOLR,44E_END_SONIC,45E_END_TAILS,46E_END_KNUX,47E_END_MIGHTY,48E_END_RAY,49E_END_GLASSK,50E_END_GLASSM,51E_END_ICECREAM_CONE,52E_END_ICECREAM_PINK,53E_END_ICECREAM_GREEN,54E_END_ICECREAM_PINK2,55E_END_COUNT,56} EncoreGoodEndDecorIDs;5758// Object Class59struct ObjectEncoreGoodEnd {60RSDK_OBJECT61int32 unused1;62uint16 unused2;63uint16 sfxSnap;64int32 unused3;65EntityDecoration *decorations[16];66};6768// Entity Class69struct EntityEncoreGoodEnd {70MANIA_CUTSCENE_BASE71int32 unused1;72};7374// Object Struct75extern ObjectEncoreGoodEnd *EncoreGoodEnd;7677// Standard Entity Events78void EncoreGoodEnd_Update(void);79void EncoreGoodEnd_LateUpdate(void);80void EncoreGoodEnd_StaticUpdate(void);81void EncoreGoodEnd_Draw(void);82void EncoreGoodEnd_Create(void *data);83void EncoreGoodEnd_StageLoad(void);84#if GAME_INCLUDE_EDITOR85void EncoreGoodEnd_EditorDraw(void);86void EncoreGoodEnd_EditorLoad(void);87#endif88void EncoreGoodEnd_Serialize(void);8990// Extra Entity Functions91void EncoreGoodEnd_SetupDecorations(void);9293void EncoreGoodEnd_SetupPlayer(int32 playerID);94void EncoreGoodEnd_StatePlayer_MoveToPos(void);95void EncoreGoodEnd_StatePlayer_EndingIdle(void);96void EncoreGoodEnd_StatePlayer_EndingSonic(void);9798bool32 EncoreGoodEnd_Cutscene_MoveToPlace(EntityCutsceneSeq *host);99bool32 EncoreGoodEnd_Cutscene_WaitForMovementFinish(EntityCutsceneSeq *host);100bool32 EncoreGoodEnd_Cutscene_ClinkGlasses(EntityCutsceneSeq *host);101bool32 EncoreGoodEnd_Cutscene_KingAppear(EntityCutsceneSeq *host);102bool32 EncoreGoodEnd_Cutscene_ThanksForPlaying(EntityCutsceneSeq *host);103bool32 EncoreGoodEnd_Cutscene_FinishCutscene(EntityCutsceneSeq *host);104105void EncoreGoodEnd_Cutscene_SkipCB(void);106107#endif108109#endif //! OBJ_ENCOREGOODEND_H110111112