Path: blob/master/SonicMania/Objects/Global/ActClear.h
338 views
#ifndef OBJ_ACTCLEAR_H1#define OBJ_ACTCLEAR_H23#include "Game.h"45// Object Class6struct ObjectActClear {7RSDK_OBJECT8uint16 aniFrames;9uint16 sfxScoreAdd;10uint16 sfxScoreTotal;11#if MANIA_USE_PLUS12uint16 sfxEvent;13#endif14bool32 bufferMoveEnabled;15bool32 isSavingGame;16#if MANIA_USE_PLUS17bool32 disableResultsInput;18#endif19int32 displayedActID;20bool32 finished;21#if MANIA_USE_PLUS22bool32 forceNoSave;23StateMachine(bufferMove_CB);24StateMachine(saveReplay_CB);25bool32 hasSavedReplay;26bool32 disableTimeBonus;27bool32 actClearActive;28#endif29};3031// Entity Class32struct EntityActClear {33RSDK_ENTITY34StateMachine(state);35int32 timer;36int32 stageFinishTimer;37int32 timeBonus;38int32 ringBonus;39int32 coolBonus;40int32 totalScore;41int32 time;42int32 newRecordTimer;43bool32 achievedRank;44bool32 isNewRecord;45bool32 showCoolBonus;46Vector2 playerNamePos;47Vector2 gotThroughPos;48Vector2 timeBonusPos;49Vector2 ringBonusPos;50Vector2 coolBonusPos;51Vector2 totalScorePos;52EntityPlayer *targetPlayer;53Animator hudElementsAnimator;54Animator numbersAnimator;55Animator playerNameAnimator;56Animator gotThroughAnimator;57Animator actNumAnimator;58#if MANIA_USE_PLUS59Animator timeElementsAnimator;60#endif61};6263// Object Struct64extern ObjectActClear *ActClear;6566// Standard Entity Events67void ActClear_Update(void);68void ActClear_LateUpdate(void);69void ActClear_StaticUpdate(void);70void ActClear_Draw(void);71void ActClear_Create(void *data);72void ActClear_StageLoad(void);73#if GAME_INCLUDE_EDITOR74void ActClear_EditorDraw(void);75void ActClear_EditorLoad(void);76#endif77void ActClear_Serialize(void);7879// Extra Entity Functions80#if MANIA_USE_PLUS81void ActClear_DrawTime(Vector2 *drawPosPtr, int32 mins, int32 secs, int32 millisecs);82#endif83void ActClear_DrawNumbers(Vector2 *drawPos, int32 value, int32 digitCount);84void ActClear_CheckPlayerVictory(void);8586#if MANIA_USE_PLUS87void ActClear_SaveGameCallback(bool32 success);88#else89void ActClear_SaveGameCallback(void);90#endif91void ActClear_SetupRecoverPlayers(void);9293void ActClear_State_EnterText(void);94void ActClear_State_AdjustText(void);95void ActClear_State_EnterResults(void);96void ActClear_State_ScoreShownDelay(void);97void ActClear_State_TallyScore(void);98void ActClear_State_SaveGameProgress(void);99#if MANIA_USE_PLUS100void ActClear_State_ShowResultsTA(void);101#endif102void ActClear_State_WaitForSave(void);103void ActClear_State_ExitActClear(void);104105void ActClear_State_RecoverPlayers(void);106107#endif //! OBJ_ACTCLEAR_H108109110