Path: blob/master/SonicMania/Objects/Global/HUD.h
338 views
#ifndef OBJ_HUD_H1#define OBJ_HUD_H23#include "Game.h"45typedef enum {6HUDOFF_SCORE,7HUDOFF_TIME,8HUDOFF_RINGS,9HUDOFF_LIFE,10} HUDOffsetTypes;1112typedef enum {13KEY_A,14KEY_B,15KEY_X,16KEY_Y,17KEY_START,18} KeyIDs;1920// Object Class21struct ObjectHUD {22RSDK_OBJECT23uint16 aniFrames;24#if GAME_VERSION != VER_10025uint16 superButtonFrames;26#endif27#if MANIA_USE_PLUS28uint16 sfxClick;29uint16 sfxStarpost;30bool32 showTAPrompt;31bool32 replaySaveEnabled;32int32 screenBorderType[PLAYER_COUNT];33int32 swapCooldown;34int32 stockFlashTimers[PLAYER_COUNT];35#endif36};3738// Entity Class39struct EntityHUD {40RSDK_ENTITY41StateMachine(state);42Vector2 scorePos;43Vector2 timePos;44Vector2 ringsPos;45Vector2 lifePos;46#if MANIA_USE_PLUS47int32 lifeFrameIDs[PLAYER_COUNT];48int32 lives[PLAYER_COUNT];49#endif50int32 targetPos;51#if GAME_VERSION != VER_10052int32 actionPromptPos;53#endif54#if MANIA_USE_PLUS55StateMachine(vsStates[PLAYER_COUNT]);56Vector2 vsScorePos[PLAYER_COUNT];57Vector2 vsTimePos[PLAYER_COUNT];58Vector2 vsRingsPos[PLAYER_COUNT];59Vector2 vsLifePos[PLAYER_COUNT];60int32 vsTargetPos[PLAYER_COUNT];61int32 screenID;62#endif63#if GAME_VERSION != VER_10064int32 timeFlashFrame;65#endif66int32 ringFlashFrame;67bool32 enableTimeFlash;68bool32 enableRingFlash;69Animator hudElementsAnimator;70Animator numbersAnimator;71Animator hyperNumbersAnimator;72Animator lifeIconAnimator;73Animator playerIDAnimator;74#if GAME_VERSION != VER_10075Animator superIconAnimator;76Animator superButtonAnimator;77#endif78#if MANIA_USE_PLUS79Animator thumbsUpIconAnimator;80Animator thumbsUpButtonAnimator;81Animator replayClapAnimator;82Animator saveReplayButtonAnimator;83#endif84};8586// Object Struct87extern ObjectHUD *HUD;8889// Standard Entity Events90void HUD_Update(void);91void HUD_LateUpdate(void);92void HUD_StaticUpdate(void);93void HUD_Draw(void);94void HUD_Create(void *data);95void HUD_StageLoad(void);96#if GAME_INCLUDE_EDITOR97void HUD_EditorDraw(void);98void HUD_EditorLoad(void);99#endif100void HUD_Serialize(void);101102// Extra Entity Functions103void HUD_DrawNumbersBase10(Vector2 *drawPos, int32 value, int32 digitCount);104void HUD_DrawNumbersBase16(Vector2 *drawPos, int32 value);105void HUD_DrawNumbersHyperRing(Vector2 *drawPos, int32 value);106107#if GAME_VERSION != VER_100108void HUD_GetButtonFrame(Animator *animator, int32 buttonID);109void HUD_GetActionButtonFrames(void);110#endif111112void HUD_State_MoveIn(void);113void HUD_State_MoveOut(void);114115void HUD_MoveIn(EntityHUD *hud);116void HUD_MoveOut(void);117118void HUD_EnableRingFlash(void);119120int32 HUD_CharacterIndexFromID(int32 characterID);121122#endif //! OBJ_HUD_H123124125