diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-06-18 17:56:20 -0500 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2021-06-18 17:56:20 -0500 |
commit | f1fdcc2b0ade13ad1a4cc7360eac70f27396d26a (patch) | |
tree | 3ac5b9f61650299f96095e3d3c09ad771793be08 /src/wonder_mail.c | |
parent | e806b05526bfcc540cb2c1f3165a96e76f6c235d (diff) |
more splitting and labeling with some decomp
Diffstat (limited to 'src/wonder_mail.c')
-rw-r--r-- | src/wonder_mail.c | 370 |
1 files changed, 355 insertions, 15 deletions
diff --git a/src/wonder_mail.c b/src/wonder_mail.c index 05d3d03..770a1ff 100644 --- a/src/wonder_mail.c +++ b/src/wonder_mail.c @@ -2,13 +2,14 @@ #include "save.h" #include "pokemon.h" #include "file_system.h" -#include "constants/species.h" #include "wonder_mail.h" #include "memory.h" #include "text.h" +#include "gUnknown_203B460.h" extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0; extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4; +extern struct unkStruct_203B460 *gUnknown_203B460; struct unkStruct_8095228 { @@ -36,6 +37,8 @@ extern u8 sub_8030C20(u32); extern u32 sub_8031050(); extern void sub_80310B4(); extern u32 sub_8095350(); +extern u8 sub_801CF14(u32); +extern u32 sub_802F298(); extern struct unkStruct_8095228 *sub_8095228(u8); extern u8 sub_80A2824(u32); @@ -478,7 +481,7 @@ void sub_8028E84() } sub_8028B04(24); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } void sub_8028EAC() @@ -522,15 +525,14 @@ void sub_8028F04() s32 temp; s32 counter; - if(sub_80144A4(&temp) != 0) - { - return; - } - for(counter = 0; counter <= 31; counter++) + if(sub_80144A4(&temp) == 0) { - sub_8095240(counter); + for(counter = 0; counter <= 31; counter++) + { + sub_8095240(counter); + } + sub_8028B04(21); } - sub_8028B04(21); } void sub_8028F30() @@ -543,7 +545,7 @@ void sub_8028F30() } sub_8028B04(22); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } void sub_8028F58() @@ -839,7 +841,7 @@ void sub_8029374(void) } sub_8028B04(0x24); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } void sub_802939C(void) @@ -1288,7 +1290,7 @@ void sub_8029AB0(void) } sub_8028B04(0x38); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } void sub_8029AD8(void) @@ -1873,7 +1875,7 @@ void sub_802A4AC(void) { sub_802B2BC(0x18); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } } @@ -1994,7 +1996,7 @@ void sub_802A6F0(void) if (sub_80144A4(&temp) == 0) { sub_802B2BC(0x18); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } } @@ -2005,7 +2007,7 @@ void sub_802A718(void) if (sub_80144A4(&temp) == 0) { sub_802B2BC(0x25); sub_8011C28(1); - PrepareSavePakWrite(0); + PrepareSavePakWrite(SPECIES_NONE); } } @@ -2017,3 +2019,341 @@ void sub_802A740(void) sub_802B2BC(0x1e); } } + +void sub_802A75C(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 7: + // NOTE: if statement is needed to match + if(gUnknown_203B2C4->unk538) + sub_802B2BC(0x16); + else + sub_802B2BC(0x16); + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802A798(void) +{ + s32 temp; + struct unkStruct_8095228 *return_var; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 7: + return_var = sub_8095228(gUnknown_203B2C4->unk218); + if(gUnknown_203B2C4->unk41C.unk41E != 0) + { + return_var->unk20 = gUnknown_203B2C4->unk41C; + } + gUnknown_203B460->unk50[gUnknown_203B2C4->unk41C.unk41E]--; + sub_802B2BC(0x29); + break; + case 8: + sub_802B2BC(0xB); + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802A828(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x2A); + sub_8011C28(1); + PrepareSavePakWrite(SPECIES_NONE); + } +} + +void sub_802A850(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + if(!WriteSavePak()) + { + FinishWriteSavePak(); + switch(gUnknown_203B2C4->unk534) + { + case 3: + case 4: + sub_802B2BC(0x1D); + break; + case 5: + sub_802B2BC(0x19); + break; + } + } + } +} + +void sub_802A8A0(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) { + sub_802B2BC(0x13); + } +} + +void sub_802A8BC(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 0xA: + switch(gUnknown_203B2C4->unk534) + { + case 3: + case 4: + sub_802B2BC(0x1D); + break; + case 5: + sub_802B2BC(0x19); + break; + } + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802A910(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 9: + if(sub_801CF14(0) != 0) + { + sub_802B2BC(0xA); + } + else + { + sub_802B2BC(0xB); + } + break; + case 0xA: + switch(gUnknown_203B2C4->unk534) + { + case 3: + case 4: + sub_802B2BC(0x1D); + break; + case 5: + sub_802B2BC(0x19); + break; + } + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802A98C(void) +{ + s32 temp; + + if (sub_80144A4(&temp) == 0) { + sub_802B2BC(0x8); + } +} + +void sub_802A9A8(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 0x7: + switch(gUnknown_203B2C4->unk534) + { + case 3: + case 4: + sub_802B2BC(0x1D); + break; + case 5: + sub_802B2BC(0x19); + break; + } + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802A9FC(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 0x7: + sub_802B2BC(0x26); + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802AA28(void) +{ + s32 temp; + struct unkStruct_8095228 *return_var; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 3: + case 4: + case 5: + gUnknown_203B2C4->unk534 = temp; + switch(gUnknown_203B2C4->unk538) + { + case 1: + return_var = sub_8095228(sub_80953D4(5)); + if(return_var->unk20.unk41E != 0) + { + sub_802B2BC(7); + } + else + { + sub_802B2BC(9); + } + break; + default: + if(gUnknown_203B2C4->unk534 == 5) + { + sub_802B2BC(0x26); + } + else + { + sub_802B2BC(0x1D); + } + break; + } + break; + case 0: + sub_802B2BC(1); + break; + } + } +} + +void sub_802AAAC(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(1); + } +} + +void sub_802AAC8(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(3); + } +} + +void sub_802AAE4(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + switch(temp) + { + case 1: + gUnknown_203B2C4->unk40 = 6; + gUnknown_203B2C4->unk538 = 1; + if(sub_8095324(5) == 0) + { + sub_802B2BC(4); + } + else + { + sub_802B2BC(0xF); + } + break; + case 2: + gUnknown_203B2C4->unk40 = 7; + gUnknown_203B2C4->unk538 = 2; + sub_802B2BC(6); + break; + case 0: + sub_802B2BC(2); + break; + } + } +} + +void sub_802AB60(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x22); + } +} + +void sub_802AB7C(void) +{ + s32 temp; + if(sub_80144A4(&temp) == 0) + { + sub_802B2BC(0x22); + } +} + + +void sub_802AB98(void) +{ + const char *monName; + switch(sub_802F298()) + { + case 3: + sub_802F2C0(); + CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER); + monName = GetMonSpecies(SPECIES_PELIPPER); + strcpy(gAvailablePokemonNames, monName); + sub_8095240(sub_809539C(6, gUnknown_203B2C4->unk430)); + sub_802B2BC(0x24); + break; + default: + break; + } +} + +void nullsub_131(void) +{ +} |