Path: blob/master/SonicMania/Objects/Menu/UIButtonPrompt.h
338 views
#ifndef OBJ_UIBUTTONPROMPT_H1#define OBJ_UIBUTTONPROMPT_H23#include "Game.h"45typedef enum {6UIBUTTONPROMPT_NONE,7UIBUTTONPROMPT_KEYBOARD,8UIBUTTONPROMPT_XBOX,9UIBUTTONPROMPT_PS4,10UIBUTTONPROMPT_SWITCH,11UIBUTTONPROMPT_SATURN_BLACK,12UIBUTTONPROMPT_SATURN_WHITE,13UIBUTTONPROMPT_JOYCON_L,14UIBUTTONPROMPT_JOYCON_R,15UIBUTTONPROMPT_KEYBOARD_FR,16UIBUTTONPROMPT_KEYBOARD_IT,17UIBUTTONPROMPT_KEYBOARD_GE,18UIBUTTONPROMPT_KEYBOARD_SP,19} UIButtonPromptTypes;2021typedef enum {22UIBUTTONPROMPT_ANCHOR_NONE,23UIBUTTONPROMPT_ANCHOR_TOPLEFT_ROW1,24UIBUTTONPROMPT_ANCHOR_TOPRIGHT_ROW1,25UIBUTTONPROMPT_ANCHOR_TOPLEFT_ROW2,26UIBUTTONPROMPT_ANCHOR_TOPRIGHT_ROW2,27} UIButtonPromptAnchors;2829typedef enum {30UIBUTTONPROMPT_BUTTON_A,31UIBUTTONPROMPT_BUTTON_B,32UIBUTTONPROMPT_BUTTON_X,33UIBUTTONPROMPT_BUTTON_Y,34UIBUTTONPROMPT_BUTTON_START,35UIBUTTONPROMPT_BUTTON_SELECT,36} UIButtonPromptButtons;3738// Object Class39struct ObjectUIButtonPrompt {40RSDK_OBJECT41int32 type;42int32 inputSlot;43uint16 aniFrames;44};4546// Entity Class47struct EntityUIButtonPrompt {48RSDK_ENTITY49Entity *parent;50StateMachine(state);51int32 timer;52Vector2 startPos;53int32 promptID;54int32 buttonID;55uint8 headingAnchor;56int32 unused;57int32 prevPrompt;58int32 prevButton;59int32 mappings;60bool32 textVisible;61int32 scaleMax;62int32 scaleSpeed;63bool32 disableScale;64Vector2 touchSize;65Vector2 touchPos;66bool32 touched;67Animator decorAnimator;68Animator buttonAnimator;69Animator promptAnimator;70uint16 textSprite;71};7273// Object Struct74extern ObjectUIButtonPrompt *UIButtonPrompt;7576// Standard Entity Events77void UIButtonPrompt_Update(void);78void UIButtonPrompt_LateUpdate(void);79void UIButtonPrompt_StaticUpdate(void);80void UIButtonPrompt_Draw(void);81void UIButtonPrompt_Create(void *data);82void UIButtonPrompt_StageLoad(void);83#if GAME_INCLUDE_EDITOR84void UIButtonPrompt_EditorDraw(void);85void UIButtonPrompt_EditorLoad(void);86#endif87void UIButtonPrompt_Serialize(void);8889// Extra Entity Functions90int32 UIButtonPrompt_GetButtonMappings(int32 input, int32 button);91int32 UIButtonPrompt_GetGamepadType(void);92uint8 UIButtonPrompt_MappingsToFrame(int32 mappings);9394bool32 UIButtonPrompt_CheckTouch(void);95void UIButtonPrompt_SetButtonSprites(void);96void UIButtonPrompt_State_CheckIfSelected(void);97void UIButtonPrompt_State_Selected(void);9899#endif //! OBJ_UIBUTTONPROMPT_H100101102