through sub_8080E6C

This commit is contained in:
PikalaxALT
2020-02-29 14:30:01 -05:00
parent 43f66fce55
commit 9b9ae3d337
13 changed files with 565 additions and 1181 deletions
+126 -122
View File
@@ -348,28 +348,30 @@ static const u8 sUnknown_83CD95C[] = {7, 6, 0, 0};
static const struct TrainerCard sLinkPlayerTrainerCardTemplate1 =
{
.gender = MALE,
.stars = 4,
.hasPokedex = TRUE,
.caughtAllHoenn = TRUE,
.hasAllPaintings = TRUE,
.hofDebutHours = 999,
.hofDebutMinutes = 59,
.hofDebutSeconds = 59,
.caughtMonsCount = 200,
.trainerId = 0x6072,
.playTimeHours = 999,
.playTimeMinutes = 59,
.linkBattleWins = 5535,
.linkBattleLosses = 5535,
.battleTowerWins = 5535,
.battleTowerStraightWins = 5535,
.contestsWithFriends = 55555,
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
.var_28 = {0, 0, 0, 0},
.playerName = _("あかみ どりお"),
.rse = {
.gender = MALE,
.stars = 4,
.hasPokedex = TRUE,
.caughtAllHoenn = TRUE,
.hasAllPaintings = TRUE,
.hofDebutHours = 999,
.hofDebutMinutes = 59,
.hofDebutSeconds = 59,
.caughtMonsCount = 200,
.trainerId = 0x6072,
.playTimeHours = 999,
.playTimeMinutes = 59,
.linkBattleWins = 5535,
.linkBattleLosses = 5535,
.battleTowerWins = 5535,
.battleTowerStraightWins = 5535,
.contestsWithFriends = 55555,
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
.var_28 = {0, 0, 0, 0},
.playerName = _("あかみ どりお")
},
.version = VERSION_FIRE_RED,
.var_3A = 0,
.berryCrushPoints = 5555,
@@ -386,28 +388,30 @@ static const struct TrainerCard sLinkPlayerTrainerCardTemplate1 =
static const struct TrainerCard sLinkPlayerTrainerCardTemplate2 =
{
.gender = FEMALE,
.stars = 2,
.hasPokedex = TRUE,
.caughtAllHoenn = TRUE,
.hasAllPaintings = TRUE,
.hofDebutHours = 999,
.hofDebutMinutes = 59,
.hofDebutSeconds = 59,
.caughtMonsCount = 200,
.trainerId = 0x6072,
.playTimeHours = 999,
.playTimeMinutes = 59,
.linkBattleWins = 5535,
.linkBattleLosses = 5535,
.battleTowerWins = 65535,
.battleTowerStraightWins = 65535,
.contestsWithFriends = 55555,
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
.var_28 = {0, 0, 0, 0},
.playerName = _("るびさふぁこ!"),
.rse = {
.gender = FEMALE,
.stars = 2,
.hasPokedex = TRUE,
.caughtAllHoenn = TRUE,
.hasAllPaintings = TRUE,
.hofDebutHours = 999,
.hofDebutMinutes = 59,
.hofDebutSeconds = 59,
.caughtMonsCount = 200,
.trainerId = 0x6072,
.playTimeHours = 999,
.playTimeMinutes = 59,
.linkBattleWins = 5535,
.linkBattleLosses = 5535,
.battleTowerWins = 65535,
.battleTowerStraightWins = 65535,
.contestsWithFriends = 55555,
.pokeblocksWithFriends = 44444,
.pokemonTrades = 33333,
.money = 999999,
.var_28 = {0, 0, 0, 0},
.playerName = _("るびさふぁこ!")
},
.version = 0,
.var_3A = 0,
.berryCrushPoints = 555,
@@ -744,16 +748,16 @@ static u8 GetTrainerStarCount(struct TrainerCard *trainerCard)
{
u8 stars = 0;
if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)
if (trainerCard->rse.hofDebutHours != 0 || trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0)
stars++;
if (trainerCard->caughtAllHoenn)
if (trainerCard->rse.caughtAllHoenn)
stars++;
if (trainerCard->battleTowerStraightWins > 49)
if (trainerCard->rse.battleTowerStraightWins > 49)
stars++;
if (trainerCard->hasAllPaintings)
if (trainerCard->rse.hasAllPaintings)
stars++;
return stars;
@@ -764,63 +768,63 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
u32 playTime;
u8 i;
trainerCard->gender = gSaveBlock2Ptr->playerGender;
trainerCard->playTimeHours = gSaveBlock2Ptr->playTimeHours;
trainerCard->playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes;
trainerCard->rse.gender = gSaveBlock2Ptr->playerGender;
trainerCard->rse.playTimeHours = gSaveBlock2Ptr->playTimeHours;
trainerCard->rse.playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes;
playTime = GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME);
if (!GetGameStat(GAME_STAT_ENTERED_HOF))
playTime = 0;
trainerCard->hofDebutHours = playTime >> 16;
trainerCard->hofDebutMinutes = (playTime >> 8) & 0xFF;
trainerCard->hofDebutSeconds = playTime & 0xFF;
trainerCard->rse.hofDebutHours = playTime >> 16;
trainerCard->rse.hofDebutMinutes = (playTime >> 8) & 0xFF;
trainerCard->rse.hofDebutSeconds = playTime & 0xFF;
if ((playTime >> 16) > 999)
{
trainerCard->hofDebutHours = 999;
trainerCard->hofDebutMinutes = 59;
trainerCard->hofDebutSeconds = 59;
trainerCard->rse.hofDebutHours = 999;
trainerCard->rse.hofDebutMinutes = 59;
trainerCard->rse.hofDebutSeconds = 59;
}
trainerCard->hasPokedex = FlagGet(FLAG_SYS_POKEDEX_GET);
trainerCard->caughtAllHoenn = HasAllHoennMons();
trainerCard->caughtMonsCount = GetCaughtMonsCount();
trainerCard->rse.hasPokedex = FlagGet(FLAG_SYS_POKEDEX_GET);
trainerCard->rse.caughtAllHoenn = HasAllHoennMons();
trainerCard->rse.caughtMonsCount = GetCaughtMonsCount();
trainerCard->trainerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0];
trainerCard->rse.trainerId = (gSaveBlock2Ptr->playerTrainerId[1] << 8) | gSaveBlock2Ptr->playerTrainerId[0];
trainerCard->linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999);
trainerCard->linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
trainerCard->pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF);
trainerCard->rse.linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999);
trainerCard->rse.linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
trainerCard->rse.pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF);
trainerCard->battleTowerWins = 0;
trainerCard->battleTowerStraightWins = 0;
trainerCard->contestsWithFriends = 0;
trainerCard->pokeblocksWithFriends = 0;
trainerCard->rse.battleTowerWins = 0;
trainerCard->rse.battleTowerStraightWins = 0;
trainerCard->rse.contestsWithFriends = 0;
trainerCard->rse.pokeblocksWithFriends = 0;
trainerCard->hasAllPaintings = FALSE;
trainerCard->rse.hasAllPaintings = FALSE;
trainerCard->money = GetMoney(&gSaveBlock1Ptr->money);
trainerCard->rse.money = GetMoney(&gSaveBlock1Ptr->money);
for (i = 0; i < 4; i++)
trainerCard->var_28[i] = gSaveBlock1Ptr->easyChatProfile[i];
trainerCard->rse.var_28[i] = gSaveBlock1Ptr->easyChatProfile[i];
StringCopy(trainerCard->playerName, gSaveBlock2Ptr->playerName);
StringCopy(trainerCard->rse.playerName, gSaveBlock2Ptr->playerName);
if (cardType == CARD_TYPE_FRLG)
{
trainerCard->stars = GetTrainerStarCount(trainerCard);
trainerCard->rse.stars = GetTrainerStarCount(trainerCard);
}
else if (cardType == CARD_TYPE_EMERALD)
{
trainerCard->stars = 0;
if (trainerCard->hofDebutHours != 0 || (trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0))
trainerCard->stars = cardType;
trainerCard->rse.stars = 0;
if (trainerCard->rse.hofDebutHours != 0 || (trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0))
trainerCard->rse.stars = cardType;
if (HasAllKantoMons())
trainerCard->stars++;
trainerCard->rse.stars++;
if (HasAllMons())
trainerCard->stars++;
trainerCard->rse.stars++;
}
}
@@ -833,11 +837,11 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
if (GetCardType() != CARD_TYPE_FRLG)
return;
trainerCard->stars = id;
if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)
trainerCard->stars = 1;
trainerCard->rse.stars = id;
if (trainerCard->rse.hofDebutHours != 0 || trainerCard->rse.hofDebutMinutes != 0 || trainerCard->rse.hofDebutSeconds != 0)
trainerCard->rse.stars = 1;
trainerCard->caughtAllHoenn = HasAllKantoMons();
trainerCard->rse.caughtAllHoenn = HasAllKantoMons();
trainerCard->hasAllMons = HasAllMons();
trainerCard->berriesPicked = gSaveBlock2Ptr->berryPick.berriesPicked;
trainerCard->jumpsInRow = gSaveBlock2Ptr->pokeJump.jumpsInRow;
@@ -846,17 +850,17 @@ void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
trainerCard->unionRoomNum = GetCappedGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES, 0xFFFF);
trainerCard->var_4C = TRUE;
if (trainerCard->caughtAllHoenn)
trainerCard->stars++;
if (trainerCard->rse.caughtAllHoenn)
trainerCard->rse.stars++;
if (trainerCard->hasAllMons)
trainerCard->stars++;
trainerCard->rse.stars++;
if (trainerCard->berriesPicked >= 200 && trainerCard->jumpsInRow >= 200)
trainerCard->stars++;
trainerCard->rse.stars++;
id = ((u16)trainerCard->trainerId) % 8;
if (trainerCard->gender == FEMALE)
id = ((u16)trainerCard->rse.trainerId) % 8;
if (trainerCard->rse.gender == FEMALE)
trainerCard->var_4F = sLinkTrainerCardFacilityClasses[1][id];
else
trainerCard->var_4F = sLinkTrainerCardFacilityClasses[0][id];
@@ -889,18 +893,18 @@ static void SetDataFromTrainerCard(void)
sTrainerCardDataPtr->hasTrades = FALSE;
memset(&sTrainerCardDataPtr->hasBadge, FALSE, BADGE_COUNT);
if (sTrainerCardDataPtr->trainerCard.hasPokedex)
if (sTrainerCardDataPtr->trainerCard.rse.hasPokedex)
sTrainerCardDataPtr->hasPokedex++;
if (sTrainerCardDataPtr->trainerCard.hofDebutHours != 0
|| sTrainerCardDataPtr->trainerCard.hofDebutMinutes != 0
|| sTrainerCardDataPtr->trainerCard.hofDebutSeconds != 0)
if (sTrainerCardDataPtr->trainerCard.rse.hofDebutHours != 0
|| sTrainerCardDataPtr->trainerCard.rse.hofDebutMinutes != 0
|| sTrainerCardDataPtr->trainerCard.rse.hofDebutSeconds != 0)
sTrainerCardDataPtr->hasHofResult++;
if (sTrainerCardDataPtr->trainerCard.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.linkBattleLosses != 0)
if (sTrainerCardDataPtr->trainerCard.rse.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.rse.linkBattleLosses != 0)
sTrainerCardDataPtr->hasLinkResults++;
if (sTrainerCardDataPtr->trainerCard.pokemonTrades != 0)
if (sTrainerCardDataPtr->trainerCard.rse.pokemonTrades != 0)
sTrainerCardDataPtr->hasTrades++;
for (i = 0, badgeFlag = FLAG_BADGE01_GET; badgeFlag <= FLAG_BADGE08_GET; badgeFlag++, i++)
@@ -1094,7 +1098,7 @@ static void PrintNameOnCard(void)
txtPtr = StringCopy(buffer[0], gText_TrainerCardName);
txtPtr = buffer[1];
StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.playerName);
StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.rse.playerName);
ConvertInternationalString(txtPtr, sTrainerCardDataPtr->language);
StringAppend(buffer[0], txtPtr);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardPlayerNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardPlayerNameYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer[0]);
@@ -1106,7 +1110,7 @@ static void PrintIdOnCard(void)
u8* txtPtr;
txtPtr = StringCopy(buffer, gText_TrainerCardIDNo);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
}
@@ -1117,7 +1121,7 @@ static void PrintMoneyOnCard(void)
u8 x;
txtPtr = StringCopy(buffer, gText_TrainerCardYen);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.money, STR_CONV_MODE_LEFT_ALIGN, 6);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.rse.money, STR_CONV_MODE_LEFT_ALIGN, 6);
if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
{
x = -122 - 6 * StringLength(buffer);
@@ -1147,7 +1151,7 @@ static void PrintPokedexOnCard(void)
if (FlagGet(FLAG_SYS_POKEDEX_GET))
{
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.caughtMonsCount, 0, 3);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.caughtMonsCount, 0, 3);
if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
{
x = -120 - 6 * StringLength(buffer);
@@ -1175,8 +1179,8 @@ static void PrintTimeOnCard(void)
minutes = gSaveBlock2Ptr->playTimeMinutes;
if (sTrainerCardDataPtr->isLink)
{
hours = sTrainerCardDataPtr->trainerCard.playTimeHours;
minutes = sTrainerCardDataPtr->trainerCard.playTimeMinutes;
hours = sTrainerCardDataPtr->trainerCard.rse.playTimeHours;
minutes = sTrainerCardDataPtr->trainerCard.rse.playTimeMinutes;
}
if (hours > 999)
@@ -1221,7 +1225,7 @@ static void PrintProfilePhraseOnCard(void)
static void PrintNameOnCard2(void)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->trainerCard.playerName);
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->trainerCard.rse.playerName);
ConvertInternationalString(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], sTrainerCardDataPtr->language);
if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
{
@@ -1254,13 +1258,13 @@ static void PrintHofTimeOnCard(void)
if (sTrainerCardDataPtr->hasHofResult)
{
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3);
txtPtr = StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer);
StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], gText_Colon2, 2);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutMinutes, STR_CONV_MODE_LEADING_ZEROS, 2);
StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer, 3);
StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], gText_Colon2, 2);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.hofDebutSeconds, STR_CONV_MODE_LEADING_ZEROS, 2);
StringAppendN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_HOF_TIME], buffer, 3);
}
}
@@ -1282,9 +1286,9 @@ static void PrintLinkResultsNumsOnCard(void)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD], sLinkTrainerCardRecordStrings[sTrainerCardDataPtr->cardType]);
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_WIN_LOSS], gText_WinLossRatio);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.linkBattleWins, STR_CONV_MODE_RIGHT_ALIGN, 4);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.linkBattleWins, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_WINS], buffer);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.linkBattleLosses, STR_CONV_MODE_RIGHT_ALIGN, 4);
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.rse.linkBattleLosses, STR_CONV_MODE_RIGHT_ALIGN, 4);
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_LOSSES], buffer);
}
}
@@ -1306,7 +1310,7 @@ static void PrintTradesNumOnCard(void)
if (sTrainerCardDataPtr->hasTrades)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADES], gText_PokemonTrades);
ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT], sTrainerCardDataPtr->trainerCard.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5);
ConvertIntToDecimalStringN(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_TRADE_COUNT], sTrainerCardDataPtr->trainerCard.rse.pokemonTrades, STR_CONV_MODE_RIGHT_ALIGN, 5);
}
}
@@ -1447,9 +1451,9 @@ static bool8 SetTrainerCardBgsAndPals(void)
break;
case 2:
if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
LoadPalette(sEmeraldTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.stars], 0, 96);
LoadPalette(sEmeraldTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
else
LoadPalette(sFireRedTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.stars], 0, 96);
LoadPalette(sFireRedTrainerCardStarPals[sTrainerCardDataPtr->trainerCard.rse.stars], 0, 96);
break;
case 3:
if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD)
@@ -1458,9 +1462,9 @@ static bool8 SetTrainerCardBgsAndPals(void)
LoadPalette(sFireRedTrainerCardBadges_Pal, 48, 32);
break;
case 4:
if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.gender != MALE)
if (sTrainerCardDataPtr->cardType == CARD_TYPE_EMERALD && sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
LoadPalette(sEmeraldTrainerCardFemaleBackground_Pal, 16, 32);
else if (sTrainerCardDataPtr->trainerCard.gender != MALE)
else if (sTrainerCardDataPtr->trainerCard.rse.gender != MALE)
LoadPalette(sFireRedTrainerCardFemaleBackground_Pal, 16, 32);
break;
case 5:
@@ -1525,7 +1529,7 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void)
u16 tileNum = 192;
u8 palNum = 3;
FillBgTilemapBufferRect(3, 143, 15, sUnknown_83CD95C[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.stars, 1, 4);
FillBgTilemapBufferRect(3, 143, 15, sUnknown_83CD95C[sTrainerCardDataPtr->cardType], sTrainerCardDataPtr->trainerCard.rse.stars, 1, 4);
if (!sTrainerCardDataPtr->isLink)
{
x = 4;
@@ -1590,7 +1594,7 @@ static void sub_808B180(void)
u8 GetTrainerCardStars(u8 cardId)
{
return gTrainerCards[cardId].stars;
return gTrainerCards[cardId].rse.stars;
}
static void sub_808B1D4(void)
@@ -1855,7 +1859,7 @@ static void sub_808B774(void)
for (i = 0; i < 4; i++)
{
CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.var_28[i]);
CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.rse.var_28[i]);
}
}
@@ -1879,26 +1883,26 @@ static u8 GetCardType(void)
static void sub_808B838(void)
{
u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender];
u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender];
if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1)
{
val = sTrainerCardDataPtr->trainerCard.var_4F;
sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1], 8, 2);
sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
}
else
{
if (sTrainerCardDataPtr->cardType != CARD_TYPE_FRLG)
{
sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1], 8, 2);
sub_810C330(FacilityClassToPicIndex(val), TRUE, sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1], 8, 2);
}
else
{
sub_810C330(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.gender, TRUE), TRUE,
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender][1],
sub_810C330(PlayerGenderToFrontTrainerPicId_Debug(sTrainerCardDataPtr->trainerCard.rse.gender, TRUE), TRUE,
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][0],
sTrainerCardPicPositions[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.rse.gender][1],
8, 2);
}
}