Merge remote-tracking branch 'upstream/master' into use_pokeblock
# Conflicts: # src/use_pokeblock.c
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user