#ifndef GUARD_STR_WONDER_MAIL_H #define GUARD_STR_WONDER_MAIL_H #include "constants/wonder_mail.h" #include "structs/str_dungeon.h" #include "structs/str_pokemon.h" // size: 0x8 typedef struct WonderMailSub { /* 0x0 */ DungeonLocation dungeon; /* 0x4 */ u32 seed; } WonderMailSub; // size: 0x14 typedef struct WonderMail { /* 0x0 */ u8 mailType; /* 0x1 */ u8 missionType; u8 unk2; /* 0x4 */ WonderMailSub unk4; /* 0xC */ s16 clientSpecies; /* 0xE */ s16 targetSpecies; /* 0x10 */ u8 targetItem; /* 0x11 */ u8 rewardType; /* 0x12 */ u8 itemReward; /* 0x13 */ u8 friendAreaReward; } WonderMail; // size: 0x28 typedef struct unkStruct_802F204 { /* 0x0 */ u8 clientName[POKEMON_NAME_LENGTH]; /* 0xA */ u8 name2[POKEMON_NAME_LENGTH]; // target name? /* 0x14 */ s16 clientSpecies; u8 unk16; /* 0x18 */ s32 moneyReward; /* 0x1C */ u8 itemRewards[MAX_ITEM_REWARDS]; /* 0x1F */ u8 quantity; /* 0x20 */ u8 friendAreaReward; /* 0x24 */ u32 teamRankPtsReward; } unkStruct_802F204; // size: 0xB4 typedef struct unkStruct_803B344 { /* 0x0 */ WonderMail mail; u8 *unk14; u8 *unk18; u8 fill1C[0x3C - 0x1C]; u8 unk3C[0xB4 - 0x3C]; } unkStruct_803B344; // size: 0x30 typedef struct unkStruct_203B480 { /* 0x0 */ u8 mailType; /* 0x1 */ u8 missionType; WonderMailSub unk4; /* 0xC */ s16 clientSpecies; /* 0xE */ s16 targetSpecies; union unk10_temp { u32 unk10; u16 unk10_u16; } unk10; /* 0x14 */ u8 playerName[10]; /* 0x20 */ Item item; u32 unk24; u32 unk28; /* 0x2C */ s8 rescuesAllowed; u8 unk2D; } unkStruct_203B480; // size: 0x88 typedef struct WonderMailStruct_203B2C0_sub { /* 0x0 */ unkStruct_203B480 mail; /* 0x30 */ PokemonStruct1 pokemon; } WonderMailStruct_203B2C0_sub; #endif // GUARD_STR_WONDER_MAIL_H