pmd-red/include/menu_input.h
2025-06-13 17:47:38 +02:00

59 lines
2.8 KiB
C

#ifndef GUARD_MENU_INPUT_H
#define GUARD_MENU_INPUT_H
#include "structs/menu.h"
#include "structs/str_text.h"
u32 sub_8012A64(TouchScreenMenuInput *r0, s32 r1);
s32 GetKeyPress(MenuInputStruct *r0);
s32 GetMenuInput(void);
void PrintNumOnWindow(s32 x, s32 y, s32 num, s32 len, u32 color, u32 windowId);
void DrawCharOnWindowWidth12(u32 x, u32 y, u32 param_3, u32 color, u32 param_5);
void sub_8012CAC(WindowTemplate *param_1, const MenuItem *param_2);
void sub_8012D08(WindowTemplate *param_1, s32 param_2);
void sub_8012D34(WindowTemplate *param_1, s32 param_2);
void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
void sub_8012EA4(MenuStruct *param_1, bool8 r1);
void sub_8012EBC(MenuStruct *param_1);
bool8 sub_8012FD8(MenuStruct *param_1);
bool8 sub_80130A8(MenuStruct *param_1);
bool8 sub_8013114(MenuStruct *param_1, s32 *menuAction);
void ResetTouchScreenMenuInput(TouchScreenMenuInput *param_1);
void AddMenuCursorSprite(MenuInputStruct *param_1);
void sub_8013660(MenuInputStruct *param_1);
void UpdateMenuCursorSpriteCoords(MenuInputStruct *param_1);
void MoveMenuCursorDown(MenuInputStruct *param_1);
void MoveMenuCursorDownWrapAround(MenuInputStruct *param_1, u8 param_2);
void MoveMenuCursorUp(MenuInputStruct *param_1);
void MoveMenuCursorUpWrapAround(MenuInputStruct *param_1, u8 param_2);
void sub_8013780(MenuInputStruct *param_1, s32 param_2);
void sub_80137B0(MenuInputStruct *param_1, s32 param_2);
s32 GetMenuEntryYCoord(MenuInputStruct *menu, s32 entryId);
void CreateMenuOnWindow(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId);
void CreateMenuOnWindowTwoLinesEntry(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId);
void MoveMenuToEntryId(MenuInputStruct *param_1, s32 param_2);
bool8 MenuCursorUpdate(MenuInputStruct *param_1, bool8 param_2);
bool8 MenuCursorUpdateOnlyLeftRight(MenuInputStruct *param_1);
void MenuUpdatePagesData(MenuInputStruct * param_1);
void AddMenuCursorSprite_(MenuInputStruct *, u8 *);
void GetTouchScreenMenuInput(TouchScreenMenuInput *touchScreen, s32 a1);
void sub_8013AA0(unkStructFor8013AA0 *);
u32 sub_8013BBC(unkStructFor8013AA0 *);
void sub_8013C68(unkStructFor8013AA0 *);
void sub_8013D10(unkStructFor8013AA0 *);
void sub_8013E54(void);
void sub_8013F84(void);
void sub_80140B4(WindowTemplates *);
void sub_80140DC(void);
void sub_80140F8(void);
void sub_8014114(void);
#define TOUCH_SCREEN_ARROW_UP_PRESS 1
#define TOUCH_SCREEN_ARROW_DOWN_PRESS 2
u32 GetTouchScreenArrowPress(s32 a0, const void *a1);
#define GET_CURRENT_MENU_ENTRY(menuInput)((menuInput.currPage * menuInput.entriesPerPage) + menuInput.menuIndex)
#endif // GUARD_MENU_INPUT_H