diff options
Diffstat (limited to 'include/menu.h')
-rw-r--r-- | include/menu.h | 61 |
1 files changed, 41 insertions, 20 deletions
diff --git a/include/menu.h b/include/menu.h index 19efc3ad9..55083db0e 100644 --- a/include/menu.h +++ b/include/menu.h @@ -17,44 +17,65 @@ struct MenuAction } func; }; +struct WindowTemplateWithAttr +{ + struct WindowTemplate *ptr; + u32 attr; +}; + void AddTextPrinterParameterized3(u8, u8, u8, u8, const void *, s8, const u8 *); +void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing); void sub_8198070(u8 windowId, bool8 copyToVram); -void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); -void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); void ScheduleBgCopyTilemapToVram(u8 bgNum); void PrintMenuTable(u8 idx, u8 nstrs, const struct MenuAction *strs); void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8); -u8 GetMenuCursorPos(void); -s8 ProcessMenuInput(void); -s8 ProcessMenuInputNoWrapAround(void); void ResetTempTileDataBuffers(void); void *DecompressAndCopyTileDataToVram(u8 bg_id, const void *src, u32 size, u16 offset, u8 mode); bool8 FreeTempTileDataBuffersIfPossible(void); -u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd -s8 Menu_ProcessInputNoWrapClearOnChoose(void); void DoScheduledBgTilemapCopiesToVram(void); void ClearScheduledBgCopiesToVram(void); void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); -void ClearMenuWindow(u8 windowId, bool8 copyToVram); void *DecompressAndCopyTileDataToVram2(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); -void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); -void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); -void sub_810F71C(void); -void sub_810F740(void); -u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition); -void CreateYesNoMenu(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); -void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 a2, u8 a3); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); -void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); -void ClearMenuWindow_BorderThickness2(u8 windowId, u8 a1); -void PrintTextArray(u8, u8, u8, u8, u8, u8, const struct MenuAction *); +// list_menu void sub_8107CD8(u8 palOffset, u16 speciesId); void sub_8107CF8(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y); -void sub_8107D38(u8, u8); +void sub_8107D38(u8 palOffset, u8 palId); void BlitMoveInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y); +// menu +s8 Menu_ProcessInputGridLayout(void); +u8 MultichoiceGridInitCursor(u8 windowId, u8 fontId, u8 left, u8 top, u8 optionWidth, u8 cols, u8 rows, u8 cursorPos); +void MultichoiceGridPrintItems(u8 windowId, u8 fontId, u8 itemWidth, u8 itemHeight, u8 cols, u8 rows, const struct MenuAction *strs); +void DestroyYesNoMenu(void); +s8 Menu_ProcessInputNoWrapClearOnChoose(void); +void CreateYesNoMenu(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top, u16 baseTileNum, u8 paletteNum, u8 initialCursorPos); +void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *orderArray); +void UnionRoomAndTradeMenuPrintOptions(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs); +void PrintMultichoiceListItems(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, u8 letterSpacing, u8 lineSpacing); +void PrintTextArray(u8 windowId, u8 fontId, u8 left, u8 top, u8 lineHeight, u8 itemCount, const struct MenuAction *strs); +s8 Menu_ProcessInputNoWrapAround_other(void); +s8 Menu_ProcessInput_other(void); +s8 Menu_ProcessInputNoWrapAround(void); +s8 Menu_ProcessInput(void); +u8 Menu_GetCursorPos(void); +u8 Menu_InitCursor(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos); +u8 Menu_InitCursorInternal(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos, bool8 APressMuted); +void TopBarWindowPrintTwoStrings(const u8 *string, const u8 *string2, bool8 fgColorChooser, u8 notUsed, bool8 copyToVram); +void TopBarWindowPrintString(const u8 *string, u8 unUsed, bool8 copyToVram); +void ClearTopBarWindow(void); +void DestroyTopBarWindow(void); +u8 CreateTopBarWindowLoadPalette(u8 bg, u8 width, u8 yPos, u8 palette, u16 baseTile); +void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); +void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 baseTileNum, u8 paletteNum); +void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram); +void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileNum, u8 paletteNum); + +// currently incorrect, WIP +void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); + + #endif // GUARD_MENU_H |