diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_party_menu.h | 21 | ||||
-rwxr-xr-x | include/global.h | 5 | ||||
-rw-r--r-- | include/party_menu.h | 38 |
3 files changed, 51 insertions, 13 deletions
diff --git a/include/battle_party_menu.h b/include/battle_party_menu.h index 5112c7b3c..a7d46a462 100644 --- a/include/battle_party_menu.h +++ b/include/battle_party_menu.h @@ -3,17 +3,17 @@ #include "task.h" -// TODO: Unify all of the 0x0201B000 structs -struct Struct201B000 +struct PartyMenuItem { - u8 filler0[0x259]; - u8 unk259; - u8 filler25A[6]; - u8 unk260; - u8 filler261[1]; - u8 unk262; - s16 unk264; - s16 unk266; + const u8 *text; + TaskFunc func; +}; + +struct PartyPopupMenu +{ + u8 unk0; + u8 unk1; + const u8 *unk4; }; extern u8 unk_2000000[]; @@ -21,6 +21,5 @@ extern u8 unk_2000000[]; void SetUpBattlePokemonMenu(u8); #define EWRAM_1609D unk_2000000[0x1609D] -#define EWRAM_1B000 (*(struct Struct201B000 *)(unk_2000000 + 0x1B000)) #endif diff --git a/include/global.h b/include/global.h index 9da4bd57c..d172cfa25 100755 --- a/include/global.h +++ b/include/global.h @@ -625,10 +625,11 @@ struct Pokedex struct SaveBlock2_Sub { - /*0x0000, 0x00A4*/ u8 filler_000[0x3D8]; + /*0x0000, 0x00A8*/ u8 filler_000[0x3D8]; /*0x03D8, 0x0480*/ u16 var_480; /*0x03DA, 0x0482*/ u16 var_482; - /*0x03DC, 0x0484*/ u8 filler_3DC[0xD1]; + /*0x03DC, 0x0484*/ u8 filler_3DC[0xD0]; + /*0x04AC, 0x0554*/ u8 var_4AC; /*0x04AD, 0x0555*/ u8 var_4AD; /*0x04AE, 0x0556*/ u8 var_4AE; /*0x04AF, 0x0557*/ u8 var_4AF; diff --git a/include/party_menu.h b/include/party_menu.h index 917d6a58c..58292081f 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -16,6 +16,44 @@ struct PartyPopupMenu const u8 *unk4; }; +// TODO: Unify these two structs + +#define DATA_COUNT (6) +struct Unk201B000 +{ + //u8 filler0[0x260]; + struct Pokemon unk0[6]; + u8 filler258[1]; + u8 unk259; + u8 filler25A[6]; + u8 unk260; + u8 unk261; + u8 unk262; + u8 unk263; + s16 unk264[DATA_COUNT * 2]; // This may be a union + u8 filler27C[2]; + s16 unk27E; + s16 unk280; + s16 unk282; +}; + +struct Struct201B000 +{ + u8 filler0[0x259]; + u8 unk259; + u8 filler25A[6]; + u8 unk260; + u8 filler261[1]; + u8 unk262; + s16 unk264; + s16 unk266; +}; + +extern u8 ewram[]; +#define ewram1B000 (*(struct Unk201B000 *)(ewram + 0x1B000)) +#define ewram1B000_alt (*(struct Struct201B000 *)(ewram + 0x1B000)) +#define EWRAM_1B000 ewram1B000_alt + void sub_806AEDC(void); void sub_806AF4C(); void OpenPartyMenu(u8, u8); |