2017-09-05 13:01:24 +02:00
|
|
|
#ifndef GUARD_MENU_H
|
|
|
|
#define GUARD_MENU_H
|
|
|
|
|
2017-11-19 22:48:46 +01:00
|
|
|
#include "text.h"
|
2017-09-29 00:11:42 +02:00
|
|
|
#include "window.h"
|
2017-09-05 13:01:24 +02:00
|
|
|
|
2017-12-16 15:10:29 +01:00
|
|
|
#define MENU_NOTHING_CHOSEN -2
|
|
|
|
#define MENU_B_PRESSED -1
|
|
|
|
|
2017-09-05 13:01:24 +02:00
|
|
|
struct MenuAction
|
|
|
|
{
|
|
|
|
const u8 *text;
|
2017-10-22 18:55:07 -04:00
|
|
|
union {
|
|
|
|
void (*void_u8)(u8);
|
|
|
|
u8 (*u8_void)(void);
|
|
|
|
} func;
|
2017-09-05 13:01:24 +02:00
|
|
|
};
|
|
|
|
|
2017-09-18 11:26:45 -04:00
|
|
|
void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
|
2017-09-29 00:11:42 +02:00
|
|
|
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);
|
2017-10-22 18:55:07 -04:00
|
|
|
void schedule_bg_copy_tilemap_to_vram(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);
|
2017-10-26 22:10:38 -04:00
|
|
|
s8 ProcessMenuInputNoWrapAround(void);
|
2017-10-22 18:55:07 -04:00
|
|
|
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
|
2017-10-12 22:59:01 -04:00
|
|
|
void reset_temp_tile_data_buffers(void);
|
2017-10-13 00:11:55 -04:00
|
|
|
int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode);
|
2017-10-12 22:59:01 -04:00
|
|
|
bool8 free_temp_tile_data_buffers_if_possible(void);
|
2017-10-14 09:52:56 -04:00
|
|
|
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
|
2017-10-21 23:23:03 -04:00
|
|
|
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
|
2017-12-16 10:23:05 -05:00
|
|
|
s8 ProcessMenuInputNoWrap_(void);
|
2017-10-29 10:38:25 -04:00
|
|
|
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
|
|
|
void clear_scheduled_bg_copies_to_vram(void);
|
2018-01-24 01:03:20 -06:00
|
|
|
void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
|
2017-11-19 22:48:46 +01:00
|
|
|
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
|
2017-12-16 15:10:29 +01:00
|
|
|
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
|
|
|
|
void sub_8197DF8(u8 windowId, bool8 copyToVram);
|
2017-09-18 11:26:45 -04:00
|
|
|
|
2017-09-05 13:01:24 +02:00
|
|
|
#endif // GUARD_MENU_H
|