Merge branch 'master' into document-eventscripts

This commit is contained in:
GriffinR
2019-09-03 22:22:14 -04:00
committed by GitHub
173 changed files with 12838 additions and 2094 deletions
+7 -7
View File
@@ -2547,7 +2547,7 @@ static void AnimPetalDanceSmallFlowerStep(struct Sprite* sprite)
{
sprite->pos2.x += Sin(sprite->data[5], 8);
if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5)
sprite->oam.matrixNum ^= 0x8; // horizontal flip
sprite->oam.matrixNum ^= ST_OAM_HFLIP;
sprite->data[5] += 5;
sprite->data[5] &= 0xFF;
@@ -4380,19 +4380,19 @@ void sub_8101898(struct Sprite* sprite)
{
sprite->pos1.x -= 0x18;
sprite->pos1.y += 0x18;
sprite->oam.matrixNum = 16;
sprite->oam.matrixNum = ST_OAM_VFLIP;
}
else if ((s16)sprite->oam.affineParam == 3)
{
sprite->pos1.x += 0x18;
sprite->pos1.y -= 0x18;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{
sprite->pos1.x += 0x18;
sprite->pos1.y += 0x18;
sprite->oam.matrixNum = 24;
sprite->oam.matrixNum = ST_OAM_HFLIP | ST_OAM_VFLIP;
}
sprite->oam.tileNum = (sprite->oam.tileNum + 16);
@@ -5105,7 +5105,7 @@ void sub_8102844(struct Sprite* sprite)
sprite->data[7] = sprite->pos1.y;
if (IsContest())
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->pos1.x += 40;
sprite->pos1.y += 20;
sprite->data[2] = sprite->pos1.x << 7;
@@ -5130,7 +5130,7 @@ void sub_8102844(struct Sprite* sprite)
sprite->data[3] = -0x1400 / sprite->data[1];
sprite->data[4] = sprite->pos1.y << 7;
sprite->data[5] = 0xA00 / sprite->data[1];
sprite->oam.matrixNum = 24;
sprite->oam.matrixNum = (ST_OAM_HFLIP | ST_OAM_VFLIP);
}
sprite->callback = sub_810296C;
@@ -5387,7 +5387,7 @@ void sub_8102FB8(struct Sprite* sprite)
s16 a;
if (gBattleAnimArgs[0] == 1)
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
a = 16;
}
else
+2 -2
View File
@@ -1609,10 +1609,10 @@ static void sub_8103C0C(u8 taskId)
switch (gTasks[taskId].data[4])
{
case 1:
sprite->oam.matrixNum |= 24;
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
break;
case 2:
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
break;
}
+4 -4
View File
@@ -1618,7 +1618,7 @@ void sub_815AAA4(struct Sprite *sprite)
if (gBattleAnimArgs[2] == 0)
{
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->pos2.x = -12;
sprite->data[1] = 2;
}
@@ -4167,7 +4167,7 @@ void AnimSmellingSaltsHand(struct Sprite *sprite)
sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
if (gBattleAnimArgs[1] == 0)
{
sprite->oam.matrixNum |= 0x8;
sprite->oam.matrixNum |= ST_OAM_HFLIP;
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8;
}
else
@@ -4317,7 +4317,7 @@ void AnimHelpingHandClap(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
sprite->oam.matrixNum |= 0x8; // horizontal flip
sprite->oam.matrixNum |= ST_OAM_HFLIP;
sprite->pos1.x = 100;
sprite->data[7] = 1;
}
@@ -4545,7 +4545,7 @@ void AnimForesightMagnifyingGlass(struct Sprite *sprite)
}
if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT)
sprite->oam.matrixNum = 8; // horizontal flip
sprite->oam.matrixNum = ST_OAM_HFLIP;
sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
sprite->oam.objMode = ST_OAM_OBJ_BLEND;
+1 -1
View File
@@ -64,7 +64,7 @@ void SetUpBattleVarsAndBirchZigzagoon(void)
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
{
ZeroEnemyPartyMons();
CreateMon(&gEnemyParty[0], SPECIES_ZIGZAGOON, 2, 32, 0, 0, 0, 0);
CreateMon(&gEnemyParty[0], SPECIES_ZIGZAGOON, 2, 32, 0, 0, OT_ID_PLAYER_ID, 0);
i = 0;
SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &i);
}
+2 -2
View File
@@ -415,7 +415,7 @@ static void SetPlayerAndOpponentParties(void)
monLevel,
ivs,
TRUE, gSaveBlock2Ptr->frontier.rentalMons[i].personality,
0, 0);
OT_ID_PLAYER_ID, 0);
count = 0;
bits = gFacilityTrainerMons[monSetId].evSpread;
@@ -456,7 +456,7 @@ static void SetPlayerAndOpponentParties(void)
monLevel,
ivs,
TRUE, gSaveBlock2Ptr->frontier.rentalMons[i + 3].personality,
0, 0);
OT_ID_PLAYER_ID, 0);
count = 0;
bits = gFacilityTrainerMons[monSetId].evSpread;
+1 -1
View File
@@ -1536,7 +1536,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo,
if (isOpponent)
{
gSprites[summaryBarSpriteId].pos1.x -= 96;
gSprites[summaryBarSpriteId].oam.matrixNum = 8;
gSprites[summaryBarSpriteId].oam.matrixNum = ST_OAM_HFLIP;
}
else
{
+3 -3
View File
@@ -2004,7 +2004,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
personalityValue += nameHash << 8;
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0);
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0);
for (j = 0; j < MAX_MON_MOVES; j++)
{
@@ -2022,7 +2022,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
personalityValue += nameHash << 8;
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0);
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0);
SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
break;
@@ -2036,7 +2036,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir
personalityValue += nameHash << 8;
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, 2, 0);
CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0);
SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
+85 -78
View File
@@ -231,86 +231,93 @@ static const struct TrainerBattleParameter sTrainerBContinueScriptBattleParams[]
{&sTrainerBattleEndScript, TRAINER_PARAM_LOAD_SCRIPT_RET_ADDR},
};
#define REMATCH(trainer1, trainer2, trainer3, trainer4, trainer5, map) \
{ \
.trainerIds = {trainer1, trainer2, trainer3, trainer4, trainer5}, \
.mapGroup = MAP_GROUP(map), \
.mapNum = MAP_NUM(map), \
}
const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
{
[REMATCH_ROSE] = {{TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5}, 0x0, 0x21},
[REMATCH_ANDRES] = {{TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5}, 0x0, 0x14},
[REMATCH_DUSTY] = {{TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5}, 0x0, 0x1a},
[REMATCH_LOLA] = {{TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5}, 0x0, 0x18},
[REMATCH_RICKY] = {{TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5}, 0x0, 0x18},
[REMATCH_LILA_AND_ROY] = {{TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5}, 0x0, 0x27},
[REMATCH_CRISTIN] = {{TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5}, 0x0, 0x24},
[REMATCH_BROOKE] = {{TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5}, 0x0, 0x1a},
[REMATCH_WILTON] = {{TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5}, 0x0, 0x1a},
[REMATCH_VALERIE] = {{TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5}, 0x18, 0x14},
[REMATCH_CINDY] = {{TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6}, 0x0, 0x13},
[REMATCH_THALIA] = {{TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5}, 0x18, 0x38},
[REMATCH_JESSICA] = {{TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5}, 0x0, 0x24},
[REMATCH_WINSTON] = {{TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5}, 0x0, 0x13},
[REMATCH_STEVE] = {{TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5}, 0x0, 0x1d},
[REMATCH_TONY] = {{TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5}, 0x0, 0x16},
[REMATCH_NOB] = {{TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5}, 0x0, 0x1e},
[REMATCH_KOJI] = {{TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5}, 0x0, 0x2a},
[REMATCH_FERNANDO] = {{TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5}, 0x0, 0x26},
[REMATCH_DALTON] = {{TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5}, 0x0, 0x21},
[REMATCH_BERNIE] = {{TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5}, 0x0, 0x1d},
[REMATCH_ETHAN] = {{TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5}, 0x18, 0xd},
[REMATCH_JOHN_AND_JAY] = {{TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5}, 0x18, 0x1},
[REMATCH_JEFFREY] = {{TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5}, 0x0, 0x23},
[REMATCH_CAMERON] = {{TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5}, 0x0, 0x26},
[REMATCH_JACKI] = {{TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5}, 0x0, 0x26},
[REMATCH_WALTER] = {{TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5}, 0x0, 0x24},
[REMATCH_KAREN] = {{TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5}, 0x0, 0x1f},
[REMATCH_JERRY] = {{TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5}, 0x0, 0x1f},
[REMATCH_ANNA_AND_MEG] = {{TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5}, 0x0, 0x20},
[REMATCH_ISABEL] = {{TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5}, 0x0, 0x19},
[REMATCH_MIGUEL] = {{TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5}, 0x0, 0x12},
[REMATCH_TIMOTHY] = {{TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5}, 0x0, 0x1e},
[REMATCH_SHELBY] = {{TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5}, 0x18, 0xc},
[REMATCH_CALVIN] = {{TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5}, 0x0, 0x11},
[REMATCH_ELLIOT] = {{TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5}, 0x0, 0x15},
[REMATCH_ISAIAH] = {{TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5}, 0x0, 0x2b},
[REMATCH_MARIA] = {{TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5}, 0x0, 0x20},
[REMATCH_ABIGAIL] = {{TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5}, 0x0, 0x19},
[REMATCH_DYLAN] = {{TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5}, 0x0, 0x20},
[REMATCH_KATELYN] = {{TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5}, 0x0, 0x2b},
[REMATCH_BENJAMIN] = {{TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5}, 0x0, 0x19},
[REMATCH_PABLO] = {{TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5}, 0x0, 0x29},
[REMATCH_NICOLAS] = {{TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5}, 0x18, 0x1},
[REMATCH_ROBERT] = {{TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5}, 0x0, 0x23},
[REMATCH_LAO] = {{TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5}, 0x0, 0x1c},
[REMATCH_CYNDY] = {{TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5}, 0x0, 0x1e},
[REMATCH_MADELINE] = {{TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5}, 0x0, 0x1c},
[REMATCH_JENNY] = {{TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5}, 0x0, 0x27},
[REMATCH_DIANA] = {{TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5}, 0x18, 0xd},
[REMATCH_AMY_AND_LIV] = {{TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6}, 0x0, 0x12},
[REMATCH_ERNEST] = {{TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5}, 0x0, 0x28},
[REMATCH_CORY] = {{TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5}, 0x0, 0x17},
[REMATCH_EDWIN] = {{TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5}, 0x0, 0x19},
[REMATCH_LYDIA] = {{TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5}, 0x0, 0x20},
[REMATCH_ISAAC] = {{TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5}, 0x0, 0x20},
[REMATCH_GABRIELLE] = {{TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5}, 0x18, 0x11},
[REMATCH_CATHERINE] = {{TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5}, 0x0, 0x22},
[REMATCH_JACKSON] = {{TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5}, 0x0, 0x22},
[REMATCH_HALEY] = {{TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5}, 0x0, 0x13},
[REMATCH_JAMES] = {{TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5}, 0x18, 0xb},
[REMATCH_TRENT] = {{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
[REMATCH_SAWYER] = {{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
[REMATCH_KIRA_AND_DAN] = {{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
[REMATCH_WALLY_3] = {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
[REMATCH_ROXANNE] = {{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
[REMATCH_BRAWLY] = {{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
[REMATCH_WATTSON] = {{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
[REMATCH_FLANNERY] = {{TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5}, 0x0, 0xc},
[REMATCH_NORMAN] = {{TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5}, 0x0, 0x0},
[REMATCH_WINONA] = {{TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5}, 0x0, 0x4},
[REMATCH_TATE_AND_LIZA] = {{TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5}, 0x0, 0x6},
[REMATCH_JUAN] = {{TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5}, 0x0, 0x7},
[REMATCH_SIDNEY] = {{TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY}, 0x0, 0x8},
[REMATCH_PHOEBE] = {{TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE}, 0x0, 0x8},
[REMATCH_GLACIA] = {{TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA}, 0x0, 0x8},
[REMATCH_DRAKE] = {{TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE}, 0x0, 0x8},
[REMATCH_WALLACE] = {{TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE}, 0x0, 0x8},
[REMATCH_ROSE] = REMATCH(TRAINER_ROSE_1, TRAINER_ROSE_2, TRAINER_ROSE_3, TRAINER_ROSE_4, TRAINER_ROSE_5, ROUTE118),
[REMATCH_ANDRES] = REMATCH(TRAINER_ANDRES_1, TRAINER_ANDRES_2, TRAINER_ANDRES_3, TRAINER_ANDRES_4, TRAINER_ANDRES_5, ROUTE105),
[REMATCH_DUSTY] = REMATCH(TRAINER_DUSTY_1, TRAINER_DUSTY_2, TRAINER_DUSTY_3, TRAINER_DUSTY_4, TRAINER_DUSTY_5, ROUTE111),
[REMATCH_LOLA] = REMATCH(TRAINER_LOLA_1, TRAINER_LOLA_2, TRAINER_LOLA_3, TRAINER_LOLA_4, TRAINER_LOLA_5, ROUTE109),
[REMATCH_RICKY] = REMATCH(TRAINER_RICKY_1, TRAINER_RICKY_2, TRAINER_RICKY_3, TRAINER_RICKY_4, TRAINER_RICKY_5, ROUTE109),
[REMATCH_LILA_AND_ROY] = REMATCH(TRAINER_LILA_AND_ROY_1, TRAINER_LILA_AND_ROY_2, TRAINER_LILA_AND_ROY_3, TRAINER_LILA_AND_ROY_4, TRAINER_LILA_AND_ROY_5, ROUTE124),
[REMATCH_CRISTIN] = REMATCH(TRAINER_CRISTIN_1, TRAINER_CRISTIN_2, TRAINER_CRISTIN_3, TRAINER_CRISTIN_4, TRAINER_CRISTIN_5, ROUTE121),
[REMATCH_BROOKE] = REMATCH(TRAINER_BROOKE_1, TRAINER_BROOKE_2, TRAINER_BROOKE_3, TRAINER_BROOKE_4, TRAINER_BROOKE_5, ROUTE111),
[REMATCH_WILTON] = REMATCH(TRAINER_WILTON_1, TRAINER_WILTON_2, TRAINER_WILTON_3, TRAINER_WILTON_4, TRAINER_WILTON_5, ROUTE111),
[REMATCH_VALERIE] = REMATCH(TRAINER_VALERIE_1, TRAINER_VALERIE_2, TRAINER_VALERIE_3, TRAINER_VALERIE_4, TRAINER_VALERIE_5, MT_PYRE_6F),
[REMATCH_CINDY] = REMATCH(TRAINER_CINDY_1, TRAINER_CINDY_3, TRAINER_CINDY_4, TRAINER_CINDY_5, TRAINER_CINDY_6, ROUTE104),
[REMATCH_THALIA] = REMATCH(TRAINER_THALIA_1, TRAINER_THALIA_2, TRAINER_THALIA_3, TRAINER_THALIA_4, TRAINER_THALIA_5, ABANDONED_SHIP_ROOMS_1F),
[REMATCH_JESSICA] = REMATCH(TRAINER_JESSICA_1, TRAINER_JESSICA_2, TRAINER_JESSICA_3, TRAINER_JESSICA_4, TRAINER_JESSICA_5, ROUTE121),
[REMATCH_WINSTON] = REMATCH(TRAINER_WINSTON_1, TRAINER_WINSTON_2, TRAINER_WINSTON_3, TRAINER_WINSTON_4, TRAINER_WINSTON_5, ROUTE104),
[REMATCH_STEVE] = REMATCH(TRAINER_STEVE_1, TRAINER_STEVE_2, TRAINER_STEVE_3, TRAINER_STEVE_4, TRAINER_STEVE_5, ROUTE114),
[REMATCH_TONY] = REMATCH(TRAINER_TONY_1, TRAINER_TONY_2, TRAINER_TONY_3, TRAINER_TONY_4, TRAINER_TONY_5, ROUTE107),
[REMATCH_NOB] = REMATCH(TRAINER_NOB_1, TRAINER_NOB_2, TRAINER_NOB_3, TRAINER_NOB_4, TRAINER_NOB_5, ROUTE115),
[REMATCH_KOJI] = REMATCH(TRAINER_KOJI_1, TRAINER_KOJI_2, TRAINER_KOJI_3, TRAINER_KOJI_4, TRAINER_KOJI_5, ROUTE127),
[REMATCH_FERNANDO] = REMATCH(TRAINER_FERNANDO_1, TRAINER_FERNANDO_2, TRAINER_FERNANDO_3, TRAINER_FERNANDO_4, TRAINER_FERNANDO_5, ROUTE123),
[REMATCH_DALTON] = REMATCH(TRAINER_DALTON_1, TRAINER_DALTON_2, TRAINER_DALTON_3, TRAINER_DALTON_4, TRAINER_DALTON_5, ROUTE118),
[REMATCH_BERNIE] = REMATCH(TRAINER_BERNIE_1, TRAINER_BERNIE_2, TRAINER_BERNIE_3, TRAINER_BERNIE_4, TRAINER_BERNIE_5, ROUTE114),
[REMATCH_ETHAN] = REMATCH(TRAINER_ETHAN_1, TRAINER_ETHAN_2, TRAINER_ETHAN_3, TRAINER_ETHAN_4, TRAINER_ETHAN_5, JAGGED_PASS),
[REMATCH_JOHN_AND_JAY] = REMATCH(TRAINER_JOHN_AND_JAY_1, TRAINER_JOHN_AND_JAY_2, TRAINER_JOHN_AND_JAY_3, TRAINER_JOHN_AND_JAY_4, TRAINER_JOHN_AND_JAY_5, METEOR_FALLS_1F_2R),
[REMATCH_JEFFREY] = REMATCH(TRAINER_JEFFREY_1, TRAINER_JEFFREY_2, TRAINER_JEFFREY_3, TRAINER_JEFFREY_4, TRAINER_JEFFREY_5, ROUTE120),
[REMATCH_CAMERON] = REMATCH(TRAINER_CAMERON_1, TRAINER_CAMERON_2, TRAINER_CAMERON_3, TRAINER_CAMERON_4, TRAINER_CAMERON_5, ROUTE123),
[REMATCH_JACKI] = REMATCH(TRAINER_JACKI_1, TRAINER_JACKI_2, TRAINER_JACKI_3, TRAINER_JACKI_4, TRAINER_JACKI_5, ROUTE123),
[REMATCH_WALTER] = REMATCH(TRAINER_WALTER_1, TRAINER_WALTER_2, TRAINER_WALTER_3, TRAINER_WALTER_4, TRAINER_WALTER_5, ROUTE121),
[REMATCH_KAREN] = REMATCH(TRAINER_KAREN_1, TRAINER_KAREN_2, TRAINER_KAREN_3, TRAINER_KAREN_4, TRAINER_KAREN_5, ROUTE116),
[REMATCH_JERRY] = REMATCH(TRAINER_JERRY_1, TRAINER_JERRY_2, TRAINER_JERRY_3, TRAINER_JERRY_4, TRAINER_JERRY_5, ROUTE116),
[REMATCH_ANNA_AND_MEG] = REMATCH(TRAINER_ANNA_AND_MEG_1, TRAINER_ANNA_AND_MEG_2, TRAINER_ANNA_AND_MEG_3, TRAINER_ANNA_AND_MEG_4, TRAINER_ANNA_AND_MEG_5, ROUTE117),
[REMATCH_ISABEL] = REMATCH(TRAINER_ISABEL_1, TRAINER_ISABEL_2, TRAINER_ISABEL_3, TRAINER_ISABEL_4, TRAINER_ISABEL_5, ROUTE110),
[REMATCH_MIGUEL] = REMATCH(TRAINER_MIGUEL_1, TRAINER_MIGUEL_2, TRAINER_MIGUEL_3, TRAINER_MIGUEL_4, TRAINER_MIGUEL_5, ROUTE103),
[REMATCH_TIMOTHY] = REMATCH(TRAINER_TIMOTHY_1, TRAINER_TIMOTHY_2, TRAINER_TIMOTHY_3, TRAINER_TIMOTHY_4, TRAINER_TIMOTHY_5, ROUTE115),
[REMATCH_SHELBY] = REMATCH(TRAINER_SHELBY_1, TRAINER_SHELBY_2, TRAINER_SHELBY_3, TRAINER_SHELBY_4, TRAINER_SHELBY_5, MT_CHIMNEY),
[REMATCH_CALVIN] = REMATCH(TRAINER_CALVIN_1, TRAINER_CALVIN_2, TRAINER_CALVIN_3, TRAINER_CALVIN_4, TRAINER_CALVIN_5, ROUTE102),
[REMATCH_ELLIOT] = REMATCH(TRAINER_ELLIOT_1, TRAINER_ELLIOT_2, TRAINER_ELLIOT_3, TRAINER_ELLIOT_4, TRAINER_ELLIOT_5, ROUTE106),
[REMATCH_ISAIAH] = REMATCH(TRAINER_ISAIAH_1, TRAINER_ISAIAH_2, TRAINER_ISAIAH_3, TRAINER_ISAIAH_4, TRAINER_ISAIAH_5, ROUTE128),
[REMATCH_MARIA] = REMATCH(TRAINER_MARIA_1, TRAINER_MARIA_2, TRAINER_MARIA_3, TRAINER_MARIA_4, TRAINER_MARIA_5, ROUTE117),
[REMATCH_ABIGAIL] = REMATCH(TRAINER_ABIGAIL_1, TRAINER_ABIGAIL_2, TRAINER_ABIGAIL_3, TRAINER_ABIGAIL_4, TRAINER_ABIGAIL_5, ROUTE110),
[REMATCH_DYLAN] = REMATCH(TRAINER_DYLAN_1, TRAINER_DYLAN_2, TRAINER_DYLAN_3, TRAINER_DYLAN_4, TRAINER_DYLAN_5, ROUTE117),
[REMATCH_KATELYN] = REMATCH(TRAINER_KATELYN_1, TRAINER_KATELYN_2, TRAINER_KATELYN_3, TRAINER_KATELYN_4, TRAINER_KATELYN_5, ROUTE128),
[REMATCH_BENJAMIN] = REMATCH(TRAINER_BENJAMIN_1, TRAINER_BENJAMIN_2, TRAINER_BENJAMIN_3, TRAINER_BENJAMIN_4, TRAINER_BENJAMIN_5, ROUTE110),
[REMATCH_PABLO] = REMATCH(TRAINER_PABLO_1, TRAINER_PABLO_2, TRAINER_PABLO_3, TRAINER_PABLO_4, TRAINER_PABLO_5, ROUTE126),
[REMATCH_NICOLAS] = REMATCH(TRAINER_NICOLAS_1, TRAINER_NICOLAS_2, TRAINER_NICOLAS_3, TRAINER_NICOLAS_4, TRAINER_NICOLAS_5, METEOR_FALLS_1F_2R),
[REMATCH_ROBERT] = REMATCH(TRAINER_ROBERT_1, TRAINER_ROBERT_2, TRAINER_ROBERT_3, TRAINER_ROBERT_4, TRAINER_ROBERT_5, ROUTE120),
[REMATCH_LAO] = REMATCH(TRAINER_LAO_1, TRAINER_LAO_2, TRAINER_LAO_3, TRAINER_LAO_4, TRAINER_LAO_5, ROUTE113),
[REMATCH_CYNDY] = REMATCH(TRAINER_CYNDY_1, TRAINER_CYNDY_2, TRAINER_CYNDY_3, TRAINER_CYNDY_4, TRAINER_CYNDY_5, ROUTE115),
[REMATCH_MADELINE] = REMATCH(TRAINER_MADELINE_1, TRAINER_MADELINE_2, TRAINER_MADELINE_3, TRAINER_MADELINE_4, TRAINER_MADELINE_5, ROUTE113),
[REMATCH_JENNY] = REMATCH(TRAINER_JENNY_1, TRAINER_JENNY_2, TRAINER_JENNY_3, TRAINER_JENNY_4, TRAINER_JENNY_5, ROUTE124),
[REMATCH_DIANA] = REMATCH(TRAINER_DIANA_1, TRAINER_DIANA_2, TRAINER_DIANA_3, TRAINER_DIANA_4, TRAINER_DIANA_5, JAGGED_PASS),
[REMATCH_AMY_AND_LIV] = REMATCH(TRAINER_AMY_AND_LIV_1, TRAINER_AMY_AND_LIV_2, TRAINER_AMY_AND_LIV_4, TRAINER_AMY_AND_LIV_5, TRAINER_AMY_AND_LIV_6, ROUTE103),
[REMATCH_ERNEST] = REMATCH(TRAINER_ERNEST_1, TRAINER_ERNEST_2, TRAINER_ERNEST_3, TRAINER_ERNEST_4, TRAINER_ERNEST_5, ROUTE125),
[REMATCH_CORY] = REMATCH(TRAINER_CORY_1, TRAINER_CORY_2, TRAINER_CORY_3, TRAINER_CORY_4, TRAINER_CORY_5, ROUTE108),
[REMATCH_EDWIN] = REMATCH(TRAINER_EDWIN_1, TRAINER_EDWIN_2, TRAINER_EDWIN_3, TRAINER_EDWIN_4, TRAINER_EDWIN_5, ROUTE110),
[REMATCH_LYDIA] = REMATCH(TRAINER_LYDIA_1, TRAINER_LYDIA_2, TRAINER_LYDIA_3, TRAINER_LYDIA_4, TRAINER_LYDIA_5, ROUTE117),
[REMATCH_ISAAC] = REMATCH(TRAINER_ISAAC_1, TRAINER_ISAAC_2, TRAINER_ISAAC_3, TRAINER_ISAAC_4, TRAINER_ISAAC_5, ROUTE117),
[REMATCH_GABRIELLE] = REMATCH(TRAINER_GABRIELLE_1, TRAINER_GABRIELLE_2, TRAINER_GABRIELLE_3, TRAINER_GABRIELLE_4, TRAINER_GABRIELLE_5, MT_PYRE_3F),
[REMATCH_CATHERINE] = REMATCH(TRAINER_CATHERINE_1, TRAINER_CATHERINE_2, TRAINER_CATHERINE_3, TRAINER_CATHERINE_4, TRAINER_CATHERINE_5, ROUTE119),
[REMATCH_JACKSON] = REMATCH(TRAINER_JACKSON_1, TRAINER_JACKSON_2, TRAINER_JACKSON_3, TRAINER_JACKSON_4, TRAINER_JACKSON_5, ROUTE119),
[REMATCH_HALEY] = REMATCH(TRAINER_HALEY_1, TRAINER_HALEY_2, TRAINER_HALEY_3, TRAINER_HALEY_4, TRAINER_HALEY_5, ROUTE104),
[REMATCH_JAMES] = REMATCH(TRAINER_JAMES_1, TRAINER_JAMES_2, TRAINER_JAMES_3, TRAINER_JAMES_4, TRAINER_JAMES_5, PETALBURG_WOODS),
[REMATCH_TRENT] = REMATCH(TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5, ROUTE112),
[REMATCH_SAWYER] = REMATCH(TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5, MT_CHIMNEY),
[REMATCH_KIRA_AND_DAN] = REMATCH(TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5, ABANDONED_SHIP_ROOMS2_1F),
[REMATCH_WALLY_3] = REMATCH(TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6, VICTORY_ROAD_1F),
[REMATCH_ROXANNE] = REMATCH(TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5, RUSTBORO_CITY),
[REMATCH_BRAWLY] = REMATCH(TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5, DEWFORD_TOWN),
[REMATCH_WATTSON] = REMATCH(TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5, MAUVILLE_CITY),
[REMATCH_FLANNERY] = REMATCH(TRAINER_FLANNERY_1, TRAINER_FLANNERY_2, TRAINER_FLANNERY_3, TRAINER_FLANNERY_4, TRAINER_FLANNERY_5, LAVARIDGE_TOWN),
[REMATCH_NORMAN] = REMATCH(TRAINER_NORMAN_1, TRAINER_NORMAN_2, TRAINER_NORMAN_3, TRAINER_NORMAN_4, TRAINER_NORMAN_5, PETALBURG_CITY),
[REMATCH_WINONA] = REMATCH(TRAINER_WINONA_1, TRAINER_WINONA_2, TRAINER_WINONA_3, TRAINER_WINONA_4, TRAINER_WINONA_5, FORTREE_CITY),
[REMATCH_TATE_AND_LIZA] = REMATCH(TRAINER_TATE_AND_LIZA_1, TRAINER_TATE_AND_LIZA_2, TRAINER_TATE_AND_LIZA_3, TRAINER_TATE_AND_LIZA_4, TRAINER_TATE_AND_LIZA_5, MOSSDEEP_CITY),
[REMATCH_JUAN] = REMATCH(TRAINER_JUAN_1, TRAINER_JUAN_2, TRAINER_JUAN_3, TRAINER_JUAN_4, TRAINER_JUAN_5, SOOTOPOLIS_CITY),
[REMATCH_SIDNEY] = REMATCH(TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, TRAINER_SIDNEY, EVER_GRANDE_CITY),
[REMATCH_PHOEBE] = REMATCH(TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, TRAINER_PHOEBE, EVER_GRANDE_CITY),
[REMATCH_GLACIA] = REMATCH(TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, TRAINER_GLACIA, EVER_GRANDE_CITY),
[REMATCH_DRAKE] = REMATCH(TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, TRAINER_DRAKE, EVER_GRANDE_CITY),
[REMATCH_WALLACE] = REMATCH(TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, TRAINER_WALLACE, EVER_GRANDE_CITY),
};
static const u16 sBadgeFlags[8] =
+1 -1
View File
@@ -3190,7 +3190,7 @@ static void FillPartnerParty(u16 trainerId)
sStevenMons[i].level,
sStevenMons[i].fixedIV,
TRUE, i, // BUG: personality was stored in the 'j' variable. As a result, Steven's pokemon do not have the intended natures.
TRUE, STEVEN_OTID);
OT_ID_PRESET, STEVEN_OTID);
for (j = 0; j < 6; j++)
SetMonData(&gPlayerParty[3 + i], MON_DATA_HP_EV + j, &sStevenMons[i].evs[j]);
for (j = 0; j < MAX_MON_MOVES; j++)
+1 -1
View File
@@ -292,7 +292,7 @@ static void PrintContestPaintingCaption(u8 contestType, u8 arg1)
category = gUnknown_030061C0->contestCategory;
if (contestType < 8)
{
sub_818E868(gStringVar1, category);
BufferContestName(gStringVar1, category);
StringAppend(gStringVar1, gText_Space);
StringAppend(gStringVar1, gContestRankTextPointers[gUnknown_030061C0->contestRank]);
StringCopy(gStringVar2, gUnknown_030061C0->trainerName);
+239 -236
View File
@@ -143,7 +143,7 @@ struct Unk201C000
struct CreditsEntry
{
u8 var_0;
u8 var_1;
bool8 isTitle;
const u8 *text;
};
@@ -165,7 +165,7 @@ static const u32 gCreditsCopyrightEnd_Gfx[] = INCBIN_U32("graphics/credits/the_e
static void sub_81772B8(struct Sprite *sprite);
static const u8 gUnknown_085E5BAC[] =
static const u8 sTheEnd_LetterTMap[] =
{
0, 1, 0,
0xFF, 1, 0xFF,
@@ -174,7 +174,7 @@ static const u8 gUnknown_085E5BAC[] =
0xFF, 1, 0xFF,
};
static const u8 gUnknown_085E5BBB[] =
static const u8 sTheEnd_LetterHMap[] =
{
1, 0xFF, 1,
1, 0xFF, 1,
@@ -183,7 +183,7 @@ static const u8 gUnknown_085E5BBB[] =
1, 0xFF, 1,
};
static const u8 gUnknown_085E5BCA[] =
static const u8 sTheEnd_LetterEMap[] =
{
1, 0, 0,
1, 0xFF, 0xFF,
@@ -192,7 +192,7 @@ static const u8 gUnknown_085E5BCA[] =
1, 0x80, 0x80,
};
static const u8 gUnknown_085E5BD9[] =
static const u8 sTheEnd_LetterNMap[] =
{
1, 3, 1,
1, 4, 1,
@@ -201,7 +201,7 @@ static const u8 gUnknown_085E5BD9[] =
1, 0xC3, 1,
};
static const u8 gUnknown_085E5BE8[] =
static const u8 sTheEnd_LetterDMap[] =
{
1, 6, 7,
1, 8, 9,
@@ -369,165 +369,165 @@ static const u8 gCreditsText_MotoyasuTojima[] = _("Motoyasu Tojima");
static const u8 gCreditsText_NicolaPrattBarlow[] = _("Nicola Pratt-Barlow");
static const u8 gCreditsText_ShellieDow[] = _("Shellie Dow");
static const u8 gCreditsText_ErikJohnson[] = _("Erik Johnson");
static const struct CreditsEntry gCreditsEntry_EmptyString[] = {0, 0, gCreditsText_EmptyString};
static const struct CreditsEntry gCreditsEntry_PkmnEmeraldVersion[] = {7, 1, gCreditsText_PkmnEmeraldVersion};
static const struct CreditsEntry gCreditsEntry_Credits[] = {11, 1, gCreditsText_Credits};
static const struct CreditsEntry gCreditsEntry_ExecutiveDirector[] = {8, 1, gCreditsText_ExecutiveDirector};
static const struct CreditsEntry gCreditsEntry_Director[] = {12, 1, gCreditsText_Director};
static const struct CreditsEntry gCreditsEntry_ArtDirector[] = {10, 1, gCreditsText_ArtDirector};
static const struct CreditsEntry gCreditsEntry_BattleDirector[] = {10, 1, gCreditsText_BattleDirector};
static const struct CreditsEntry gCreditsEntry_MainProgrammer[] = {10, 1, gCreditsText_MainProgrammer};
static const struct CreditsEntry gCreditsEntry_BattleSystemPgrms[] = {8, 1, gCreditsText_BattleSystemPgrms};
static const struct CreditsEntry gCreditsEntry_FieldSystemPgrms[] = {7, 1, gCreditsText_FieldSystemPgrms};
static const struct CreditsEntry gCreditsEntry_Programmers[] = {12, 1, gCreditsText_Programmers};
static const struct CreditsEntry gCreditsEntry_MainGraphicDesigner[] = {7, 1, gCreditsText_MainGraphicDesigner};
static const struct CreditsEntry gCreditsEntry_GraphicDesigners[] = {9, 1, gCreditsText_GraphicDesigners};
static const struct CreditsEntry gCreditsEntry_PkmnDesigners[] = {10, 1, gCreditsText_PkmnDesigners};
static const struct CreditsEntry gCreditsEntry_MusicComposition[] = {13, 1, gCreditsText_MusicComposition};
static const struct CreditsEntry gCreditsEntry_SoundEffectsAndPkmnVoices[] = {4, 1, gCreditsText_SoundEffectsAndPkmnVoices};
static const struct CreditsEntry gCreditsEntry_GameDesigners[] = {11, 1, gCreditsText_GameDesigners};
static const struct CreditsEntry gCreditsEntry_ScenarioPlot[] = {11, 1, gCreditsText_ScenarioPlot};
static const struct CreditsEntry gCreditsEntry_Scenario[] = {13, 1, gCreditsText_Scenario};
static const struct CreditsEntry gCreditsEntry_ScriptDesigners[] = {10, 1, gCreditsText_ScriptDesigners};
static const struct CreditsEntry gCreditsEntry_MapDesigners[] = {11, 1, gCreditsText_MapDesigners};
static const struct CreditsEntry gCreditsEntry_MapDataDesigners[] = {9, 1, gCreditsText_MapDataDesigners};
static const struct CreditsEntry gCreditsEntry_ParametricDesigners[] = {9, 1, gCreditsText_ParametricDesigners};
static const struct CreditsEntry gCreditsEntry_PokedexText[] = {11, 1, gCreditsText_PokedexText};
static const struct CreditsEntry gCreditsEntry_EnvAndToolPgrms[] = {6, 1, gCreditsText_EnvAndToolPgrms};
static const struct CreditsEntry gCreditsEntry_NCLProductTesting[] = {11, 1, gCreditsText_NCLProductTesting};
static const struct CreditsEntry gCreditsEntry_SpecialThanks[] = {10, 1, gCreditsText_SpecialThanks};
static const struct CreditsEntry gCreditsEntry_Coordinators[] = {11, 1, gCreditsText_Coordinators};
static const struct CreditsEntry gCreditsEntry_Producers[] = {11, 1, gCreditsText_Producers};
static const struct CreditsEntry gCreditsEntry_ExecProducers[] = {7, 1, gCreditsText_ExecProducers};
static const struct CreditsEntry gCreditsEntry_InfoSupervisors[] = {10, 1, gCreditsText_InfoSupervisors};
static const struct CreditsEntry gCreditsEntry_TaskManagers[] = {8, 1, gCreditsText_TaskManagers};
static const struct CreditsEntry gCreditsEntry_BrailleCodeCheck[] = {10, 1, gCreditsText_BrailleCodeCheck};
static const struct CreditsEntry gCreditsEntry_WorldDirector[] = {10, 1, gCreditsText_WorldDirector};
static const struct CreditsEntry gCreditsEntry_BattleFrontierData[] = {8, 1, gCreditsText_BattleFrontierData};
static const struct CreditsEntry gCreditsEntry_SupportProgrammers[] = {10, 1, gCreditsText_SupportProgrammers};
static const struct CreditsEntry gCreditsEntry_Artwork[] = {12, 1, gCreditsText_Artwork};
static const struct CreditsEntry gCreditsEntry_LeadProgrammer[] = {10, 1, gCreditsText_LeadProgrammer};
static const struct CreditsEntry gCreditsEntry_LeadGraphicArtist[] = {9, 1, gCreditsText_LeadGraphicArtist};
static const struct CreditsEntry gCreditsEntry_SatoshiTajiri[] = {11, 0, gCreditsText_SatoshiTajiri};
static const struct CreditsEntry gCreditsEntry_JunichiMasuda[] = {11, 0, gCreditsText_JunichiMasuda};
static const struct CreditsEntry gCreditsEntry_KenSugimori[] = {11, 0, gCreditsText_KenSugimori};
static const struct CreditsEntry gCreditsEntry_ShigekiMorimoto[] = {11, 0, gCreditsText_ShigekiMorimoto};
static const struct CreditsEntry gCreditsEntry_TetsuyaWatanabe[] = {11, 0, gCreditsText_TetsuyaWatanabe};
static const struct CreditsEntry gCreditsEntry_HisashiSogabe[] = {11, 0, gCreditsText_HisashiSogabe};
static const struct CreditsEntry gCreditsEntry_SosukeTamada[] = {11, 0, gCreditsText_SosukeTamada};
static const struct CreditsEntry gCreditsEntry_AkitoMori[] = {11, 0, gCreditsText_AkitoMori};
static const struct CreditsEntry gCreditsEntry_KeitaKagaya[] = {11, 0, gCreditsText_KeitaKagaya};
static const struct CreditsEntry gCreditsEntry_YoshinoriMatsuda[] = {11, 0, gCreditsText_YoshinoriMatsuda};
static const struct CreditsEntry gCreditsEntry_HiroyukiNakamura[] = {11, 0, gCreditsText_HiroyukiNakamura};
static const struct CreditsEntry gCreditsEntry_MasaoTaya[] = {11, 0, gCreditsText_MasaoTaya};
static const struct CreditsEntry gCreditsEntry_SatoshiNohara[] = {11, 0, gCreditsText_SatoshiNohara};
static const struct CreditsEntry gCreditsEntry_TomomichiOhta[] = {11, 0, gCreditsText_TomomichiOhta};
static const struct CreditsEntry gCreditsEntry_MiyukiIwasawa[] = {11, 0, gCreditsText_MiyukiIwasawa};
static const struct CreditsEntry gCreditsEntry_TakenoriOhta[] = {11, 0, gCreditsText_TakenoriOhta};
static const struct CreditsEntry gCreditsEntry_HironobuYoshida[] = {11, 0, gCreditsText_HironobuYoshida};
static const struct CreditsEntry gCreditsEntry_MotofumiFujiwara[] = {11, 0, gCreditsText_MotofumiFujiwara};
static const struct CreditsEntry gCreditsEntry_SatoshiOhta[] = {11, 0, gCreditsText_SatoshiOhta};
static const struct CreditsEntry gCreditsEntry_AsukaIwashita[] = {11, 0, gCreditsText_AsukaIwashita};
static const struct CreditsEntry gCreditsEntry_AimiTomita[] = {11, 0, gCreditsText_AimiTomita};
static const struct CreditsEntry gCreditsEntry_TakaoUnno[] = {11, 0, gCreditsText_TakaoUnno};
static const struct CreditsEntry gCreditsEntry_KanakoEo[] = {11, 0, gCreditsText_KanakoEo};
static const struct CreditsEntry gCreditsEntry_JunOkutani[] = {11, 0, gCreditsText_JunOkutani};
static const struct CreditsEntry gCreditsEntry_AtsukoNishida[] = {11, 0, gCreditsText_AtsukoNishida};
static const struct CreditsEntry gCreditsEntry_MuneoSaito[] = {11, 0, gCreditsText_MuneoSaito};
static const struct CreditsEntry gCreditsEntry_RenaYoshikawa[] = {11, 0, gCreditsText_RenaYoshikawa};
static const struct CreditsEntry gCreditsEntry_GoIchinose[] = {11, 0, gCreditsText_GoIchinose};
static const struct CreditsEntry gCreditsEntry_MorikazuAoki[] = {11, 0, gCreditsText_MorikazuAoki};
static const struct CreditsEntry gCreditsEntry_KojiNishino[] = {11, 0, gCreditsText_KojiNishino};
static const struct CreditsEntry gCreditsEntry_KenjiMatsushima[] = {11, 0, gCreditsText_KenjiMatsushima};
static const struct CreditsEntry gCreditsEntry_TetsujiOhta[] = {11, 0, gCreditsText_TetsujiOhta};
static const struct CreditsEntry gCreditsEntry_HitomiSato[] = {11, 0, gCreditsText_HitomiSato};
static const struct CreditsEntry gCreditsEntry_TakeshiKawachimaru[] = {11, 0, gCreditsText_TakeshiKawachimaru};
static const struct CreditsEntry gCreditsEntry_TeruyukiShimoyamada[] = {11, 0, gCreditsText_TeruyukiShimoyamada};
static const struct CreditsEntry gCreditsEntry_ShigeruOhmori[] = {11, 0, gCreditsText_ShigeruOhmori};
static const struct CreditsEntry gCreditsEntry_TadashiTakahashi[] = {11, 0, gCreditsText_TadashiTakahashi};
static const struct CreditsEntry gCreditsEntry_ToshinobuMatsumiya[] = {11, 0, gCreditsText_ToshinobuMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkihitoTomisawa[] = {11, 0, gCreditsText_AkihitoTomisawa};
static const struct CreditsEntry gCreditsEntry_HirokiEnomoto[] = {11, 0, gCreditsText_HirokiEnomoto};
static const struct CreditsEntry gCreditsEntry_KazuyukiTerada[] = {11, 0, gCreditsText_KazuyukiTerada};
static const struct CreditsEntry gCreditsEntry_YuriSakurai[] = {11, 0, gCreditsText_YuriSakurai};
static const struct CreditsEntry gCreditsEntry_HiromiSagawa[] = {11, 0, gCreditsText_HiromiSagawa};
static const struct CreditsEntry gCreditsEntry_KenjiTominaga[] = {11, 0, gCreditsText_KenjiTominaga};
static const struct CreditsEntry gCreditsEntry_YoshioTajiri[] = {11, 0, gCreditsText_YoshioTajiri};
static const struct CreditsEntry gCreditsEntry_TeikoSasaki[] = {11, 0, gCreditsText_TeikoSasaki};
static const struct CreditsEntry gCreditsEntry_SachikoHamano[] = {11, 0, gCreditsText_SachikoHamano};
static const struct CreditsEntry gCreditsEntry_ChieMatsumiya[] = {11, 0, gCreditsText_ChieMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkikoShinozaki[] = {11, 0, gCreditsText_AkikoShinozaki};
static const struct CreditsEntry gCreditsEntry_AstukoFujii[] = {11, 0, gCreditsText_AstukoFujii};
static const struct CreditsEntry gCreditsEntry_NozomuSaito[] = {11, 0, gCreditsText_NozomuSaito};
static const struct CreditsEntry gCreditsEntry_KenkichiToyama[] = {11, 0, gCreditsText_KenkichiToyama};
static const struct CreditsEntry gCreditsEntry_SuguruNakatsui[] = {11, 0, gCreditsText_SuguruNakatsui};
static const struct CreditsEntry gCreditsEntry_YumiFunasaka[] = {11, 0, gCreditsText_YumiFunasaka};
static const struct CreditsEntry gCreditsEntry_NaokoYanase[] = {11, 0, gCreditsText_NaokoYanase};
static const struct CreditsEntry gCreditsEntry_NCLSuperMarioClub[] = {11, 0, gCreditsText_NCLSuperMarioClub};
static const struct CreditsEntry gCreditsEntry_AtsushiTada[] = {11, 0, gCreditsText_AtsushiTada};
static const struct CreditsEntry gCreditsEntry_TakahiroOhnishi[] = {11, 0, gCreditsText_TakahiroOhnishi};
static const struct CreditsEntry gCreditsEntry_NorihideOkamura[] = {11, 0, gCreditsText_NorihideOkamura};
static const struct CreditsEntry gCreditsEntry_HiroNakamura[] = {11, 0, gCreditsText_HiroNakamura};
static const struct CreditsEntry gCreditsEntry_HiroyukiUesugi[] = {11, 0, gCreditsText_HiroyukiUesugi};
static const struct CreditsEntry gCreditsEntry_TerukiMurakawa[] = {11, 0, gCreditsText_TerukiMurakawa};
static const struct CreditsEntry gCreditsEntry_AkiraKinashi[] = {11, 0, gCreditsText_AkiraKinashi};
static const struct CreditsEntry gCreditsEntry_MichikoTakizawa[] = {11, 0, gCreditsText_MichikoTakizawa};
static const struct CreditsEntry gCreditsEntry_MakikoTakada[] = {11, 0, gCreditsText_MakikoTakada};
static const struct CreditsEntry gCreditsEntry_TakanaoKondo[] = {11, 0, gCreditsText_TakanaoKondo};
static const struct CreditsEntry gCreditsEntry_AiMashima[] = {11, 0, gCreditsText_AiMashima};
static const struct CreditsEntry gCreditsEntry_GakujiNomoto[] = {11, 0, gCreditsText_GakujiNomoto};
static const struct CreditsEntry gCreditsEntry_TakehiroIzushi[] = {11, 0, gCreditsText_TakehiroIzushi};
static const struct CreditsEntry gCreditsEntry_HitoshiYamagami[] = {11, 0, gCreditsText_HitoshiYamagami};
static const struct CreditsEntry gCreditsEntry_KyokoWatanabe[] = {11, 0, gCreditsText_KyokoWatanabe};
static const struct CreditsEntry gCreditsEntry_TakaoNakano[] = {11, 0, gCreditsText_TakaoNakano};
static const struct CreditsEntry gCreditsEntry_HiroyukiJinnai[] = {11, 0, gCreditsText_HiroyukiJinnai};
static const struct CreditsEntry gCreditsEntry_HiroakiTsuru[] = {11, 0, gCreditsText_HiroakiTsuru};
static const struct CreditsEntry gCreditsEntry_TsunekazIshihara[] = {11, 0, gCreditsText_TsunekazIshihara};
static const struct CreditsEntry gCreditsEntry_SatoruIwata[] = {11, 0, gCreditsText_SatoruIwata};
static const struct CreditsEntry gCreditsEntry_KazuyaSuyama[] = {11, 0, gCreditsText_KazuyaSuyama};
static const struct CreditsEntry gCreditsEntry_SatoshiMitsuhara[] = {11, 0, gCreditsText_SatoshiMitsuhara};
static const struct CreditsEntry gCreditsEntry_JapanBrailleLibrary[] = {9, 0, gCreditsText_JapanBrailleLibrary};
static const struct CreditsEntry gCreditsEntry_TomotakaKomura[] = {11, 0, gCreditsText_TomotakaKomura};
static const struct CreditsEntry gCreditsEntry_MikikoOhhashi[] = {11, 0, gCreditsText_MikikoOhhashi};
static const struct CreditsEntry gCreditsEntry_DaisukeHoshino[] = {11, 0, gCreditsText_DaisukeHoshino};
static const struct CreditsEntry gCreditsEntry_KenjiroIto[] = {11, 0, gCreditsText_KenjiroIto};
static const struct CreditsEntry gCreditsEntry_RuiKawaguchi[] = {11, 0, gCreditsText_RuiKawaguchi};
static const struct CreditsEntry gCreditsEntry_ShunsukeKohori[] = {11, 0, gCreditsText_ShunsukeKohori};
static const struct CreditsEntry gCreditsEntry_SachikoNakamichi[] = {11, 0, gCreditsText_SachikoNakamichi};
static const struct CreditsEntry gCreditsEntry_FujikoNomura[] = {11, 0, gCreditsText_FujikoNomura};
static const struct CreditsEntry gCreditsEntry_KazukiYoshihara[] = {11, 0, gCreditsText_KazukiYoshihara};
static const struct CreditsEntry gCreditsEntry_RetsujiNomoto[] = {11, 0, gCreditsText_RetsujiNomoto};
static const struct CreditsEntry gCreditsEntry_AzusaTajima[] = {11, 0, gCreditsText_AzusaTajima};
static const struct CreditsEntry gCreditsEntry_ShusakuEgami[] = {11, 0, gCreditsText_ShusakuEgami};
static const struct CreditsEntry gCreditsEntry_PackageAndManual[] = {0, 1, gCreditsText_PackageAndManual};
static const struct CreditsEntry gCreditsEntry_EnglishVersion[] = {0, 1, gCreditsText_EnglishVersion};
static const struct CreditsEntry gCreditsEntry_Translator[] = {0, 1, gCreditsText_Translator};
static const struct CreditsEntry gCreditsEntry_TextEditor[] = {0, 1, gCreditsText_TextEditor};
static const struct CreditsEntry gCreditsEntry_NCLCoordinator[] = {0, 1, gCreditsText_NCLCoordinator};
static const struct CreditsEntry gCreditsEntry_GraphicDesigner[] = {0, 1, gCreditsText_GraphicDesigner};
static const struct CreditsEntry gCreditsEntry_NOAProductTesting[] = {0, 1, gCreditsText_NOAProductTesting};
static const struct CreditsEntry gCreditsEntry_HideyukiNakajima[] = {0, 0, gCreditsText_HideyukiNakajima};
static const struct CreditsEntry gCreditsEntry_HidenoriSaeki[] = {0, 0, gCreditsText_HidenoriSaeki};
static const struct CreditsEntry gCreditsEntry_YokoWatanabe[] = {0, 0, gCreditsText_YokoWatanabe};
static const struct CreditsEntry gCreditsEntry_SakaeKimura[] = {0, 0, gCreditsText_SakaeKimura};
static const struct CreditsEntry gCreditsEntry_ChiakiShinkai[] = {0, 0, gCreditsText_ChiakiShinkai};
static const struct CreditsEntry gCreditsEntry_SethMcMahill[] = {0, 0, gCreditsText_SethMcMahill};
static const struct CreditsEntry gCreditsEntry_NobOgasawara[] = {0, 0, gCreditsText_NobOgasawara};
static const struct CreditsEntry gCreditsEntry_TeresaLillygren[] = {0, 0, gCreditsText_TeresaLillygren};
static const struct CreditsEntry gCreditsEntry_KimikoNakamichi[] = {0, 0, gCreditsText_KimikoNakamichi};
static const struct CreditsEntry gCreditsEntry_SouichiYamamoto[] = {0, 0, gCreditsText_SouichiYamamoto};
static const struct CreditsEntry gCreditsEntry_YuichiroIto[] = {0, 0, gCreditsText_YuichiroIto};
static const struct CreditsEntry gCreditsEntry_ThomasHertzog[] = {0, 0, gCreditsText_ThomasHertzog};
static const struct CreditsEntry gCreditsEntry_MikaKurosawa[] = {0, 0, gCreditsText_MikaKurosawa};
static const struct CreditsEntry gCreditsEntry_NationalFederationBlind[] = {0, 0, gCreditsText_NationalFederationBlind};
static const struct CreditsEntry gCreditsEntry_PatriciaAMaurer[] = {0, 0, gCreditsText_PatriciaAMaurer};
static const struct CreditsEntry gCreditsEntry_EuropeanBlindUnion[] = {0, 0, gCreditsText_EuropeanBlindUnion};
static const struct CreditsEntry gCreditsEntry_AustralianBrailleAuthority[] = {0, 0, gCreditsText_AustralianBrailleAuthority};
static const struct CreditsEntry gCreditsEntry_RoyalNewZealandFederationBlind[] = {0, 0, gCreditsText_RoyalNewZealandFederationBlind};
static const struct CreditsEntry gCreditsEntry_MotoyasuTojima[] = {0, 0, gCreditsText_MotoyasuTojima};
static const struct CreditsEntry gCreditsEntry_NicolaPrattBarlow[] = {0, 0, gCreditsText_NicolaPrattBarlow};
static const struct CreditsEntry gCreditsEntry_ShellieDow[] = {0, 0, gCreditsText_ShellieDow};
static const struct CreditsEntry gCreditsEntry_ErikJohnson[] = {0, 0, gCreditsText_ErikJohnson};
static const struct CreditsEntry gCreditsEntry_EmptyString[] = {0, FALSE, gCreditsText_EmptyString};
static const struct CreditsEntry gCreditsEntry_PkmnEmeraldVersion[] = {7, TRUE, gCreditsText_PkmnEmeraldVersion};
static const struct CreditsEntry gCreditsEntry_Credits[] = {11, TRUE, gCreditsText_Credits};
static const struct CreditsEntry gCreditsEntry_ExecutiveDirector[] = {8, TRUE, gCreditsText_ExecutiveDirector};
static const struct CreditsEntry gCreditsEntry_Director[] = {12, TRUE, gCreditsText_Director};
static const struct CreditsEntry gCreditsEntry_ArtDirector[] = {10, TRUE, gCreditsText_ArtDirector};
static const struct CreditsEntry gCreditsEntry_BattleDirector[] = {10, TRUE, gCreditsText_BattleDirector};
static const struct CreditsEntry gCreditsEntry_MainProgrammer[] = {10, TRUE, gCreditsText_MainProgrammer};
static const struct CreditsEntry gCreditsEntry_BattleSystemPgrms[] = {8, TRUE, gCreditsText_BattleSystemPgrms};
static const struct CreditsEntry gCreditsEntry_FieldSystemPgrms[] = {7, TRUE, gCreditsText_FieldSystemPgrms};
static const struct CreditsEntry gCreditsEntry_Programmers[] = {12, TRUE, gCreditsText_Programmers};
static const struct CreditsEntry gCreditsEntry_MainGraphicDesigner[] = {7, TRUE, gCreditsText_MainGraphicDesigner};
static const struct CreditsEntry gCreditsEntry_GraphicDesigners[] = {9, TRUE, gCreditsText_GraphicDesigners};
static const struct CreditsEntry gCreditsEntry_PkmnDesigners[] = {10, TRUE, gCreditsText_PkmnDesigners};
static const struct CreditsEntry gCreditsEntry_MusicComposition[] = {13, TRUE, gCreditsText_MusicComposition};
static const struct CreditsEntry gCreditsEntry_SoundEffectsAndPkmnVoices[] = {4, TRUE, gCreditsText_SoundEffectsAndPkmnVoices};
static const struct CreditsEntry gCreditsEntry_GameDesigners[] = {11, TRUE, gCreditsText_GameDesigners};
static const struct CreditsEntry gCreditsEntry_ScenarioPlot[] = {11, TRUE, gCreditsText_ScenarioPlot};
static const struct CreditsEntry gCreditsEntry_Scenario[] = {13, TRUE, gCreditsText_Scenario};
static const struct CreditsEntry gCreditsEntry_ScriptDesigners[] = {10, TRUE, gCreditsText_ScriptDesigners};
static const struct CreditsEntry gCreditsEntry_MapDesigners[] = {11, TRUE, gCreditsText_MapDesigners};
static const struct CreditsEntry gCreditsEntry_MapDataDesigners[] = {9, TRUE, gCreditsText_MapDataDesigners};
static const struct CreditsEntry gCreditsEntry_ParametricDesigners[] = {9, TRUE, gCreditsText_ParametricDesigners};
static const struct CreditsEntry gCreditsEntry_PokedexText[] = {11, TRUE, gCreditsText_PokedexText};
static const struct CreditsEntry gCreditsEntry_EnvAndToolPgrms[] = {6, TRUE, gCreditsText_EnvAndToolPgrms};
static const struct CreditsEntry gCreditsEntry_NCLProductTesting[] = {11, TRUE, gCreditsText_NCLProductTesting};
static const struct CreditsEntry gCreditsEntry_SpecialThanks[] = {10, TRUE, gCreditsText_SpecialThanks};
static const struct CreditsEntry gCreditsEntry_Coordinators[] = {11, TRUE, gCreditsText_Coordinators};
static const struct CreditsEntry gCreditsEntry_Producers[] = {11, TRUE, gCreditsText_Producers};
static const struct CreditsEntry gCreditsEntry_ExecProducers[] = {7, TRUE, gCreditsText_ExecProducers};
static const struct CreditsEntry gCreditsEntry_InfoSupervisors[] = {10, TRUE, gCreditsText_InfoSupervisors};
static const struct CreditsEntry gCreditsEntry_TaskManagers[] = {8, TRUE, gCreditsText_TaskManagers};
static const struct CreditsEntry gCreditsEntry_BrailleCodeCheck[] = {10, TRUE, gCreditsText_BrailleCodeCheck};
static const struct CreditsEntry gCreditsEntry_WorldDirector[] = {10, TRUE, gCreditsText_WorldDirector};
static const struct CreditsEntry gCreditsEntry_BattleFrontierData[] = {8, TRUE, gCreditsText_BattleFrontierData};
static const struct CreditsEntry gCreditsEntry_SupportProgrammers[] = {10, TRUE, gCreditsText_SupportProgrammers};
static const struct CreditsEntry gCreditsEntry_Artwork[] = {12, TRUE, gCreditsText_Artwork};
static const struct CreditsEntry gCreditsEntry_LeadProgrammer[] = {10, TRUE, gCreditsText_LeadProgrammer};
static const struct CreditsEntry gCreditsEntry_LeadGraphicArtist[] = {9, TRUE, gCreditsText_LeadGraphicArtist};
static const struct CreditsEntry gCreditsEntry_SatoshiTajiri[] = {11, FALSE, gCreditsText_SatoshiTajiri};
static const struct CreditsEntry gCreditsEntry_JunichiMasuda[] = {11, FALSE, gCreditsText_JunichiMasuda};
static const struct CreditsEntry gCreditsEntry_KenSugimori[] = {11, FALSE, gCreditsText_KenSugimori};
static const struct CreditsEntry gCreditsEntry_ShigekiMorimoto[] = {11, FALSE, gCreditsText_ShigekiMorimoto};
static const struct CreditsEntry gCreditsEntry_TetsuyaWatanabe[] = {11, FALSE, gCreditsText_TetsuyaWatanabe};
static const struct CreditsEntry gCreditsEntry_HisashiSogabe[] = {11, FALSE, gCreditsText_HisashiSogabe};
static const struct CreditsEntry gCreditsEntry_SosukeTamada[] = {11, FALSE, gCreditsText_SosukeTamada};
static const struct CreditsEntry gCreditsEntry_AkitoMori[] = {11, FALSE, gCreditsText_AkitoMori};
static const struct CreditsEntry gCreditsEntry_KeitaKagaya[] = {11, FALSE, gCreditsText_KeitaKagaya};
static const struct CreditsEntry gCreditsEntry_YoshinoriMatsuda[] = {11, FALSE, gCreditsText_YoshinoriMatsuda};
static const struct CreditsEntry gCreditsEntry_HiroyukiNakamura[] = {11, FALSE, gCreditsText_HiroyukiNakamura};
static const struct CreditsEntry gCreditsEntry_MasaoTaya[] = {11, FALSE, gCreditsText_MasaoTaya};
static const struct CreditsEntry gCreditsEntry_SatoshiNohara[] = {11, FALSE, gCreditsText_SatoshiNohara};
static const struct CreditsEntry gCreditsEntry_TomomichiOhta[] = {11, FALSE, gCreditsText_TomomichiOhta};
static const struct CreditsEntry gCreditsEntry_MiyukiIwasawa[] = {11, FALSE, gCreditsText_MiyukiIwasawa};
static const struct CreditsEntry gCreditsEntry_TakenoriOhta[] = {11, FALSE, gCreditsText_TakenoriOhta};
static const struct CreditsEntry gCreditsEntry_HironobuYoshida[] = {11, FALSE, gCreditsText_HironobuYoshida};
static const struct CreditsEntry gCreditsEntry_MotofumiFujiwara[] = {11, FALSE, gCreditsText_MotofumiFujiwara};
static const struct CreditsEntry gCreditsEntry_SatoshiOhta[] = {11, FALSE, gCreditsText_SatoshiOhta};
static const struct CreditsEntry gCreditsEntry_AsukaIwashita[] = {11, FALSE, gCreditsText_AsukaIwashita};
static const struct CreditsEntry gCreditsEntry_AimiTomita[] = {11, FALSE, gCreditsText_AimiTomita};
static const struct CreditsEntry gCreditsEntry_TakaoUnno[] = {11, FALSE, gCreditsText_TakaoUnno};
static const struct CreditsEntry gCreditsEntry_KanakoEo[] = {11, FALSE, gCreditsText_KanakoEo};
static const struct CreditsEntry gCreditsEntry_JunOkutani[] = {11, FALSE, gCreditsText_JunOkutani};
static const struct CreditsEntry gCreditsEntry_AtsukoNishida[] = {11, FALSE, gCreditsText_AtsukoNishida};
static const struct CreditsEntry gCreditsEntry_MuneoSaito[] = {11, FALSE, gCreditsText_MuneoSaito};
static const struct CreditsEntry gCreditsEntry_RenaYoshikawa[] = {11, FALSE, gCreditsText_RenaYoshikawa};
static const struct CreditsEntry gCreditsEntry_GoIchinose[] = {11, FALSE, gCreditsText_GoIchinose};
static const struct CreditsEntry gCreditsEntry_MorikazuAoki[] = {11, FALSE, gCreditsText_MorikazuAoki};
static const struct CreditsEntry gCreditsEntry_KojiNishino[] = {11, FALSE, gCreditsText_KojiNishino};
static const struct CreditsEntry gCreditsEntry_KenjiMatsushima[] = {11, FALSE, gCreditsText_KenjiMatsushima};
static const struct CreditsEntry gCreditsEntry_TetsujiOhta[] = {11, FALSE, gCreditsText_TetsujiOhta};
static const struct CreditsEntry gCreditsEntry_HitomiSato[] = {11, FALSE, gCreditsText_HitomiSato};
static const struct CreditsEntry gCreditsEntry_TakeshiKawachimaru[] = {11, FALSE, gCreditsText_TakeshiKawachimaru};
static const struct CreditsEntry gCreditsEntry_TeruyukiShimoyamada[] = {11, FALSE, gCreditsText_TeruyukiShimoyamada};
static const struct CreditsEntry gCreditsEntry_ShigeruOhmori[] = {11, FALSE, gCreditsText_ShigeruOhmori};
static const struct CreditsEntry gCreditsEntry_TadashiTakahashi[] = {11, FALSE, gCreditsText_TadashiTakahashi};
static const struct CreditsEntry gCreditsEntry_ToshinobuMatsumiya[] = {11, FALSE, gCreditsText_ToshinobuMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkihitoTomisawa[] = {11, FALSE, gCreditsText_AkihitoTomisawa};
static const struct CreditsEntry gCreditsEntry_HirokiEnomoto[] = {11, FALSE, gCreditsText_HirokiEnomoto};
static const struct CreditsEntry gCreditsEntry_KazuyukiTerada[] = {11, FALSE, gCreditsText_KazuyukiTerada};
static const struct CreditsEntry gCreditsEntry_YuriSakurai[] = {11, FALSE, gCreditsText_YuriSakurai};
static const struct CreditsEntry gCreditsEntry_HiromiSagawa[] = {11, FALSE, gCreditsText_HiromiSagawa};
static const struct CreditsEntry gCreditsEntry_KenjiTominaga[] = {11, FALSE, gCreditsText_KenjiTominaga};
static const struct CreditsEntry gCreditsEntry_YoshioTajiri[] = {11, FALSE, gCreditsText_YoshioTajiri};
static const struct CreditsEntry gCreditsEntry_TeikoSasaki[] = {11, FALSE, gCreditsText_TeikoSasaki};
static const struct CreditsEntry gCreditsEntry_SachikoHamano[] = {11, FALSE, gCreditsText_SachikoHamano};
static const struct CreditsEntry gCreditsEntry_ChieMatsumiya[] = {11, FALSE, gCreditsText_ChieMatsumiya};
static const struct CreditsEntry gCreditsEntry_AkikoShinozaki[] = {11, FALSE, gCreditsText_AkikoShinozaki};
static const struct CreditsEntry gCreditsEntry_AstukoFujii[] = {11, FALSE, gCreditsText_AstukoFujii};
static const struct CreditsEntry gCreditsEntry_NozomuSaito[] = {11, FALSE, gCreditsText_NozomuSaito};
static const struct CreditsEntry gCreditsEntry_KenkichiToyama[] = {11, FALSE, gCreditsText_KenkichiToyama};
static const struct CreditsEntry gCreditsEntry_SuguruNakatsui[] = {11, FALSE, gCreditsText_SuguruNakatsui};
static const struct CreditsEntry gCreditsEntry_YumiFunasaka[] = {11, FALSE, gCreditsText_YumiFunasaka};
static const struct CreditsEntry gCreditsEntry_NaokoYanase[] = {11, FALSE, gCreditsText_NaokoYanase};
static const struct CreditsEntry gCreditsEntry_NCLSuperMarioClub[] = {11, FALSE, gCreditsText_NCLSuperMarioClub};
static const struct CreditsEntry gCreditsEntry_AtsushiTada[] = {11, FALSE, gCreditsText_AtsushiTada};
static const struct CreditsEntry gCreditsEntry_TakahiroOhnishi[] = {11, FALSE, gCreditsText_TakahiroOhnishi};
static const struct CreditsEntry gCreditsEntry_NorihideOkamura[] = {11, FALSE, gCreditsText_NorihideOkamura};
static const struct CreditsEntry gCreditsEntry_HiroNakamura[] = {11, FALSE, gCreditsText_HiroNakamura};
static const struct CreditsEntry gCreditsEntry_HiroyukiUesugi[] = {11, FALSE, gCreditsText_HiroyukiUesugi};
static const struct CreditsEntry gCreditsEntry_TerukiMurakawa[] = {11, FALSE, gCreditsText_TerukiMurakawa};
static const struct CreditsEntry gCreditsEntry_AkiraKinashi[] = {11, FALSE, gCreditsText_AkiraKinashi};
static const struct CreditsEntry gCreditsEntry_MichikoTakizawa[] = {11, FALSE, gCreditsText_MichikoTakizawa};
static const struct CreditsEntry gCreditsEntry_MakikoTakada[] = {11, FALSE, gCreditsText_MakikoTakada};
static const struct CreditsEntry gCreditsEntry_TakanaoKondo[] = {11, FALSE, gCreditsText_TakanaoKondo};
static const struct CreditsEntry gCreditsEntry_AiMashima[] = {11, FALSE, gCreditsText_AiMashima};
static const struct CreditsEntry gCreditsEntry_GakujiNomoto[] = {11, FALSE, gCreditsText_GakujiNomoto};
static const struct CreditsEntry gCreditsEntry_TakehiroIzushi[] = {11, FALSE, gCreditsText_TakehiroIzushi};
static const struct CreditsEntry gCreditsEntry_HitoshiYamagami[] = {11, FALSE, gCreditsText_HitoshiYamagami};
static const struct CreditsEntry gCreditsEntry_KyokoWatanabe[] = {11, FALSE, gCreditsText_KyokoWatanabe};
static const struct CreditsEntry gCreditsEntry_TakaoNakano[] = {11, FALSE, gCreditsText_TakaoNakano};
static const struct CreditsEntry gCreditsEntry_HiroyukiJinnai[] = {11, FALSE, gCreditsText_HiroyukiJinnai};
static const struct CreditsEntry gCreditsEntry_HiroakiTsuru[] = {11, FALSE, gCreditsText_HiroakiTsuru};
static const struct CreditsEntry gCreditsEntry_TsunekazIshihara[] = {11, FALSE, gCreditsText_TsunekazIshihara};
static const struct CreditsEntry gCreditsEntry_SatoruIwata[] = {11, FALSE, gCreditsText_SatoruIwata};
static const struct CreditsEntry gCreditsEntry_KazuyaSuyama[] = {11, FALSE, gCreditsText_KazuyaSuyama};
static const struct CreditsEntry gCreditsEntry_SatoshiMitsuhara[] = {11, FALSE, gCreditsText_SatoshiMitsuhara};
static const struct CreditsEntry gCreditsEntry_JapanBrailleLibrary[] = {9, FALSE, gCreditsText_JapanBrailleLibrary};
static const struct CreditsEntry gCreditsEntry_TomotakaKomura[] = {11, FALSE, gCreditsText_TomotakaKomura};
static const struct CreditsEntry gCreditsEntry_MikikoOhhashi[] = {11, FALSE, gCreditsText_MikikoOhhashi};
static const struct CreditsEntry gCreditsEntry_DaisukeHoshino[] = {11, FALSE, gCreditsText_DaisukeHoshino};
static const struct CreditsEntry gCreditsEntry_KenjiroIto[] = {11, FALSE, gCreditsText_KenjiroIto};
static const struct CreditsEntry gCreditsEntry_RuiKawaguchi[] = {11, FALSE, gCreditsText_RuiKawaguchi};
static const struct CreditsEntry gCreditsEntry_ShunsukeKohori[] = {11, FALSE, gCreditsText_ShunsukeKohori};
static const struct CreditsEntry gCreditsEntry_SachikoNakamichi[] = {11, FALSE, gCreditsText_SachikoNakamichi};
static const struct CreditsEntry gCreditsEntry_FujikoNomura[] = {11, FALSE, gCreditsText_FujikoNomura};
static const struct CreditsEntry gCreditsEntry_KazukiYoshihara[] = {11, FALSE, gCreditsText_KazukiYoshihara};
static const struct CreditsEntry gCreditsEntry_RetsujiNomoto[] = {11, FALSE, gCreditsText_RetsujiNomoto};
static const struct CreditsEntry gCreditsEntry_AzusaTajima[] = {11, FALSE, gCreditsText_AzusaTajima};
static const struct CreditsEntry gCreditsEntry_ShusakuEgami[] = {11, FALSE, gCreditsText_ShusakuEgami};
static const struct CreditsEntry gCreditsEntry_PackageAndManual[] = {0, TRUE, gCreditsText_PackageAndManual};
static const struct CreditsEntry gCreditsEntry_EnglishVersion[] = {0, TRUE, gCreditsText_EnglishVersion};
static const struct CreditsEntry gCreditsEntry_Translator[] = {0, TRUE, gCreditsText_Translator};
static const struct CreditsEntry gCreditsEntry_TextEditor[] = {0, TRUE, gCreditsText_TextEditor};
static const struct CreditsEntry gCreditsEntry_NCLCoordinator[] = {0, TRUE, gCreditsText_NCLCoordinator};
static const struct CreditsEntry gCreditsEntry_GraphicDesigner[] = {0, TRUE, gCreditsText_GraphicDesigner};
static const struct CreditsEntry gCreditsEntry_NOAProductTesting[] = {0, TRUE, gCreditsText_NOAProductTesting};
static const struct CreditsEntry gCreditsEntry_HideyukiNakajima[] = {0, FALSE, gCreditsText_HideyukiNakajima};
static const struct CreditsEntry gCreditsEntry_HidenoriSaeki[] = {0, FALSE, gCreditsText_HidenoriSaeki};
static const struct CreditsEntry gCreditsEntry_YokoWatanabe[] = {0, FALSE, gCreditsText_YokoWatanabe};
static const struct CreditsEntry gCreditsEntry_SakaeKimura[] = {0, FALSE, gCreditsText_SakaeKimura};
static const struct CreditsEntry gCreditsEntry_ChiakiShinkai[] = {0, FALSE, gCreditsText_ChiakiShinkai};
static const struct CreditsEntry gCreditsEntry_SethMcMahill[] = {0, FALSE, gCreditsText_SethMcMahill};
static const struct CreditsEntry gCreditsEntry_NobOgasawara[] = {0, FALSE, gCreditsText_NobOgasawara};
static const struct CreditsEntry gCreditsEntry_TeresaLillygren[] = {0, FALSE, gCreditsText_TeresaLillygren};
static const struct CreditsEntry gCreditsEntry_KimikoNakamichi[] = {0, FALSE, gCreditsText_KimikoNakamichi};
static const struct CreditsEntry gCreditsEntry_SouichiYamamoto[] = {0, FALSE, gCreditsText_SouichiYamamoto};
static const struct CreditsEntry gCreditsEntry_YuichiroIto[] = {0, FALSE, gCreditsText_YuichiroIto};
static const struct CreditsEntry gCreditsEntry_ThomasHertzog[] = {0, FALSE, gCreditsText_ThomasHertzog};
static const struct CreditsEntry gCreditsEntry_MikaKurosawa[] = {0, FALSE, gCreditsText_MikaKurosawa};
static const struct CreditsEntry gCreditsEntry_NationalFederationBlind[] = {0, FALSE, gCreditsText_NationalFederationBlind};
static const struct CreditsEntry gCreditsEntry_PatriciaAMaurer[] = {0, FALSE, gCreditsText_PatriciaAMaurer};
static const struct CreditsEntry gCreditsEntry_EuropeanBlindUnion[] = {0, FALSE, gCreditsText_EuropeanBlindUnion};
static const struct CreditsEntry gCreditsEntry_AustralianBrailleAuthority[] = {0, FALSE, gCreditsText_AustralianBrailleAuthority};
static const struct CreditsEntry gCreditsEntry_RoyalNewZealandFederationBlind[] = {0, FALSE, gCreditsText_RoyalNewZealandFederationBlind};
static const struct CreditsEntry gCreditsEntry_MotoyasuTojima[] = {0, FALSE, gCreditsText_MotoyasuTojima};
static const struct CreditsEntry gCreditsEntry_NicolaPrattBarlow[] = {0, FALSE, gCreditsText_NicolaPrattBarlow};
static const struct CreditsEntry gCreditsEntry_ShellieDow[] = {0, FALSE, gCreditsText_ShellieDow};
static const struct CreditsEntry gCreditsEntry_ErikJohnson[] = {0, FALSE, gCreditsText_ErikJohnson};
#define _ gCreditsEntry_EmptyString
static const struct CreditsEntry *const gCreditsEntryPointerTable[][5] =
@@ -934,7 +934,7 @@ static const struct CreditsEntry *const gCreditsEntryPointerTable[][5] =
};
#undef _
static const struct BgTemplate gUnknown_085E6F68[] =
static const struct BgTemplate sBackgroundTemplates[] =
{
{
.bg = 0,
@@ -946,7 +946,7 @@ static const struct BgTemplate gUnknown_085E6F68[] =
.baseTile = 0
},
};
static const struct WindowTemplate gUnknown_085E6F6C[] =
static const struct WindowTemplate sWindowTemplates[] =
{
{
.bg = 0,
@@ -1102,51 +1102,51 @@ static const struct SpriteTemplate gUnknown_085E7068 =
.callback = sub_81772B8,
};
static void sub_8175744(u8 taskIdA);
static void sub_8175774(u8 taskIdA);
static void Task_WaitPaletteFade(u8 taskIdA);
static void Task_ProgressCreditTasks(u8 taskIdA);
static void sub_8175808(u8 taskIdA);
static void c2_080C9BFC(u8 taskIdA);
static void sub_81758E4(u8 taskIdA);
static void Task_CreditsLoadGrassScene(u8 taskIdA);
static void sub_81758A4(u8 taskIdA);
static void sub_8175A9C(u8 taskIdA);
static void sub_8175AE4(u8 taskIdA);
static void sub_8175B1C(u8 taskIdA);
static void sub_8175B90(u8 taskIdA);
static void sub_8175BD8(u8 taskIdA);
static void sub_8175C34(u8 taskIdA);
static void sub_8175CC8(u8 taskIdA);
static void sub_8175CE4(void);
static void Task_CreditsTheEnd1(u8 taskIdA);
static void Task_CreditsTheEnd2(u8 taskIdA);
static void Task_CreditsTheEnd3(u8 taskIdA);
static void Task_CreditsTheEnd4(u8 taskIdA);
static void Task_CreditsTheEnd5(u8 taskIdA);
static void Task_CreditsTheEnd6(u8 taskIdA);
static void Task_CreditsSoftReset(u8 taskIdA);
static void ResetGpuAndVram(void);
static void sub_8175DA0(u8 taskIdB);
static u8 sub_817603C(u8 page, u8 taskIdA);
static u8 CheckChangeScene(u8 page, u8 taskIdA);
static void sub_81760FC(u8 taskIdA);
static void sub_817651C(u8 taskIdA);
static void sub_817624C(u8 taskIdA);
static bool8 sub_8176AB0(u8 data, u8 taskIdA);
static void sub_8176CA0(u8 taskIdA);
static void sub_8176D1C(u16, u16, u16);
static void ResetCreditsTasks(u8 taskIdA);
static void LoadTheEndScreen(u16, u16, u16);
static void sub_8176E40(u16 arg0, u16 palette);
static void sub_8176EE8(struct Sprite *sprite);
static void sub_8176F90(struct Sprite *sprite);
static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position);
static void sub_8177388(void);
static void sub_81754C8(void)
static void CreditsVBlankCallback(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
static void sub_81754DC(void)
static void CB2_RunCreditsSequence(void)
{
RunTasks();
AnimateSprites();
if ((gMain.heldKeys & B_BUTTON)
&& gHasHallOfFameRecords != 0
&& gTasks[gUnknown_0203BCE2].func == sub_8175774)
&& gTasks[gUnknown_0203BCE2].func == Task_ProgressCreditTasks)
{
sub_81754C8();
CreditsVBlankCallback();
RunTasks();
AnimateSprites();
gUnknown_0203BCE5 = 1;
@@ -1158,10 +1158,10 @@ static void sub_81754DC(void)
static void sub_8175548(void)
{
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085E6F68, 1);
InitBgsFromTemplates(0, sBackgroundTemplates, 1);
SetBgTilemapBuffer(0, AllocZeroed(0x800));
LoadPalette(gUnknown_085E56F0, 0x80, 0x40);
InitWindows(gUnknown_085E6F6C);
InitWindows(sWindowTemplates);
DeactivateAllTextPrinters();
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
@@ -1177,14 +1177,14 @@ static void sub_81755A4(void)
Free(ptr);
}
static void sub_81755BC(const u8 *string, u8 y, u8 a2)
static void PrintCreditsText(const u8 *string, u8 y, bool8 isTitle)
{
u8 x;
u8 color[3];
color[0] = 0;
if (a2 == 1)
if (isTitle == TRUE)
{
color[1] = 3;
color[2] = 4;
@@ -1199,20 +1199,20 @@ static void sub_81755BC(const u8 *string, u8 y, u8 a2)
AddTextPrinterParameterized4(0, 1, x, y, 1, 0, color, -1, string);
}
void sub_8175620(void)
void CB2_StartCreditsSequence(void)
{
u8 taskIdA;
s16 taskIdC;
u8 taskIdB;
sub_8175CE4();
ResetGpuAndVram();
SetVBlankCallback(NULL);
InitHeap(gHeap, HEAP_SIZE);
ResetPaletteFade();
ResetTasks();
sub_8175548();
taskIdA = CreateTask(sub_8175744, 0);
taskIdA = CreateTask(Task_WaitPaletteFade, 0);
gTasks[taskIdA].data[TDA_4] = 0;
gTasks[taskIdA].data[TDA_7] = 0;
@@ -1237,9 +1237,9 @@ void sub_8175620(void)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(sub_81754C8);
SetVBlankCallback(CreditsVBlankCallback);
m4aSongNumStart(MUS_THANKFOR);
SetMainCallback2(sub_81754DC);
SetMainCallback2(CB2_RunCreditsSequence);
gUnknown_0203BCE5 = 0;
gUnknown_0203BCE8 = AllocZeroed(sizeof(struct Unk201C000));
@@ -1252,13 +1252,13 @@ void sub_8175620(void)
gUnknown_0203BCE2 = taskIdA;
}
static void sub_8175744(u8 taskIdA)
static void Task_WaitPaletteFade(u8 taskIdA)
{
if (!gPaletteFade.active)
gTasks[taskIdA].func = sub_8175774;
gTasks[taskIdA].func = Task_ProgressCreditTasks;
}
static void sub_8175774(u8 taskIdA)
static void Task_ProgressCreditTasks(u8 taskIdA)
{
u16 data1;
@@ -1270,7 +1270,7 @@ static void sub_8175774(u8 taskIdA)
gTasks[taskIdC].data[TDC_0] = 30;
gTasks[taskIdA].data[TDA_12] = 0x100;
gTasks[taskIdA].func = sub_8175A9C;
gTasks[taskIdA].func = Task_CreditsTheEnd1;
return;
}
@@ -1298,7 +1298,7 @@ static void sub_8175808(u8 taskIdA)
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
sub_8176CA0(taskIdA);
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = c2_080C9BFC;
}
}
@@ -1313,8 +1313,8 @@ static void c2_080C9BFC(u8 taskIdA)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
EnableInterrupts(INTR_FLAG_VBLANK);
SetVBlankCallback(sub_81754C8);
gTasks[taskIdA].func = sub_8175744;
SetVBlankCallback(CreditsVBlankCallback);
gTasks[taskIdA].func = Task_WaitPaletteFade;
}
}
@@ -1323,12 +1323,12 @@ static void sub_81758A4(u8 taskIdA)
if (!gPaletteFade.active)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
sub_8176CA0(taskIdA);
gTasks[taskIdA].func = sub_81758E4;
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = Task_CreditsLoadGrassScene;
}
}
static void sub_81758E4(u8 taskIdA)
static void Task_CreditsLoadGrassScene(u8 taskIdA)
{
switch (gMain.state)
{
@@ -1387,12 +1387,12 @@ static void sub_81758E4(u8 taskIdA)
gMain.state = 0;
gUnknown_0203BD28 = 0;
gTasks[taskIdA].func = sub_8175744;
gTasks[taskIdA].func = Task_WaitPaletteFade;
break;
}
}
static void sub_8175A9C(u8 taskIdA)
static void Task_CreditsTheEnd1(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_12])
{
@@ -1401,23 +1401,23 @@ static void sub_8175A9C(u8 taskIdA)
}
BeginNormalPaletteFade(0xFFFFFFFF, 12, 0, 16, RGB_BLACK);
gTasks[taskIdA].func = sub_8175AE4;
gTasks[taskIdA].func = Task_CreditsTheEnd2;
}
static void sub_8175AE4(u8 taskIdA)
static void Task_CreditsTheEnd2(u8 taskIdA)
{
if (!gPaletteFade.active)
{
sub_8176CA0(taskIdA);
gTasks[taskIdA].func = sub_8175B1C;
ResetCreditsTasks(taskIdA);
gTasks[taskIdA].func = Task_CreditsTheEnd3;
}
}
static void sub_8175B1C(u8 taskIdA)
static void Task_CreditsTheEnd3(u8 taskIdA)
{
sub_8175CE4();
ResetGpuAndVram();
ResetPaletteFade();
sub_8176D1C(0, 0x3800, 0);
LoadTheEndScreen(0, 0x3800, 0);
ResetSpriteData();
FreeAllSpritePalettes();
BeginNormalPaletteFade(0xFFFFFFFF, 8, 16, 0, RGB_BLACK);
@@ -1432,11 +1432,11 @@ static void sub_8175B1C(u8 taskIdA)
| DISPCNT_OBJ_1D_MAP
| DISPCNT_BG0_ON);
gTasks[taskIdA].data[TDA_0] = 0xEB;
gTasks[taskIdA].func = sub_8175B90;
gTasks[taskIdA].data[TDA_0] = 235; //set this to 215 to actually show "THE END" in time to the last song beat
gTasks[taskIdA].func = Task_CreditsTheEnd4;
}
static void sub_8175B90(u8 taskIdA)
static void Task_CreditsTheEnd4(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_0])
{
@@ -1445,10 +1445,10 @@ static void sub_8175B90(u8 taskIdA)
}
BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 16, RGB_BLACK);
gTasks[taskIdA].func = sub_8175BD8;
gTasks[taskIdA].func = Task_CreditsTheEnd5;
}
static void sub_8175BD8(u8 taskIdA)
static void Task_CreditsTheEnd5(u8 taskIdA)
{
if (!gPaletteFade.active)
{
@@ -1456,11 +1456,11 @@ static void sub_8175BD8(u8 taskIdA)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_BLACK);
gTasks[taskIdA].data[TDA_0] = 7200;
gTasks[taskIdA].func = sub_8175C34;
gTasks[taskIdA].func = Task_CreditsTheEnd6;
}
}
static void sub_8175C34(u8 taskIdA)
static void Task_CreditsTheEnd6(u8 taskIdA)
{
if (!gPaletteFade.active)
{
@@ -1468,7 +1468,7 @@ static void sub_8175C34(u8 taskIdA)
{
FadeOutBGM(4);
BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 16, RGB_WHITEALPHA);
gTasks[taskIdA].func = sub_8175CC8;
gTasks[taskIdA].func = Task_CreditsSoftReset;
return;
}
@@ -1482,13 +1482,13 @@ static void sub_8175C34(u8 taskIdA)
}
}
static void sub_8175CC8(u8 taskIdA)
static void Task_CreditsSoftReset(u8 taskIdA)
{
if (!gPaletteFade.active)
SoftReset(0xFF);
}
static void sub_8175CE4(void)
static void ResetGpuAndVram(void)
{
SetGpuReg(REG_OFFSET_DISPCNT, 0);
@@ -1539,12 +1539,15 @@ static void sub_8175DA0(u8 taskIdB)
gTasks[taskIdB].data[TDB_0] += 1;
return;
case 2:
if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == sub_8175774)
if (gTasks[gTasks[taskIdB].data[TDB_TASK_A_ID]].func == Task_ProgressCreditTasks)
{
if (gTasks[taskIdB].data[TDB_CURRENT_PAGE] < PAGE_COUNT)
{
for (i = 0; i < 5; i++)
sub_81755BC(gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text, 5 + i * 16, gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->var_1);
PrintCreditsText(
gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->text,
5 + i * 16,
gCreditsEntryPointerTable[gTasks[taskIdB].data[TDB_CURRENT_PAGE]][i]->isTitle);
CopyWindowToVram(0, 2);
@@ -1578,7 +1581,7 @@ static void sub_8175DA0(u8 taskIdB)
return;
}
if (sub_817603C((u8)gTasks[taskIdB].data[TDB_CURRENT_PAGE], (u8)gTasks[taskIdB].data[TDB_TASK_A_ID]))
if (CheckChangeScene((u8)gTasks[taskIdB].data[TDB_CURRENT_PAGE], (u8)gTasks[taskIdB].data[TDB_TASK_A_ID]))
{
gTasks[taskIdB].data[TDB_0] += 1;
return;
@@ -1606,7 +1609,7 @@ static void sub_8175DA0(u8 taskIdB)
}
}
static u8 sub_817603C(u8 page, u8 taskIdA)
static u8 CheckChangeScene(u8 page, u8 taskIdA)
{
// Starts with bike + ocean + morning
@@ -1685,7 +1688,7 @@ static void sub_81760FC(u8 taskIdD)
gTasks[taskIdD].data[TDD_STATE]++;
break;
case 2:
if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != sub_8175774)
if (gUnknown_0203BCE8->unk8E == 71 || gTasks[gTasks[taskIdD].data[TDD_TASK_A_ID]].func != Task_ProgressCreditTasks)
break;
r2 = sub_8177224(gUnknown_0203BCE8->unk0[gUnknown_0203BCE8->unk92], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][0], gUnknown_085E6F7C[gUnknown_0203BCE8->unk90][1], gUnknown_0203BCE8->unk90);
if (gUnknown_0203BCE8->unk92 < gUnknown_0203BCE8->unk94 - 1)
@@ -2006,7 +2009,7 @@ static bool8 sub_8176AB0(u8 data, u8 taskIdA)
return FALSE;
}
static void sub_8176CA0(u8 taskIdA)
static void ResetCreditsTasks(u8 taskIdA)
{
if (gTasks[taskIdA].data[TDA_0] != 0)
{
@@ -2035,7 +2038,7 @@ static void sub_8176CA0(u8 taskIdA)
gUnknown_0203BD28 = 1;
}
static void sub_8176D1C(u16 arg0, u16 arg1, u16 arg2)
static void LoadTheEndScreen(u16 arg0, u16 arg1, u16 arg2)
{
u16 baseTile;
u16 i;
@@ -2084,12 +2087,12 @@ static void sub_8176E40(u16 arg0, u16 palette)
for (pos = 0; pos < 32 * 32; pos++)
((u16 *) (VRAM + arg0))[pos] = baseTile + 1;
sub_8176DBC(gUnknown_085E5BAC, 3, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BBB, 7, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BCA, 11, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BCA, 16, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BD9, 20, 7, arg0, palette);
sub_8176DBC(gUnknown_085E5BE8, 24, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterTMap, 3, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterHMap, 7, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterEMap, 11, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterEMap, 16, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterNMap, 20, 7, arg0, palette);
sub_8176DBC(sTheEnd_LetterDMap, 24, 7, arg0, palette);
}
static void sub_8176EE8(struct Sprite *sprite)
+199
View File
@@ -0,0 +1,199 @@
.include "constants/gba_constants.inc"
.syntax unified
.global Start
.text
.arm
Start: @ 8000000
b Init
.include "asm/rom_header.inc"
@ 80000C0
.word 0
.global GPIOPortData
GPIOPortData: @ 80000C4
.2byte 0
.global GPIOPortDirection
GPIOPortDirection: @ 80000C6
.2byte 0
.global GPIOPortReadEnable
GPIOPortReadEnable: @ 80000C8
.2byte 0
@ 80000CA
.2byte 0
@ 80000CC
.space 0x34
.4byte 3
.4byte 2
.ascii "pokemon emerald version"
.space 9
.4byte gMonFrontPicTable
.4byte gMonBackPicTable
.4byte gMonPaletteTable
.4byte gMonShinyPaletteTable
.4byte gMonIconTable
.4byte gMonIconPaletteIndices
.4byte gMonIconPaletteTable
.4byte gSpeciesNames
.4byte gMoveNames
.4byte gDecorations
.4byte 0x00001270, 0x0000139c, 0x00000018, 0x00000988
.4byte 0x00003b24, 0x00000046, 0x000008e4, 0x000008ac
.4byte 0x00000182
.byte 0x07, 0x0a, 0x0a, 0x0a, 0x0c, 0x0c, 0x06, 0x0c
.byte 0x06, 0x10, 0x12, 0x0c, 0x0f, 0x0b, 0x01, 0x08
.4byte 0x0000000c, 0x00000f2c, 0x00003d88, 0x00000234
.4byte 0x00000238, 0x00000009, 0x0000000a, 0x00000000
.4byte 0x00000008, 0x00000ca8, 0x00000ca8, 0x000031c7
.4byte 0x000031b3, 0x00000000
.4byte gBaseStats
.4byte gAbilityNames
.4byte gAbilityDescriptionPointers
.4byte gItems
.4byte gBattleMoves
.4byte gBallSpriteSheets
.4byte gBallSpritePalettes
.4byte 0x000000a8, 0x00000864, 0x0000089b
.byte 0x1e, 0x1e, 0x10, 0x40
.4byte 0x0000322e, 0x00000498, 0x000031a8, 0x000031f8
.4byte 0x00000034, 0x00000000, 0x00000000
.arm
.align 2, 0
.global Init
Init: @ 8000204
mov r0, PSR_IRQ_MODE
msr cpsr_cf, r0
ldr sp, sp_irq
mov r0, PSR_SYS_MODE
msr cpsr_cf, r0
ldr sp, sp_sys
ldr r1, =INTR_VECTOR
adr r0, IntrMain
str r0, [r1]
ldr r1, =AgbMain + 1
mov lr, pc
bx r1
b Init
.align 2, 0
sp_sys: .word IWRAM_END - 0x1c0
sp_irq: .word IWRAM_END - 0x60
.pool
.arm
.align 2, 0
.global IntrMain
IntrMain: @ 8000248
mov r3, REG_BASE
add r3, r3, 0x200
ldr r2, [r3, OFFSET_REG_IE - 0x200]
ldrh r1, [r3, OFFSET_REG_IME - 0x200]
mrs r0, spsr
stmdb sp!, {r0-r3,lr}
mov r0, 0
strh r0, [r3, OFFSET_REG_IME - 0x200]
and r1, r2, r2, lsr 16
mov r12, 0
ands r0, r1, INTR_FLAG_VCOUNT
bne IntrMain_FoundIntr
add r12, r12, 0x4
mov r0, 0x1
strh r0, [r3, OFFSET_REG_IME - 0x200]
ands r0, r1, INTR_FLAG_SERIAL
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER3
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_HBLANK
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_VBLANK
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER0
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER1
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_TIMER2
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA0
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA1
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA2
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_DMA3
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_KEYPAD
bne IntrMain_FoundIntr
add r12, r12, 0x4
ands r0, r1, INTR_FLAG_GAMEPAK
strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200]
bne . @ spin
IntrMain_FoundIntr:
strh r0, [r3, OFFSET_REG_IF - 0x200]
bic r2, r2, r0
ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0xA]
mov r1, 0x8
mov r0, r1, lsl r0
orr r0, r0, INTR_FLAG_GAMEPAK
orr r1, r0, INTR_FLAG_SERIAL | INTR_FLAG_TIMER3 | INTR_FLAG_VCOUNT | INTR_FLAG_HBLANK
and r1, r1, r2
strh r1, [r3, OFFSET_REG_IE - 0x200]
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
orr r3, r3, PSR_SYS_MODE
msr cpsr_cf, r3
ldr r1, =gIntrTable
add r1, r1, r12
ldr r0, [r1]
stmdb sp!, {lr}
adr lr, IntrMain_RetAddr
bx r0
IntrMain_RetAddr:
ldmia sp!, {lr}
mrs r3, cpsr
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
orr r3, r3, PSR_I_BIT | PSR_IRQ_MODE
msr cpsr_cf, r3
ldmia sp!, {r0-r3,lr}
strh r2, [r3, OFFSET_REG_IE - 0x200]
strh r1, [r3, OFFSET_REG_IME - 0x200]
msr spsr_cf, r0
bx lr
.pool
.align 2, 0 @ Don't pad with nop.
@@ -247,245 +247,245 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldM
const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = {
&gEventObjectGraphicsInfo_BrendanNormal,
&gEventObjectGraphicsInfo_BrendanMachBike,
&gEventObjectGraphicsInfo_BrendanSurfing,
&gEventObjectGraphicsInfo_BrendanFieldMove,
&gEventObjectGraphicsInfo_QuintyPlump,
&gEventObjectGraphicsInfo_NinjaBoy,
&gEventObjectGraphicsInfo_Twin,
&gEventObjectGraphicsInfo_Boy1,
&gEventObjectGraphicsInfo_Girl1,
&gEventObjectGraphicsInfo_Boy2,
&gEventObjectGraphicsInfo_Girl2,
&gEventObjectGraphicsInfo_LittleBoy,
&gEventObjectGraphicsInfo_LittleGirl,
&gEventObjectGraphicsInfo_Boy3,
&gEventObjectGraphicsInfo_Girl3,
&gEventObjectGraphicsInfo_RichBoy,
&gEventObjectGraphicsInfo_Woman1,
&gEventObjectGraphicsInfo_FatMan,
&gEventObjectGraphicsInfo_PokefanF,
&gEventObjectGraphicsInfo_Man1,
&gEventObjectGraphicsInfo_Woman2,
&gEventObjectGraphicsInfo_ExpertM,
&gEventObjectGraphicsInfo_ExpertF,
&gEventObjectGraphicsInfo_Man2,
&gEventObjectGraphicsInfo_Woman3,
&gEventObjectGraphicsInfo_PokefanM,
&gEventObjectGraphicsInfo_Woman4,
&gEventObjectGraphicsInfo_Cook,
&gEventObjectGraphicsInfo_LinkReceptionist,
&gEventObjectGraphicsInfo_OldMan,
&gEventObjectGraphicsInfo_OldWoman,
&gEventObjectGraphicsInfo_Camper,
&gEventObjectGraphicsInfo_Picnicker,
&gEventObjectGraphicsInfo_Man3,
&gEventObjectGraphicsInfo_Woman5,
&gEventObjectGraphicsInfo_Youngster,
&gEventObjectGraphicsInfo_BugCatcher,
&gEventObjectGraphicsInfo_PsychicM,
&gEventObjectGraphicsInfo_SchoolKidM,
&gEventObjectGraphicsInfo_Maniac,
&gEventObjectGraphicsInfo_HexManiac,
&gEventObjectGraphicsInfo_Rayquaza1,
&gEventObjectGraphicsInfo_SwimmerM,
&gEventObjectGraphicsInfo_SwimmerF,
&gEventObjectGraphicsInfo_BlackBelt,
&gEventObjectGraphicsInfo_Beauty,
&gEventObjectGraphicsInfo_Scientist1,
&gEventObjectGraphicsInfo_Lass,
&gEventObjectGraphicsInfo_Gentleman,
&gEventObjectGraphicsInfo_Sailor,
&gEventObjectGraphicsInfo_Fisherman,
&gEventObjectGraphicsInfo_RunningTriathleteM,
&gEventObjectGraphicsInfo_RunningTriathleteF,
&gEventObjectGraphicsInfo_TuberF,
&gEventObjectGraphicsInfo_TuberM,
&gEventObjectGraphicsInfo_Hiker,
&gEventObjectGraphicsInfo_CyclingTriathleteM,
&gEventObjectGraphicsInfo_CyclingTriathleteF,
&gEventObjectGraphicsInfo_Nurse,
&gEventObjectGraphicsInfo_ItemBall,
&gEventObjectGraphicsInfo_BerryTree,
&gEventObjectGraphicsInfo_BerryTreeEarlyStages,
&gEventObjectGraphicsInfo_BerryTreeLateStages,
&gEventObjectGraphicsInfo_BrendanAcroBike,
&gEventObjectGraphicsInfo_ProfBirch,
&gEventObjectGraphicsInfo_Man4,
&gEventObjectGraphicsInfo_Man5,
&gEventObjectGraphicsInfo_ReporterM,
&gEventObjectGraphicsInfo_ReporterF,
&gEventObjectGraphicsInfo_Bard,
&gEventObjectGraphicsInfo_Anabel,
&gEventObjectGraphicsInfo_Tucker,
&gEventObjectGraphicsInfo_Greta,
&gEventObjectGraphicsInfo_Spenser,
&gEventObjectGraphicsInfo_Noland,
&gEventObjectGraphicsInfo_Lucy,
&gEventObjectGraphicsInfo_UnusedNatuDoll,
&gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
&gEventObjectGraphicsInfo_UnusedSquirtleDoll,
&gEventObjectGraphicsInfo_UnusedWooperDoll,
&gEventObjectGraphicsInfo_UnusedPikachuDoll,
&gEventObjectGraphicsInfo_UnusedPorygon2Doll,
&gEventObjectGraphicsInfo_CuttableTree,
&gEventObjectGraphicsInfo_MartEmployee,
&gEventObjectGraphicsInfo_RooftopSaleWoman,
&gEventObjectGraphicsInfo_Teala,
&gEventObjectGraphicsInfo_BreakableRock,
&gEventObjectGraphicsInfo_PushableBoulder,
&gEventObjectGraphicsInfo_MrBrineysBoat,
&gEventObjectGraphicsInfo_MayNormal,
&gEventObjectGraphicsInfo_MayMachBike,
&gEventObjectGraphicsInfo_MayAcroBike,
&gEventObjectGraphicsInfo_MaySurfing,
&gEventObjectGraphicsInfo_MayFieldMove,
&gEventObjectGraphicsInfo_Truck,
&gEventObjectGraphicsInfo_VigorothCarryingBox,
&gEventObjectGraphicsInfo_VigorothFacingAway,
&gEventObjectGraphicsInfo_BirchsBag,
&gEventObjectGraphicsInfo_EnemyZigzagoon,
&gEventObjectGraphicsInfo_Artist,
&gEventObjectGraphicsInfo_RivalBrendanNormal,
&gEventObjectGraphicsInfo_RivalBrendanMachBike,
&gEventObjectGraphicsInfo_RivalBrendanAcroBike,
&gEventObjectGraphicsInfo_RivalBrendanSurfing,
&gEventObjectGraphicsInfo_RivalBrendanFieldMove,
&gEventObjectGraphicsInfo_RivalMayNormal,
&gEventObjectGraphicsInfo_RivalMayMachBike,
&gEventObjectGraphicsInfo_RivalMayAcroBike,
&gEventObjectGraphicsInfo_RivalMaySurfing,
&gEventObjectGraphicsInfo_RivalMayFieldMove,
&gEventObjectGraphicsInfo_Cameraman,
&gEventObjectGraphicsInfo_BrendanUnderwater,
&gEventObjectGraphicsInfo_MayUnderwater,
&gEventObjectGraphicsInfo_MovingBox,
&gEventObjectGraphicsInfo_CableCar,
&gEventObjectGraphicsInfo_Scientist2,
&gEventObjectGraphicsInfo_DevonEmployee,
&gEventObjectGraphicsInfo_AquaMemberM,
&gEventObjectGraphicsInfo_AquaMemberF,
&gEventObjectGraphicsInfo_MagmaMemberM,
&gEventObjectGraphicsInfo_MagmaMemberF,
&gEventObjectGraphicsInfo_Sidney,
&gEventObjectGraphicsInfo_Phoebe,
&gEventObjectGraphicsInfo_Glacia,
&gEventObjectGraphicsInfo_Drake,
&gEventObjectGraphicsInfo_Roxanne,
&gEventObjectGraphicsInfo_Brawly,
&gEventObjectGraphicsInfo_Wattson,
&gEventObjectGraphicsInfo_Flannery,
&gEventObjectGraphicsInfo_Norman,
&gEventObjectGraphicsInfo_Winona,
&gEventObjectGraphicsInfo_Liza,
&gEventObjectGraphicsInfo_Tate,
&gEventObjectGraphicsInfo_Wallace,
&gEventObjectGraphicsInfo_Steven,
&gEventObjectGraphicsInfo_Wally,
&gEventObjectGraphicsInfo_RubySapphireLittleBoy,
&gEventObjectGraphicsInfo_BrendanFishing,
&gEventObjectGraphicsInfo_MayFishing,
&gEventObjectGraphicsInfo_HotSpringsOldWoman,
&gEventObjectGraphicsInfo_SSTidal,
&gEventObjectGraphicsInfo_SubmarineShadow,
&gEventObjectGraphicsInfo_PichuDoll,
&gEventObjectGraphicsInfo_PikachuDoll,
&gEventObjectGraphicsInfo_MarillDoll,
&gEventObjectGraphicsInfo_TogepiDoll,
&gEventObjectGraphicsInfo_CyndaquilDoll,
&gEventObjectGraphicsInfo_ChikoritaDoll,
&gEventObjectGraphicsInfo_TotodileDoll,
&gEventObjectGraphicsInfo_JigglypuffDoll,
&gEventObjectGraphicsInfo_MeowthDoll,
&gEventObjectGraphicsInfo_ClefairyDoll,
&gEventObjectGraphicsInfo_DittoDoll,
&gEventObjectGraphicsInfo_SmoochumDoll,
&gEventObjectGraphicsInfo_TreeckoDoll,
&gEventObjectGraphicsInfo_TorchicDoll,
&gEventObjectGraphicsInfo_MudkipDoll,
&gEventObjectGraphicsInfo_DuskullDoll,
&gEventObjectGraphicsInfo_WynautDoll,
&gEventObjectGraphicsInfo_BaltoyDoll,
&gEventObjectGraphicsInfo_KecleonDoll,
&gEventObjectGraphicsInfo_AzurillDoll,
&gEventObjectGraphicsInfo_SkittyDoll,
&gEventObjectGraphicsInfo_SwabluDoll,
&gEventObjectGraphicsInfo_GulpinDoll,
&gEventObjectGraphicsInfo_LotadDoll,
&gEventObjectGraphicsInfo_SeedotDoll,
&gEventObjectGraphicsInfo_PikaCushion,
&gEventObjectGraphicsInfo_RoundCushion,
&gEventObjectGraphicsInfo_KissCushion,
&gEventObjectGraphicsInfo_ZigzagCushion,
&gEventObjectGraphicsInfo_SpinCushion,
&gEventObjectGraphicsInfo_DiamondCushion,
&gEventObjectGraphicsInfo_BallCushion,
&gEventObjectGraphicsInfo_GrassCushion,
&gEventObjectGraphicsInfo_FireCushion,
&gEventObjectGraphicsInfo_WaterCushion,
&gEventObjectGraphicsInfo_BigSnorlaxDoll,
&gEventObjectGraphicsInfo_BigRhydonDoll,
&gEventObjectGraphicsInfo_BigLaprasDoll,
&gEventObjectGraphicsInfo_BigVenusaurDoll,
&gEventObjectGraphicsInfo_BigCharizardDoll,
&gEventObjectGraphicsInfo_BigBlastoiseDoll,
&gEventObjectGraphicsInfo_BigWailmerDoll,
&gEventObjectGraphicsInfo_BigRegirockDoll,
&gEventObjectGraphicsInfo_BigRegiceDoll,
&gEventObjectGraphicsInfo_BigRegisteelDoll,
&gEventObjectGraphicsInfo_Latias,
&gEventObjectGraphicsInfo_Latios,
&gEventObjectGraphicsInfo_GameboyKid,
&gEventObjectGraphicsInfo_ContestJudge,
&gEventObjectGraphicsInfo_BrendanWatering,
&gEventObjectGraphicsInfo_MayWatering,
&gEventObjectGraphicsInfo_BrendanDecorating,
&gEventObjectGraphicsInfo_MayDecorating,
&gEventObjectGraphicsInfo_Archie,
&gEventObjectGraphicsInfo_Maxie,
&gEventObjectGraphicsInfo_Kyogre1,
&gEventObjectGraphicsInfo_Groudon1,
&gEventObjectGraphicsInfo_Fossil,
&gEventObjectGraphicsInfo_Regirock,
&gEventObjectGraphicsInfo_Regice,
&gEventObjectGraphicsInfo_Registeel,
&gEventObjectGraphicsInfo_Skitty,
&gEventObjectGraphicsInfo_Kecleon1,
&gEventObjectGraphicsInfo_Kyogre2,
&gEventObjectGraphicsInfo_Groudon2,
&gEventObjectGraphicsInfo_Rayquaza2,
&gEventObjectGraphicsInfo_Zigzagoon,
&gEventObjectGraphicsInfo_Pikachu,
&gEventObjectGraphicsInfo_Azumarill,
&gEventObjectGraphicsInfo_Wingull,
&gEventObjectGraphicsInfo_Kecleon2,
&gEventObjectGraphicsInfo_TuberMSwimming,
&gEventObjectGraphicsInfo_Azurill,
&gEventObjectGraphicsInfo_Mom,
&gEventObjectGraphicsInfo_LinkBrendan,
&gEventObjectGraphicsInfo_LinkMay,
&gEventObjectGraphicsInfo_Juan,
&gEventObjectGraphicsInfo_Scott,
&gEventObjectGraphicsInfo_Poochyena,
&gEventObjectGraphicsInfo_Kyogre3,
&gEventObjectGraphicsInfo_Groudon3,
&gEventObjectGraphicsInfo_MysteryEventDeliveryman,
&gEventObjectGraphicsInfo_Statue,
&gEventObjectGraphicsInfo_Kirlia,
&gEventObjectGraphicsInfo_Dusclops,
&gEventObjectGraphicsInfo_UnionRoomAttendant,
&gEventObjectGraphicsInfo_Sudowoodo,
&gEventObjectGraphicsInfo_Mew,
&gEventObjectGraphicsInfo_Red,
&gEventObjectGraphicsInfo_Leaf,
&gEventObjectGraphicsInfo_Deoxys,
&gEventObjectGraphicsInfo_BirthIslandStone,
&gEventObjectGraphicsInfo_Brandon,
&gEventObjectGraphicsInfo_RubySapphireBrendan,
&gEventObjectGraphicsInfo_RubySapphireMay,
&gEventObjectGraphicsInfo_Lugia,
&gEventObjectGraphicsInfo_HoOh,
[EVENT_OBJ_GFX_BRENDAN_NORMAL] = &gEventObjectGraphicsInfo_BrendanNormal,
[EVENT_OBJ_GFX_BRENDAN_MACH_BIKE] = &gEventObjectGraphicsInfo_BrendanMachBike,
[EVENT_OBJ_GFX_BRENDAN_SURFING] = &gEventObjectGraphicsInfo_BrendanSurfing,
[EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE] = &gEventObjectGraphicsInfo_BrendanFieldMove,
[EVENT_OBJ_GFX_QUINTY_PLUMP] = &gEventObjectGraphicsInfo_QuintyPlump,
[EVENT_OBJ_GFX_NINJA_BOY] = &gEventObjectGraphicsInfo_NinjaBoy,
[EVENT_OBJ_GFX_TWIN] = &gEventObjectGraphicsInfo_Twin,
[EVENT_OBJ_GFX_BOY_1] = &gEventObjectGraphicsInfo_Boy1,
[EVENT_OBJ_GFX_GIRL_1] = &gEventObjectGraphicsInfo_Girl1,
[EVENT_OBJ_GFX_BOY_2] = &gEventObjectGraphicsInfo_Boy2,
[EVENT_OBJ_GFX_GIRL_2] = &gEventObjectGraphicsInfo_Girl2,
[EVENT_OBJ_GFX_LITTLE_BOY] = &gEventObjectGraphicsInfo_LittleBoy,
[EVENT_OBJ_GFX_LITTLE_GIRL] = &gEventObjectGraphicsInfo_LittleGirl,
[EVENT_OBJ_GFX_BOY_3] = &gEventObjectGraphicsInfo_Boy3,
[EVENT_OBJ_GFX_GIRL_3] = &gEventObjectGraphicsInfo_Girl3,
[EVENT_OBJ_GFX_RICH_BOY] = &gEventObjectGraphicsInfo_RichBoy,
[EVENT_OBJ_GFX_WOMAN_1] = &gEventObjectGraphicsInfo_Woman1,
[EVENT_OBJ_GFX_FAT_MAN] = &gEventObjectGraphicsInfo_FatMan,
[EVENT_OBJ_GFX_POKEFAN_F] = &gEventObjectGraphicsInfo_PokefanF,
[EVENT_OBJ_GFX_MAN_1] = &gEventObjectGraphicsInfo_Man1,
[EVENT_OBJ_GFX_WOMAN_2] = &gEventObjectGraphicsInfo_Woman2,
[EVENT_OBJ_GFX_EXPERT_M] = &gEventObjectGraphicsInfo_ExpertM,
[EVENT_OBJ_GFX_EXPERT_F] = &gEventObjectGraphicsInfo_ExpertF,
[EVENT_OBJ_GFX_MAN_2] = &gEventObjectGraphicsInfo_Man2,
[EVENT_OBJ_GFX_WOMAN_3] = &gEventObjectGraphicsInfo_Woman3,
[EVENT_OBJ_GFX_POKEFAN_M] = &gEventObjectGraphicsInfo_PokefanM,
[EVENT_OBJ_GFX_WOMAN_4] = &gEventObjectGraphicsInfo_Woman4,
[EVENT_OBJ_GFX_COOK] = &gEventObjectGraphicsInfo_Cook,
[EVENT_OBJ_GFX_LINK_RECEPTIONIST] = &gEventObjectGraphicsInfo_LinkReceptionist,
[EVENT_OBJ_GFX_OLD_MAN] = &gEventObjectGraphicsInfo_OldMan,
[EVENT_OBJ_GFX_OLD_WOMAN] = &gEventObjectGraphicsInfo_OldWoman,
[EVENT_OBJ_GFX_CAMPER] = &gEventObjectGraphicsInfo_Camper,
[EVENT_OBJ_GFX_PICNICKER] = &gEventObjectGraphicsInfo_Picnicker,
[EVENT_OBJ_GFX_MAN_3] = &gEventObjectGraphicsInfo_Man3,
[EVENT_OBJ_GFX_WOMAN_5] = &gEventObjectGraphicsInfo_Woman5,
[EVENT_OBJ_GFX_YOUNGSTER] = &gEventObjectGraphicsInfo_Youngster,
[EVENT_OBJ_GFX_BUG_CATCHER] = &gEventObjectGraphicsInfo_BugCatcher,
[EVENT_OBJ_GFX_PSYCHIC_M] = &gEventObjectGraphicsInfo_PsychicM,
[EVENT_OBJ_GFX_SCHOOL_KID_M] = &gEventObjectGraphicsInfo_SchoolKidM,
[EVENT_OBJ_GFX_MANIAC] = &gEventObjectGraphicsInfo_Maniac,
[EVENT_OBJ_GFX_HEX_MANIAC] = &gEventObjectGraphicsInfo_HexManiac,
[EVENT_OBJ_GFX_RAYQUAZA_1] = &gEventObjectGraphicsInfo_Rayquaza1,
[EVENT_OBJ_GFX_SWIMMER_M] = &gEventObjectGraphicsInfo_SwimmerM,
[EVENT_OBJ_GFX_SWIMMER_F] = &gEventObjectGraphicsInfo_SwimmerF,
[EVENT_OBJ_GFX_BLACK_BELT] = &gEventObjectGraphicsInfo_BlackBelt,
[EVENT_OBJ_GFX_BEAUTY] = &gEventObjectGraphicsInfo_Beauty,
[EVENT_OBJ_GFX_SCIENTIST_1] = &gEventObjectGraphicsInfo_Scientist1,
[EVENT_OBJ_GFX_LASS] = &gEventObjectGraphicsInfo_Lass,
[EVENT_OBJ_GFX_GENTLEMAN] = &gEventObjectGraphicsInfo_Gentleman,
[EVENT_OBJ_GFX_SAILOR] = &gEventObjectGraphicsInfo_Sailor,
[EVENT_OBJ_GFX_FISHERMAN] = &gEventObjectGraphicsInfo_Fisherman,
[EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M] = &gEventObjectGraphicsInfo_RunningTriathleteM,
[EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F] = &gEventObjectGraphicsInfo_RunningTriathleteF,
[EVENT_OBJ_GFX_TUBER_F] = &gEventObjectGraphicsInfo_TuberF,
[EVENT_OBJ_GFX_TUBER_M] = &gEventObjectGraphicsInfo_TuberM,
[EVENT_OBJ_GFX_HIKER] = &gEventObjectGraphicsInfo_Hiker,
[EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M] = &gEventObjectGraphicsInfo_CyclingTriathleteM,
[EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F] = &gEventObjectGraphicsInfo_CyclingTriathleteF,
[EVENT_OBJ_GFX_NURSE] = &gEventObjectGraphicsInfo_Nurse,
[EVENT_OBJ_GFX_ITEM_BALL] = &gEventObjectGraphicsInfo_ItemBall,
[EVENT_OBJ_GFX_BERRY_TREE] = &gEventObjectGraphicsInfo_BerryTree,
[EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES] = &gEventObjectGraphicsInfo_BerryTreeEarlyStages,
[EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES] = &gEventObjectGraphicsInfo_BerryTreeLateStages,
[EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE] = &gEventObjectGraphicsInfo_BrendanAcroBike,
[EVENT_OBJ_GFX_PROF_BIRCH] = &gEventObjectGraphicsInfo_ProfBirch,
[EVENT_OBJ_GFX_MAN_4] = &gEventObjectGraphicsInfo_Man4,
[EVENT_OBJ_GFX_MAN_5] = &gEventObjectGraphicsInfo_Man5,
[EVENT_OBJ_GFX_REPORTER_M] = &gEventObjectGraphicsInfo_ReporterM,
[EVENT_OBJ_GFX_REPORTER_F] = &gEventObjectGraphicsInfo_ReporterF,
[EVENT_OBJ_GFX_BARD] = &gEventObjectGraphicsInfo_Bard,
[EVENT_OBJ_GFX_ANABEL] = &gEventObjectGraphicsInfo_Anabel,
[EVENT_OBJ_GFX_TUCKER] = &gEventObjectGraphicsInfo_Tucker,
[EVENT_OBJ_GFX_GRETA] = &gEventObjectGraphicsInfo_Greta,
[EVENT_OBJ_GFX_SPENSER] = &gEventObjectGraphicsInfo_Spenser,
[EVENT_OBJ_GFX_NOLAND] = &gEventObjectGraphicsInfo_Noland,
[EVENT_OBJ_GFX_LUCY] = &gEventObjectGraphicsInfo_Lucy,
[EVENT_OBJ_GFX_UNUSED_NATU_DOLL] = &gEventObjectGraphicsInfo_UnusedNatuDoll,
[EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL] = &gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
[EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL] = &gEventObjectGraphicsInfo_UnusedSquirtleDoll,
[EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL] = &gEventObjectGraphicsInfo_UnusedWooperDoll,
[EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL] = &gEventObjectGraphicsInfo_UnusedPikachuDoll,
[EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL] = &gEventObjectGraphicsInfo_UnusedPorygon2Doll,
[EVENT_OBJ_GFX_CUTTABLE_TREE] = &gEventObjectGraphicsInfo_CuttableTree,
[EVENT_OBJ_GFX_MART_EMPLOYEE] = &gEventObjectGraphicsInfo_MartEmployee,
[EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN] = &gEventObjectGraphicsInfo_RooftopSaleWoman,
[EVENT_OBJ_GFX_TEALA] = &gEventObjectGraphicsInfo_Teala,
[EVENT_OBJ_GFX_BREAKABLE_ROCK] = &gEventObjectGraphicsInfo_BreakableRock,
[EVENT_OBJ_GFX_PUSHABLE_BOULDER] = &gEventObjectGraphicsInfo_PushableBoulder,
[EVENT_OBJ_GFX_MR_BRINEYS_BOAT] = &gEventObjectGraphicsInfo_MrBrineysBoat,
[EVENT_OBJ_GFX_MAY_NORMAL] = &gEventObjectGraphicsInfo_MayNormal,
[EVENT_OBJ_GFX_MAY_MACH_BIKE] = &gEventObjectGraphicsInfo_MayMachBike,
[EVENT_OBJ_GFX_MAY_ACRO_BIKE] = &gEventObjectGraphicsInfo_MayAcroBike,
[EVENT_OBJ_GFX_MAY_SURFING] = &gEventObjectGraphicsInfo_MaySurfing,
[EVENT_OBJ_GFX_MAY_FIELD_MOVE] = &gEventObjectGraphicsInfo_MayFieldMove,
[EVENT_OBJ_GFX_TRUCK] = &gEventObjectGraphicsInfo_Truck,
[EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX] = &gEventObjectGraphicsInfo_VigorothCarryingBox,
[EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY] = &gEventObjectGraphicsInfo_VigorothFacingAway,
[EVENT_OBJ_GFX_BIRCHS_BAG] = &gEventObjectGraphicsInfo_BirchsBag,
[EVENT_OBJ_GFX_ZIGZAGOON_1] = &gEventObjectGraphicsInfo_EnemyZigzagoon,
[EVENT_OBJ_GFX_ARTIST] = &gEventObjectGraphicsInfo_Artist,
[EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL] = &gEventObjectGraphicsInfo_RivalBrendanNormal,
[EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE] = &gEventObjectGraphicsInfo_RivalBrendanMachBike,
[EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE] = &gEventObjectGraphicsInfo_RivalBrendanAcroBike,
[EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING] = &gEventObjectGraphicsInfo_RivalBrendanSurfing,
[EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE] = &gEventObjectGraphicsInfo_RivalBrendanFieldMove,
[EVENT_OBJ_GFX_RIVAL_MAY_NORMAL] = &gEventObjectGraphicsInfo_RivalMayNormal,
[EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE] = &gEventObjectGraphicsInfo_RivalMayMachBike,
[EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE] = &gEventObjectGraphicsInfo_RivalMayAcroBike,
[EVENT_OBJ_GFX_RIVAL_MAY_SURFING] = &gEventObjectGraphicsInfo_RivalMaySurfing,
[EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE] = &gEventObjectGraphicsInfo_RivalMayFieldMove,
[EVENT_OBJ_GFX_CAMERAMAN] = &gEventObjectGraphicsInfo_Cameraman,
[EVENT_OBJ_GFX_BRENDAN_UNDERWATER] = &gEventObjectGraphicsInfo_BrendanUnderwater,
[EVENT_OBJ_GFX_MAY_UNDERWATER] = &gEventObjectGraphicsInfo_MayUnderwater,
[EVENT_OBJ_GFX_MOVING_BOX] = &gEventObjectGraphicsInfo_MovingBox,
[EVENT_OBJ_GFX_CABLE_CAR] = &gEventObjectGraphicsInfo_CableCar,
[EVENT_OBJ_GFX_SCIENTIST_2] = &gEventObjectGraphicsInfo_Scientist2,
[EVENT_OBJ_GFX_DEVON_EMPLOYEE] = &gEventObjectGraphicsInfo_DevonEmployee,
[EVENT_OBJ_GFX_AQUA_MEMBER_M] = &gEventObjectGraphicsInfo_AquaMemberM,
[EVENT_OBJ_GFX_AQUA_MEMBER_F] = &gEventObjectGraphicsInfo_AquaMemberF,
[EVENT_OBJ_GFX_MAGMA_MEMBER_M] = &gEventObjectGraphicsInfo_MagmaMemberM,
[EVENT_OBJ_GFX_MAGMA_MEMBER_F] = &gEventObjectGraphicsInfo_MagmaMemberF,
[EVENT_OBJ_GFX_SIDNEY] = &gEventObjectGraphicsInfo_Sidney,
[EVENT_OBJ_GFX_PHOEBE] = &gEventObjectGraphicsInfo_Phoebe,
[EVENT_OBJ_GFX_GLACIA] = &gEventObjectGraphicsInfo_Glacia,
[EVENT_OBJ_GFX_DRAKE] = &gEventObjectGraphicsInfo_Drake,
[EVENT_OBJ_GFX_ROXANNE] = &gEventObjectGraphicsInfo_Roxanne,
[EVENT_OBJ_GFX_BRAWLY] = &gEventObjectGraphicsInfo_Brawly,
[EVENT_OBJ_GFX_WATTSON] = &gEventObjectGraphicsInfo_Wattson,
[EVENT_OBJ_GFX_FLANNERY] = &gEventObjectGraphicsInfo_Flannery,
[EVENT_OBJ_GFX_NORMAN] = &gEventObjectGraphicsInfo_Norman,
[EVENT_OBJ_GFX_WINONA] = &gEventObjectGraphicsInfo_Winona,
[EVENT_OBJ_GFX_LIZA] = &gEventObjectGraphicsInfo_Liza,
[EVENT_OBJ_GFX_TATE] = &gEventObjectGraphicsInfo_Tate,
[EVENT_OBJ_GFX_WALLACE] = &gEventObjectGraphicsInfo_Wallace,
[EVENT_OBJ_GFX_STEVEN] = &gEventObjectGraphicsInfo_Steven,
[EVENT_OBJ_GFX_WALLY] = &gEventObjectGraphicsInfo_Wally,
[EVENT_OBJ_GFX_LITTLE_BOY_3] = &gEventObjectGraphicsInfo_RubySapphireLittleBoy,
[EVENT_OBJ_GFX_BRENDAN_FISHING] = &gEventObjectGraphicsInfo_BrendanFishing,
[EVENT_OBJ_GFX_MAY_FISHING] = &gEventObjectGraphicsInfo_MayFishing,
[EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN] = &gEventObjectGraphicsInfo_HotSpringsOldWoman,
[EVENT_OBJ_GFX_SS_TIDAL] = &gEventObjectGraphicsInfo_SSTidal,
[EVENT_OBJ_GFX_SUBMARINE_SHADOW] = &gEventObjectGraphicsInfo_SubmarineShadow,
[EVENT_OBJ_GFX_PICHU_DOLL] = &gEventObjectGraphicsInfo_PichuDoll,
[EVENT_OBJ_GFX_PIKACHU_DOLL] = &gEventObjectGraphicsInfo_PikachuDoll,
[EVENT_OBJ_GFX_MARILL_DOLL] = &gEventObjectGraphicsInfo_MarillDoll,
[EVENT_OBJ_GFX_TOGEPI_DOLL] = &gEventObjectGraphicsInfo_TogepiDoll,
[EVENT_OBJ_GFX_CYNDAQUIL_DOLL] = &gEventObjectGraphicsInfo_CyndaquilDoll,
[EVENT_OBJ_GFX_CHIKORITA_DOLL] = &gEventObjectGraphicsInfo_ChikoritaDoll,
[EVENT_OBJ_GFX_TOTODILE_DOLL] = &gEventObjectGraphicsInfo_TotodileDoll,
[EVENT_OBJ_GFX_JIGGLYPUFF_DOLL] = &gEventObjectGraphicsInfo_JigglypuffDoll,
[EVENT_OBJ_GFX_MEOWTH_DOLL] = &gEventObjectGraphicsInfo_MeowthDoll,
[EVENT_OBJ_GFX_CLEFAIRY_DOLL] = &gEventObjectGraphicsInfo_ClefairyDoll,
[EVENT_OBJ_GFX_DITTO_DOLL] = &gEventObjectGraphicsInfo_DittoDoll,
[EVENT_OBJ_GFX_SMOOCHUM_DOLL] = &gEventObjectGraphicsInfo_SmoochumDoll,
[EVENT_OBJ_GFX_TREECKO_DOLL] = &gEventObjectGraphicsInfo_TreeckoDoll,
[EVENT_OBJ_GFX_TORCHIC_DOLL] = &gEventObjectGraphicsInfo_TorchicDoll,
[EVENT_OBJ_GFX_MUDKIP_DOLL] = &gEventObjectGraphicsInfo_MudkipDoll,
[EVENT_OBJ_GFX_DUSKULL_DOLL] = &gEventObjectGraphicsInfo_DuskullDoll,
[EVENT_OBJ_GFX_WYNAUT_DOLL] = &gEventObjectGraphicsInfo_WynautDoll,
[EVENT_OBJ_GFX_BALTOY_DOLL] = &gEventObjectGraphicsInfo_BaltoyDoll,
[EVENT_OBJ_GFX_KECLEON_DOLL] = &gEventObjectGraphicsInfo_KecleonDoll,
[EVENT_OBJ_GFX_AZURILL_DOLL] = &gEventObjectGraphicsInfo_AzurillDoll,
[EVENT_OBJ_GFX_SKITTY_DOLL] = &gEventObjectGraphicsInfo_SkittyDoll,
[EVENT_OBJ_GFX_SWABLU_DOLL] = &gEventObjectGraphicsInfo_SwabluDoll,
[EVENT_OBJ_GFX_GULPIN_DOLL] = &gEventObjectGraphicsInfo_GulpinDoll,
[EVENT_OBJ_GFX_LOTAD_DOLL] = &gEventObjectGraphicsInfo_LotadDoll,
[EVENT_OBJ_GFX_SEEDOT_DOLL] = &gEventObjectGraphicsInfo_SeedotDoll,
[EVENT_OBJ_GFX_PIKA_CUSHION] = &gEventObjectGraphicsInfo_PikaCushion,
[EVENT_OBJ_GFX_ROUND_CUSHION] = &gEventObjectGraphicsInfo_RoundCushion,
[EVENT_OBJ_GFX_KISS_CUSHION] = &gEventObjectGraphicsInfo_KissCushion,
[EVENT_OBJ_GFX_ZIGZAG_CUSHION] = &gEventObjectGraphicsInfo_ZigzagCushion,
[EVENT_OBJ_GFX_SPIN_CUSHION] = &gEventObjectGraphicsInfo_SpinCushion,
[EVENT_OBJ_GFX_DIAMOND_CUSHION] = &gEventObjectGraphicsInfo_DiamondCushion,
[EVENT_OBJ_GFX_BALL_CUSHION] = &gEventObjectGraphicsInfo_BallCushion,
[EVENT_OBJ_GFX_GRASS_CUSHION] = &gEventObjectGraphicsInfo_GrassCushion,
[EVENT_OBJ_GFX_FIRE_CUSHION] = &gEventObjectGraphicsInfo_FireCushion,
[EVENT_OBJ_GFX_WATER_CUSHION] = &gEventObjectGraphicsInfo_WaterCushion,
[EVENT_OBJ_GFX_BIG_SNORLAX_DOLL] = &gEventObjectGraphicsInfo_BigSnorlaxDoll,
[EVENT_OBJ_GFX_BIG_RHYDON_DOLL] = &gEventObjectGraphicsInfo_BigRhydonDoll,
[EVENT_OBJ_GFX_BIG_LAPRAS_DOLL] = &gEventObjectGraphicsInfo_BigLaprasDoll,
[EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL] = &gEventObjectGraphicsInfo_BigVenusaurDoll,
[EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL] = &gEventObjectGraphicsInfo_BigCharizardDoll,
[EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL] = &gEventObjectGraphicsInfo_BigBlastoiseDoll,
[EVENT_OBJ_GFX_BIG_WAILMER_DOLL] = &gEventObjectGraphicsInfo_BigWailmerDoll,
[EVENT_OBJ_GFX_BIG_REGIROCK_DOLL] = &gEventObjectGraphicsInfo_BigRegirockDoll,
[EVENT_OBJ_GFX_BIG_REGICE_DOLL] = &gEventObjectGraphicsInfo_BigRegiceDoll,
[EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL] = &gEventObjectGraphicsInfo_BigRegisteelDoll,
[EVENT_OBJ_GFX_LATIAS] = &gEventObjectGraphicsInfo_Latias,
[EVENT_OBJ_GFX_LATIOS] = &gEventObjectGraphicsInfo_Latios,
[EVENT_OBJ_GFX_GAMEBOY_KID] = &gEventObjectGraphicsInfo_GameboyKid,
[EVENT_OBJ_GFX_CONTEST_JUDGE] = &gEventObjectGraphicsInfo_ContestJudge,
[EVENT_OBJ_GFX_BRENDAN_WATERING] = &gEventObjectGraphicsInfo_BrendanWatering,
[EVENT_OBJ_GFX_MAY_WATERING] = &gEventObjectGraphicsInfo_MayWatering,
[EVENT_OBJ_GFX_BRENDAN_DECORATING] = &gEventObjectGraphicsInfo_BrendanDecorating,
[EVENT_OBJ_GFX_MAY_DECORATING] = &gEventObjectGraphicsInfo_MayDecorating,
[EVENT_OBJ_GFX_ARCHIE] = &gEventObjectGraphicsInfo_Archie,
[EVENT_OBJ_GFX_MAXIE] = &gEventObjectGraphicsInfo_Maxie,
[EVENT_OBJ_GFX_KYOGRE_1] = &gEventObjectGraphicsInfo_Kyogre1,
[EVENT_OBJ_GFX_GROUDON_1] = &gEventObjectGraphicsInfo_Groudon1,
[EVENT_OBJ_GFX_FOSSIL] = &gEventObjectGraphicsInfo_Fossil,
[EVENT_OBJ_GFX_REGIROCK] = &gEventObjectGraphicsInfo_Regirock,
[EVENT_OBJ_GFX_REGICE] = &gEventObjectGraphicsInfo_Regice,
[EVENT_OBJ_GFX_REGISTEEL] = &gEventObjectGraphicsInfo_Registeel,
[EVENT_OBJ_GFX_SKITTY] = &gEventObjectGraphicsInfo_Skitty,
[EVENT_OBJ_GFX_KECLEON_1] = &gEventObjectGraphicsInfo_Kecleon1,
[EVENT_OBJ_GFX_KYOGRE_2] = &gEventObjectGraphicsInfo_Kyogre2,
[EVENT_OBJ_GFX_GROUDON_2] = &gEventObjectGraphicsInfo_Groudon2,
[EVENT_OBJ_GFX_RAYQUAZA_2] = &gEventObjectGraphicsInfo_Rayquaza2,
[EVENT_OBJ_GFX_ZIGZAGOON_2] = &gEventObjectGraphicsInfo_Zigzagoon,
[EVENT_OBJ_GFX_PIKACHU] = &gEventObjectGraphicsInfo_Pikachu,
[EVENT_OBJ_GFX_AZUMARILL] = &gEventObjectGraphicsInfo_Azumarill,
[EVENT_OBJ_GFX_WINGULL] = &gEventObjectGraphicsInfo_Wingull,
[EVENT_OBJ_GFX_KECLEON_2] = &gEventObjectGraphicsInfo_Kecleon2,
[EVENT_OBJ_GFX_TUBER_M_SWIMMING] = &gEventObjectGraphicsInfo_TuberMSwimming,
[EVENT_OBJ_GFX_AZURILL] = &gEventObjectGraphicsInfo_Azurill,
[EVENT_OBJ_GFX_MOM] = &gEventObjectGraphicsInfo_Mom,
[EVENT_OBJ_GFX_LINK_BRENDAN] = &gEventObjectGraphicsInfo_LinkBrendan,
[EVENT_OBJ_GFX_LINK_MAY] = &gEventObjectGraphicsInfo_LinkMay,
[EVENT_OBJ_GFX_JUAN] = &gEventObjectGraphicsInfo_Juan,
[EVENT_OBJ_GFX_SCOTT] = &gEventObjectGraphicsInfo_Scott,
[EVENT_OBJ_GFX_POOCHYENA] = &gEventObjectGraphicsInfo_Poochyena,
[EVENT_OBJ_GFX_KYOGRE_3] = &gEventObjectGraphicsInfo_Kyogre3,
[EVENT_OBJ_GFX_GROUDON_3] = &gEventObjectGraphicsInfo_Groudon3,
[EVENT_OBJ_GFX_MYSTERY_GIFT_MAN] = &gEventObjectGraphicsInfo_MysteryEventDeliveryman,
[EVENT_OBJ_GFX_TRICK_HOUSE_STATUE] = &gEventObjectGraphicsInfo_Statue,
[EVENT_OBJ_GFX_KIRLIA] = &gEventObjectGraphicsInfo_Kirlia,
[EVENT_OBJ_GFX_DUSCLOPS] = &gEventObjectGraphicsInfo_Dusclops,
[EVENT_OBJ_GFX_UNION_ROOM_NURSE] = &gEventObjectGraphicsInfo_UnionRoomAttendant,
[EVENT_OBJ_GFX_SUDOWOODO] = &gEventObjectGraphicsInfo_Sudowoodo,
[EVENT_OBJ_GFX_MEW] = &gEventObjectGraphicsInfo_Mew,
[EVENT_OBJ_GFX_RED] = &gEventObjectGraphicsInfo_Red,
[EVENT_OBJ_GFX_LEAF] = &gEventObjectGraphicsInfo_Leaf,
[EVENT_OBJ_GFX_DEOXYS] = &gEventObjectGraphicsInfo_Deoxys,
[EVENT_OBJ_GFX_DEOXYS_TRIANGLE] = &gEventObjectGraphicsInfo_BirthIslandStone,
[EVENT_OBJ_GFX_BRANDON] = &gEventObjectGraphicsInfo_Brandon,
[EVENT_OBJ_GFX_LINK_RS_BRENDAN] = &gEventObjectGraphicsInfo_RubySapphireBrendan,
[EVENT_OBJ_GFX_LINK_RS_MAY] = &gEventObjectGraphicsInfo_RubySapphireMay,
[EVENT_OBJ_GFX_LUGIA] = &gEventObjectGraphicsInfo_Lugia,
[EVENT_OBJ_GFX_HOOH] = &gEventObjectGraphicsInfo_HoOh,
};
const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
+470
View File
@@ -0,0 +1,470 @@
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/items.h"
#include "constants/species.h"
#include "constants/moves.h"
static const u16 sContestLadyMonGfxId[] =
{
EVENT_OBJ_GFX_ZIGZAGOON_1,
EVENT_OBJ_GFX_SKITTY,
EVENT_OBJ_GFX_POOCHYENA,
EVENT_OBJ_GFX_KECLEON_1,
EVENT_OBJ_GFX_PIKACHU
};
static const u16 sLilycoveLadyGfxId[] =
{
EVENT_OBJ_GFX_WOMAN_4,
EVENT_OBJ_GFX_WOMAN_2,
EVENT_OBJ_GFX_GIRL_2
};
// Quiz Lady data
static const u16 sQuizLadyQuestion1[] =
{
EC_WORD_WHICH,
EC_WORD_STORES,
EC_WORD_INFORMATION,
EC_WORD_ON,
EC_WORD_POKEMON,
EC_WORD_QUES,
EC_WORD_CAMERA,
EC_WORD_POKEDEX,
EC_WORD_POKENAV
};
static const u16 sQuizLadyQuestion2[] =
{
EC_WORD_WHICH,
EC_WORD_ISN_T,
EC_WORD_A,
EC_WORD_GAME,
EC_WORD_VERSION,
EC_WORD_QUES,
EC_WORD_RUBY,
EC_WORD_SAPPHIRE,
EC_WORD_DARK
};
static const u16 sQuizLadyQuestion3[] =
{
EC_WORD_HOW,
EC_WORD_DO,
EC_WORD_POKEMON,
EC_WORD_EVOLVE,
EC_WORD_QUES,
0xFFFF,
EC_WORD_LEVEL,
EC_WORD_INSOMNIA,
EC_WORD_CUTE_CHARM
};
static const u16 sQuizLadyQuestion4[] =
{
EC_WORD_WHICH,
EC_WORD_IS,
EC_WORD_THE,
EC_WORD_PRETTY,
EC_WORD_ITEM,
EC_WORD_QUES,
EC_WORD_COLD,
EC_WORD_FLOWERS,
EC_WORD_MACHINE
};
static const u16 sQuizLadyQuestion5[] =
{
EC_WORD_WHICH,
EC_WORD_ITEM,
EC_WORD_DO,
EC_WORD_YOU,
EC_WORD_BREAK,
EC_WORD_QUES,
EC_WORD_EGG,
EC_WORD_MAIL,
EC_WORD_PHONE
};
static const u16 sQuizLadyQuestion6[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_WORD_STOP,
EC_MOVE2(CONFUSION),
EC_WORD_QUES,
0xFFFF,
EC_WORD_ILLUMINATE,
EC_WORD_OWN_TEMPO,
EC_WORD_SWIFT_SWIM
};
static const u16 sQuizLadyQuestion7[] =
{
EC_WORD_WHICH,
EC_WORD_OF,
EC_WORD_THESE,
EC_WORD_IS,
EC_WORD_MUSIC,
EC_WORD_QUES,
EC_WORD_FLYING,
EC_WORD_STEEL,
EC_WORD_ROCK
};
static const u16 sQuizLadyQuestion8[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_MOVE2(BLOCK),
EC_WORD_ESCAPE,
EC_WORD_QUES,
0xFFFF,
EC_WORD_RUN_AWAY,
EC_WORD_SHADOW_TAG,
EC_WORD_WONDER_GUARD
};
static const u16 sQuizLadyQuestion9[] =
{
EC_WORD_WHICH,
EC_WORD_WILL,
EC_WORD_STOP,
EC_WORD_POISON,
EC_WORD_QUES,
0xFFFF,
EC_WORD_GUTS,
EC_WORD_IMMUNITY,
EC_WORD_SHED_SKIN
};
static const u16 sQuizLadyQuestion10[] =
{
EC_WORD_WHICH,
EC_WORD_GOES,
EC_WORD_WITH,
EC_WORD_CENTER,
EC_WORD_QUES,
0xFFFF,
EC_WORD_POKEDEX,
EC_WORD_POKEMON,
EC_WORD_POKENAV
};
static const u16 sQuizLadyQuestion11[] =
{
EC_WORD_WHICH,
EC_WORD_STORES,
EC_WORD_YOUR,
EC_WORD_POKEMON,
EC_WORD_QUES,
0xFFFF,
EC_WORD_PC,
EC_WORD_DEPT_STORE,
EC_WORD_TELEVISION
};
static const u16 sQuizLadyQuestion12[] =
{
EC_WORD_WHICH,
EC_WORD_MACHINE,
EC_WORD_GIVES,
EC_WORD_YOU,
EC_WORD_INFORMATION,
EC_WORD_QUES,
EC_WORD_BIKE,
EC_WORD_LOCOMOTIVE,
EC_WORD_TELEVISION
};
static const u16 sQuizLadyQuestion13[] =
{
EC_WORD_A,
EC_WORD_POKEMON,
EC_WORD_WAS,
EC_WORD_ONCE,
EC_WORD_THIS,
EC_WORD_QUES,
EC_WORD_PHONE,
EC_WORD_PLUSH_DOLL,
EC_WORD_LETTER
};
static const u16 sQuizLadyQuestion14[] =
{
EC_WORD_STEEL,
EC_WORD_IS,
EC_WORD_STRONG,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_ICE,
EC_WORD_GROUND,
0xFFFF
};
static const u16 sQuizLadyQuestion15[] =
{
EC_WORD_DARK,
EC_WORD_IS,
EC_WORD_WEAK,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_PSYCHIC,
EC_WORD_FIGHTING,
0xFFFF
};
static const u16 sQuizLadyQuestion16[] =
{
EC_WORD_GHOST,
EC_WORD_IS,
EC_WORD_WEAK,
EC_WORD_VERSUS,
EC_WORD_WHICH,
EC_WORD_QUES,
EC_WORD_NORMAL,
EC_WORD_DARK,
0xFFFF
};
static const u16 *const sQuizLadyQuizQuestions[] =
{
sQuizLadyQuestion1,
sQuizLadyQuestion2,
sQuizLadyQuestion3,
sQuizLadyQuestion4,
sQuizLadyQuestion5,
sQuizLadyQuestion6,
sQuizLadyQuestion7,
sQuizLadyQuestion8,
sQuizLadyQuestion9,
sQuizLadyQuestion10,
sQuizLadyQuestion11,
sQuizLadyQuestion12,
sQuizLadyQuestion13,
sQuizLadyQuestion14,
sQuizLadyQuestion15,
sQuizLadyQuestion16
};
static const u16 sQuizLadyQuizAnswers[] =
{
EC_WORD_POKEDEX,
EC_WORD_DARK,
EC_WORD_LEVEL,
EC_WORD_FLOWERS,
EC_WORD_EGG,
EC_WORD_OWN_TEMPO,
EC_WORD_ROCK,
EC_WORD_SHADOW_TAG,
EC_WORD_IMMUNITY,
EC_WORD_POKEMON,
EC_WORD_PC,
EC_WORD_TELEVISION,
EC_WORD_PLUSH_DOLL,
EC_WORD_ICE,
EC_WORD_FIGHTING,
EC_WORD_DARK
};
static const u16 sQuizLadyPrizes[] =
{
ITEM_GLITTER_MAIL,
ITEM_BEAD_MAIL,
ITEM_TROPIC_MAIL,
ITEM_MAX_ETHER,
ITEM_MAX_ETHER,
ITEM_MAX_ETHER,
ITEM_WATMEL_BERRY,
ITEM_BELUE_BERRY,
ITEM_DURIN_BERRY,
ITEM_LUXURY_BALL,
ITEM_TM15_HYPER_BEAM,
ITEM_BIG_PEARL,
ITEM_STAR_PIECE,
ITEM_RARE_CANDY,
ITEM_RARE_CANDY,
ITEM_PREMIER_BALL
};
// Favor Lady data
static const u8 *const sFavorLadyRequests[] =
{
gText_FavorLady_Slippery,
gText_FavorLady_Roundish,
gText_FavorLady_Whamish,
gText_FavorLady_Shiny,
gText_FavorLady_Sticky,
gText_FavorLady_Pointy
};
static const u16 sFavorLadyAcceptedItems_Slippery[] =
{
ITEM_REPEL,
ITEM_SUPER_REPEL,
ITEM_MAX_REPEL,
ITEM_ANTIDOTE,
ITEM_PARALYZE_HEAL,
ITEM_BURN_HEAL,
ITEM_BELUE_BERRY,
ITEM_AWAKENING,
ITEM_ICE_HEAL,
ITEM_REVIVE,
ITEM_MAX_REVIVE,
ITEM_ENERGY_POWDER,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Roundish[] =
{
ITEM_FLUFFY_TAIL,
ITEM_PEARL,
ITEM_BIG_PEARL,
ITEM_HARD_STONE,
ITEM_SMOKE_BALL,
ITEM_SHOAL_SHELL,
ITEM_TINY_MUSHROOM,
ITEM_BIG_MUSHROOM,
ITEM_PECHA_BERRY,
ITEM_ASPEAR_BERRY,
ITEM_ORAN_BERRY,
ITEM_GREPA_BERRY,
ITEM_MAGOST_BERRY,
ITEM_WATMEL_BERRY,
ITEM_POKE_BALL,
ITEM_ULTRA_BALL,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Whamish[] =
{
ITEM_REVIVAL_HERB,
ITEM_POTION,
ITEM_FRESH_WATER,
ITEM_SODA_POP,
ITEM_LEMONADE,
ITEM_HARD_STONE,
ITEM_LIGHT_BALL,
ITEM_LAVA_COOKIE,
ITEM_CHESTO_BERRY,
ITEM_NANAB_BERRY,
ITEM_WEPEAR_BERRY,
ITEM_KELPSY_BERRY,
ITEM_NOMEL_BERRY,
ITEM_DURIN_BERRY,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Shiny[] =
{
ITEM_HEAL_POWDER,
ITEM_X_SPEED,
ITEM_X_ATTACK,
ITEM_X_DEFEND,
ITEM_BLUE_FLUTE,
ITEM_YELLOW_FLUTE,
ITEM_RED_FLUTE,
ITEM_BLACK_FLUTE,
ITEM_WHITE_FLUTE,
ITEM_NUGGET,
ITEM_SUN_STONE,
ITEM_STARDUST,
ITEM_STAR_PIECE,
ITEM_PEARL,
ITEM_BIG_PEARL,
ITEM_TWISTED_SPOON,
ITEM_SILVER_POWDER,
ITEM_BRIGHT_POWDER,
ITEM_LUXURY_BALL,
ITEM_PREMIER_BALL,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Sticky[] =
{
ITEM_ENERGY_ROOT,
ITEM_FULL_RESTORE,
ITEM_MAX_POTION,
ITEM_DIRE_HIT,
ITEM_X_ACCURACY,
ITEM_GUARD_SPEC,
ITEM_WATMEL_BERRY,
ITEM_LEFTOVERS,
ITEM_TINY_MUSHROOM,
ITEM_HEART_SCALE,
ITEM_NONE
};
static const u16 sFavorLadyAcceptedItems_Pointy[] =
{
ITEM_QUICK_CLAW,
ITEM_POISON_BARB,
ITEM_SHARP_BEAK,
ITEM_DRAGON_FANG,
ITEM_TAMATO_BERRY,
ITEM_DURIN_BERRY,
ITEM_PETAYA_BERRY,
ITEM_SALAC_BERRY,
ITEM_STARDUST,
ITEM_STAR_PIECE,
ITEM_NONE
};
static const u16 *const sFavorLadyAcceptedItemLists[] =
{
sFavorLadyAcceptedItems_Slippery,
sFavorLadyAcceptedItems_Roundish,
sFavorLadyAcceptedItems_Whamish,
sFavorLadyAcceptedItems_Shiny,
sFavorLadyAcceptedItems_Sticky,
sFavorLadyAcceptedItems_Pointy
};
static const u16 sFavorLadyPrizes[] =
{
ITEM_LUXURY_BALL,
ITEM_NUGGET,
ITEM_PROTEIN,
ITEM_HEART_SCALE,
ITEM_RARE_CANDY,
ITEM_PP_MAX
};
static const u8 *const sContestLadyMonNames[] =
{
gText_ContestLady_Handsome,
gText_ContestLady_Vinny,
gText_ContestLady_Moreme,
gText_ContestLady_Ironhard,
gText_ContestLady_Muscle
};
static const u8 *const sContestLadyCategoryNames[] =
{
gText_ContestLady_Coolness,
gText_ContestLady_Beauty,
gText_ContestLady_Cuteness,
gText_ContestLady_Smartness,
gText_ContestLady_Toughness
};
static const u8 *const sContestNames[] =
{
gText_CoolnessContest,
gText_BeautyContest,
gText_CutenessContest,
gText_SmartnessContest,
gText_ToughnessContest
};
static const u16 sContestLadyMonSpecies[] =
{
SPECIES_ZIGZAGOON,
SPECIES_SKITTY,
SPECIES_POOCHYENA,
SPECIES_KECLEON,
SPECIES_PIKACHU
};
+2 -2
View File
@@ -835,7 +835,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation)
u8 metLocation;
u8 isEgg;
CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, FALSE, 0);
CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
@@ -862,7 +862,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *
u8 language;
personality = daycare->offspringPersonality;
CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, FALSE, 0);
CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, OT_ID_PLAYER_ID, 0);
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
+1 -1
View File
@@ -127,7 +127,7 @@ static void Task_DiplomaFadeOut(u8 taskId)
static void DisplayDiplomaText(void)
{
if (sub_80C0944())
if (HasAllMons())
{
SetGpuReg(REG_OFFSET_BG1HOFS, DISPCNT_BG0_ON);
StringCopy(gStringVar1, gText_DexNational);
+16 -14
View File
@@ -30,6 +30,7 @@
#include "constants/easy_chat.h"
#include "constants/event_objects.h"
#include "constants/flags.h"
#include "constants/lilycove_lady.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/rgb.h"
@@ -240,6 +241,7 @@ struct Unk8597530
MainCallback callback;
};
// Lilycove Quiz Lady
static const struct Unk8597530 sUnknown_08597530[] = {
{
.word = 26,
@@ -1305,15 +1307,15 @@ void ShowEasyChatScreen(void)
displayedPersonType = EASY_CHAT_PERSON_BOY;
break;
case EASY_CHAT_TYPE_QUIZ_ANSWER:
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_016;
words = &gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer;
break;
case EASY_CHAT_TYPE_QUIZ_QUESTION:
return;
case EASY_CHAT_TYPE_QUIZ_SET_QUESTION:
words = gSaveBlock1Ptr->lilycoveLady.quiz.unk_002;
words = gSaveBlock1Ptr->lilycoveLady.quiz.question;
break;
case EASY_CHAT_TYPE_QUIZ_SET_ANSWER:
words = &gSaveBlock1Ptr->lilycoveLady.quiz.unk_014;
words = &gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer;
break;
case EASY_CHAT_TYPE_APPRENTICE:
words = gSaveBlock2Ptr->apprentices[0].easyChatWords;
@@ -1329,7 +1331,7 @@ void ShowEasyChatScreen(void)
DoEasyChatScreen(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript, displayedPersonType);
}
static void sub_811A7E4(void)
static void CB2_QuizLadyQuestion(void)
{
LilycoveLady *lilycoveLady;
@@ -1343,7 +1345,7 @@ static void sub_811A7E4(void)
if (!gPaletteFade.active)
{
lilycoveLady = &gSaveBlock1Ptr->lilycoveLady;
lilycoveLady->quiz.unk_016 = -1;
lilycoveLady->quiz.playerAnswer = -1;
CleanupOverworldWindowsAndTilemaps();
DoQuizQuestionEasyChatScreen();
}
@@ -1352,9 +1354,9 @@ static void sub_811A7E4(void)
gMain.state ++;
}
void sub_811A858(void)
void QuizLadyShowQuizQuestion(void)
{
SetMainCallback2(sub_811A7E4);
SetMainCallback2(CB2_QuizLadyQuestion);
}
static int sub_811A868(u16 word)
@@ -1387,7 +1389,7 @@ static void DoQuizAnswerEasyChatScreen(void)
{
DoEasyChatScreen(
EASY_CHAT_TYPE_QUIZ_ANSWER,
&gSaveBlock1Ptr->lilycoveLady.quiz.unk_016,
&gSaveBlock1Ptr->lilycoveLady.quiz.playerAnswer,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@@ -1395,7 +1397,7 @@ static void DoQuizAnswerEasyChatScreen(void)
static void DoQuizQuestionEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_QUESTION,
gSaveBlock1Ptr->lilycoveLady.quiz.unk_002,
gSaveBlock1Ptr->lilycoveLady.quiz.question,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@@ -1403,7 +1405,7 @@ static void DoQuizQuestionEasyChatScreen(void)
static void DoQuizSetAnswerEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_ANSWER,
&gSaveBlock1Ptr->lilycoveLady.quiz.unk_014,
&gSaveBlock1Ptr->lilycoveLady.quiz.correctAnswer,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@@ -1411,7 +1413,7 @@ static void DoQuizSetAnswerEasyChatScreen(void)
static void DoQuizSetQuestionEasyChatScreen(void)
{
DoEasyChatScreen(EASY_CHAT_TYPE_QUIZ_SET_QUESTION,
gSaveBlock1Ptr->lilycoveLady.quiz.unk_002,
gSaveBlock1Ptr->lilycoveLady.quiz.question,
CB2_ReturnToFieldContinueScript,
EASY_CHAT_PERSON_DISPLAY_NONE);
}
@@ -2660,9 +2662,9 @@ static int sub_811BD64(void)
return sub_811BCF4();
saveBlock1 = gSaveBlock1Ptr;
for (i = 0; i < 9; i++)
for (i = 0; i < QUIZ_QUESTION_LEN; i++)
{
if (saveBlock1->lilycoveLady.quiz.unk_002[i] != 0xFFFF)
if (saveBlock1->lilycoveLady.quiz.question[i] != 0xFFFF)
return 0;
}
@@ -2676,7 +2678,7 @@ static int sub_811BDB0(void)
return sub_811BCF4();
quiz = &gSaveBlock1Ptr->lilycoveLady.quiz;
return quiz->unk_014 == 0xFFFF ? 1 : 0;
return quiz->correctAnswer == 0xFFFF ? 1 : 0;
}
static void sub_811BDF0(u8 *arg0)
+1 -1
View File
@@ -322,7 +322,7 @@ static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
pokerus = GetMonData(egg, MON_DATA_POKERUS);
obedience = GetMonData(egg, MON_DATA_OBEDIENCE);
CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, 0, 0);
CreateMon(temp, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0);
for (i = 0; i < 4; i++)
{
+2 -2
View File
@@ -667,9 +667,9 @@ static void sub_810A75C(struct Sprite *sprite)
sprite->oam.tileNum += gBattleAnimArgs[3] * 4;
if (gBattleAnimArgs[3] == 1)
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
else if (gBattleAnimArgs[3] == 2)
sprite->oam.matrixNum = 16;
sprite->oam.matrixNum = ST_OAM_VFLIP;
sprite->data[0] = gBattleAnimArgs[2];
sprite->callback = WaitAnimForDuration;
+1 -1
View File
@@ -1442,7 +1442,7 @@ void SetShoalItemFlag(u16 v0)
void PutZigzagoonInPlayerParty(void)
{
u16 monData;
CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0);
CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
monData = TRUE;
SetMonData(&gPlayerParty[0], MON_DATA_ABILITY_NUM, &monData);
monData = MOVE_TACKLE;
+2 -2
View File
@@ -912,9 +912,9 @@ void sub_810D874(struct Sprite *sprite)
}
if (IsContest())
sprite->oam.matrixNum |= 0x8;
sprite->oam.matrixNum |= ST_OAM_HFLIP;
else if (GetBattlerSide(battler) == B_SIDE_PLAYER)
sprite->oam.matrixNum |= 0x18;
sprite->oam.matrixNum |= (ST_OAM_HFLIP | ST_OAM_VFLIP);
sprite->data[0] = 16;
sprite->data[1] = sprite->pos1.x;
+1 -1
View File
@@ -1800,7 +1800,7 @@ void sub_810EEF8(struct Sprite *sprite)
sprite->data[2] = gBattleAnimArgs[0];
if (sprite->data[2])
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
if (gBattleAnimArgs[1] == 0)
{
+1 -1
View File
@@ -2503,7 +2503,7 @@ void CreateFrontierBrainPokemon(void)
monLevel,
sFrontierBrainsMons[facility][symbol][i].fixedIV,
TRUE, j,
TRUE, FRONTIER_BRAIN_OTID);
OT_ID_PRESET, FRONTIER_BRAIN_OTID);
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, &sFrontierBrainsMons[facility][symbol][i].heldItem);
for (j = 0; j < NUM_STATS; j++)
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HP_EV + j, &sFrontierBrainsMons[facility][symbol][i].evs[j]);
+1 -1
View File
@@ -1039,7 +1039,7 @@ static void sub_81129F0(struct Sprite *sprite)
{
xDelta = 24;
xDelta2 = -2;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{
+1 -1
View File
@@ -755,7 +755,7 @@ static void Task_Hof_HandleExit(u8 taskId)
static void SetCallback2AfterHallOfFameDisplay(void)
{
SetMainCallback2(sub_8175620);
SetMainCallback2(CB2_StartCreditsSequence);
}
#undef tDontSaveData
+12 -12
View File
@@ -118,9 +118,9 @@ void sub_81AD9C0(u8);
void sub_81ADB14(u8);
void sub_81ADA7C(u8);
void sub_81ADC0C(u8);
void bag_menu_leave_maybe_3(void);
void bag_menu_leave_maybe_2(void);
void bag_menu_leave_maybe(void);
void CB2_FavorLadyExitBagMenu(void);
void CB2_QuizLadyExitBagMenu(void);
void sub_81ABA6C(void);
static void SetPocketListPositions(void);
void sub_81ABAE0(void);
@@ -493,20 +493,20 @@ void sub_81AAC14(void)
void sub_81AAC28(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe_3);
GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe);
gSpecialVar_0x8005 = 0;
gSpecialVar_Result = 0;
}
void sub_81AAC50(void)
void FavorLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, bag_menu_leave_maybe_2);
GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, CB2_FavorLadyExitBagMenu);
gSpecialVar_Result = 0;
}
void sub_81AAC70(void)
void QuizLadyOpenBagMenu(void)
{
GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, bag_menu_leave_maybe);
GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, CB2_QuizLadyExitBagMenu);
gSpecialVar_Result = 0;
}
@@ -2202,7 +2202,7 @@ void unknown_ItemMenu_Show(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe_3(void)
void bag_menu_leave_maybe(void)
{
gFieldCallback = Apprentice_EnableBothScriptContexts;
SetMainCallback2(CB2_ReturnToField);
@@ -2216,9 +2216,9 @@ void unknown_ItemMenu_Give2(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe_2(void)
void CB2_FavorLadyExitBagMenu(void)
{
gFieldCallback = sub_818DEF4;
gFieldCallback = FieldCallback_FavorLadyEnableScriptContexts;
SetMainCallback2(CB2_ReturnToField);
}
@@ -2229,9 +2229,9 @@ void unknown_ItemMenu_Confirm2(u8 taskId)
unknown_ItemMenu_Confirm(taskId);
}
void bag_menu_leave_maybe(void)
void CB2_QuizLadyExitBagMenu(void)
{
gFieldCallback = sub_818E564;
gFieldCallback = FieldCallback_QuizLadyEnableScriptContexts;
SetMainCallback2(CB2_ReturnToField);
}
+116
View File
@@ -0,0 +1,116 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start ArcTan2
ArcTan2: @ 82E7078
swi 0xA
bx lr
thumb_func_end ArcTan2
thumb_func_start BgAffineSet
@ void BgAffineSet(BgAffineSet_src_data *src, BgAffineSet_dest_data *dest, int entry_count)
BgAffineSet: @ 82E707C
swi 0xE
bx lr
thumb_func_end BgAffineSet
thumb_func_start CpuFastSet
@ void CpuFastSet(void *src, void *dest, unsigned int mode)
CpuFastSet: @ 82E7080
swi 0xC
bx lr
thumb_func_end CpuFastSet
thumb_func_start CpuSet
@ void CpuSet(void *src, void *dest, unsigned int mode)
CpuSet: @ 82E7084
swi 0xB
bx lr
thumb_func_end CpuSet
thumb_func_start Div
Div: @ 82E7088
swi 0x6
bx lr
thumb_func_end Div
thumb_func_start LZ77UnCompVram
@ void LZ77UnCompVram(void *src, void *dest)
LZ77UnCompVram: @ 82E708C
swi 0x12
bx lr
thumb_func_end LZ77UnCompVram
thumb_func_start LZ77UnCompWram
@ void LZ77UnCompWram(void *src, void *dest)
LZ77UnCompWram: @ 82E7090
swi 0x11
bx lr
thumb_func_end LZ77UnCompWram
thumb_func_start MultiBoot
@ s32 MultiBoot(struct MultiBootParam *mp)
MultiBoot: @ 82E7094
movs r1, 0x1
swi 0x25
bx lr
thumb_func_end MultiBoot
thumb_func_start ObjAffineSet
ObjAffineSet: @ 82E709C
swi 0xF
bx lr
thumb_func_end ObjAffineSet
thumb_func_start RLUnCompVram
RLUnCompVram: @ 82E70A0
swi 0x15
bx lr
thumb_func_end RLUnCompVram
thumb_func_start RLUnCompWram
RLUnCompWram: @ 82E70A4
swi 0x14
bx lr
thumb_func_end RLUnCompWram
thumb_func_start RegisterRamReset
@ void RegisterRamReset(int ResetFlags)
RegisterRamReset: @ 82E70A8
swi 0x1
bx lr
thumb_func_end RegisterRamReset
thumb_func_start SoftReset
@ void SoftReset()
SoftReset: @ 82E70AC
ldr r3, =REG_IME
movs r2, 0
strb r2, [r3]
ldr r1, =0x3007F00
mov sp, r1
swi 0x1
swi 0
.pool
thumb_func_end SoftReset
thumb_func_start Sqrt
@ s16 Sqrt(int)
Sqrt: @ 82E70C4
swi 0x8
bx lr
thumb_func_end Sqrt
thumb_func_start VBlankIntrWait
@ void VBlankIntrWait()
VBlankIntrWait: @ 82E70C8
movs r2, 0
swi 0x5
bx lr
thumb_func_end VBlankIntrWait
.align 2, 0 @ Don't pad with nop.
+550
View File
@@ -0,0 +1,550 @@
@ This library can be used to download and execute a multi-boot image from
@ a GameCube using the JOY Bus protocol over the link cable.
.include "asm/macros.inc"
.include "constants/constants.inc"
.equiv GCMB_STRUCT_BASE_DEST_PTR, 0x20
.equiv GCMB_STRUCT_CUR_DEST_PTR, 0x24
.equiv GCMB_STRUCT_SERIAL_INTR_HANDLER, 0x28
.equiv ROM_HEADER_NINTENDO_LOGO_OFFSET, 0x4
.syntax unified
.text
thumb_func_start GameCubeMultiBoot_Hash
GameCubeMultiBoot_Hash: @ 82DED70
push {r4,lr}
ldr r4, pool_HashVal
eors r3, r1
movs r2, 0x20
GameCubeMultiBoot_Hash_Loop:
lsrs r3, 1
bcc GameCubeMultiBoot_Hash_SkipEor
eors r3, r4
GameCubeMultiBoot_Hash_SkipEor:
subs r2, 0x1
bne GameCubeMultiBoot_Hash_Loop
pop {r4,pc}
thumb_func_end GameCubeMultiBoot_Hash
thumb_func_start GameCubeMultiBoot_Main
@ void GameCubeMultiBoot_Main(struct GameCubeMultiBoot *mb);
GameCubeMultiBoot_Main: @ 82DED84
ldr r1, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER]
cmp r1, 0
beq _082DEDAA
ldrb r1, [r0, 0x1]
adds r1, 0x1
strb r1, [r0, 0x1]
ldrb r1, [r0, 0x2]
cmp r1, 0x2
beq _082DEDF4
ldr r3, pool_InterruptRegs
ldrh r2, [r3, OFFSET_REG_IME - 0x200]
movs r1, 0
strh r1, [r3, OFFSET_REG_IME - 0x200]
ldrb r1, [r0]
cmp r1, 0xA
bgt _082DEDA8
adds r1, 0x1
strb r1, [r0]
_082DEDA8:
strh r2, [r3, OFFSET_REG_IME - 0x200]
_082DEDAA:
bcs GameCubeMultiBoot_Init
ldrb r1, [r0, 0x2]
cmp r1, 0
bne _082DEDF6
ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR]
ldr r2, [r0, GCMB_STRUCT_BASE_DEST_PTR]
subs r1, r2
beq _082DEE76
cmp r1, 0xA0
bcc _082DEE76
push {r4-r6}
movs r1, 0x98
adds r2, ROM_HEADER_NINTENDO_LOGO_OFFSET
ldr r4, pool_NintendoLogo
_082DEDC6:
ldm r2!, {r5}
ldm r4!, {r6}
cmp r5, r6
bne _082DEDDC
subs r1, 0x4
bne _082DEDC6
ldm r2!, {r5}
ldm r4!, {r6}
eors r5, r6
lsrs r5, 8
str r2, [r0, GCMB_STRUCT_BASE_DEST_PTR]
_082DEDDC:
pop {r4-r6}
bne GameCubeMultiBoot_Init
movs r1, 0x1
strb r1, [r0, 0x2]
ldr r1, [r0, 0x4]
ldr r2, [r0, 0x8]
eors r1, r2
str r1, [r0, 0x18]
ldr r2, pool_Kawa
muls r1, r2
adds r1, 0x1
str r1, [r0, 0x14]
_082DEDF4:
bx lr
_082DEDF6:
ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR]
mov r12, r1
ldr r3, [r0, 0x18]
push {r4-r7}
ldr r4, [r0, GCMB_STRUCT_BASE_DEST_PTR]
ldr r5, pool_Kawa
ldr r6, [r0, 0x14]
ldr r7, pool_HashVal
_082DEE06:
cmp r4, r12
bcs _082DEE26
ldr r1, [r4]
eors r1, r6
adds r1, r3
stm r4!, {r1}
eors r3, r1
movs r2, 0x20
_082DEE16:
lsrs r3, 1
bcc _082DEE1C
eors r3, r7
_082DEE1C:
subs r2, 0x1
bne _082DEE16
muls r6, r5
adds r6, 0x1
b _082DEE06
_082DEE26:
str r4, [r0, GCMB_STRUCT_BASE_DEST_PTR]
str r6, [r0, 0x14]
pop {r4-r7}
str r3, [r0, 0x18]
ldrh r1, [r0, 0x12]
cmp r1, 0
bne _082DEE76
ldr r1, [r0, GCMB_STRUCT_CUR_DEST_PTR]
ldr r2, [r0, GCMB_STRUCT_BASE_DEST_PTR]
cmp r1, r2
bne _082DEE76
ldr r1, [r0, 0xC]
cmp r1, 0
beq _082DEE60
ldrh r1, [r0, 0x10]
cmp r1, 0
beq _082DEDF4
mov r12, lr
movs r1, 0xBB
ldr r3, [r0, 0xC]
bl GameCubeMultiBoot_Hash
ldrh r1, [r0, 0x10]
mov lr, r12
subs r1, r3
bne GameCubeMultiBoot_Init
movs r1, 0x2
strb r1, [r0, 0x2]
bx lr
_082DEE60:
mov r12, lr
ldrb r1, [r0, 0x3]
lsls r1, 24
subs r1, 0x1
str r1, [r0, 0xC]
bl GameCubeMultiBoot_Hash
lsls r3, 8
adds r3, 0xFF
str r3, [r0, 0x1C]
bx r12
_082DEE76:
bx lr
thumb_func_end GameCubeMultiBoot_Main
.align 2, 0
pool_HashVal: .4byte 0xa1c1
pool_Kawa: .ascii "Kawa" @ name of BIOS developer
pool_NintendoLogo: .4byte RomHeaderNintendoLogo
thumb_func_start GameCubeMultiBoot_ExecuteProgram
@ void GameCubeMultiBoot_ExecuteProgram(struct GameCubeMultiBoot *mb);
GameCubeMultiBoot_ExecuteProgram: @ 82DEE84
ldrb r1, [r0, 0x2]
cmp r1, 0x2
bne GameCubeMultiBoot_ExecuteProgram_Fail
ldr r3, pool_InterruptRegs
movs r1, 0
strh r1, [r3, OFFSET_REG_IME - 0x200]
ldr r1, pool_MultiBootLoadAddr
adds r1, 0xC0
bx r1
GameCubeMultiBoot_ExecuteProgram_Fail:
bx lr
thumb_func_end GameCubeMultiBoot_ExecuteProgram
thumb_func_start GameCubeMultiBoot_Init
@ void GameCubeMultiBoot_Init(struct GameCubeMultiBoot *mb);
GameCubeMultiBoot_Init: @ 82DEE98
ldr r3, pool_InterruptRegs
@ Save IME register.
ldrh r2, [r3, OFFSET_REG_IME - 0x200]
@ Disable interrupts.
movs r1, 0
strh r1, [r3, OFFSET_REG_IME - 0x200]
@ Set the handler to the "Stop" routine.
@ Unless the first command that is received is a device reset command, the
@ "Stop" routine will be executed and no further commands will be processed.
adr r3, GcMbIntrHandler_Stop
str r3, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER]
ldrb r3, [r0, 0x3]
push {r3}
ldrb r3, [r0, 0x1]
push {r0,r3}
adds r3, r0, 0
adds r3, GCMB_STRUCT_BASE_DEST_PTR
@ clear all but the last 3 fields of the struct
GameCubeMultiBoot_Init_ClearStructLoop:
stm r0!, {r1}
cmp r0, r3
blo GameCubeMultiBoot_Init_ClearStructLoop
pop {r0,r3}
lsrs r3, 1
strb r3, [r0, 0x3]
pop {r3}
strb r3, [r0, 0x1]
ldr r3, pool_SerialRegs
@ Turn off JOY Bus mode.
lsls r0, r3, 10
strh r0, [r3, OFFSET_REG_RCNT - 0x120]
@ Turn on JOY Bus mode.
movs r0, 0xC0
lsls r0, 8
strh r0, [r3, OFFSET_REG_RCNT - 0x120]
@ Init JOY Bus registers.
movs r0, 0x47
strh r0, [r3, OFFSET_REG_JOYCNT - 0x120]
strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120]
ldr r3, pool_InterruptRegs
@ Acknowledge serial interrupt.
movs r0, INTR_FLAG_SERIAL
strh r0, [r3, OFFSET_REG_IF - 0x200]
@ Enable serial interrupt.
ldrh r1, [r3, OFFSET_REG_IE - 0x200]
orrs r1, r0
strh r1, [r3, OFFSET_REG_IE - 0x200]
@ Restore IME register.
strh r2, [r3, OFFSET_REG_IME - 0x200]
bx lr
thumb_func_end GameCubeMultiBoot_Init
non_word_aligned_thumb_func_start GameCubeMultiBoot_HandleSerialInterrupt
@ void GameCubeMultiBoot_HandleSerialInterrupt(struct GameCubeMultiBoot *mb);
GameCubeMultiBoot_HandleSerialInterrupt: @ 82DEEE2
ldr r3, pool_SerialRegs
@ Acknowledge reset/receive/send flags.
ldrh r1, [r3, OFFSET_REG_JOYCNT - 0x120]
strh r1, [r3, OFFSET_REG_JOYCNT - 0x120]
movs r2, 0
strb r2, [r0]
ldr r2, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER]
cmp r2, 0
beq GameCubeMultiBoot_HandleSerialInterruptDone
lsrs r1, 1 @ was a device reset command received?
bcs GameCubeMultiBoot_BeginHandshake @ branch if so
mov pc, r2
.align 2, 0
@ Zero the status and the interrupt handler pointer.
@ Commands from the GameCube will not be processed after this is executed
@ unless GameCubeMultiBoot_Init() is called again.
GcMbIntrHandler_Stop:
movs r2, 0
strh r2, [r3, OFFSET_REG_JOYSTAT - 0x120]
GameCubeMultiBoot_SetInterruptHandler:
str r2, [r0, GCMB_STRUCT_SERIAL_INTR_HANDLER]
GameCubeMultiBoot_ReadVCount:
ldr r3, pool_RegDispstat
ldrh r1, [r3, OFFSET_REG_VCOUNT - OFFSET_REG_DISPSTAT]
strb r1, [r0, 0x3]
GameCubeMultiBoot_HandleSerialInterruptDone:
bx lr
GameCubeMultiBoot_BeginHandshake:
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
ldr r1, pool_RubyUSAGameCode
str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120]
movs r1, 0x10
strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120]
ldrb r1, [r0, 0x3]
strb r1, [r0, 0x9]
ldrb r1, [r0, 0x2]
cmp r1, 0
bne GcMbIntrHandler_Stop
ldr r1, pool_MultiBootLoadAddr
str r1, [r0, GCMB_STRUCT_BASE_DEST_PTR]
str r1, [r0, GCMB_STRUCT_CUR_DEST_PTR]
adr r2, GcMbIntrHandler_CheckGameCodeSent
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_CheckGameCodeSent: @ 82DEF24
lsls r1, 31
bcc GcMbIntrHandler_Stop @ stop if send failed
bmi GameCubeMultiBoot_CheckHandshakeResponse @ branch if receive is complete
@ If the response hasn't been fully received yet,
@ check again upon the next interrupt.
adr r2, GcMbIntrHandler_CheckHandshakeResponse
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_CheckHandshakeResponse: @ 82DEF30
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ stop if not
GameCubeMultiBoot_CheckHandshakeResponse:
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
ldr r2, pool_RubyUSAGameCode
cmp r1, r2
bne GcMbIntrHandler_Stop @ stop if the GameCube didn't reply with the same game code
ldrb r1, [r0, 0x3]
strb r1, [r0, 0xB]
adr r2, GcMbIntrHandler_82DEF44
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEF44: @ 82DEF44
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
lsrs r2, r1, 24
cmp r2, 0xDD
bne GcMbIntrHandler_Stop
str r1, [r0, 0x4]
ldrb r1, [r0, 0x1]
strb r1, [r0, 0xA]
movs r2, 0
movs r3, 0
ldr r1, [r0, 0x8]
lsrs r1, 8
_082DEF5E:
lsrs r1, 1
adcs r2, r3
cmp r1, 0
bne _082DEF5E
cmp r2, 0xE
bgt _082DEF70
cmp r2, 0x7
bge _082DEF72
movs r1, 0xFF
_082DEF70:
strb r1, [r0, 0xA]
_082DEF72:
ldr r1, [r0, 0x8]
adds r1, 0xEE
ldr r3, pool_SerialRegs
str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120]
movs r1, 0x30
strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120]
adr r2, GcMbIntrHandler_82DEF84
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEF84: @ 82DEF84
lsls r1, 31
bcc GcMbIntrHandler_Stop @ stop if send failed
bmi _082DEF94 @ branch if receive is complete
adr r2, GcMbIntrHandler_82DEF90
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEF90: @ 82DEF90
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
_082DEF94:
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
ldr r2, _082DF034
cmp r1, r2
bhs GcMbIntrHandler_Stop
adds r1, 0x1
adds r1, r1
strh r1, [r0, 0x12]
ldrb r1, [r0, 0x2]
cmp r1, 0
_082DEFA6:
bne GcMbIntrHandler_Stop
ldr r1, pool_MultiBootLoadAddr
str r1, [r0, GCMB_STRUCT_BASE_DEST_PTR]
str r1, [r0, GCMB_STRUCT_CUR_DEST_PTR]
adr r2, GcMbIntrHandler_82DEFB4
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEFB4: @ 82DEFB4
lsrs r1, 1 @ is receive complete?
bcc GcMbIntrHandler_Stop @ branch if not
ldr r2, [r0, GCMB_STRUCT_CUR_DEST_PTR]
movs r1, 0x4
ands r1, r2
adds r1, 0x8
lsls r1, 2
strh r1, [r3, OFFSET_REG_JOYSTAT - 0x120]
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
stm r2!, {r1}
str r2, [r0, GCMB_STRUCT_CUR_DEST_PTR]
ldrh r1, [r0, 0x12]
subs r1, 0x1
strh r1, [r0, 0x12]
bne GameCubeMultiBoot_ReadVCount
_082DEFD2:
ldrb r1, [r0, 0x1]
lsls r1, 8
adds r1, 0xCC
str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120]
adr r2, _082DEFE0
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
_082DEFE0:
lsls r1, 31
_082DEFE2:
bcc GcMbIntrHandler_Stop
ldr r1, [r0, 0x1C]
cmp r1, 0
beq _082DEFD2
str r1, [r3, OFFSET_REG_JOY_TRANS - 0x120]
adr r2, GcMbIntrHandler_82DEFF0
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEFF0: @ 82DEFF0
lsls r1, 31
bcc _082DEFE2 @ branch if send failed
bmi _082DF000 @ branch if receive is complete
adr r2, GcMbIntrHandler_82DEFFC
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DEFFC: @ 82DEFFC
lsrs r1, 1 @ is receive complete?
bcc _082DEFE2 @ branch if not
_082DF000:
ldr r1, [r3, OFFSET_REG_JOY_RECV - 0x120]
lsrs r2, r1, 24
cmp r2, 0xBB
bne _082DEFA6
strh r1, [r0, 0x10]
adr r2, GcMbIntrHandler_82DF010
b GameCubeMultiBoot_SetInterruptHandler
.align 2, 0
GcMbIntrHandler_82DF010: @ 82DF010
b GcMbIntrHandler_Stop
thumb_func_end GameCubeMultiBoot_HandleSerialInterrupt
non_word_aligned_thumb_func_start GameCubeMultiBoot_Quit
@ void GameCubeMultiBoot_Quit();
GameCubeMultiBoot_Quit: @ 82DF012
ldr r3, pool_InterruptRegs
@ Save IME register.
ldrh r2, [r3, OFFSET_REG_IME - 0x200]
@ Disable interrupts.
movs r1, 0
strh r1, [r3, OFFSET_REG_IME - 0x200]
ldr r3, pool_SerialRegs
@ Acknowledge all JOYCNT flags.
movs r0, 0x7
strh r0, [r3, OFFSET_REG_JOYCNT - 0x120]
@ Turn off JOY Bus mode.
lsls r0, r3, 10
strh r0, [r3, OFFSET_REG_RCNT - 0x120] @ store 0x8000
ldr r3, pool_InterruptRegs
@ Acknowledge serial interrupt.
movs r0, INTR_FLAG_SERIAL
strh r0, [r3, OFFSET_REG_IF - 0x200]
@ Disable serial interrupt.
ldrh r1, [r3, OFFSET_REG_IE - 0x200]
bics r1, r0
strh r1, [r3, OFFSET_REG_IE - 0x200]
@ Restore IME register.
strh r2, [r3, OFFSET_REG_IME - 0x200]
bx lr
thumb_func_end GameCubeMultiBoot_Quit
.align 2, 0
_082DF034: .4byte 0x4000
pool_InterruptRegs: .4byte REG_BASE + 0x200
pool_SerialRegs: .4byte REG_BASE + 0x120
pool_RegDispstat: .4byte REG_DISPSTAT
pool_RubyUSAGameCode: .ascii "AXVE"
pool_MultiBootLoadAddr: .4byte EWRAM_START
.align 2, 0 @ Don't pad with nop.
+374 -563
View File
File diff suppressed because it is too large Load Diff
+1934
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -198,7 +198,7 @@ void NewGameInitData(void)
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
ResetMiniGamesResults();
copy_strings_to_sav1();
SetLilycoveLady();
InitLilycoveLady();
ResetAllApprenticeData();
ClearRankingHallRecords();
InitMatchCallCounters();
+1 -1
View File
@@ -3650,7 +3650,7 @@ static u8 sub_81B31B0(u8 a)
for (i = 0; i < gUnknown_0203CEC4->listSize; i++)
{
u8 unk = (gUnknown_0203CEC4->actions[i] > 18) ? 4 : 3;
u8 unk = (gUnknown_0203CEC4->actions[i] >= MENU_FIELD_MOVES) ? 4 : 3;
AddTextPrinterParameterized4(gUnknown_0203CEC4->windowId[0], 1, cursorDimension, (i * 16) + 1, fontAttribute, 0, sFontColorTable[unk], 0, sCursorOptions[gUnknown_0203CEC4->actions[i]].text);
}
+27 -27
View File
@@ -4249,12 +4249,12 @@ u16 GetPokedexHeightWeight(u16 dexNum, u8 data)
{
switch (data)
{
case 0: // height
return gPokedexEntries[dexNum].height;
case 1: // weight
return gPokedexEntries[dexNum].weight;
default:
return 1;
case 0: // height
return gPokedexEntries[dexNum].height;
case 1: // weight
return gPokedexEntries[dexNum].weight;
default:
return 1;
}
}
@@ -4360,23 +4360,23 @@ u16 GetHoennPokedexCount(u8 caseID)
return count;
}
u16 sub_80C089C(u8 caseID)
u16 GetKantoPokedexCount(u8 caseID)
{
u16 count = 0;
u16 i;
for (i = 0; i < 151; i++)
for (i = 0; i < KANTO_DEX_COUNT; i++)
{
switch (caseID)
{
case FLAG_GET_SEEN:
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
count++;
break;
case FLAG_GET_CAUGHT:
if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
count++;
break;
case FLAG_GET_SEEN:
if (GetSetPokedexFlag(i + 1, FLAG_GET_SEEN))
count++;
break;
case FLAG_GET_CAUGHT:
if (GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
count++;
break;
}
}
return count;
@@ -4386,7 +4386,7 @@ bool16 HasAllHoennMons(void)
{
u16 i;
for (i = 0; i < 200; i++)
for (i = 0; i < HOENN_DEX_COUNT - 2; i++)
{
if (!GetSetPokedexFlag(HoennToNationalOrder(i + 1), FLAG_GET_CAUGHT))
return FALSE;
@@ -4394,11 +4394,11 @@ bool16 HasAllHoennMons(void)
return TRUE;
}
bool8 sub_80C0918(void)
bool8 HasAllKantoMons(void)
{
u16 i;
for (i = 0; i < 150; i++)
for (i = 0; i < KANTO_DEX_COUNT - 1; i++)
{
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return FALSE;
@@ -4406,26 +4406,26 @@ bool8 sub_80C0918(void)
return TRUE;
}
u16 sub_80C0944(void)
bool16 HasAllMons(void)
{
u16 i;
for (i = 0; i < 150; i++)
for (i = 0; i < NATIONAL_DEX_MEWTWO; i++)
{
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
return FALSE;
}
for (i = 151; i < 248; i++)
for (i = NATIONAL_DEX_MEW; i < NATIONAL_DEX_TYRANITAR; i++)
{
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
return FALSE;
}
for (i = 251; i < 384; i++)
for (i = NATIONAL_DEX_CELEBI; i < NATIONAL_DEX_RAYQUAZA; i++)
{
if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
return FALSE;
}
return 1;
return TRUE;
}
void sub_80C09B0(u16 a)
+7 -7
View File
@@ -2341,7 +2341,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
u16 evAmount;
u8 evsBits;
CreateMon(mon, species, level, fixedIV, 0, 0, 0, 0);
CreateMon(mon, species, level, fixedIV, 0, 0, OT_ID_PLAYER_ID, 0);
evsBits = evSpread;
@@ -2373,7 +2373,7 @@ void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src)
u8 language;
u8 value;
CreateMon(mon, src->species, src->level, 0, 1, src->personality, 1, src->otId);
CreateMon(mon, src->species, src->level, 0, 1, src->personality, OT_ID_PRESET, src->otId);
for (i = 0; i < MAX_MON_MOVES; i++)
SetMonMoveSlot(mon, src->moves[i], i);
@@ -2435,7 +2435,7 @@ void CreateBattleTowerMon2(struct Pokemon *mon, struct BattleTowerPokemon *src,
else
level = src->level;
CreateMon(mon, src->species, level, 0, 1, src->personality, 1, src->otId);
CreateMon(mon, src->species, level, 0, 1, src->personality, OT_ID_PRESET, src->otId);
for (i = 0; i < MAX_MON_MOVES; i++)
SetMonMoveSlot(mon, src->moves[i], i);
@@ -2497,7 +2497,7 @@ void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 m
0x1F,
TRUE,
personality,
TRUE,
OT_ID_PRESET,
otId);
SetMonData(mon, MON_DATA_HELD_ITEM, &src->party[monId].item);
@@ -2527,7 +2527,7 @@ void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level,
i = Random32();
} while (nature != GetNatureFromPersonality(i));
CreateMon(mon, species, level, fixedIV, TRUE, i, TRUE, otId);
CreateMon(mon, species, level, fixedIV, TRUE, i, OT_ID_PRESET, otId);
evsBits = evSpread;
for (i = 0; i < NUM_STATS; i++)
{
@@ -4424,7 +4424,7 @@ u8 GetMonsStateToDoubles_2(void)
return (aliveCount > 1) ? PLAYER_HAS_TWO_USABLE_MONS : PLAYER_HAS_ONE_USABLE_MON;
}
u8 GetAbilityBySpecies(u16 species, bool8 abilityNum)
u8 GetAbilityBySpecies(u16 species, u8 abilityNum)
{
if (abilityNum)
gLastUsedAbility = gBaseStats[species].abilities[1];
@@ -4458,7 +4458,7 @@ void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord)
15,
1,
gBattleResources->secretBase->party.personality[i],
2,
OT_ID_RANDOM_NO_SHINY,
0);
SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, &gBattleResources->secretBase->party.heldItems[i]);
-3
View File
@@ -464,9 +464,6 @@ EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0;
EWRAM_DATA static bool8 sCanOnlyMove = 0;
// This file's functions.
#if !defined(NONMATCHING) && MODERN
#define static
#endif
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr);
static void Cb2_EnterPSS(u8 boxOption);
static u8 GetCurrentBoxOption(void);
+59 -57
View File
@@ -6,7 +6,9 @@
#include "battle.h"
#include "gym_leader_rematch.h"
#include "match_call.h"
#include "pokenav.h"
#include "constants/region_map_sections.h"
#include "constants/trainers.h"
// Static type declarations
@@ -94,11 +96,11 @@ typedef union {
const struct MatchCallStruct5 *type5;
} match_call_t;
struct UnkStruct_08625388 {
struct MatchCallOverride {
u16 idx;
u16 v2;
u32 v4;
const u8 *v8[4];
u16 facilityClass;
u32 flag;
const u8 *flavorTexts[4];
};
// Static RAM declarations
@@ -123,11 +125,11 @@ static bool32 MatchCall_IsRematchable_Type2(match_call_t);
static bool32 MatchCall_IsRematchable_Type3(match_call_t);
static bool32 MatchCall_IsRematchable_Type4(match_call_t);
static bool32 sub_81D1840(match_call_t);
static bool32 sub_81D1844(match_call_t);
static bool32 sub_81D1848(match_call_t);
static bool32 sub_81D184C(match_call_t);
static bool32 sub_81D1850(match_call_t);
static bool32 MatchCall_HasCheckPage_Type0(match_call_t);
static bool32 MatchCall_HasCheckPage_Type1(match_call_t);
static bool32 MatchCall_HasCheckPage_Type2(match_call_t);
static bool32 MatchCall_HasCheckPage_Type3(match_call_t);
static bool32 MatchCall_HasCheckPage_Type4(match_call_t);
static u32 MatchCall_GetRematchTableIdx_Type0(match_call_t);
static u32 MatchCall_GetRematchTableIdx_Type1(match_call_t);
@@ -423,10 +425,10 @@ static const match_call_text_data_t sMayTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
static const struct MatchCallStruct4 sMayMatchCallHeader =
{
.type = 4,
.gender = MALE,
.gender = MALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_May,
@@ -452,10 +454,10 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
{ NULL, 0xFFFF, 0xFFFF }
};
static const struct MatchCallStruct4 sMayMatchCallHeader =
static const struct MatchCallStruct4 sBrendanMatchCallHeader =
{
.type = 4,
.gender = FEMALE,
.gender = FEMALE, //Gender of player
.flag = FLAG_ENABLE_RIVAL_MATCH_CALL,
.desc = gMayBrendanMatchCallDesc,
.name = gExpandedPlaceholder_Brendan,
@@ -727,27 +729,27 @@ static const struct MatchCallStruct5 sWallaceMatchCallHeader =
};
static const match_call_t sMatchCallHeaders[] = {
{.type0 = &sMrStoneMatchCallHeader},
{.type3 = &sProfBirchMatchCallHeader},
{.type4 = &sMayMatchCallHeader},
{.type4 = &sBrendanMatchCallHeader},
{.type2 = &sWallyMatchCallHeader},
{.type5 = &sNormanMatchCallHeader},
{.type0 = &sMomMatchCallHeader},
{.type0 = &sStevenMatchCallHeader},
{.type0 = &sScottMatchCallHeader},
{.type5 = &sRoxanneMatchCallHeader},
{.type5 = &sBrawlyMatchCallHeader},
{.type5 = &sWattsonMatchCallHeader},
{.type5 = &sFlanneryMatchCallHeader},
{.type5 = &sWinonaMatchCallHeader},
{.type5 = &sTateLizaMatchCallHeader},
{.type5 = &sJuanMatchCallHeader},
{.type5 = &sSidneyMatchCallHeader},
{.type5 = &sPhoebeMatchCallHeader},
{.type5 = &sGlaciaMatchCallHeader},
{.type5 = &sDrakeMatchCallHeader},
{.type5 = &sWallaceMatchCallHeader}
[MC_HEADER_MR_STONE] = {.type0 = &sMrStoneMatchCallHeader},
[MC_HEADER_PROF_BIRCH] = {.type3 = &sProfBirchMatchCallHeader},
[MC_HEADER_BRENDAN] = {.type4 = &sBrendanMatchCallHeader},
[MC_HEADER_MAY] = {.type4 = &sMayMatchCallHeader},
[MC_HEADER_WALLY] = {.type2 = &sWallyMatchCallHeader},
[MC_HEADER_NORMAN] = {.type5 = &sNormanMatchCallHeader},
[MC_HEADER_MOM] = {.type0 = &sMomMatchCallHeader},
[MC_HEADER_STEVEN] = {.type0 = &sStevenMatchCallHeader},
[MC_HEADER_SCOTT] = {.type0 = &sScottMatchCallHeader},
[MC_HEADER_ROXANNE] = {.type5 = &sRoxanneMatchCallHeader},
[MC_HEADER_BRAWLY] = {.type5 = &sBrawlyMatchCallHeader},
[MC_HEADER_WATTSON] = {.type5 = &sWattsonMatchCallHeader},
[MC_HEADER_FLANNERY] = {.type5 = &sFlanneryMatchCallHeader},
[MC_HEADER_WINONA] = {.type5 = &sWinonaMatchCallHeader},
[MC_HEADER_TATE_LIZA] = {.type5 = &sTateLizaMatchCallHeader},
[MC_HEADER_JUAN] = {.type5 = &sJuanMatchCallHeader},
[MC_HEADER_SIDNEY] = {.type5 = &sSidneyMatchCallHeader},
[MC_HEADER_PHOEBE] = {.type5 = &sPhoebeMatchCallHeader},
[MC_HEADER_GLACIA] = {.type5 = &sGlaciaMatchCallHeader},
[MC_HEADER_DRAKE] = {.type5 = &sDrakeMatchCallHeader},
[MC_HEADER_WALLACE] = {.type5 = &sWallaceMatchCallHeader}
};
static bool32 (*const sMatchCallGetFlagFuncs[])(match_call_t) = {
@@ -774,12 +776,12 @@ static bool32 (*const sMatchCall_IsRematchableFunctions[])(match_call_t) = {
MatchCall_IsRematchable_Type3
};
static bool32 (*const gUnknown_08625338[])(match_call_t) = {
sub_81D1840,
sub_81D1844,
sub_81D1848,
sub_81D184C,
sub_81D1850
static bool32 (*const sMatchCall_HasCheckPageFunctions[])(match_call_t) = {
MatchCall_HasCheckPage_Type0,
MatchCall_HasCheckPage_Type1,
MatchCall_HasCheckPage_Type2,
MatchCall_HasCheckPage_Type4,
MatchCall_HasCheckPage_Type3
};
static u32 (*const sMatchCall_GetRematchTableIdxFunctions[])(match_call_t) = {
@@ -806,11 +808,11 @@ static void (*const sMatchCall_GetNameAndDescFunctions[])(match_call_t, const u8
MatchCall_GetNameAndDesc_Type3
};
static const struct UnkStruct_08625388 sMatchCallCheckPageOverrides[] = {
{ 7, 0x4B, 0xffff, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
{ 7, 0x4B, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
{ 2, 0x3c, 0xffff, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
{ 3, 0x3f, 0xffff, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
static const struct MatchCallOverride sMatchCallCheckPageOverrides[] = {
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, 0xFFFF, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_BeforeMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_BeforeMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_STEVEN, FACILITY_CLASS_STEVEN, FLAG_DEFEATED_MOSSDEEP_GYM, { gMatchCallStevenStrategyText, gMatchCall_StevenTrainersPokemonText, gMatchCall_StevenSelfIntroductionText_Line1_AfterMeteorFallsBattle, gMatchCall_StevenSelfIntroductionText_Line2_AfterMeteorFallsBattle } }, // STEVEN
{ MC_HEADER_BRENDAN, FACILITY_CLASS_BRENDAN, 0xFFFF, { gMatchCall_BrendanStrategyText, gMatchCall_BrendanTrainersPokemonText, gMatchCall_BrendanSelfIntroductionText_Line1, gMatchCall_BrendanSelfIntroductionText_Line2 } }, // Brendan
{ MC_HEADER_MAY, FACILITY_CLASS_MAY, 0xFFFF, { gMatchCall_MayStrategyText, gMatchCall_MayTrainersPokemonText, gMatchCall_MaySelfIntroductionText_Line1, gMatchCall_MaySelfIntroductionText_Line2 } } // May
};
// .text
@@ -981,7 +983,7 @@ static bool32 MatchCall_IsRematchable_Type3(match_call_t matchCall)
return FALSE;
}
bool32 sub_81D17E8(u32 idx)
bool32 MatchCall_HasCheckPage(u32 idx)
{
match_call_t matchCall;
u32 i;
@@ -990,7 +992,7 @@ bool32 sub_81D17E8(u32 idx)
return FALSE;
matchCall = sMatchCallHeaders[idx];
i = MatchCallGetFunctionIndex(matchCall);
if (gUnknown_08625338[i](matchCall))
if (sMatchCall_HasCheckPageFunctions[i](matchCall))
return TRUE;
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
@@ -1000,27 +1002,27 @@ bool32 sub_81D17E8(u32 idx)
return FALSE;
}
static bool32 sub_81D1840(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type0(match_call_t matchCall)
{
return FALSE;
}
static bool32 sub_81D1844(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type1(match_call_t matchCall)
{
return TRUE;
}
static bool32 sub_81D1848(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type2(match_call_t matchCall)
{
return TRUE;
}
static bool32 sub_81D184C(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type4(match_call_t matchCall)
{
return FALSE;
}
static bool32 sub_81D1850(match_call_t matchCall)
static bool32 MatchCall_HasCheckPage_Type3(match_call_t matchCall)
{
return FALSE;
}
@@ -1210,7 +1212,7 @@ static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const
*name = trainer->trainerName;
}
const u8 *sub_81D1B40(u32 idx, u32 offset)
const u8 *MatchCall_GetOverrideFlavorText(u32 idx, u32 offset)
{
u32 i;
@@ -1224,24 +1226,24 @@ const u8 *sub_81D1B40(u32 idx, u32 offset)
break;
if (sMatchCallCheckPageOverrides[i + 1].idx != idx)
break;
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].v4))
if (!FlagGet(sMatchCallCheckPageOverrides[i + 1].flag))
break;
i++;
}
return sMatchCallCheckPageOverrides[i].v8[offset];
return sMatchCallCheckPageOverrides[i].flavorTexts[offset];
}
}
return NULL;
}
int sub_81D1BD0(u32 idx)
int MatchCall_GetOverrideFacilityClass(u32 idx)
{
u32 i;
for (i = 0; i < ARRAY_COUNT(sMatchCallCheckPageOverrides); i++)
{
if (sMatchCallCheckPageOverrides[i].idx == idx)
return sMatchCallCheckPageOverrides[i].v2;
return sMatchCallCheckPageOverrides[i].facilityClass;
}
return -1;
}
+7 -7
View File
@@ -84,7 +84,7 @@ static u32 sub_81CAB44(struct Pokenav3Struct *state)
state->callback = sub_81CAC04;
state->unk0 = 0;
selectedMatchCall = GetSelectedMatchCall();
if (!state->unk1C[selectedMatchCall].boxId || sub_81D17E8(state->unk1C[selectedMatchCall].unk6))
if (!state->unk1C[selectedMatchCall].boxId || MatchCall_HasCheckPage(state->unk1C[selectedMatchCall].unk6))
{
state->unk4 = gUnknown_0862250A;
state->unk2 = 2;
@@ -212,7 +212,7 @@ static u32 sub_81CAD20(s32 taskState)
state->unkA++;
}
if (++state->unk8 >= 21) // TODO: This is the size of sMatchCallHeaders
if (++state->unk8 >= MC_HEADER_COUNT)
{
state->unkC = state->unk8;
state->unk8 = 0;
@@ -331,7 +331,7 @@ int sub_81CAF04(int index)
return gTrainers[index].trainerPic;
}
index = sub_81D1BD0(var0);
index = MatchCall_GetOverrideFacilityClass(var0);
return gFacilityClassToPicIndex[index];
}
@@ -358,7 +358,7 @@ const u8 *sub_81CAFD8(int index, int textType)
{
var0 = MatchCall_GetRematchTableIdx(state->unk1C[index].unk6);
if (var0 == REMATCH_TABLE_ENTRIES)
return sub_81D1B40(state->unk1C[index].unk6, textType);
return MatchCall_GetOverrideFlavorText(state->unk1C[index].unk6, textType);
}
else
{
@@ -426,7 +426,7 @@ int sub_81CB0E4(int index)
{
if (!state->unk1C[index].boxId)
return count;
if (sub_81D17E8(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
return count;
count++;
@@ -443,7 +443,7 @@ int sub_81CB128(int index)
{
if (!state->unk1C[index].boxId)
return count;
if (sub_81D17E8(state->unk1C[index].unk6))
if (MatchCall_HasCheckPage(state->unk1C[index].unk6))
return count;
count--;
@@ -462,7 +462,7 @@ bool32 unref_sub_81CB16C(void)
return TRUE;
}
for (i = 0; i < 21; i++) // TODO: This is the size of sMatchCallHeaders
for (i = 0; i < MC_HEADER_COUNT; i++)
{
if (MatchCallFlagGetByIndex(i))
{
+2 -2
View File
@@ -701,10 +701,10 @@ static void ReceiveLilycoveLadyData(LilycoveLady *lilycoveLady, size_t recordSiz
}
memcpy(sLilycoveLadySave, (void *)lilycoveLady + recordSize * mixIndices[which], sizeof(LilycoveLady));
sub_818DA78();
ResetLilycoveLadyForRecordMix();
if (dest != NULL)
{
sub_818E570(dest);
QuizLadyClearQuestionForRecordMix(dest);
free(dest);
}
}
+1 -1
View File
@@ -67,7 +67,7 @@ static void CreateInitialRoamerMon(bool16 createLatios)
else
(&gSaveBlock1Ptr->roamer)->species = SPECIES_LATIOS;
CreateMon(&gEnemyParty[0], (&gSaveBlock1Ptr->roamer)->species, 40, 0x20, 0, 0, 0, 0);
CreateMon(&gEnemyParty[0], (&gSaveBlock1Ptr->roamer)->species, 40, 0x20, 0, 0, OT_ID_PLAYER_ID, 0);
(&gSaveBlock1Ptr->roamer)->level = 40;
(&gSaveBlock1Ptr->roamer)->status = 0;
(&gSaveBlock1Ptr->roamer)->active = TRUE;
+1 -1
View File
@@ -508,7 +508,7 @@ void AnimDirtParticleAcrossScreen(struct Sprite *sprite)
sprite->pos1.x = 304;
gBattleAnimArgs[1] = -gBattleAnimArgs[1];
sprite->data[5] = 1;
sprite->oam.matrixNum = 8;
sprite->oam.matrixNum = ST_OAM_HFLIP;
}
else
{
+15 -12
View File
@@ -62,7 +62,7 @@ static EWRAM_DATA u16 sMovingNpcMapBank = 0;
static EWRAM_DATA u16 sMovingNpcMapId = 0;
static EWRAM_DATA u16 sFieldEffectScriptId = 0;
static u8 gUnknown_03000F30;
static u8 gBrailleWindowId;
extern const SpecialFunc gSpecials[];
extern const u8 *gStdScripts[];
@@ -466,6 +466,9 @@ bool8 ScrCmd_addvar(struct ScriptContext *ctx)
{
u16 *ptr = GetVarPointer(ScriptReadHalfword(ctx));
*ptr += ScriptReadHalfword(ctx);
// Note: addvar doesn't support adding from a variable in vanilla. If you were to
// add a VarGet() to the above, make sure you change the `addvar VAR_0x8006, 65535`
// in the contest scripts to `subvar VAR_0x8006, 1`, else contests will break.
return FALSE;
}
@@ -1102,7 +1105,7 @@ bool8 ScrCmd_setobjectxyperm(struct ScriptContext *ctx)
return FALSE;
}
bool8 ScrCmd_moveobjectoffscreen(struct ScriptContext *ctx)
bool8 ScrCmd_copyobjectxytoperm(struct ScriptContext *ctx)
{
u16 localId = VarGet(ScriptReadHalfword(ctx));
@@ -1515,13 +1518,13 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx)
yText = (yText - yWindow - 1) * 8;
winTemplate = CreateWindowTemplate(0, xWindow, yWindow + 1, width, height, 0xF, 0x1);
gUnknown_03000F30 = AddWindow(&winTemplate);
LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0);
DrawStdWindowFrame(gUnknown_03000F30, 0);
PutWindowTilemap(gUnknown_03000F30);
FillWindowPixelBuffer(gUnknown_03000F30, PIXEL_FILL(1));
AddTextPrinterParameterized(gUnknown_03000F30, 6, gStringVar4, xText, yText, 0xFF, 0x0);
CopyWindowToVram(gUnknown_03000F30, 3);
gBrailleWindowId = AddWindow(&winTemplate);
LoadUserWindowBorderGfx(gBrailleWindowId, 0x214, 0xE0);
DrawStdWindowFrame(gBrailleWindowId, 0);
PutWindowTilemap(gBrailleWindowId);
FillWindowPixelBuffer(gBrailleWindowId, PIXEL_FILL(1));
AddTextPrinterParameterized(gBrailleWindowId, 6, gStringVar4, xText, yText, 0xFF, 0x0);
CopyWindowToVram(gBrailleWindowId, 3);
return FALSE;
}
@@ -1630,7 +1633,7 @@ bool8 ScrCmd_buffercontesttype(struct ScriptContext *ctx)
u8 stringVarIndex = ScriptReadByte(ctx);
u16 index = VarGet(ScriptReadHalfword(ctx));
sub_818E868(sScriptStringVars[stringVarIndex], index);
BufferContestName(sScriptStringVars[stringVarIndex], index);
return FALSE;
}
@@ -2254,8 +2257,8 @@ bool8 ScrCmd_setmonmetlocation(struct ScriptContext *ctx)
void sub_809BDB4(void)
{
ClearStdWindowAndFrame(gUnknown_03000F30, 1);
RemoveWindow(gUnknown_03000F30);
ClearStdWindowAndFrame(gBrailleWindowId, 1);
RemoveWindow(gBrailleWindowId);
}
bool8 ScrCmd_buffertrainerclassname(struct ScriptContext *ctx)
+5 -5
View File
@@ -41,11 +41,11 @@ const struct MenuAction MultichoiceList_003[] =
const struct MenuAction MultichoiceList_004[] =
{
{gUnknown_085EADA4, NULL},
{gUnknown_085EADB5, NULL},
{gUnknown_085EADC4, NULL},
{gUnknown_085EADD5, NULL},
{gUnknown_085EADE7, NULL},
{gText_CoolnessContest, NULL},
{gText_BeautyContest, NULL},
{gText_CutenessContest, NULL},
{gText_SmartnessContest, NULL},
{gText_ToughnessContest, NULL},
{gText_Exit, NULL},
};
+2 -2
View File
@@ -551,7 +551,7 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u
u8 heldItem[2];
struct Pokemon mon;
CreateMon(&mon, species, level, 32, 0, 0, 0, 0);
CreateMon(&mon, species, level, 32, 0, 0, OT_ID_PLAYER_ID, 0);
heldItem[0] = item;
heldItem[1] = item >> 8;
SetMonData(&mon, MON_DATA_HELD_ITEM, heldItem);
@@ -624,7 +624,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
u8 heldItem[2];
ZeroEnemyPartyMons();
CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, 0, 0);
CreateMon(&gEnemyParty[0], species, level, 0x20, 0, 0, OT_ID_PLAYER_ID, 0);
if (item)
{
heldItem[0] = item;
+22 -22
View File
@@ -610,11 +610,11 @@ const u8 gUnknown_085EAD72[] = _("What's a CONTEST?");
const u8 gUnknown_085EAD84[] = _("Types of CONTESTS");
const u8 gUnknown_085EAD96[] = _("Ranks");
const u8 gUnknown_085EAD9C[] = _("Judging");
const u8 gUnknown_085EADA4[] = _("COOLNESS CONTEST");
const u8 gUnknown_085EADB5[] = _("BEAUTY CONTEST");
const u8 gUnknown_085EADC4[] = _("CUTENESS CONTEST");
const u8 gUnknown_085EADD5[] = _("SMARTNESS CONTEST");
const u8 gUnknown_085EADE7[] = _("TOUGHNESS CONTEST");
const u8 gText_CoolnessContest[] = _("COOLNESS CONTEST");
const u8 gText_BeautyContest[] = _("BEAUTY CONTEST");
const u8 gText_CutenessContest[] = _("CUTENESS CONTEST");
const u8 gText_SmartnessContest[] = _("SMARTNESS CONTEST");
const u8 gText_ToughnessContest[] = _("TOUGHNESS CONTEST");
const u8 gUnknown_085EADF9[] = _("DECORATION");
const u8 gUnknown_085EAE04[] = _("PACK UP");
const u8 gUnknown_085EAE0C[] = _("COUNT");
@@ -1591,23 +1591,23 @@ const u8 gText_PkmnsNickname[] = _("{STR_VAR_1}'s nickname?");
const u8 gText_TellHimTheWords[] = _("Tell him the words.");
const u8 gText_MoveOkBack[] = _("{DPAD_NONE}MOVE {A_BUTTON}OK {B_BUTTON}BACK");
const u8 gText_CallCantBeMadeHere[] = _("A call can't be made from here.");
const u8 gUnknown_085EEB2B[] = _("HANDSOME");
const u8 gUnknown_085EEB34[] = _("VINNY");
const u8 gUnknown_085EEB3A[] = _("MOREME");
const u8 gUnknown_085EEB41[] = _("IRONHARD");
const u8 gUnknown_085EEB4A[] = _("MUSCLE");
const u8 gUnknown_085EEB51[] = _("coolness");
const u8 gUnknown_085EEB5A[] = _("beauty");
const u8 gUnknown_085EEB61[] = _("cuteness");
const u8 gUnknown_085EEB6A[] = _("smartness");
const u8 gUnknown_085EEB74[] = _("toughness");
const u8 gText_Lady2[] = _("Lady");
const u8 gUnknown_085EEB83[] = _("slippery");
const u8 gUnknown_085EEB8C[] = _("roundish");
const u8 gUnknown_085EEB95[] = _("wham-ish");
const u8 gUnknown_085EEB9E[] = _("shiny");
const u8 gUnknown_085EEBA4[] = _("sticky");
const u8 gUnknown_085EEBAB[] = _("pointy");
const u8 gText_ContestLady_Handsome[] = _("HANDSOME");
const u8 gText_ContestLady_Vinny[] = _("VINNY");
const u8 gText_ContestLady_Moreme[] = _("MOREME");
const u8 gText_ContestLady_Ironhard[] = _("IRONHARD");
const u8 gText_ContestLady_Muscle[] = _("MUSCLE");
const u8 gText_ContestLady_Coolness[] = _("coolness");
const u8 gText_ContestLady_Beauty[] = _("beauty");
const u8 gText_ContestLady_Cuteness[] = _("cuteness");
const u8 gText_ContestLady_Smartness[] = _("smartness");
const u8 gText_ContestLady_Toughness[] = _("toughness");
const u8 gText_QuizLady_Lady[] = _("Lady");
const u8 gText_FavorLady_Slippery[] = _("slippery");
const u8 gText_FavorLady_Roundish[] = _("roundish");
const u8 gText_FavorLady_Whamish[] = _("wham-ish");
const u8 gText_FavorLady_Shiny[] = _("shiny");
const u8 gText_FavorLady_Sticky[] = _("sticky");
const u8 gText_FavorLady_Pointy[] = _("pointy");
const u8 gText_RentalPkmn2[] = _("RENTAL POKéMON");
const u8 gText_SelectFirstPkmn[] = _("Select the first POKéMON.");
const u8 gText_SelectSecondPkmn[] = _("Select the second POKéMON.");
+2 -2
View File
@@ -1551,7 +1551,7 @@ static void sub_80773D0(void)
for (i = 0; i < PARTY_SIZE; i++)
{
CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, 0, 0);
CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, OT_ID_PLAYER_ID, 0);
}
sub_807A19C(0);
@@ -5832,7 +5832,7 @@ static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade)
u8 isMail;
struct Pokemon *pokemon = &gEnemyParty[0];
CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId);
CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, OT_ID_PRESET, inGameTrade->otId);
SetMonData(pokemon, MON_DATA_HP_IV, &inGameTrade->ivs[0]);
SetMonData(pokemon, MON_DATA_ATK_IV, &inGameTrade->ivs[1]);
+5 -5
View File
@@ -1657,12 +1657,12 @@ void PutLilycoveContestLadyShowOnTheAir(void)
if (gSpecialVar_Result != TRUE)
{
show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot];
sub_818E848(&show->contestLiveUpdates2.language);
BufferContestLadyLanguage(&show->contestLiveUpdates2.language);
show->contestLiveUpdates2.pokemonNameLanguage = LANGUAGE_ENGLISH;
show->contestLiveUpdates2.kind = TVSHOW_CONTEST_LIVE_UPDATES_2;
show->contestLiveUpdates2.active = TRUE;
sub_818E81C(show->contestLiveUpdates2.playerName);
sub_818E7E0(&show->contestLiveUpdates2.contestCategory, show->contestLiveUpdates2.nickname);
BufferContestLadyPlayerName(show->contestLiveUpdates2.playerName);
BufferContestLadyMonName(&show->contestLiveUpdates2.contestCategory, show->contestLiveUpdates2.nickname);
show->contestLiveUpdates2.pokeblockState = sub_818E880();
tv_store_id_2x(show);
}
@@ -5600,7 +5600,7 @@ static void DoTVShowPokemonContestLiveUpdates(void)
switch (state)
{
case 0:
sub_818E868(gStringVar1, show->contestLiveUpdates.category);
BufferContestName(gStringVar1, show->contestLiveUpdates.category);
StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.species]);
TVShowConvertInternationalString(gStringVar3, show->contestLiveUpdates.playerName, show->contestLiveUpdates.language);
if (show->contestLiveUpdates.round1Rank == show->contestLiveUpdates.round2Rank)
@@ -7720,7 +7720,7 @@ static void DoTVShowPokemonContestLiveUpdates2(void)
switch (state)
{
case 0:
sub_818E868(gStringVar1, show->contestLiveUpdates2.contestCategory);
BufferContestName(gStringVar1, show->contestLiveUpdates2.contestCategory);
if (show->contestLiveUpdates2.pokeblockState == 1)
{
sTVShowState = 1;