2021-07-07 16:39:34 +00:00
|
|
|
#ifndef GUARD_MENU_H
|
|
|
|
#define GUARD_MENU_H
|
2021-05-15 23:59:55 +00:00
|
|
|
|
2023-09-12 12:27:10 +00:00
|
|
|
#include "sprite_oam.h"
|
2023-09-21 02:26:35 +00:00
|
|
|
#include "structs/str_text.h"
|
2024-07-23 10:11:32 +00:00
|
|
|
#include "structs/str_position.h"
|
2023-06-27 03:24:47 +00:00
|
|
|
|
2023-09-30 03:46:27 +00:00
|
|
|
// size: 0xC
|
|
|
|
typedef struct MenuInputStructSub
|
|
|
|
{
|
|
|
|
u8 unk0;
|
|
|
|
/* 0x1 */ u8 a_button;
|
|
|
|
/* 0x2 */ u8 b_button;
|
|
|
|
/* 0x3 */ u8 dpad_right;
|
|
|
|
/* 0x4 */ u8 dpad_left;
|
2024-10-28 21:34:34 +00:00
|
|
|
/* 0x5 */ u8 unk5;
|
|
|
|
u8 fill6[2];
|
2023-09-30 03:46:27 +00:00
|
|
|
u16 unk8;
|
|
|
|
s16 unkA;
|
|
|
|
} MenuInputStructSub;
|
|
|
|
|
|
|
|
// size: 0x34
|
|
|
|
typedef struct MenuInputStruct
|
|
|
|
{
|
|
|
|
s32 unk0;
|
|
|
|
u16 unk4;
|
|
|
|
s16 unk6;
|
2024-07-23 10:11:32 +00:00
|
|
|
Position unk8; // Maybe Position
|
2023-09-30 03:46:27 +00:00
|
|
|
s16 unkC; // Maybe Position
|
|
|
|
s16 unkE;
|
|
|
|
u32 unk10;
|
2024-07-23 10:11:32 +00:00
|
|
|
Position unk14; // Maybe Position
|
2023-09-30 03:46:27 +00:00
|
|
|
/* 0x18 */ s16 menuIndex;
|
|
|
|
s16 unk1A;
|
|
|
|
s16 unk1C;
|
|
|
|
s16 unk1E;
|
|
|
|
s16 unk20;
|
|
|
|
s16 unk22;
|
|
|
|
u16 unk24;
|
|
|
|
u16 unk26;
|
|
|
|
MenuInputStructSub unk28;
|
|
|
|
} MenuInputStruct;
|
|
|
|
|
2023-08-04 04:37:49 +00:00
|
|
|
// size: 0x8
|
2023-09-02 05:46:26 +00:00
|
|
|
typedef struct MenuItem
|
2021-05-15 23:59:55 +00:00
|
|
|
{
|
2022-09-16 17:48:13 +00:00
|
|
|
const u8 *text;
|
2023-02-12 17:24:40 +00:00
|
|
|
s32 menuAction; // action??
|
2023-09-02 05:46:26 +00:00
|
|
|
} MenuItem;
|
2021-05-15 23:59:55 +00:00
|
|
|
|
2023-08-04 04:37:49 +00:00
|
|
|
// size: 0x50
|
2023-09-02 05:46:26 +00:00
|
|
|
typedef struct MenuStruct
|
2023-02-14 00:59:10 +00:00
|
|
|
{
|
2023-02-26 16:36:23 +00:00
|
|
|
const u8 *unk0; // header text?
|
2023-09-02 05:46:26 +00:00
|
|
|
/* 0x4 */ const MenuItem *menuItems;
|
2023-02-25 02:14:21 +00:00
|
|
|
const u32 *menuTextColorArray;
|
2023-02-14 00:59:10 +00:00
|
|
|
u16 *unkC;
|
2023-02-16 15:52:11 +00:00
|
|
|
/* 0x10 */ s32 index;
|
2023-09-02 05:46:26 +00:00
|
|
|
/* 0x14 */ MenuInputStruct input;
|
2023-02-16 15:52:11 +00:00
|
|
|
/* 0x48 */ s32 menuAction;
|
2023-02-25 18:21:10 +00:00
|
|
|
bool8 unk4C;
|
|
|
|
bool8 unk4D;
|
|
|
|
bool8 unk4E;
|
2023-09-02 05:46:26 +00:00
|
|
|
} MenuStruct;
|
2023-02-14 00:59:10 +00:00
|
|
|
|
2023-09-12 12:27:10 +00:00
|
|
|
// size: 0x30. Seems to be info for a NumericUpDown
|
|
|
|
typedef struct unkStructFor8013AA0
|
|
|
|
{
|
|
|
|
s32 unk0; // chosenValue?
|
|
|
|
s32 unk4; // curValue or initialValue
|
|
|
|
s32 unk8; // minInclusive?
|
|
|
|
s32 unkC; // maxInclusive?
|
|
|
|
s32 unk10;
|
|
|
|
s32 unk14; // index of unk18? But read as chosenValue..?
|
|
|
|
UnkTextStruct2 *unk18;
|
|
|
|
s32 unk1C; // width of prompt?
|
|
|
|
s32 unk20; // height of prompt?
|
|
|
|
u8 unk24; // related to unk10
|
|
|
|
u8 unk25; // related to unk10
|
|
|
|
u8 unk26;
|
|
|
|
SpriteOAM unk28;
|
|
|
|
} unkStructFor8013AA0;
|
|
|
|
|
2024-07-23 10:11:32 +00:00
|
|
|
#endif // GUARD_MENU_H
|