#ifndef GUARD_MENU_H #define GUARD_MENU_H #include "task.h" #include "text.h" struct MenuAction { const u8 *text; u8 (*func)(); }; struct MenuAction2 { const u8 *text; TaskFunc func; }; extern const struct MenuAction gMenuYesNoItems[]; extern struct Window gMenuWindow; extern struct Window *gMenuWindowPtr; extern u16 gMenuTextTileOffset; extern u16 gMenuTextWindowContentTileOffset; extern u16 gMenuMessageBoxContentTileOffset; void CloseMenu(void); void AppendToList(u8 *list, u8 *pindex, u32 value); void InitMenuWindow(const struct WindowConfig *); void MultistepInitMenuWindowBegin(const struct WindowConfig *); bool32 MultistepInitMenuWindowContinue(void); void unref_sub_8071DA4(struct WindowConfig *, u16); void MenuLoadTextWindowGraphics_OverrideFrameType(u8); void MenuLoadTextWindowGraphics(void); void BasicInitMenuWindow(const struct WindowConfig *); void MenuPrint(const u8 *, u8, u8); void MenuZeroFillWindowRect(u8, u8, u8, u8); void MenuFillWindowRectWithBlankTile(u8, u8, u8, u8); void MenuZeroFillScreen(void); void MenuDrawTextWindow(u8, u8, u8, u8); void sub_8071F40(const u8 *); void sub_8071F60(u8, u8, u8); u16 unref_sub_8071F98(u8, u8); void unref_sub_8071FBC(u16, u8, u8, u8, u8); void MenuDisplayMessageBox(void); void MenuPrintMessage(const u8 *, u8, u8); void MenuPrintMessageDefaultCoords(const u8 *); void MenuSetText(const u8 *); u8 MenuUpdateWindowText(void); u8 unref_sub_8072098(void); void sub_80720B0(void); u8 MoveMenuCursor(s8); u8 MoveMenuCursorNoWrap(s8); u8 GetMenuCursorPos(void); s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrap(void); u8 MoveMenuCursor3(s8); u8 MoveMenuCursor4(s8); void sub_807274C(u8, u8, u8, u8, const struct MenuAction[], u8, u32); s8 sub_80727CC(void); u8 sub_807288C(u8); void PrintMenuItems(u8, u8, u8, const struct MenuAction[]); void PrintMenuItemsReordered(u8 left, u8 top, u8 menuItemCount, const struct MenuAction2 menuItems[], const u8 *order); void InitYesNoMenu(u8, u8, u8); void DisplayYesNoMenu(u8, u8, u32); s8 ProcessMenuInputNoWrap_(void); u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8); u8 sub_8072A18(const u8 *, u8, u16, u8, u32); u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32); int sub_8072AB0(const u8 *, u8, u16, u8, u8, u32); void MenuPrint_RightAligned(const u8 *, u8, u8); void sub_8072B80(const u8 *, u8, u8, const u8 *); void sub_8072BD8(const u8 *, u8, u8, u16); u8 *sub_8072C14(u8 *, s32, u8, u8); u8 *sub_8072C44(u8 *, s32, u8, u8); u8 *sub_8072C74(u8 *, const u8 *, u8, u8); u8 sub_8072CA4(const u8 *s); u8 sub_8072CBC(void); void sub_8072CD4(u8 *, u8 *, u8 *); u32 MenuUpdateWindowText_OverrideLineLength(u8); struct Window * unref_sub_8072D0C(void); u8 InitMenu(u8, u8, u8, u8, u8, u8); void RedrawMenuCursor(u8, u8); void unref_sub_8072DC0(void); void sub_8072DCC(u8); void sub_8072DDC(u8); void HandleDestroyMenuCursors(void); #if GERMAN u8 *de_sub_8073174(u8 *name, const u8 *format); #endif #endif // GUARD_MENU_H