1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#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
|