mirror of
https://github.com/pret/pokeruby.git
synced 2026-03-21 17:54:19 -05:00
96 lines
3.1 KiB
C
96 lines
3.1 KiB
C
#ifndef GUARD_MENU_H
|
|
#define GUARD_MENU_H
|
|
|
|
#include "task.h"
|
|
#include "text.h"
|
|
|
|
typedef bool8 (*MenuFunc)();
|
|
|
|
struct MenuAction
|
|
{
|
|
const u8 *text;
|
|
MenuFunc 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 WindowTemplate *);
|
|
void MultistepInitMenuWindowBegin(const struct WindowTemplate *);
|
|
bool32 MultistepInitMenuWindowContinue(void);
|
|
void unref_sub_8071DA4(struct WindowTemplate *, u16);
|
|
void Menu_LoadStdFrameGraphicsOverrideStyle(u8);
|
|
void Menu_LoadStdFrameGraphics(void);
|
|
void BasicInitMenuWindow(const struct WindowTemplate *);
|
|
void Menu_PrintText(const u8 *, u8, u8);
|
|
void Menu_EraseWindowRect(u8, u8, u8, u8);
|
|
void Menu_BlankWindowRect(u8, u8, u8, u8);
|
|
void Menu_EraseScreen(void);
|
|
void Menu_DrawStdWindowFrame(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 Menu_DisplayDialogueFrame(void);
|
|
void MenuPrintMessage(const u8 *, u8, u8);
|
|
void MenuPrintMessageDefaultCoords(const u8 *);
|
|
void Menu_SetText(const u8 *);
|
|
u8 Menu_UpdateWindowText(void);
|
|
u8 unref_sub_8072098(void);
|
|
void Menu_ClearWindowText(void);
|
|
u8 Menu_MoveCursor(s8);
|
|
u8 Menu_MoveCursorNoWrap(s8);
|
|
u8 Menu_GetCursorPos(void);
|
|
s8 Menu_ProcessInput(void);
|
|
s8 Menu_ProcessInputNoWrap(void);
|
|
void sub_807274C(u8, u8, u8, u8, const struct MenuAction[], u8, u32);
|
|
s8 Menu_ProcessInputGridLayout(void);
|
|
u8 Menu_GetColumnXCoord(u8);
|
|
void Menu_PrintItems(u8, u8, u8, const void *);
|
|
void Menu_PrintItemsReordered(u8 left, u8 top, u8 menuItemCount, const void * menuItems, const u8 *order);
|
|
void InitYesNoMenu(u8, u8, u8);
|
|
void DisplayYesNoMenu(u8, u8, u32);
|
|
s8 Menu_ProcessInputNoWrap_(void);
|
|
u8 Menu_PrintTextPixelCoords(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);
|
|
|
|
// Prints src aligned to right edge of widthRefStr in window defined by left and top
|
|
void MenuPrint_AlignedToRightOfReferenceString(const u8 *src, u8 left, u8 top, const u8 *widthRefStr);
|
|
void MenuPrint_Centered(const u8 *, u8, u8, u16);
|
|
u8 *AlignInt1InMenuWindow(u8 *, s32, u8, u8);
|
|
u8 *AlignInt2InMenuWindow(u8 *, s32, u8, u8);
|
|
u8 *AlignStringInMenuWindow(u8 *, const u8 *, u8, u8);
|
|
u8 GetStringWidthInMenuWindow(const u8 *s);
|
|
u8 Menu_GetTextWindowPaletteNum(void);
|
|
void Menu_GetTextColors(u8 *, u8 *, u8 *);
|
|
u32 Menu_UpdateWindowTextOverrideLineLength(u8);
|
|
struct Window * unref_sub_8072D0C(void);
|
|
u8 InitMenu(u8, u8, u8, u8, u8, u8);
|
|
void unref_sub_8072DC0(void);
|
|
void sub_8072DCC(u8);
|
|
void sub_8072DDC(u8);
|
|
void Menu_DestroyCursor(void);
|
|
u8 MoveMenuCursor3(s8 delta);
|
|
|
|
#if GERMAN
|
|
u8 *de_sub_8073174(u8 *name, const u8 *format);
|
|
#endif
|
|
|
|
#endif // GUARD_MENU_H
|