diff options
author | Marcus Huderle <huderlem@gmail.com> | 2019-03-23 09:39:46 -0500 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2019-03-23 09:39:46 -0500 |
commit | 65391a1eb2979dc050dd4a98afea02bb0ef310ea (patch) | |
tree | e31a90d0966cec7e8713ead9ca8083d439c8d9b5 /src/use_pokeblock.c | |
parent | eb48cc2f7eefc1e56c2dcec21c38381b4534b897 (diff) | |
parent | abe56579c107af58e6f3a43968ba2257ff358189 (diff) |
Merge remote-tracking branch 'upstream/master' into use_pokeblock
# Conflicts:
# src/use_pokeblock.c
Diffstat (limited to 'src/use_pokeblock.c')
-rw-r--r-- | src/use_pokeblock.c | 127 |
1 files changed, 59 insertions, 68 deletions
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index baf86eb17..7569b2052 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -4,6 +4,7 @@ #include "alloc.h" #include "palette.h" #include "pokenav.h" +#include "menu_specialized.h" #include "scanline_effect.h" #include "text.h" #include "bg.h" @@ -21,46 +22,36 @@ struct UsePokeblockSubStruct { - void (*field_0)(void); - void (*callback)(void); - struct Pokeblock *pokeblock; - struct Pokemon *pokemon; - u8 stringBuffer[0x40]; - u8 field_50; - u8 field_51; - u8 field_52; - u8 field_53; - u8 field_54; - u8 field_55; - u8 field_56; - u8 field_57[5]; - u8 field_5c[5]; - u8 field_61[5]; - s16 field_66[5]; - u8 field_76; - u8 field_77; - u8 field_78; - u8 field_79; - u8 (*funcPtr8044) (void); - u8 field_8048; + /*0x00*/ void (*field_0)(void); + /*0x04*/ void (*callback)(void); + /*0x08*/ struct Pokeblock *pokeblock; + /*0x0C*/ struct Pokemon *pokemon; + /*0x10*/ u8 stringBuffer[0x40]; + /*0x50*/ u8 field_50; + /*0x51*/ u8 field_51; + /*0x52*/ u8 field_52; + /*0x53*/ u8 field_53; + /*0x54*/ u8 field_54; + /*0x55*/ u8 field_55; + /*0x56*/ u8 field_56; + /*0x57*/ u8 field_57[5]; + /*0x5C*/ u8 field_5c[5]; + /*0x61*/ u8 field_61[5]; + /*0x66*/ s16 field_66[5]; + /*0x70*/ u8 field_70; + /*0x71*/ u8 field_71; + /*0x74*/ u8 (*unk74)(void); + /*0x78*/ u8 unk78; }; struct UsePokeblockStruct { - u8 field_0[0x7B0E]; - u16 field_7B0E; - u8 field_7B10[0x148]; - u8 field_7C58[0x35B]; - u8 field_7FB3; - u8 field_7FB4; - u8 field_7FB5; - u8 field_7FB6; - u8 field_7FB7; - u8 field_7FB8; - u8 field_7FB9; - u16 field_7FBA; - u8 field_7FBC[0x14]; - struct UsePokeblockSubStruct info; + /*0x0000*/ u8 field_0[0x7B0E]; + /*0x7B0E*/ u16 field_7B0E; + /*0x7B10*/ u8 field_7B10[0x148]; + /*0x7C58*/ struct UnknownStruct_81D1ED4 field_7C58; + /*0x7FB0*/ u8 unk7FB0[0x20]; + /*0x7FD0*/ struct UsePokeblockSubStruct info; }; extern u16 gKeyRepeatStartDelay; @@ -206,7 +197,7 @@ void sub_8166340(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - sub_81D2108(gUnknown_0203BCAC->field_7C58); + sub_81D2108(&gUnknown_0203BCAC->field_7C58); ScanlineEffect_InitHBlankDmaTransfer(); } @@ -222,7 +213,7 @@ void sub_8166380(void) { case 0: gUnknown_0203BCAC->field_0[0x7B10] = 0xFF; - sub_81D1ED4(gUnknown_0203BCAC->field_7C58); + sub_81D1ED4(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 1: @@ -278,19 +269,19 @@ void sub_8166380(void) gUnknown_0203BC90->field_50++; break; case 11: - sub_81D2754(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_0[0x7C6C]); - sub_81D20AC(gUnknown_0203BCAC->field_7C58); + sub_81D2754(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14[0]); + sub_81D20AC(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 12: - if (!sub_81D20BC(gUnknown_0203BCAC->field_7C58)) + if (!sub_81D20BC(&gUnknown_0203BCAC->field_7C58)) { - sub_81D1F84(gUnknown_0203BCAC->field_7C58, &gUnknown_0203BCAC->field_7C58[0x14], &gUnknown_0203BCAC->field_7C58[0x14]); + sub_81D1F84(&gUnknown_0203BCAC->field_7C58, gUnknown_0203BCAC->field_7C58.unk14, gUnknown_0203BCAC->field_7C58.unk14); gUnknown_0203BC90->field_50++; } break; case 13: - sub_81D2230(gUnknown_0203BCAC->field_7C58); + sub_81D2230(&gUnknown_0203BCAC->field_7C58); gUnknown_0203BC90->field_50++; break; case 14: @@ -452,7 +443,7 @@ void sub_8166634(void) else if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0203BCAC->info.field_77 == gUnknown_0203BCAC->info.field_76 - 1) + if (gUnknown_0203BCAC->info.field_71 == gUnknown_0203BCAC->info.field_70 - 1) { gUnknown_0203BC90->field_50 = 3; } @@ -464,7 +455,7 @@ void sub_8166634(void) break; case 1: - var = gUnknown_0203BCAC->info.funcPtr8044(); + var = gUnknown_0203BCAC->info.unk74(); if(!var) gUnknown_0203BC90->field_50 = var; break; @@ -514,7 +505,7 @@ void sub_816681C(void) switch (gUnknown_0203BC90->field_50) { case 0: - gPokeblockMonId = sub_81672A4(gUnknown_0203BCAC->info.field_77); + gPokeblockMonId = sub_81672A4(gUnknown_0203BCAC->info.field_71); gUnknown_0203BC94 = gUnknown_0203BC90->callback; gUnknown_0203BC98 = gUnknown_0203BC90->pokeblock; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0)); @@ -546,7 +537,7 @@ void sub_81668F8(void) { u16 var; case 0: - if (gUnknown_0203BCAC->info.field_77 != gPokeblockMonId) + if (gUnknown_0203BCAC->info.field_71 != gPokeblockMonId) { sub_8167CA0(gUnknown_0203BC90->field_56); gUnknown_0203BC90->field_50++; @@ -557,7 +548,7 @@ void sub_81668F8(void) } break; case 1: - var = gUnknown_0203BCAC->info.funcPtr8044(); + var = gUnknown_0203BCAC->info.unk74(); if (!var) { gUnknown_0203BC90->field_50 = var; @@ -600,7 +591,7 @@ void sub_8166A34(void) u8 var; case 0: gUnknown_0203BC90->field_5c[0] = (u8) &gPlayerParty; - gUnknown_0203BCAC->info.field_77 = (u32) &gUnknown_0203BCAC->field_0[gUnknown_0203BCAC->info.field_77]; + gUnknown_0203BCAC->info.field_71 = (u32) &gUnknown_0203BCAC->field_0[gUnknown_0203BCAC->info.field_71]; gUnknown_0203BC90->field_5c[0] = &gPlayerParty sub_81D3520(&gUnknown_0203BCAC->field_0[0x7B1C]); /*gUnknown_0203BCAC->pokemon = &gPlayerParty[gUnknown_083DFEC4->unk893c[gUnknown_0203BCAC->field_0[0x7B1C]].partyIdx]; @@ -623,10 +614,10 @@ void sub_8166A34(void) sub_81D2074(); if (!var) { - sub_81681F4(sub_81672A4(gUnknown_0203BCAC->info.field_77)); + sub_81681F4(sub_81672A4(gUnknown_0203BCAC->info.field_71)); /*sub_80F3D00(); gUnknown_0203BCAC->unk52 = 0;*/ - if(gUnknown_0203BCAC->info.field_77 == gUnknown_0203BCAC->info.field_76 - 1) + if(gUnknown_0203BCAC->info.field_71 == gUnknown_0203BCAC->info.field_70 - 1) { gUnknown_0203BC90->field_52 = var; } @@ -1051,7 +1042,7 @@ _08166D18:\n\ void sub_8166D44(void) { u8 stringBuffer[0x40]; - GetMonData(&gPlayerParty[sub_81672A4(gUnknown_0203BCAC->info.field_77)], MON_DATA_NICKNAME, stringBuffer); + GetMonData(&gPlayerParty[sub_81672A4(gUnknown_0203BCAC->info.field_71)], MON_DATA_NICKNAME, stringBuffer); StringGetEnd10(stringBuffer); StringAppend(stringBuffer, gText_GetsAPokeBlockQuestion); StringCopy(gStringVar4, stringBuffer); @@ -1252,7 +1243,7 @@ void sub_8167104(void) { u16 i; struct Pokemon *pokemon = gPlayerParty; - pokemon += gUnknown_0203BCAC->field_7C58[gUnknown_0203BCAC->info.field_77 * 4 + 865]; + pokemon += gUnknown_0203BCAC->unk7FB0[gUnknown_0203BCAC->info.field_71 * 4 + 9]; Pokeblock_GetMonContestStats(pokemon, gUnknown_0203BC90->field_57); sub_8167054(gUnknown_0203BC90->pokeblock, pokemon); Pokeblock_GetMonContestStats(pokemon, gUnknown_0203BC90->field_5c); @@ -1297,7 +1288,7 @@ void sub_8167184(struct Pokeblock *pokeblock, struct Pokemon *pokemon) bool8 sub_8167268(void) { u8 *mon; - mon = (u8 *) &gUnknown_0203BCAC->field_0[gUnknown_0203BCAC->info.field_77 * 4]; + mon = (u8 *) &gUnknown_0203BCAC->field_0[gUnknown_0203BCAC->info.field_71 * 4]; if (sub_81D2C68(*(mon + 864 + 0x7C58), *(mon + 865 + 0x7C58), MON_DATA_SHEEN, 0) == 255) return TRUE; return FALSE; @@ -1390,8 +1381,8 @@ void sub_8167420(void) ct++; } } - gUnknown_0203BCAC->info.field_77 = 0; - gUnknown_0203BCAC->info.field_76 = ct + 1; + gUnknown_0203BCAC->info.field_71 = 0; + gUnknown_0203BCAC->info.field_70 = ct + 1; sub_81674BC(); } #else @@ -1471,14 +1462,14 @@ void sub_81674BC(void) s16 var; s16 var2; - sub_816753C(gUnknown_0203BCAC->info.field_77, 0); + sub_816753C(gUnknown_0203BCAC->info.field_71, 0); gUnknown_0203BCAC->field_7FB3 = 0; gUnknown_0203BCAC->field_7FB4 = 1; gUnknown_0203BCAC->field_7FB5 = 2; - var = gUnknown_0203BCAC->info.field_77 + 1; + var = gUnknown_0203BCAC->info.field_71 + 1; - if(var >= gUnknown_0203BCAC->info.field_76) + if(var >= gUnknown_0203BCAC->info.field_70) { var = 0; @@ -1488,7 +1479,7 @@ void sub_81674BC(void) if(var2 < 0) { - var2 = gUnknown_0203BCAC->info.field_76 - 1; + var2 = gUnknown_0203BCAC->info.field_70 - 1; } sub_816753C(var, 1); @@ -1568,10 +1559,10 @@ void sub_816753C(s16 a1, u8 a2) v5 = *(0x7FB8 + v3); v6 = *(0x7FB9 + v3); - sub_81D2ED4(gUnknown_0203BCAC->field_0[0x7B4D + 24 * a2], gUnknown_0203BCAC->field_0[0x7B95 + 64 * a2], v5, v6, a1, gUnknown_0203BCAC->info.field_76, 0); - sub_81D2F78(gUnknown_0203BCAC->field_7C58[0], gUnknown_0203BCAC->field_0[0x7FB0], v5, v6, a1, a2, gUnknown_0203BCAC->info.field_76, 0); - sub_81D3094(gUnknown_0203BCAC->field_0[(a2 << 13) + 0x304], gUnknown_0203BCAC->field_0[(a2 << 7) + 4], v5, v6, a1, gUnknown_0203BCAC->info.field_76, 0); - //gUnknown_0203BCAC->field_0[0x7B4D + a1 * 40], gUnknown_0203BCAC->field_7FB8, gUnknown_0203BCAC->field_7FB9, gUnknown_203BCAC->field_0[0], gUnknown_203BCAC->info.field_76, 0) + sub_81D2ED4(gUnknown_0203BCAC->field_0[0x7B4D + 24 * a2], gUnknown_0203BCAC->field_0[0x7B95 + 64 * a2], v5, v6, a1, gUnknown_0203BCAC->info.field_70, 0); + sub_81D2F78(gUnknown_0203BCAC->field_7C58[0], gUnknown_0203BCAC->field_0[0x7FB0], v5, v6, a1, a2, gUnknown_0203BCAC->info.field_70, 0); + sub_81D3094(gUnknown_0203BCAC->field_0[(a2 << 13) + 0x304], gUnknown_0203BCAC->field_0[(a2 << 7) + 4], v5, v6, a1, gUnknown_0203BCAC->info.field_70, 0); + //gUnknown_0203BCAC->field_0[0x7B4D + a1 * 40], gUnknown_0203BCAC->field_7FB8, gUnknown_0203BCAC->field_7FB9, gUnknown_203BCAC->field_0[0], gUnknown_203BCAC->info.field_70, 0) } #else NAKED @@ -1882,7 +1873,7 @@ void sub_8167760(void) sub_81D321C(v6, v7, v9); LoadSpriteSheets(v6); LoadSpritePalettes(v9); - for(i = 0; i < gUnknown_0203BCAC->info.field_76 - 1; i++) + for(i = 0; i < gUnknown_0203BCAC->info.field_70 - 1; i++) { v1 = CreateSprite(v7, 226, (0x140000 * i + 0x80000) >> 16, 0); if(v1 == 64) @@ -2144,7 +2135,7 @@ _08167902:\n\ bool8 sub_8167930(void) { bool8 retvalue; - switch(gUnknown_0203BCAC->info.field_8048) + switch(gUnknown_0203BCAC->info.unk78) { case 0: ChangeBgX(0, 0, 0); @@ -2202,11 +2193,11 @@ bool8 sub_8167930(void) sub_81D21DC(2); break; default: - gUnknown_0203BCAC->info.field_8048 = 0; + gUnknown_0203BCAC->info.unk78 = 0; retvalue = 0; return retvalue; } - gUnknown_0203BCAC->info.field_8048++; + gUnknown_0203BCAC->info.unk78++; retvalue = 1; return retvalue; } |