From 571e3fc8d2d3ded6fc9d77e366d64ae5d4bb535f Mon Sep 17 00:00:00 2001 From: "narf0708@gmail.com" Date: Sat, 8 Mar 2025 19:30:46 -0500 Subject: [PATCH] Documenting UnkStruct_ov19_021D5BAC as PCMonPreview --- generated/text_banks.txt | 2 +- include/overlay019/ov19_021D0D80.h | 14 +- include/overlay019/pc_mon_preview.h | 25 ++ include/overlay019/struct_ov19_021D4DF0.h | 4 +- include/overlay019/struct_ov19_021D5BAC.h | 25 -- res/text/{unk_0019.gmm => box_messages.gmm} | 2 +- src/overlay019/ov19_021D0D80.c | 272 ++++++++++---------- src/overlay019/ov19_021D61B0.c | 8 +- src/overlay019/ov19_021D79F8.c | 2 +- src/overlay019/ov19_021D8B54.c | 4 +- src/overlay019/ov19_021DA92C.c | 72 +++--- src/overlay019/ov19_021DC5F0.c | 2 +- src/overlay019/ov19_021DE3E8.c | 4 +- src/overlay019/ov19_021DF964.c | 10 +- 14 files changed, 224 insertions(+), 222 deletions(-) create mode 100644 include/overlay019/pc_mon_preview.h delete mode 100644 include/overlay019/struct_ov19_021D5BAC.h rename res/text/{unk_0019.gmm => box_messages.gmm} (99%) diff --git a/generated/text_banks.txt b/generated/text_banks.txt index 64eb6fa872..4140d77938 100644 --- a/generated/text_banks.txt +++ b/generated/text_banks.txt @@ -17,7 +17,7 @@ TEXT_BANK_UNK_0015 TEXT_BANK_UNK_0016 TEXT_BANK_UNK_0017 TEXT_BANK_POKEMON_STORAGE_SYSTEM -TEXT_BANK_UNK_0019 +TEXT_BANK_BOX_MESSAGES TEXT_BANK_UNK_0020 TEXT_BANK_FRONTIER_TRAINER_NAMES TEXT_BANK_UNK_0022 diff --git a/include/overlay019/ov19_021D0D80.h b/include/overlay019/ov19_021D0D80.h index eeff6d7ed3..2238b43fd5 100644 --- a/include/overlay019/ov19_021D0D80.h +++ b/include/overlay019/ov19_021D0D80.h @@ -3,9 +3,9 @@ #include "struct_decls/pc_boxes_decl.h" +#include "overlay019/pc_mon_preview.h" #include "overlay019/struct_ov19_021D4DF0.h" #include "overlay019/struct_ov19_021D4F5C.h" -#include "overlay019/struct_ov19_021D5BAC.h" #include "overlay019/struct_ov19_021D5DF8_decl.h" #include "overlay019/struct_ov19_021D5FAC.h" @@ -42,7 +42,7 @@ int ov19_021D0DEC(OverlayManager *param0, int *param1); int ov19_021D0E58(OverlayManager *param0, int *param1); BOOL ov19_021D3B18(const UnkStruct_ov19_021D5DF8 *param0); BOOL ov19_021D3B20(const UnkStruct_ov19_021D5DF8 *param0); -MessageLoader *ov19_021D5DE8(const UnkStruct_ov19_021D5DF8 *param0); +MessageLoader *ov19_GetBoxMessagesLoader(const UnkStruct_ov19_021D5DF8 *param0); const StringTemplate *ov19_021D5DF0(const UnkStruct_ov19_021D5DF8 *param0); int ov19_021D5DF8(const UnkStruct_ov19_021D5DF8 *param0); u32 ov19_021D5E08(const UnkStruct_ov19_021D4DF0 *param0); @@ -56,13 +56,13 @@ u32 ov19_021D5E38(const UnkStruct_ov19_021D4DF0 *param0); BOOL ov19_021D5E3C(const UnkStruct_ov19_021D4DF0 *param0); BOOL ov19_021D5E4C(const UnkStruct_ov19_021D4DF0 *param0); u32 ov19_021D5E68(const UnkStruct_ov19_021D4DF0 *param0); -const UnkStruct_ov19_021D5BAC *ov19_021D5E70(const UnkStruct_ov19_021D4DF0 *param0); -u32 ov19_021D5E74(const UnkStruct_ov19_021D4DF0 *param0); +const PCMonPreview *ov19_GetPCMonPreview(const UnkStruct_ov19_021D4DF0 *param0); +u32 ov19_GetPreviewedMonHeldItem(const UnkStruct_ov19_021D4DF0 *param0); const UnkStruct_ov19_021D4F5C *ov19_021D5E8C(const UnkStruct_ov19_021D4DF0 *param0); const PCBoxes *ov19_021D5E90(const UnkStruct_ov19_021D4DF0 *param0); u32 ov19_021D5E94(const UnkStruct_ov19_021D4DF0 *param0); -BoxPokemon *ov19_021D5E9C(const UnkStruct_ov19_021D4DF0 *param0); -u32 ov19_021D5EA0(const UnkStruct_ov19_021D4DF0 *param0); +BoxPokemon *ov19_GetPreviewedBoxMon(const UnkStruct_ov19_021D4DF0 *param0); +u32 ov19_GetPreviewedMonMarkings(const UnkStruct_ov19_021D4DF0 *param0); u32 ov19_021D5EA8(const UnkStruct_ov19_021D4DF0 *param0); s32 ov19_021D5EB0(const UnkStruct_ov19_021D4DF0 *param0); u32 ov19_021D5EB8(const UnkStruct_ov19_021D4DF0 *param0); @@ -80,6 +80,6 @@ u32 ov19_021D5FA4(const UnkStruct_ov19_021D4DF0 *param0); const UnkStruct_ov19_021D5FAC *ov19_021D5FAC(const UnkStruct_ov19_021D4DF0 *param0, int param1); BOOL ov19_021D5FB8(const UnkStruct_ov19_021D4DF0 *param0, int param1); BOOL ov19_021D5FC0(const UnkStruct_ov19_021D4DF0 *param0); -BOOL ov19_021D5FC8(const UnkStruct_ov19_021D4DF0 *param0); +BOOL ov19_IsPreviewedMonEgg(const UnkStruct_ov19_021D4DF0 *param0); #endif // POKEPLATINUM_OV19_021D0D80_H diff --git a/include/overlay019/pc_mon_preview.h b/include/overlay019/pc_mon_preview.h new file mode 100644 index 0000000000..1aad8387bf --- /dev/null +++ b/include/overlay019/pc_mon_preview.h @@ -0,0 +1,25 @@ +#ifndef POKEPLATINUM_STRUCT_PC_MON_PREVIEW_H +#define POKEPLATINUM_STRUCT_PC_MON_PREVIEW_H + +#include "strbuf.h" + +typedef struct { + void *mon; + u16 species; + u16 heldItem; + u16 dexNum; + u8 level; + u8 markings; + u8 type1; + u8 type2; + u8 gender; + u8 isEgg; + u8 padding_10[4]; + Strbuf *nickname; + Strbuf *speciesName; + Strbuf *heldItemName; + Strbuf *nature; + Strbuf *ability; +} PCMonPreview; + +#endif // POKEPLATINUM_STRUCT_PC_MON_PREVIEW_H diff --git a/include/overlay019/struct_ov19_021D4DF0.h b/include/overlay019/struct_ov19_021D4DF0.h index 81d8186b4e..d8f7c8613c 100644 --- a/include/overlay019/struct_ov19_021D4DF0.h +++ b/include/overlay019/struct_ov19_021D4DF0.h @@ -3,13 +3,13 @@ #include "struct_decls/pc_boxes_decl.h" +#include "overlay019/pc_mon_preview.h" #include "overlay019/struct_ov19_021D3CFC.h" #include "overlay019/struct_ov19_021D4DE4.h" #include "overlay019/struct_ov19_021D4EE4.h" #include "overlay019/struct_ov19_021D4F34.h" #include "overlay019/struct_ov19_021D4F5C.h" #include "overlay019/struct_ov19_021D5594.h" -#include "overlay019/struct_ov19_021D5BAC.h" #include "overlay019/struct_ov19_021D5D20.h" #include "overlay019/struct_ov19_021DF964.h" @@ -22,7 +22,7 @@ typedef struct { UnkStruct_ov19_021D5594 unk_14; UnkStruct_ov19_021D4F5C unk_40; UnkStruct_ov19_021D4DE4 unk_48; - UnkStruct_ov19_021D5BAC unk_4C; + PCMonPreview pcMonPreview; UnkStruct_ov19_021DF964 unk_74; UnkStruct_ov19_021D5D20 unk_98; UnkStruct_ov19_021D4F34 unk_9C; diff --git a/include/overlay019/struct_ov19_021D5BAC.h b/include/overlay019/struct_ov19_021D5BAC.h deleted file mode 100644 index b15fcb4fd2..0000000000 --- a/include/overlay019/struct_ov19_021D5BAC.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef POKEPLATINUM_STRUCT_OV19_021D5BAC_H -#define POKEPLATINUM_STRUCT_OV19_021D5BAC_H - -#include "strbuf.h" - -typedef struct { - void *unk_00; - u16 species; - u16 unk_06; - u16 unk_08; - u8 unk_0A; - u8 unk_0B; - u8 unk_0C; - u8 unk_0D; - u8 unk_0E; - u8 unk_0F; - u8 padding_10[4]; - Strbuf *unk_14; - Strbuf *unk_18; - Strbuf *unk_1C; - Strbuf *unk_20; - Strbuf *unk_24; -} UnkStruct_ov19_021D5BAC; - -#endif // POKEPLATINUM_STRUCT_OV19_021D5BAC_H diff --git a/res/text/unk_0019.gmm b/res/text/box_messages.gmm similarity index 99% rename from res/text/unk_0019.gmm rename to res/text/box_messages.gmm index 7afaaf6efd..8d9677786e 100644 --- a/res/text/unk_0019.gmm +++ b/res/text/box_messages.gmm @@ -81,7 +81,7 @@ used Deposit in which Box? - + used No item diff --git a/src/overlay019/ov19_021D0D80.c b/src/overlay019/ov19_021D0D80.c index 8303ce2291..bf8876b3b5 100644 --- a/src/overlay019/ov19_021D0D80.c +++ b/src/overlay019/ov19_021D0D80.c @@ -5,6 +5,7 @@ #include "constants/items.h" #include "constants/species.h" +#include "generated/text_banks.h" #include "struct_decls/pc_boxes_decl.h" #include "struct_decls/struct_02023FCC_decl.h" @@ -17,6 +18,7 @@ #include "overlay019/ov19_021D603C.h" #include "overlay019/ov19_021D61B0.h" #include "overlay019/ov19_021DF964.h" +#include "overlay019/pc_mon_preview.h" #include "overlay019/struct_ov19_021D3CFC.h" #include "overlay019/struct_ov19_021D4DE4.h" #include "overlay019/struct_ov19_021D4DF0.h" @@ -24,7 +26,6 @@ #include "overlay019/struct_ov19_021D4F34.h" #include "overlay019/struct_ov19_021D4F5C.h" #include "overlay019/struct_ov19_021D5594.h" -#include "overlay019/struct_ov19_021D5BAC.h" #include "overlay019/struct_ov19_021D5D20.h" #include "overlay019/struct_ov19_021D5FAC.h" #include "overlay019/struct_ov19_021D6104.h" @@ -62,6 +63,7 @@ #include "constdata/const_020F2DAC.h" #include "constdata/const_020F410C.h" +#include "res/text/bank/box_messages.h" FS_EXTERN_OVERLAY(overlay84); @@ -128,10 +130,10 @@ typedef struct UnkStruct_ov19_021D5DF8_t { UnkStruct_02023FCC *unk_180; u32 unk_184; u32 unk_188; - MessageLoader *unk_18C; - MessageLoader *unk_190; - MessageLoader *unk_194; - MessageLoader *unk_198; + MessageLoader *boxMessagesLoader; + MessageLoader *speciesNameLoader; + MessageLoader *natureNameLoader; + MessageLoader *abilityNameLoader; StringTemplate *unk_19C; Pokemon *unk_1A0; Options *unk_1A4; @@ -216,8 +218,8 @@ static void ov19_021D4E30(UnkStruct_ov19_021D5594 *param0); static void ov19_021D4E50(UnkStruct_ov19_021D5594 *param0); static void ov19_021D4E5C(PCBoxes *param0, UnkStruct_ov19_021D4F5C *param1); static void ov19_021D4E7C(UnkStruct_ov19_021D4F5C *param0); -static void ov19_021D4E88(UnkStruct_ov19_021D5BAC *param0); -static void ov19_021D4EC0(UnkStruct_ov19_021D5BAC *param0); +static void PCMonPreviewInit(PCMonPreview *param0); +static void PCMonPreviewFree(PCMonPreview *param0); static void ov19_021D4EE4(UnkStruct_ov19_021D4EE4 *param0); static void ov19_021D4F18(UnkStruct_ov19_021D4EE4 *param0); static void ov19_021D4F34(UnkStruct_ov19_021D4F34 *param0); @@ -246,12 +248,12 @@ static BOOL ov19_021D5800(UnkStruct_ov19_021D5DF8 *param0, u32 param1); static void ov19_021D5834(UnkStruct_ov19_021D5DF8 *param0); static void ov19_021D584C(UnkStruct_ov19_021D5DF8 *param0); static void ov19_021D5888(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2); -static void ov19_021D58AC(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2); +static void ov19_LoadBoxMonIntoPreview(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2); static void ov19_021D59F4(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2); static void ov19_021D5B70(UnkStruct_ov19_021D4DF0 *param0); static void ov19_021D5B80(UnkStruct_ov19_021D4DF0 *param0); static void ov19_021D5BA0(UnkStruct_ov19_021D4DF0 *param0, BOOL param1); -static void ov19_021D5BA8(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon); +static void ov19_SetPreviewedBoxMon(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon); static void ov19_021D5BAC(UnkStruct_ov19_021D4DF0 *param0); static void ov19_021D5BE8(UnkStruct_ov19_021D4DF0 *param0, u16 param1, UnkStruct_ov19_021D5DF8 *param2); static void ov19_021D5CBC(UnkStruct_ov19_021D4DF0 *param0); @@ -268,8 +270,8 @@ static void ov19_021D5DA4(UnkStruct_ov19_021D4DF0 *param0, u32 param1); static void ov19_021D5DAC(UnkStruct_ov19_021D4DF0 *param0, int param1); static void ov19_021D5DB4(UnkStruct_ov19_021D4DF0 *param0, u32 param1); static void ov19_021D5DD8(UnkStruct_ov19_021D4DF0 *param0); -static u32 ov19_021D5FD0(UnkStruct_ov19_021D4DF0 *param0, int param1, void *param2); -static u32 ov19_021D6014(UnkStruct_ov19_021D4DF0 *param0, int param1, void *param2); +static u32 ov19_021D5FD0(UnkStruct_ov19_021D4DF0 *param0, enum PokemonDataParam value, void *dest); +static u32 ov19_021D6014(UnkStruct_ov19_021D4DF0 *param0, enum PokemonDataParam value, void *dest); int ov19_021D0D80(OverlayManager *param0, int *param1) { @@ -538,7 +540,7 @@ static int ov19_021D0FF0(UnkStruct_ov19_021D5DF8 *param0) static BOOL ov19_021D1238(UnkStruct_ov19_021D5DF8 *param0, int *param1) { - if (Item_IsMail(ov19_021D5E74(¶m0->unk_00))) { + if (Item_IsMail(ov19_GetPreviewedMonHeldItem(¶m0->unk_00))) { *param1 = 30; return 1; } @@ -1027,7 +1029,7 @@ static void ov19_021D20A4(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) { switch (*param1) { case 0: - StringTemplate_SetNickname(param0->unk_19C, 0, ov19_021D5E9C(¶m0->unk_00)); + StringTemplate_SetNickname(param0->unk_19C, 0, ov19_GetPreviewedBoxMon(¶m0->unk_00)); ov19_021D5408(¶m0->unk_00, 0); ov19_021DF990(¶m0->unk_00); @@ -1099,7 +1101,7 @@ static void ov19_021D20A4(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) ov19_021D0EB0(param0, ov19_021D3C28); break; case UnkEnum_021DFB94_40: { - if (ov19_021D5E74(¶m0->unk_00) == 0) { + if (ov19_GetPreviewedMonHeldItem(¶m0->unk_00) == 0) { ov19_021D0EB0(param0, ov19_021D3D44); } else { ov19_021D0EB0(param0, ov19_021D3FB0); @@ -1140,7 +1142,7 @@ static void ov19_021D2308(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) StringTemplate_SetItemName(param0->unk_19C, 0, v0); ov19_021D5408(¶m0->unk_00, 25); } else { - v0 = ov19_021D5E74(¶m0->unk_00); + v0 = ov19_GetPreviewedMonHeldItem(¶m0->unk_00); if (v0 != 0) { StringTemplate_SetItemName(param0->unk_19C, 0, v0); @@ -1153,7 +1155,7 @@ static void ov19_021D2308(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) ov19_021DFAD0(¶m0->unk_00); } - if (ov19_021D5FC8(¶m0->unk_00)) { + if (ov19_IsPreviewedMonEgg(¶m0->unk_00)) { Sound_PlayEffect(1523); ov19_021D5408(¶m0->unk_00, 34); ov19_021D6594(param0->unk_114, 24); @@ -1196,7 +1198,7 @@ static void ov19_021D2308(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) case 3: switch (param0->unk_1B8) { case UnkEnum_021DFB94_46: - if ((ov19_021D5F7C(¶m0->unk_00) == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.unk_4C.unk_00, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { + if ((ov19_021D5F7C(¶m0->unk_00) == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { StringTemplate_SetItemName(param0->unk_19C, 0, ITEM_GRISEOUS_ORB); ov19_021D5408(¶m0->unk_00, 45); ov19_021D6594(param0->unk_114, 24); @@ -1213,7 +1215,7 @@ static void ov19_021D2308(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) break; case UnkEnum_021DFB94_47: - if (Item_IsMail(ov19_021D5E74(¶m0->unk_00))) { + if (Item_IsMail(ov19_GetPreviewedMonHeldItem(¶m0->unk_00))) { Sound_PlayEffect(1523); ov19_021D5408(¶m0->unk_00, 24); ov19_021D6594(param0->unk_114, 24); @@ -1231,12 +1233,12 @@ static void ov19_021D2308(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) ov19_021D0EB0(param0, ov19_021D4390); break; case UnkEnum_021DFB94_49: - if (Item_IsMail(ov19_021D5E74(¶m0->unk_00))) { + if (Item_IsMail(ov19_GetPreviewedMonHeldItem(¶m0->unk_00))) { Sound_PlayEffect(1523); ov19_021D5408(¶m0->unk_00, 24); ov19_021D6594(param0->unk_114, 24); (*param1) = 7; - } else if ((param0->unk_00.unk_112 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.unk_4C.unk_00, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { + } else if ((param0->unk_00.unk_112 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { StringTemplate_SetItemName(param0->unk_19C, 0, ITEM_GRISEOUS_ORB); ov19_021D5408(¶m0->unk_00, 45); ov19_021D6594(param0->unk_114, 24); @@ -2029,9 +2031,9 @@ static BOOL ov19_021D357C(UnkStruct_ov19_021D5DF8 *param0, int *param1) } { - u16 v0 = ov19_021D5E74(¶m0->unk_00); + u16 v0 = ov19_GetPreviewedMonHeldItem(¶m0->unk_00); - if (Item_IsMail(ov19_021D5E74(¶m0->unk_00))) { + if (Item_IsMail(ov19_GetPreviewedMonHeldItem(¶m0->unk_00))) { *param1 = 30; return 0; } @@ -2096,7 +2098,7 @@ static void ov19_021D35F8(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) break; case 2: if (ov19_021D6600(param0->unk_114, 26)) { - StringTemplate_SetNickname(param0->unk_19C, 0, ov19_021D5E9C(¶m0->unk_00)); + StringTemplate_SetNickname(param0->unk_19C, 0, ov19_GetPreviewedBoxMon(¶m0->unk_00)); ov19_021D38E0(param0); if (ov19_021D5E38(¶m0->unk_00) == 2) { @@ -2202,7 +2204,7 @@ static void ov19_021D38E0(UnkStruct_ov19_021D5DF8 *param0) UnkStruct_ov19_021D38E0 *v0 = &(param0->unk_15C); int v1, v2; - v0->unk_10 = param0->unk_00.unk_4C.unk_00; + v0->unk_10 = param0->unk_00.pcMonPreview.mon; for (v1 = 0, v2 = 0; v1 < (NELEMS(Unk_ov19_021DFDF0)); v1++) { v0->unk_04[v1] = BoxPokemon_HasMove(v0->unk_10, Unk_ov19_021DFDF0[v1]); @@ -2457,7 +2459,7 @@ static void ov19_021D3D44(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) Heap_FreeToHeap(param0->unk_214); Overlay_UnloadByID(FS_OVERLAY_ID(overlay84)); - if ((v1 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.unk_4C.unk_00, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { + if ((v1 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { (void)0; } else if (v1 != 0) { Bag_TryRemoveItem(SaveData_GetBag(param0->unk_11C), v1, 1, 9); @@ -2481,7 +2483,7 @@ static void ov19_021D3D44(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) if (ov19_021D6600(param0->unk_114, 2)) { if (v1 == 0) { ov19_021D0EC0(param0); - } else if ((v1 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.unk_4C.unk_00, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { + } else if ((v1 == ITEM_GRISEOUS_ORB) && (BoxPokemon_GetValue(param0->unk_00.pcMonPreview.mon, MON_DATA_SPECIES, NULL) != SPECIES_GIRATINA)) { StringTemplate_SetItemName(param0->unk_19C, 0, v1); ov19_021D5408(¶m0->unk_00, 45); ov19_021D6594(param0->unk_114, 24); @@ -2517,7 +2519,7 @@ static void ov19_021D3FB0(UnkStruct_ov19_021D5DF8 *param0, u32 *param1) switch (*param1) { case 0: - v0 = ov19_021D5E74(¶m0->unk_00); + v0 = ov19_GetPreviewedMonHeldItem(¶m0->unk_00); if (Item_IsMail(v0)) { Sound_PlayEffect(1523); @@ -3123,10 +3125,10 @@ static void ov19_021D4BE0(UnkStruct_ov19_021D5DF8 *param0, UnkStruct_02042434 *p param0->unk_1A4 = SaveData_Options(param1->unk_00); param0->unk_118 = param1; param1->unk_08 = 0; - param0->unk_18C = MessageLoader_Init(0, 26, 19, HEAP_ID_9); - param0->unk_190 = MessageLoader_Init(1, 26, 412, HEAP_ID_9); - param0->unk_194 = MessageLoader_Init(0, 26, 202, HEAP_ID_9); - param0->unk_198 = MessageLoader_Init(0, 26, 610, HEAP_ID_9); + param0->boxMessagesLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_BOX_MESSAGES, HEAP_ID_9); + param0->speciesNameLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_SPECIES_NAME, HEAP_ID_9); + param0->natureNameLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_NATURE_NAMES, HEAP_ID_9); + param0->abilityNameLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_ABILITY_NAMES, HEAP_ID_9); param0->unk_19C = StringTemplate_Default(HEAP_ID_9); param0->unk_1A0 = Heap_AllocFromHeap(HEAP_ID_9, Pokemon_StructSize()); @@ -3146,7 +3148,7 @@ static void ov19_021D4BE0(UnkStruct_ov19_021D5DF8 *param0, UnkStruct_02042434 *p param0->unk_00.unk_112 = 0; ov19_021D4DE4(&(param0->unk_00.unk_48), param1->unk_04); - ov19_021D4E88(&(param0->unk_00.unk_4C)); + PCMonPreviewInit(&(param0->unk_00.pcMonPreview)); ov19_021D4E5C(param0->unk_120, &(param0->unk_00.unk_40)); ov19_021D4EE4(&(param0->unk_00.unk_A4)); ov19_021D4DF0(param0); @@ -3164,13 +3166,13 @@ static void ov19_021D4D58(UnkStruct_ov19_021D5DF8 *param0) } StringTemplate_Free(param0->unk_19C); - MessageLoader_Free(param0->unk_18C); - MessageLoader_Free(param0->unk_190); - MessageLoader_Free(param0->unk_194); - MessageLoader_Free(param0->unk_198); + MessageLoader_Free(param0->boxMessagesLoader); + MessageLoader_Free(param0->speciesNameLoader); + MessageLoader_Free(param0->natureNameLoader); + MessageLoader_Free(param0->abilityNameLoader); sub_0208716C(param0->unk_128); - ov19_021D4EC0(&(param0->unk_00.unk_4C)); + PCMonPreviewFree(&(param0->unk_00.pcMonPreview)); ov19_021D4E50(&(param0->unk_00.unk_14)); ov19_021D4E7C(&(param0->unk_00.unk_40)); ov19_021D4F18(&(param0->unk_00.unk_A4)); @@ -3235,22 +3237,22 @@ static void ov19_021D4E7C(UnkStruct_ov19_021D4F5C *param0) Strbuf_Free(param0->unk_04); } -static void ov19_021D4E88(UnkStruct_ov19_021D5BAC *param0) +static void PCMonPreviewInit(PCMonPreview *param0) { - param0->unk_14 = Strbuf_Init(12, HEAP_ID_9); - param0->unk_18 = Strbuf_Init(12, HEAP_ID_9); - param0->unk_1C = Strbuf_Init(18, HEAP_ID_9); - param0->unk_20 = Strbuf_Init(12, HEAP_ID_9); - param0->unk_24 = Strbuf_Init(16, HEAP_ID_9); + param0->nickname = Strbuf_Init(12, HEAP_ID_9); + param0->speciesName = Strbuf_Init(12, HEAP_ID_9); + param0->heldItemName = Strbuf_Init(18, HEAP_ID_9); + param0->nature = Strbuf_Init(12, HEAP_ID_9); + param0->ability = Strbuf_Init(16, HEAP_ID_9); } -static void ov19_021D4EC0(UnkStruct_ov19_021D5BAC *param0) +static void PCMonPreviewFree(PCMonPreview *param0) { - Strbuf_Free(param0->unk_14); - Strbuf_Free(param0->unk_18); - Strbuf_Free(param0->unk_1C); - Strbuf_Free(param0->unk_20); - Strbuf_Free(param0->unk_24); + Strbuf_Free(param0->nickname); + Strbuf_Free(param0->speciesName); + Strbuf_Free(param0->heldItemName); + Strbuf_Free(param0->nature); + Strbuf_Free(param0->ability); } static void ov19_021D4EE4(UnkStruct_ov19_021D4EE4 *param0) @@ -3603,7 +3605,7 @@ static void ov19_021D52D0(UnkStruct_ov19_021D5DF8 *param0) static BOOL ov19_021D52F4(UnkStruct_ov19_021D5DF8 *param0) { UnkStruct_ov19_021D4DF0 *v0 = ¶m0->unk_00; - UnkStruct_ov19_021D5BAC *v1 = &v0->unk_4C; + PCMonPreview *preview = &v0->pcMonPreview; UnkStruct_ov19_021D3CFC *v2 = &v0->unk_08; u32 v3; @@ -3703,7 +3705,7 @@ static void ov19_021D5420(UnkStruct_ov19_021D5DF8 *param0, UnkStruct_ov19_021D4D v0->unk_0B = 1; } - ov19_021D5BA8(param1, v0->unk_00); + ov19_SetPreviewedBoxMon(param1, v0->unk_00); v0->unk_04 = v0->unk_06 = v1->unk_05; v0->unk_05 = v0->unk_07 = v1->unk_06; @@ -3802,11 +3804,11 @@ static void ov19_021D55C4(UnkStruct_ov19_021D5DF8 *param0, UnkStruct_ov19_021D4D v2 = (BoxPokemon *)Party_GetPokemonBySlotIndex(param0->unk_124, Party_GetCurrentCount(param0->unk_124) - 1); } - ov19_021D5BA8(param1, v2); + ov19_SetPreviewedBoxMon(param1, v2); v5 = ov19_021D52F4(param0); if ((v5 == 0) && (v3 == 1)) { - ov19_021D58AC(param1, v2, param0); + ov19_LoadBoxMonIntoPreview(param1, v2, param0); ov19_021D6594(param0->unk_114, 6); } @@ -3832,7 +3834,7 @@ static void ov19_021D56AC(UnkStruct_ov19_021D5DF8 *param0, UnkStruct_ov19_021D4D (u8 *)v0 += v5; } - ov19_021D5BA8(param1, PCBoxes_GetBoxMonAt(param0->unk_120, USE_CURRENT_BOX, ov19_021D5E24(param1))); + ov19_SetPreviewedBoxMon(param1, PCBoxes_GetBoxMonAt(param0->unk_120, USE_CURRENT_BOX, ov19_021D5E24(param1))); ov19_021D52F4(param0); v7->unk_08 = 0; @@ -3938,57 +3940,57 @@ static void ov19_021D584C(UnkStruct_ov19_021D5DF8 *param0) static void ov19_021D5888(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2) { - ov19_021D58AC(param0, boxMon, param2); + ov19_LoadBoxMonIntoPreview(param0, boxMon, param2); if (ov19_021D5E08(param0) == 4) { ov19_021D59F4(param0, boxMon, param2); } } -static void ov19_021D58AC(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2) +static void ov19_LoadBoxMonIntoPreview(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); + PCMonPreview *preview = &(param0->pcMonPreview); BOOL reencrypt = BoxPokemon_EnterDecryptionContext(boxMon); SpeciesData *speciesData; - v0->unk_00 = boxMon; - v0->species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); - v0->unk_06 = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); - v0->unk_08 = GetDexNumber(SaveData_GetDexMode(param2->unk_11C), v0->species); - v0->unk_0F = BoxPokemon_GetValue(boxMon, MON_DATA_EGG_EXISTS, NULL); - speciesData = SpeciesData_FromMonSpecies(v0->species, 9); - v0->unk_0A = SpeciesData_GetLevelAt(speciesData, v0->species, BoxPokemon_GetValue(boxMon, MON_DATA_EXP, NULL)); - v0->unk_0B = BoxPokemon_GetValue(boxMon, MON_DATA_MARKS, NULL); - v0->unk_0C = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_1, NULL); - v0->unk_0D = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_2, NULL); + preview->mon = boxMon; + preview->species = BoxPokemon_GetValue(boxMon, MON_DATA_SPECIES, NULL); + preview->heldItem = BoxPokemon_GetValue(boxMon, MON_DATA_HELD_ITEM, NULL); + preview->dexNum = GetDexNumber(SaveData_GetDexMode(param2->unk_11C), preview->species); + preview->isEgg = BoxPokemon_GetValue(boxMon, MON_DATA_EGG_EXISTS, NULL); + speciesData = SpeciesData_FromMonSpecies(preview->species, 9); + preview->level = SpeciesData_GetLevelAt(speciesData, preview->species, BoxPokemon_GetValue(boxMon, MON_DATA_EXP, NULL)); + preview->markings = BoxPokemon_GetValue(boxMon, MON_DATA_MARKS, NULL); + preview->type1 = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_1, NULL); + preview->type2 = BoxPokemon_GetValue(boxMon, MON_DATA_TYPE_2, NULL); - if ((v0->unk_0F == 0) && BoxPokemon_GetValue(boxMon, MON_DATA_NIDORAN_HAS_NICKNAME, NULL)) { - v0->unk_0E = SpeciesData_GetGenderOf(speciesData, v0->species, BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL)); + if ((preview->isEgg == 0) && BoxPokemon_GetValue(boxMon, MON_DATA_NIDORAN_HAS_NICKNAME, NULL)) { + preview->gender = SpeciesData_GetGenderOf(speciesData, preview->species, BoxPokemon_GetValue(boxMon, MON_DATA_PERSONALITY, NULL)); } else { - v0->unk_0E = 255; + preview->gender = 255; } - BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRBUF, v0->unk_14); + BoxPokemon_GetValue(boxMon, MON_DATA_NICKNAME_STRBUF, preview->nickname); - if (v0->unk_0F == 0) { - MessageLoader_GetStrbuf(param2->unk_190, v0->species, v0->unk_18); + if (preview->isEgg == 0) { + MessageLoader_GetStrbuf(param2->speciesNameLoader, preview->species, preview->speciesName); } else { - Strbuf_Copy(v0->unk_18, v0->unk_14); - Strbuf_Clear(v0->unk_14); + Strbuf_Copy(preview->speciesName, preview->nickname); + Strbuf_Clear(preview->nickname); } - if (v0->unk_06 != 0) { - Item_LoadName(v0->unk_1C, v0->unk_06, 9); + if (preview->heldItem != 0) { + Item_LoadName(preview->heldItemName, preview->heldItem, 9); } else { - MessageLoader_GetStrbuf(param2->unk_18C, 20, v0->unk_1C); + MessageLoader_GetStrbuf(param2->boxMessagesLoader, no_item, preview->heldItemName); } { - u32 v3 = BoxPokemon_GetNature(boxMon); + u32 value = BoxPokemon_GetNature(boxMon); + MessageLoader_GetStrbuf(param2->natureNameLoader, value, preview->nature); - MessageLoader_GetStrbuf(param2->unk_194, v3, v0->unk_20); - v3 = BoxPokemon_GetValue(boxMon, MON_DATA_ABILITY, NULL); - MessageLoader_GetStrbuf(param2->unk_198, v3, v0->unk_24); + value = BoxPokemon_GetValue(boxMon, MON_DATA_ABILITY, NULL); + MessageLoader_GetStrbuf(param2->abilityNameLoader, value, preview->ability); } SpeciesData_Free(speciesData); @@ -3997,22 +3999,22 @@ static void ov19_021D58AC(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, U static void ov19_021D59F4(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon, UnkStruct_ov19_021D5DF8 *param2) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); + PCMonPreview *preview = &(param0->pcMonPreview); UnkStruct_ov19_021D5FAC *v1 = &(param0->unk_A4.unk_08[param0->unk_A4.unk_00]); BOOL v2; v1->unk_00 = boxMon; - v1->species = v0->species; - v1->unk_06 = v0->unk_0F; - v1->unk_08 = v0->unk_0A; + v1->species = preview->species; + v1->unk_06 = preview->isEgg; + v1->unk_08 = preview->level; if (v1->unk_06) { - Strbuf_Copy(v1->unk_28, v0->unk_18); + Strbuf_Copy(v1->unk_28, preview->speciesName); } else { - Strbuf_Copy(v1->unk_28, v0->unk_14); + Strbuf_Copy(v1->unk_28, preview->nickname); } - Strbuf_Copy(v1->unk_2C, v0->unk_20); + Strbuf_Copy(v1->unk_2C, preview->nature); Pokemon_FromBoxPokemon(boxMon, param2->unk_1A0); v2 = Pokemon_EnterDecryptionContext(param2->unk_1A0); @@ -4056,21 +4058,21 @@ static void ov19_021D5BA0(UnkStruct_ov19_021D4DF0 *param0, BOOL param1) param0->unk_A4.unk_04 = param1; } -static void ov19_021D5BA8(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon) +static void ov19_SetPreviewedBoxMon(UnkStruct_ov19_021D4DF0 *param0, BoxPokemon *boxMon) { - param0->unk_4C.unk_00 = boxMon; + param0->pcMonPreview.mon = boxMon; } static void ov19_021D5BAC(UnkStruct_ov19_021D4DF0 *param0) { - UnkStruct_ov19_021D5BAC *v0; + PCMonPreview *preview; u8 v1; - v0 = &(param0->unk_4C); + preview = &(param0->pcMonPreview); v1 = param0->unk_74.unk_22; - v0->unk_0B = v1; + preview->markings = v1; - BoxPokemon_SetValue(v0->unk_00, MON_DATA_MARKS, &(v1)); + BoxPokemon_SetValue(preview->mon, MON_DATA_MARKS, &(v1)); if ((ov19_021D5E10(param0) == 0) && (ov19_021D5E38(param0) == 1)) { SaveData_SetFullSaveRequired(); @@ -4079,13 +4081,13 @@ static void ov19_021D5BAC(UnkStruct_ov19_021D4DF0 *param0) static void ov19_021D5BE8(UnkStruct_ov19_021D4DF0 *param0, u16 param1, UnkStruct_ov19_021D5DF8 *param2) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); - v0->unk_06 = param1; + PCMonPreview *preview = &(param0->pcMonPreview); + preview->heldItem = param1; - if (v0->unk_06 != 0) { - Item_LoadName(v0->unk_1C, v0->unk_06, 9); + if (preview->heldItem != 0) { + Item_LoadName(preview->heldItemName, preview->heldItem, 9); } else { - MessageLoader_GetStrbuf(param2->unk_18C, 20, v0->unk_1C); + MessageLoader_GetStrbuf(param2->boxMessagesLoader, no_item, preview->heldItemName); } if ((ov19_021D5E10(param0) == 0) && (ov19_021D5E38(param0) == 1)) { @@ -4093,21 +4095,21 @@ static void ov19_021D5BE8(UnkStruct_ov19_021D4DF0 *param0, u16 param1, UnkStruct PCBoxes_SetBoxMonData(param2->unk_120, USE_CURRENT_BOX, v1, MON_DATA_HELD_ITEM, ¶m1); } - BoxPokemon_SetValue(v0->unk_00, MON_DATA_HELD_ITEM, ¶m1); + BoxPokemon_SetValue(preview->mon, MON_DATA_HELD_ITEM, ¶m1); { - int v2 = BoxPokemon_GetValue(v0->unk_00, MON_DATA_SPECIES, NULL); + int v2 = BoxPokemon_GetValue(preview->mon, MON_DATA_SPECIES, NULL); if (v2 == SPECIES_ARCEUS) { - BoxPokemon_SetArceusForm(v0->unk_00); - v0->unk_0C = BoxPokemon_GetValue(v0->unk_00, MON_DATA_TYPE_1, NULL); - v0->unk_0D = BoxPokemon_GetValue(v0->unk_00, MON_DATA_TYPE_2, NULL); + BoxPokemon_SetArceusForm(preview->mon); + preview->type1 = BoxPokemon_GetValue(preview->mon, MON_DATA_TYPE_1, NULL); + preview->type2 = BoxPokemon_GetValue(preview->mon, MON_DATA_TYPE_2, NULL); } else if (v2 == SPECIES_GIRATINA) { int v3; - BoxPokemon_SetGiratinaForm(v0->unk_00); - v3 = BoxPokemon_GetValue(v0->unk_00, MON_DATA_ABILITY, NULL); - MessageLoader_GetStrbuf(param2->unk_198, v3, v0->unk_24); + BoxPokemon_SetGiratinaForm(preview->mon); + v3 = BoxPokemon_GetValue(preview->mon, MON_DATA_ABILITY, NULL); + MessageLoader_GetStrbuf(param2->abilityNameLoader, v3, preview->ability); } } } @@ -4152,12 +4154,12 @@ static void ov19_021D5D20(UnkStruct_ov19_021D4DF0 *param0, u32 param1) static void ov19_021D5D28(UnkStruct_ov19_021D4DF0 *param0, UnkStruct_ov19_021D5DF8 *param1) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); + PCMonPreview *preview = &(param0->pcMonPreview); u16 v1 = 0; - param0->unk_112 = v0->unk_06; + param0->unk_112 = preview->heldItem; - MessageLoader_GetStrbuf(param1->unk_18C, 20, v0->unk_1C); + MessageLoader_GetStrbuf(param1->boxMessagesLoader, no_item, preview->heldItemName); ov19_021D5BE8(param0, v1, param1); } @@ -4168,7 +4170,7 @@ static void ov19_021D5D54(UnkStruct_ov19_021D4DF0 *param0) static void ov19_021D5D60(UnkStruct_ov19_021D4DF0 *param0, UnkStruct_ov19_021D5DF8 *param1) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); + PCMonPreview *preview = &(param0->pcMonPreview); u16 v1 = param0->unk_112; param0->unk_112 = 0; @@ -4177,9 +4179,9 @@ static void ov19_021D5D60(UnkStruct_ov19_021D4DF0 *param0, UnkStruct_ov19_021D5D static void ov19_021D5D78(UnkStruct_ov19_021D4DF0 *param0, UnkStruct_ov19_021D5DF8 *param1) { - UnkStruct_ov19_021D5BAC *v0 = &(param0->unk_4C); + PCMonPreview *preview = &(param0->pcMonPreview); u16 v1 = param0->unk_112; - param0->unk_112 = v0->unk_06; + param0->unk_112 = preview->heldItem; ov19_021D5BE8(param0, v1, param1); } @@ -4218,9 +4220,9 @@ static void ov19_021D5DD8(UnkStruct_ov19_021D4DF0 *param0) param0->unk_48.unk_01 ^= 1; } -MessageLoader *ov19_021D5DE8(const UnkStruct_ov19_021D5DF8 *param0) +MessageLoader *ov19_GetBoxMessagesLoader(const UnkStruct_ov19_021D5DF8 *param0) { - return param0->unk_18C; + return param0->boxMessagesLoader; } const StringTemplate *ov19_021D5DF0(const UnkStruct_ov19_021D5DF8 *param0) @@ -4306,18 +4308,18 @@ u32 ov19_021D5E68(const UnkStruct_ov19_021D4DF0 *param0) return param0->unk_40.unk_00; } -const UnkStruct_ov19_021D5BAC *ov19_021D5E70(const UnkStruct_ov19_021D4DF0 *param0) +const PCMonPreview *ov19_GetPCMonPreview(const UnkStruct_ov19_021D4DF0 *param0) { - return &(param0->unk_4C); + return &(param0->pcMonPreview); } -u32 ov19_021D5E74(const UnkStruct_ov19_021D4DF0 *param0) +u32 ov19_GetPreviewedMonHeldItem(const UnkStruct_ov19_021D4DF0 *param0) { if (ov19_021D5E4C(param0)) { - return param0->unk_4C.unk_06; + return param0->pcMonPreview.heldItem; } - return 0; + return ITEM_NONE; } const UnkStruct_ov19_021D4F5C *ov19_021D5E8C(const UnkStruct_ov19_021D4DF0 *param0) @@ -4335,14 +4337,14 @@ u32 ov19_021D5E94(const UnkStruct_ov19_021D4DF0 *param0) return param0->unk_10C; } -BoxPokemon *ov19_021D5E9C(const UnkStruct_ov19_021D4DF0 *param0) +BoxPokemon *ov19_GetPreviewedBoxMon(const UnkStruct_ov19_021D4DF0 *param0) { - return param0->unk_4C.unk_00; + return param0->pcMonPreview.mon; } -u32 ov19_021D5EA0(const UnkStruct_ov19_021D4DF0 *param0) +u32 ov19_GetPreviewedMonMarkings(const UnkStruct_ov19_021D4DF0 *param0) { - return param0->unk_4C.unk_0B; + return param0->pcMonPreview.markings; } u32 ov19_021D5EA8(const UnkStruct_ov19_021D4DF0 *param0) @@ -4450,7 +4452,7 @@ u32 ov19_021D5F88(const UnkStruct_ov19_021D4DF0 *param0) return v0; } - return ov19_021D5E74(param0); + return ov19_GetPreviewedMonHeldItem(param0); } u32 ov19_021D5F9C(const UnkStruct_ov19_021D4DF0 *param0) @@ -4478,33 +4480,33 @@ BOOL ov19_021D5FC0(const UnkStruct_ov19_021D4DF0 *param0) return param0->unk_A4.unk_04; } -BOOL ov19_021D5FC8(const UnkStruct_ov19_021D4DF0 *param0) +BOOL ov19_IsPreviewedMonEgg(const UnkStruct_ov19_021D4DF0 *param0) { - return param0->unk_4C.unk_0F; + return param0->pcMonPreview.isEgg; } -static u32 ov19_021D5FD0(UnkStruct_ov19_021D4DF0 *param0, int param1, void *param2) +static u32 ov19_021D5FD0(UnkStruct_ov19_021D4DF0 *param0, enum PokemonDataParam value, void *dest) { if (ov19_021D5E38(param0) == 1) { if (ov19_021D5E10(param0) == 0) { - return BoxPokemon_GetValue(param0->unk_4C.unk_00, param1, param2); + return BoxPokemon_GetValue(param0->pcMonPreview.mon, value, dest); } } else { UnkStruct_ov19_021D5594 *v0 = ¶m0->unk_14; if (v0->unk_0B == 0) { - return BoxPokemon_GetValue(param0->unk_4C.unk_00, param1, param2); + return BoxPokemon_GetValue(param0->pcMonPreview.mon, value, dest); } } - return Pokemon_GetValue(param0->unk_4C.unk_00, param1, param2); + return Pokemon_GetValue(param0->pcMonPreview.mon, value, dest); } -static u32 ov19_021D6014(UnkStruct_ov19_021D4DF0 *param0, int param1, void *param2) +static u32 ov19_021D6014(UnkStruct_ov19_021D4DF0 *param0, enum PokemonDataParam value, void *dest) { if (ov19_021D5E10(param0) == 0) { - return BoxPokemon_GetValue(param0->unk_4C.unk_00, param1, param2); + return BoxPokemon_GetValue(param0->pcMonPreview.mon, value, dest); } else { - return Pokemon_GetValue(param0->unk_08.unk_00, param1, param2); + return Pokemon_GetValue(param0->unk_08.unk_00, value, dest); } } diff --git a/src/overlay019/ov19_021D61B0.c b/src/overlay019/ov19_021D61B0.c index 3c4560809e..a0cf8b7644 100644 --- a/src/overlay019/ov19_021D61B0.c +++ b/src/overlay019/ov19_021D61B0.c @@ -196,13 +196,13 @@ BOOL ov19_021D61B0(UnkStruct_ov19_021D61B0 **param0, const UnkStruct_ov19_021D4D v2 &= ov19_021D79F8(&(v0->unk_494), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18); v2 &= ov19_021D8B54(&(v0->unk_5E24), v0, v0->unk_1C4, v0->unk_18, v3); v2 &= ov19_021DA814(&(v0->unk_65BC), v0, v0->unk_1C4, v0->unk_18, v3); - v2 &= ov19_021DA92C(&(v0->unk_6604), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_021D5DE8(param2), v3); - v2 &= ov19_021DB2FC(&(v0->unk_6658), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_021D5DE8(param2), ov19_021D5DF0(param2), ov19_021D5DF8(param2), v3); + v2 &= ov19_021DA92C(&(v0->unk_6604), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_GetBoxMessagesLoader(param2), v3); + v2 &= ov19_021DB2FC(&(v0->unk_6658), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_GetBoxMessagesLoader(param2), ov19_021D5DF0(param2), ov19_021D5DF8(param2), v3); v2 &= ov19_021DB8E4(&(v0->unk_6690), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, v3); v2 &= ov19_021DC5F0(&(v0->unk_B290), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, v3); v2 &= ov19_021DCF88(&(v0->unk_B408), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18); v2 &= ov19_021DE3E8(&(v0->unk_B40C), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18); - v2 &= ov19_021DEC04(&(v0->unk_B410), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_021D5DE8(param2), v3); + v2 &= ov19_021DEC04(&(v0->unk_B410), v0, v0->unk_1C4, v0->unk_1C0, v0->unk_18, ov19_GetBoxMessagesLoader(param2), v3); v0->unk_B414 = param2; v0->unk_00 = SysTask_Start(ov19_021D6474, v0, 2); @@ -929,7 +929,7 @@ static void ov19_021D6D88(SysTask *param0, void *param1) v2 = (UnkStruct_ov19_021D6640 *)param1; v0 = v2->unk_0C; v1 = v0->unk_1C4; - v3 = ov19_021D5E74(v1); + v3 = ov19_GetPreviewedMonHeldItem(v1); if (ov19_021D5E38(v1) == 2) { ov19_021D9AB0(&v0->unk_5E24, v3); diff --git a/src/overlay019/ov19_021D79F8.c b/src/overlay019/ov19_021D79F8.c index eccdade5eb..72fd2e0ca4 100644 --- a/src/overlay019/ov19_021D79F8.c +++ b/src/overlay019/ov19_021D79F8.c @@ -855,7 +855,7 @@ void ov19_021D89F4(UnkStruct_ov19_021D8318 *param0, u32 param1) void ov19_021D8A24(UnkStruct_ov19_021D8318 *param0) { u32 v0 = ov19_021D5E24(param0->unk_58F8); - u32 v1 = ov19_021D5EA0(param0->unk_58F8); + u32 v1 = ov19_GetPreviewedMonMarkings(param0->unk_58F8); if (param0->unk_A8[param0->unk_02][v0].unk_00 != NULL) { ov19_021DA68C(param0->unk_58F0, &(param0->unk_A8[param0->unk_02][v0]), v1); diff --git a/src/overlay019/ov19_021D8B54.c b/src/overlay019/ov19_021D8B54.c index 6c3c2c69dd..5c18b1c8d5 100644 --- a/src/overlay019/ov19_021D8B54.c +++ b/src/overlay019/ov19_021D8B54.c @@ -180,7 +180,7 @@ static void ov19_021D8E00(UnkStruct_ov19_021D8E00 *param0) v2 = (v0.y >> FX32_SHIFT) - -4; ov19_021DA3CC(param0->unk_48, param0->unk_4C, 1); - ov19_021DA428(param0->unk_48, ov19_021D5E9C(param0->unk_790), v1, v2, Sprite_GetExplicitPriority(param0->unk_04), 2, 1240, param0->unk_4C); + ov19_021DA428(param0->unk_48, ov19_GetPreviewedBoxMon(param0->unk_790), v1, v2, Sprite_GetExplicitPriority(param0->unk_04), 2, 1240, param0->unk_4C); param0->unk_664[0].unk_00 = (0 * FX32_ONE); param0->unk_664[0].unk_04 = (-4 * FX32_ONE); @@ -799,7 +799,7 @@ void ov19_021D9A2C(UnkStruct_ov19_021D8E00 *param0) void ov19_021D9A64(UnkStruct_ov19_021D8E00 *param0) { if (param0->unk_78C) { - u32 v0 = ov19_021D5EA0(param0->unk_790); + u32 v0 = ov19_GetPreviewedMonMarkings(param0->unk_790); ov19_021DA68C(param0->unk_48, param0->unk_4C, v0); } } diff --git a/src/overlay019/ov19_021DA92C.c b/src/overlay019/ov19_021DA92C.c index 3b7919634f..629cc811a7 100644 --- a/src/overlay019/ov19_021DA92C.c +++ b/src/overlay019/ov19_021DA92C.c @@ -7,8 +7,8 @@ #include "overlay019/ov19_021D0D80.h" #include "overlay019/ov19_021D61B0.h" +#include "overlay019/pc_mon_preview.h" #include "overlay019/struct_ov19_021D4DF0.h" -#include "overlay019/struct_ov19_021D5BAC.h" #include "overlay019/struct_ov19_021D61B0_decl.h" #include "overlay019/struct_ov19_021DA9E0.h" @@ -245,9 +245,9 @@ static void ov19_021DAC4C(UnkStruct_ov19_021DA9E0 *param0) UnkStruct_ov19_021DAE2C *v0 = Heap_AllocFromHeap(HEAP_ID_10, sizeof(UnkStruct_ov19_021DAE2C)); if (v0) { - const UnkStruct_ov19_021D5BAC *v1 = ov19_021D5E70(param0->unk_10); + const PCMonPreview *preview = ov19_GetPCMonPreview(param0->unk_10); - v0->unk_00 = (v1->unk_0F) ? 4 : 0; + v0->unk_00 = (preview->isEgg) ? 4 : 0; v0->unk_08 = param0; param0->unk_4C = SysTask_Start(ov19_021DACF8, v0, 1); } else { @@ -270,9 +270,9 @@ static void ov19_021DACB0(UnkStruct_ov19_021DA9E0 *param0) UnkStruct_ov19_021DAE2C *v0 = SysTask_GetParam(param0->unk_4C); if (v0) { - const UnkStruct_ov19_021D5BAC *v1 = ov19_021D5E70(param0->unk_10); + const PCMonPreview *preview = ov19_GetPCMonPreview(param0->unk_10); - v0->unk_00 = (v1->unk_0F) ? 4 : 0; + v0->unk_00 = (preview->isEgg) ? 4 : 0; ov19_021DAE10(param0); } } @@ -291,7 +291,7 @@ static void ov19_021DACF8(SysTask *param0, void *param1) { UnkStruct_ov19_021DAE2C *v0 = (UnkStruct_ov19_021DAE2C *)param1; UnkStruct_ov19_021DA9E0 *v1 = v0->unk_08; - const UnkStruct_ov19_021D5BAC *v2; + const PCMonPreview *preview; switch (v0->unk_00) { case 0: @@ -308,9 +308,9 @@ static void ov19_021DACF8(SysTask *param0, void *param1) v0->unk_00 = 2; break; case 2: - v2 = ov19_021D5E70(v1->unk_10); + preview = ov19_GetPCMonPreview(v1->unk_10); - if (!v2->unk_0F && (++(v0->unk_04) > 80)) { + if (!preview->isEgg && (++(v0->unk_04) > 80)) { ov19_021DAE2C(v0); v0->unk_04 = 0; v0->unk_06 = 0; @@ -396,13 +396,13 @@ static void ov19_021DAE60(Window *param0, UnkStruct_ov19_021DA9E0 *param1, u32 p switch (param2) { case 0: - v0 = param1->unk_10->unk_4C.unk_1C; + v0 = param1->unk_10->pcMonPreview.heldItemName; break; case 2: - v0 = param1->unk_10->unk_4C.unk_20; + v0 = param1->unk_10->pcMonPreview.nature; break; case 3: - v0 = param1->unk_10->unk_4C.unk_24; + v0 = param1->unk_10->pcMonPreview.ability; break; case 1: { @@ -410,24 +410,24 @@ static void ov19_021DAE60(Window *param0, UnkStruct_ov19_021DA9E0 *param1, u32 p u32 v3, v4; v3 = sub_0207C944(); - v4 = sub_0207C908(param1->unk_10->unk_4C.unk_0C); + v4 = sub_0207C908(param1->unk_10->pcMonPreview.type1); - Graphics_LoadObjectTiles(sub_0207C944(), sub_0207C908(param1->unk_10->unk_4C.unk_0C), 0, 1504 * 0x20, 0, 1, HEAP_ID_10); + Graphics_LoadObjectTiles(sub_0207C944(), sub_0207C908(param1->unk_10->pcMonPreview.type1), 0, 1504 * 0x20, 0, 1, HEAP_ID_10); v2 = *Sprite_GetPosition(param1->unk_3C[0]); v2.y = (176 + (16 * param3)) << FX32_SHIFT; Sprite_SetPosition(param1->unk_3C[0], &v2); - Sprite_SetExplicitPalette(param1->unk_3C[0], 10 + sub_0207C92C(param1->unk_10->unk_4C.unk_0C)); + Sprite_SetExplicitPalette(param1->unk_3C[0], 10 + sub_0207C92C(param1->unk_10->pcMonPreview.type1)); Sprite_SetDrawFlag(param1->unk_3C[0], 1); - if (param1->unk_10->unk_4C.unk_0C != param1->unk_10->unk_4C.unk_0D) { - Graphics_LoadObjectTiles(sub_0207C944(), sub_0207C908(param1->unk_10->unk_4C.unk_0D), 0, (1504 + 8) * 0x20, 0, 1, HEAP_ID_10); + if (param1->unk_10->pcMonPreview.type1 != param1->unk_10->pcMonPreview.type2) { + Graphics_LoadObjectTiles(sub_0207C944(), sub_0207C908(param1->unk_10->pcMonPreview.type2), 0, (1504 + 8) * 0x20, 0, 1, HEAP_ID_10); v2.x += (36 << FX32_SHIFT); Sprite_SetPosition(param1->unk_3C[1], &v2); - Sprite_SetExplicitPalette(param1->unk_3C[1], 10 + sub_0207C92C(param1->unk_10->unk_4C.unk_0D)); + Sprite_SetExplicitPalette(param1->unk_3C[1], 10 + sub_0207C92C(param1->unk_10->pcMonPreview.type2)); Sprite_SetDrawFlag(param1->unk_3C[1], 1); } else { Sprite_SetDrawFlag(param1->unk_3C[1], 0); @@ -521,13 +521,13 @@ void ov19_021DB078(UnkStruct_ov19_021DA9E0 *param0) static void ov19_021DB0E4(UnkStruct_ov19_021DA9E0 *param0) { ArchivedSprite v0; - const UnkStruct_ov19_021D5BAC *v1 = ov19_021D5E70(param0->unk_10); + const PCMonPreview *preview = ov19_GetPCMonPreview(param0->unk_10); - Text_AddPrinterWithParamsAndColor(¶m0->unk_04[0], FONT_SYSTEM, v1->unk_18, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 15), NULL); - Text_AddPrinterWithParamsAndColor(¶m0->unk_04[2], FONT_SYSTEM, v1->unk_14, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 15), NULL); - Text_AddPrinterWithParamsAndColor(¶m0->unk_04[2], FONT_SYSTEM, v1->unk_14, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 15), NULL); + Text_AddPrinterWithParamsAndColor(¶m0->unk_04[0], FONT_SYSTEM, preview->speciesName, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 15), NULL); + Text_AddPrinterWithParamsAndColor(¶m0->unk_04[2], FONT_SYSTEM, preview->nickname, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 15), NULL); + Text_AddPrinterWithParamsAndColor(¶m0->unk_04[2], FONT_SYSTEM, preview->nickname, 2, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(1, 2, 15), NULL); - switch (v1->unk_0E) { + switch (preview->gender) { case 0: Text_AddPrinterWithParamsAndColor(¶m0->unk_04[2], FONT_SYSTEM, param0->unk_44, 70, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(7, 8, 15), NULL); break; @@ -536,19 +536,19 @@ static void ov19_021DB0E4(UnkStruct_ov19_021DA9E0 *param0) break; } - if (v1->unk_0F == 0) { - Text_AddPrinterWithParamsAndColor(¶m0->unk_04[3], FONT_SYSTEM, v1->unk_1C, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 0), NULL); + if (preview->isEgg == 0) { + Text_AddPrinterWithParamsAndColor(¶m0->unk_04[3], FONT_SYSTEM, preview->heldItemName, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 0), NULL); - if (v1->unk_08) { - sub_0200C648(param0->unk_18, 2, v1->unk_08, 3, 2, &(param0->unk_04[1]), 0, 0); + if (preview->dexNum) { + sub_0200C648(param0->unk_18, 2, preview->dexNum, 3, 2, &(param0->unk_04[1]), 0, 0); } - sub_0200C648(param0->unk_1C, 1, v1->unk_0A, 3, 1, &(param0->unk_04[2]), 0, 16); + sub_0200C648(param0->unk_1C, 1, preview->level, 3, 1, &(param0->unk_04[2]), 0, 16); } - BoxPokemon_BuildArchivedSprite(&v0, v1->unk_00, 2, 0); + BoxPokemon_BuildArchivedSprite(&v0, preview->mon, 2, 0); param0->unk_24 = sub_02007C34(param0->unk_20, &v0, 44, 84, 0, 0, NULL, NULL); - ov19_021DB24C(param0, v1->unk_0B); + ov19_021DB24C(param0, preview->markings); } BOOL ov19_021DB220(UnkStruct_ov19_021DA9E0 *param0) @@ -567,10 +567,10 @@ void ov19_021DB224(UnkStruct_ov19_021DA9E0 *param0) } if (ov19_021D5E4C(param0->unk_10)) { - const UnkStruct_ov19_021D5BAC *v0; + const PCMonPreview *preview; - v0 = ov19_021D5E70(param0->unk_10); - ov19_021DB24C(param0, v0->unk_0B); + preview = ov19_GetPCMonPreview(param0->unk_10); + ov19_021DB24C(param0, preview->markings); } } @@ -597,17 +597,17 @@ static void ov19_021DB24C(UnkStruct_ov19_021DA9E0 *param0, u8 param1) void ov19_021DB2B0(UnkStruct_ov19_021DA9E0 *param0) { - const UnkStruct_ov19_021D5BAC *v0; + const PCMonPreview *preview; if (param0->unk_00 == 0) { return; } - v0 = ov19_021D5E70(param0->unk_10); + preview = ov19_GetPCMonPreview(param0->unk_10); Window_FillTilemap(¶m0->unk_04[3], 0); - if (v0->unk_0F == 0) { - Text_AddPrinterWithParamsAndColor(¶m0->unk_04[3], FONT_SYSTEM, v0->unk_1C, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 0), NULL); + if (preview->isEgg == 0) { + Text_AddPrinterWithParamsAndColor(¶m0->unk_04[3], FONT_SYSTEM, preview->heldItemName, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(9, 6, 0), NULL); } ov19_021DACB0(param0); diff --git a/src/overlay019/ov19_021DC5F0.c b/src/overlay019/ov19_021DC5F0.c index 20d5e491a9..3942e07fe7 100644 --- a/src/overlay019/ov19_021DC5F0.c +++ b/src/overlay019/ov19_021DC5F0.c @@ -368,7 +368,7 @@ void ov19_021DCBDC(UnkStruct_ov19_021DC680 *param0, u32 param1, u32 param2) void ov19_021DCC14(UnkStruct_ov19_021DC680 *param0) { u32 v0 = ov19_021D5E2C(param0->unk_0C); - u32 v1 = ov19_021D5EA0(param0->unk_0C); + u32 v1 = ov19_GetPreviewedMonMarkings(param0->unk_0C); if (param0->unk_3C[v0].unk_00 != NULL) { ov19_021DA68C(param0->unk_38, &(param0->unk_3C[v0]), v1); diff --git a/src/overlay019/ov19_021DE3E8.c b/src/overlay019/ov19_021DE3E8.c index 8d6e63825c..53f2cd5eea 100644 --- a/src/overlay019/ov19_021DE3E8.c +++ b/src/overlay019/ov19_021DE3E8.c @@ -194,7 +194,7 @@ void ov19_021DE584(UnkStruct_ov19_021DE3E8 *param0) static void ov19_021DE59C(UnkStruct_ov19_021DE3E8 *param0) { - u32 v0 = ov19_021D5E74(param0->unk_08); + u32 v0 = ov19_GetPreviewedMonHeldItem(param0->unk_08); if (v0 != 0) { int v1 = ov19_021DE538(param0, 1); @@ -287,7 +287,7 @@ void ov19_021DE7A0(UnkStruct_ov19_021DE3E8 *param0) Sprite_SetAnim(param0->unk_1C[v0], 2); } - v1 = ov19_021D5E74(param0->unk_08); + v1 = ov19_GetPreviewedMonHeldItem(param0->unk_08); if (v1 != 0) { v0 = ov19_021DE538(param0, 1); diff --git a/src/overlay019/ov19_021DF964.c b/src/overlay019/ov19_021DF964.c index f7adcc5749..4cc7418a21 100644 --- a/src/overlay019/ov19_021DF964.c +++ b/src/overlay019/ov19_021DF964.c @@ -6,8 +6,8 @@ #include "struct_decls/pc_boxes_decl.h" #include "overlay019/ov19_021D0D80.h" +#include "overlay019/pc_mon_preview.h" #include "overlay019/struct_ov19_021D4DF0.h" -#include "overlay019/struct_ov19_021D5BAC.h" #include "overlay019/struct_ov19_021DF964.h" #include "enums.h" @@ -49,9 +49,9 @@ void ov19_021DF990(UnkStruct_ov19_021D4DF0 *param0) ov19_021DFD08(v0, UnkEnum_021DFB94_37); { - const UnkStruct_ov19_021D5BAC *v1 = ov19_021D5E70(param0); + const PCMonPreview *preview = ov19_GetPCMonPreview(param0); - if (v1->unk_0F == 0) { + if (preview->isEgg == 0) { ov19_021DFD08(v0, UnkEnum_021DFB94_40); } } @@ -90,7 +90,7 @@ void ov19_021DFAD0(UnkStruct_ov19_021D4DF0 *param0) v0 = &(param0->unk_74); v1 = ov19_021D5F7C(param0); - v2 = ov19_021D5E74(param0); + v2 = ov19_GetPreviewedMonHeldItem(param0); ov19_021DFCF8(v0); v0->unk_23 = 1; @@ -219,7 +219,7 @@ void ov19_021DFC80(UnkStruct_ov19_021D4DF0 *param0) ov19_021DFCF8(v0); v0->unk_23 = 4; - v0->unk_22 = param0->unk_4C.unk_0B; + v0->unk_22 = param0->pcMonPreview.markings; ov19_021DFD08(v0, UnkEnum_021DFB94_56); ov19_021DFD08(v0, UnkEnum_021DFB94_57);