Label fields for PokemonSummaryApp sub-structs

This commit is contained in:
Rachel 2024-02-19 15:11:27 -08:00
parent 75ef503a56
commit 3a2fa196f6
6 changed files with 274 additions and 262 deletions

View File

@ -1,6 +1,8 @@
#ifndef POKEPLATINUM_STRUCT_POKEMON_SUMMARY_APP_H
#define POKEPLATINUM_STRUCT_POKEMON_SUMMARY_APP_H
#include "constants/moves.h"
#include "struct_decls/struct_02006C24_decl.h"
#include "message.h"
#include "struct_decls/struct_0200B358_decl.h"
@ -14,63 +16,73 @@
#include "struct_decls/struct_020203AC_decl.h"
#include "struct_decls/struct_02022550_decl.h"
#include "strbuf.h"
#include "struct_defs/archived_poke_sprite_data.h"
#include "struct_defs/sprite_animation_frame.h"
#include "struct_defs/struct_0205AA50.h"
#include "struct_defs/struct_02091850.h"
#include "struct_defs/pokemon_summary.h"
typedef struct PokemonSummaryAppData {
Strbuf* unk_00;
Strbuf* unk_04;
Strbuf* unk_08;
u16 unk_0C;
u16 unk_0E;
u8 unk_10;
u8 unk_11;
u8 unk_12_0 : 7;
u8 unk_12_7 : 1;
u8 unk_13_0 : 2;
u8 unk_13_2 : 6;
u32 unk_14;
u32 unk_18;
u32 unk_1C;
u32 unk_20;
u16 unk_24;
u16 unk_26;
u16 unk_28;
u16 unk_2A;
u16 unk_2C;
u16 unk_2E;
u16 unk_30;
u8 unk_32;
u8 unk_33;
u16 unk_34[4];
u8 unk_3C[4];
u8 unk_40[4];
u8 unk_44;
u8 unk_45;
u8 unk_46;
u8 unk_47;
u8 unk_48;
u8 unk_49;
u8 unk_4A;
u8 unk_4B;
u16 unk_4C;
u16 unk_4E;
u32 unk_50_0 : 28;
u32 unk_50_28 : 1;
u32 unk_50_29 : 1;
u32 unk_50_30 : 2;
u32 unk_54[4];
Strbuf *speciesName;
Strbuf *nickname;
Strbuf *OTName;
u16 species;
u16 heldItem;
u8 type1;
u8 type2;
u8 level : 7;
u8 showGender : 1;
u8 gender : 2;
u8 caughtBall : 6;
u32 OTID;
u32 curExp;
u32 curLevelExp;
u32 nextLevelExp;
u16 curHP;
u16 maxHP;
u16 attack;
u16 defense;
u16 spAttack;
u16 spDefense;
u16 speed;
u8 ability;
u8 nature;
u16 moves[LEARNED_MOVES_MAX];
u8 curPP[LEARNED_MOVES_MAX];
u8 maxPP[LEARNED_MOVES_MAX];
u8 OTGender;
u8 cool;
u8 beauty;
u8 cute;
u8 smart;
u8 tough;
u8 sheen;
u8 preferredFlavor;
u16 markings;
u16 form;
u32 status : 28;
u32 isEgg : 1;
u32 isShiny : 1;
u32 pokerus : 2;
u32 ribbons[4];
} PokemonSummaryAppData;
typedef struct PokemonSummaryAppSpriteData {
UnkStruct_020203AC * unk_00;
void * unk_04;
SpriteAnimationFrame unk_08[10];
PokemonAnimationSys * unk_30;
Sprite * unk_34;
u32 unk_38;
void *spriteManager;
SpriteAnimationFrame frames[MAX_ANIMATION_FRAMES];
PokemonAnimationSys *animationSys;
Sprite *sprite;
BOOL flip;
} PokemonSummaryAppSpriteData;
typedef struct PokemonSummaryApp {

View File

@ -167,7 +167,7 @@ static int sub_0208C330 (UnkStruct_020067E8 * param0, int * param1)
v0->data = sub_02006840(param0);
v0->bgl = sub_02018340(19);
v0->monSpriteData.unk_30 = sub_02015F84(19, 1, 1);
v0->monSpriteData.animationSys = sub_02015F84(19, 1, 1);
v0->narcPlPokeData = NARC_ctor(NARC_INDEX_POKETOOL__POKE_EDIT__PL_POKE_DATA, 19);
sub_02002BEC(0, 19);
@ -306,7 +306,7 @@ static void sub_0208C604 (void * param0)
PokemonSummaryApp * v0 = param0;
sub_0201C2B8(v0->bgl);
sub_02008A94(v0->monSpriteData.unk_04);
sub_02008A94(v0->monSpriteData.spriteManager);
sub_0201DCAC();
sub_0200C800();
@ -490,9 +490,9 @@ static void sub_0208C884 (PokemonSummaryApp * param0)
param0->ribbonLoader = MessageLoader_Init(1, 26, 535, 19);
param0->unk_684 = sub_0200C440(1, 2, 0, 19);
param0->strFormatter = sub_0200B358(19);
param0->monData.unk_00 = Strbuf_Init(12, 19);
param0->monData.unk_04 = Strbuf_Init(12, 19);
param0->monData.unk_08 = Strbuf_Init(8, 19);
param0->monData.speciesName = Strbuf_Init(12, 19);
param0->monData.nickname = Strbuf_Init(12, 19);
param0->monData.OTName = Strbuf_Init(8, 19);
param0->strbuf = Strbuf_Init(128, 19);
param0->moveNameLoader = MessageLoader_Init(0, 26, 647, 19);
param0->playerName = Strbuf_Init(7 + 1, 19);
@ -509,9 +509,9 @@ static void sub_0208C950 (PokemonSummaryApp * param0)
MessageLoader_Free(param0->msgLoader);
sub_0200C560(param0->unk_684);
sub_0200B3F0(param0->strFormatter);
Strbuf_Free(param0->monData.unk_00);
Strbuf_Free(param0->monData.unk_04);
Strbuf_Free(param0->monData.unk_08);
Strbuf_Free(param0->monData.speciesName);
Strbuf_Free(param0->monData.nickname);
Strbuf_Free(param0->monData.OTName);
Strbuf_Free(param0->strbuf);
Strbuf_Free(param0->playerName);
}
@ -769,7 +769,7 @@ static int sub_0208CD44 (PokemonSummaryApp * param0)
Sound_PlayEffect(1501);
if (param0->cursor != 4) {
if ((Item_IsHMMove(param0->monData.unk_34[param0->cursor]) == 1) && (param0->data->move != 0)) {
if ((Item_IsHMMove(param0->monData.moves[param0->cursor]) == 1) && (param0->data->move != 0)) {
SpriteActor_DrawSprite(param0->unk_41C[18], 0);
sub_0208E46C(param0);
sub_020914F8(param0);
@ -864,7 +864,7 @@ static int sub_0208CF0C (PokemonSummaryApp * param0)
param0->subscreenExit = 1;
}
if (param0->monData.unk_50_28 == 1) {
if (param0->monData.isEgg == 1) {
if ((v0 == 1) || (v0 == 7)) {
sub_0208D7EC(param0, v0);
}
@ -894,42 +894,42 @@ static int sub_0208CF78 (PokemonSummaryApp * param0)
sub_02098EF8(param0->data->poffin, v1);
param0->subscreen = 0;
v2 = param0->monData.unk_45;
param0->monData.unk_45 = (u8)Pokemon_GetValue(v1, MON_DATA_COOL, NULL);
v2 = param0->monData.cool;
param0->monData.cool = (u8)Pokemon_GetValue(v1, MON_DATA_COOL, NULL);
if (v2 != param0->monData.unk_45) {
if (v2 != param0->monData.cool) {
param0->subscreen |= 1;
}
v2 = param0->monData.unk_46;
param0->monData.unk_46 = (u8)Pokemon_GetValue(v1, MON_DATA_BEAUTY, NULL);
v2 = param0->monData.beauty;
param0->monData.beauty = (u8)Pokemon_GetValue(v1, MON_DATA_BEAUTY, NULL);
if (v2 != param0->monData.unk_46) {
if (v2 != param0->monData.beauty) {
param0->subscreen |= 2;
}
v2 = param0->monData.unk_47;
param0->monData.unk_47 = (u8)Pokemon_GetValue(v1, MON_DATA_CUTE, NULL);
v2 = param0->monData.cute;
param0->monData.cute = (u8)Pokemon_GetValue(v1, MON_DATA_CUTE, NULL);
if (v2 != param0->monData.unk_47) {
if (v2 != param0->monData.cute) {
param0->subscreen |= 4;
}
v2 = param0->monData.unk_48;
param0->monData.unk_48 = (u8)Pokemon_GetValue(v1, MON_DATA_SMART, NULL);
v2 = param0->monData.smart;
param0->monData.smart = (u8)Pokemon_GetValue(v1, MON_DATA_SMART, NULL);
if (v2 != param0->monData.unk_48) {
if (v2 != param0->monData.smart) {
param0->subscreen |= 8;
}
v2 = param0->monData.unk_49;
param0->monData.unk_49 = (u8)Pokemon_GetValue(v1, MON_DATA_TOUGH, NULL);
v2 = param0->monData.tough;
param0->monData.tough = (u8)Pokemon_GetValue(v1, MON_DATA_TOUGH, NULL);
if (v2 != param0->monData.unk_49) {
if (v2 != param0->monData.tough) {
param0->subscreen |= 16;
}
param0->monData.unk_4A = (u8)Pokemon_GetValue(v1, MON_DATA_SHEEN, NULL);
param0->monData.sheen = (u8)Pokemon_GetValue(v1, MON_DATA_SHEEN, NULL);
if (param0->data->dataType == 2) {
Heap_FreeToHeap(v1);
@ -1026,110 +1026,110 @@ static void sub_0208D200 (PokemonSummaryApp * param0, Pokemon * param1, PokemonS
v3 = Pokemon_EnterDecryptionContext(param1);
param2->unk_0C = (u16)Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL);
param2->species = (u16)Pokemon_GetValue(param1, MON_DATA_SPECIES, NULL);
v0 = Pokemon_GetBoxPokemon(param1);
MessageLoader_GetStrbuf(param0->msgLoader, 11, param0->strbuf);
sub_0200B538(param0->strFormatter, 0, v0);
StringFormatter_Format(param0->strFormatter, param0->monData.unk_00, param0->strbuf);
StringFormatter_Format(param0->strFormatter, param0->monData.speciesName, param0->strbuf);
MessageLoader_GetStrbuf(param0->msgLoader, 0, param0->strbuf);
StringFormatter_BufferNickname(param0->strFormatter, 0, v0);
StringFormatter_Format(param0->strFormatter, param0->monData.unk_04, param0->strbuf);
StringFormatter_Format(param0->strFormatter, param0->monData.nickname, param0->strbuf);
MessageLoader_GetStrbuf(param0->msgLoader, 14, param0->strbuf);
sub_0200B5EC(param0->strFormatter, 0, v0);
StringFormatter_Format(param0->strFormatter, param0->monData.unk_08, param0->strbuf);
StringFormatter_Format(param0->strFormatter, param0->monData.OTName, param0->strbuf);
param2->unk_0E = (u16)Pokemon_GetValue(param1, MON_DATA_HELD_ITEM, NULL);
param2->unk_12_0 = (u8)Pokemon_GetValue(param1, MON_DATA_LEVEL, NULL);
param2->unk_50_28 = Pokemon_GetValue(param1, MON_DATA_IS_EGG, NULL);
param2->heldItem = (u16)Pokemon_GetValue(param1, MON_DATA_HELD_ITEM, NULL);
param2->level = (u8)Pokemon_GetValue(param1, MON_DATA_LEVEL, NULL);
param2->isEgg = Pokemon_GetValue(param1, MON_DATA_IS_EGG, NULL);
if ((Pokemon_GetValue(param1, MON_DATA_NIDORAN_HAS_NICKNAME, NULL) == 1) && (param2->unk_50_28 == 0)) {
param2->unk_12_7 = 0;
if ((Pokemon_GetValue(param1, MON_DATA_NIDORAN_HAS_NICKNAME, NULL) == 1) && (param2->isEgg == 0)) {
param2->showGender = 0;
} else {
param2->unk_12_7 = 1;
param2->showGender = 1;
}
param2->unk_13_0 = Pokemon_GetGender(param1);
param2->unk_13_2 = (u8)Pokemon_GetValue(param1, MON_DATA_POKEBALL, NULL);
param2->unk_10 = (u8)Pokemon_GetValue(param1, MON_DATA_TYPE_1, NULL);
param2->unk_11 = (u8)Pokemon_GetValue(param1, MON_DATA_TYPE_2, NULL);
param2->unk_14 = Pokemon_GetValue(param1, MON_DATA_OT_ID, NULL);
param2->unk_18 = Pokemon_GetValue(param1, MON_DATA_EXP, NULL);
param2->unk_44 = (u8)Pokemon_GetValue(param1, MON_DATA_OT_GENDER, NULL);
param2->unk_1C = Pokemon_GetSpeciesBaseExpAt(param2->unk_0C, param2->unk_12_0);
param2->gender = Pokemon_GetGender(param1);
param2->caughtBall = (u8)Pokemon_GetValue(param1, MON_DATA_POKEBALL, NULL);
param2->type1 = (u8)Pokemon_GetValue(param1, MON_DATA_TYPE_1, NULL);
param2->type2 = (u8)Pokemon_GetValue(param1, MON_DATA_TYPE_2, NULL);
param2->OTID = Pokemon_GetValue(param1, MON_DATA_OT_ID, NULL);
param2->curExp = Pokemon_GetValue(param1, MON_DATA_EXP, NULL);
param2->OTGender = (u8)Pokemon_GetValue(param1, MON_DATA_OT_GENDER, NULL);
param2->curLevelExp = Pokemon_GetSpeciesBaseExpAt(param2->species, param2->level);
if (param2->unk_12_0 == 100) {
param2->unk_20 = param2->unk_1C;
if (param2->level == 100) {
param2->nextLevelExp = param2->curLevelExp;
} else {
param2->unk_20 = Pokemon_GetSpeciesBaseExpAt(param2->unk_0C, param2->unk_12_0 + 1);
param2->nextLevelExp = Pokemon_GetSpeciesBaseExpAt(param2->species, param2->level + 1);
}
param2->unk_24 = (u16)Pokemon_GetValue(param1, MON_DATA_CURRENT_HP, NULL);
param2->unk_26 = (u16)Pokemon_GetValue(param1, MON_DATA_MAX_HP, NULL);
param2->unk_28 = (u16)Pokemon_GetValue(param1, MON_DATA_ATK, NULL);
param2->unk_2A = (u16)Pokemon_GetValue(param1, MON_DATA_DEF, NULL);
param2->unk_2C = (u16)Pokemon_GetValue(param1, MON_DATA_SP_ATK, NULL);
param2->unk_2E = (u16)Pokemon_GetValue(param1, MON_DATA_SP_DEF, NULL);
param2->unk_30 = (u16)Pokemon_GetValue(param1, MON_DATA_SPEED, NULL);
param2->unk_32 = (u8)Pokemon_GetValue(param1, MON_DATA_ABILITY, NULL);
param2->unk_33 = Pokemon_GetNature(param1);
param2->curHP = (u16)Pokemon_GetValue(param1, MON_DATA_CURRENT_HP, NULL);
param2->maxHP = (u16)Pokemon_GetValue(param1, MON_DATA_MAX_HP, NULL);
param2->attack = (u16)Pokemon_GetValue(param1, MON_DATA_ATK, NULL);
param2->defense = (u16)Pokemon_GetValue(param1, MON_DATA_DEF, NULL);
param2->spAttack = (u16)Pokemon_GetValue(param1, MON_DATA_SP_ATK, NULL);
param2->spDefense = (u16)Pokemon_GetValue(param1, MON_DATA_SP_DEF, NULL);
param2->speed = (u16)Pokemon_GetValue(param1, MON_DATA_SPEED, NULL);
param2->ability = (u8)Pokemon_GetValue(param1, MON_DATA_ABILITY, NULL);
param2->nature = Pokemon_GetNature(param1);
for (v1 = 0; v1 < 4; v1++) {
param2->unk_34[v1] = (u16)Pokemon_GetValue(param1, MON_DATA_MOVE1 + v1, NULL);
param2->unk_3C[v1] = (u8)Pokemon_GetValue(param1, MON_DATA_MOVE1_CUR_PP + v1, NULL);
param2->moves[v1] = (u16)Pokemon_GetValue(param1, MON_DATA_MOVE1 + v1, NULL);
param2->curPP[v1] = (u8)Pokemon_GetValue(param1, MON_DATA_MOVE1_CUR_PP + v1, NULL);
v2 = (u8)Pokemon_GetValue(param1, MON_DATA_MOVE1_PP_UPS + v1, NULL);
param2->unk_40[v1] = MoveTable_CalcMaxPP(param2->unk_34[v1], v2);
param2->maxPP[v1] = MoveTable_CalcMaxPP(param2->moves[v1], v2);
}
param2->unk_45 = (u8)Pokemon_GetValue(param1, MON_DATA_COOL, NULL);
param2->unk_46 = (u8)Pokemon_GetValue(param1, MON_DATA_BEAUTY, NULL);
param2->unk_47 = (u8)Pokemon_GetValue(param1, MON_DATA_CUTE, NULL);
param2->unk_48 = (u8)Pokemon_GetValue(param1, MON_DATA_SMART, NULL);
param2->unk_49 = (u8)Pokemon_GetValue(param1, MON_DATA_TOUGH, NULL);
param2->unk_4A = (u8)Pokemon_GetValue(param1, MON_DATA_SHEEN, NULL);
param2->unk_4B = 5;
param2->cool = (u8)Pokemon_GetValue(param1, MON_DATA_COOL, NULL);
param2->beauty = (u8)Pokemon_GetValue(param1, MON_DATA_BEAUTY, NULL);
param2->cute = (u8)Pokemon_GetValue(param1, MON_DATA_CUTE, NULL);
param2->smart = (u8)Pokemon_GetValue(param1, MON_DATA_SMART, NULL);
param2->tough = (u8)Pokemon_GetValue(param1, MON_DATA_TOUGH, NULL);
param2->sheen = (u8)Pokemon_GetValue(param1, MON_DATA_SHEEN, NULL);
param2->preferredFlavor = 5;
for (v1 = 0; v1 < 5; v1++) {
if (Pokemon_GetFlavorAffinity(param1, v1) == 1) {
param2->unk_4B = v1;
param2->preferredFlavor = v1;
break;
}
}
param2->unk_4C = Pokemon_GetValue(param1, MON_DATA_MARKS, NULL);
param2->unk_4E = Pokemon_GetValue(param1, MON_DATA_FORM, NULL);
param2->unk_50_0 = sub_0208E9F0(param1);
param2->markings = Pokemon_GetValue(param1, MON_DATA_MARKS, NULL);
param2->form = Pokemon_GetValue(param1, MON_DATA_FORM, NULL);
param2->status = sub_0208E9F0(param1);
if (Pokemon_CanSpreadPokerus(param1) == 1) {
param2->unk_50_30 = 2;
param2->pokerus = 2;
} else if (Pokemon_InfectedWithPokerus(param1) == 1) {
param2->unk_50_30 = 1;
param2->pokerus = 1;
if (param2->unk_50_0 == 7) {
param2->unk_50_0 = 0;
if (param2->status == 7) {
param2->status = 0;
}
} else {
param2->unk_50_30 = 0;
param2->pokerus = 0;
}
if (Pokemon_IsShiny(param1) == 1) {
param2->unk_50_29 = 1;
param2->isShiny = 1;
} else {
param2->unk_50_29 = 0;
param2->isShiny = 0;
}
param2->unk_54[0] = 0;
param2->unk_54[1] = 0;
param2->unk_54[2] = 0;
param2->unk_54[3] = 0;
param2->ribbons[0] = 0;
param2->ribbons[1] = 0;
param2->ribbons[2] = 0;
param2->ribbons[3] = 0;
param0->ribbonMax = 0;
for (v1 = 0; v1 < 80; v1++) {
if (Pokemon_GetValue(param1, sub_020923C0(v1, 0), NULL) != 0) {
param2->unk_54[v1 / 32] |= (1 << (v1 & 0x1f));
param2->ribbons[v1 / 32] |= (1 << (v1 & 0x1f));
param0->ribbonMax++;
}
}
@ -1141,16 +1141,16 @@ static void sub_0208D618 (PokemonSummaryApp * param0)
{
u8 v0;
if (param0->monData.unk_50_28 != 0) {
if (param0->monData.isEgg != 0) {
return;
}
PokeSprite_LoadCryDelay(param0->narcPlPokeData, &v0, param0->monData.unk_0C, 1);
PokeSprite_LoadCryDelay(param0->narcPlPokeData, &v0, param0->monData.species, 1);
if (param0->monData.unk_0C == 441) {
if (param0->monData.species == 441) {
Sound_PlayDelayedChatotCry(param0->data->chatotCry, 0, 100, 0, v0);
} else {
sub_0200590C(param0->monData.unk_0C, v0, param0->monData.unk_4E);
sub_0200590C(param0->monData.species, v0, param0->monData.form);
}
}
@ -1159,7 +1159,7 @@ static void sub_0208D678 (PokemonSummaryApp * param0)
switch (param0->data->mode) {
case 0:
case 1:
if (param0->monData.unk_50_28 == 0) {
if (param0->monData.isEgg == 0) {
param0->page = 0;
} else {
param0->page = 1;
@ -1227,7 +1227,7 @@ static void sub_0208D748 (PokemonSummaryApp * param0)
u8 sub_0208D790 (PokemonSummaryApp * param0, u32 param1)
{
if ((param0->monData.unk_50_28 != 0) && (param1 != 1) && (param1 != 7)) {
if ((param0->monData.isEgg != 0) && (param1 != 1) && (param1 != 7)) {
return 0;
}
@ -1295,7 +1295,7 @@ static void sub_0208D898 (PokemonSummaryApp * param0, s8 param1)
v0 = 0;
}
if (param0->monData.unk_50_28 == 0) {
if (param0->monData.isEgg == 0) {
if ((param0->data->pageFlag & (1 << v0)) != 0) {
break;
}
@ -1370,7 +1370,7 @@ static void sub_0208D9D0 (PokemonSummaryApp * param0)
u8 v2;
u8 v3;
switch (HealthBar_Color(param0->monData.unk_24, param0->monData.unk_26, 48)) {
switch (HealthBar_Color(param0->monData.curHP, param0->monData.maxHP, 48)) {
case 4:
case 3:
case 0:
@ -1384,7 +1384,7 @@ static void sub_0208D9D0 (PokemonSummaryApp * param0)
break;
}
v2 = App_PixelCount(param0->monData.unk_24, param0->monData.unk_26, 48);
v2 = App_PixelCount(param0->monData.curHP, param0->monData.maxHP, 48);
for (v3 = 0; v3 < 6; v3++) {
if (v2 >= 8) {
@ -1413,9 +1413,9 @@ static void sub_0208DA84 (PokemonSummaryApp * param0)
u8 v3;
u8 v4;
if (param0->monData.unk_12_0 < 100) {
v0 = param0->monData.unk_20 - param0->monData.unk_1C;
v1 = param0->monData.unk_18 - param0->monData.unk_1C;
if (param0->monData.level < 100) {
v0 = param0->monData.nextLevelExp - param0->monData.curLevelExp;
v1 = param0->monData.curExp - param0->monData.curLevelExp;
} else {
v0 = 0;
v1 = 0;
@ -1654,7 +1654,7 @@ static u8 sub_0208DD8C (PokemonSummaryApp * param0)
SpriteActor_DrawSprite(param0->unk_41C[11], 1);
sub_0208F7A4(param0);
if (param0->monData.unk_10 != param0->monData.unk_11) {
if (param0->monData.type1 != param0->monData.type2) {
SpriteActor_DrawSprite(param0->unk_41C[12], 1);
}
@ -1718,7 +1718,7 @@ static u8 sub_0208DF94 (PokemonSummaryApp * param0, s8 param1)
v0 = 0;
}
if ((param0->monData.unk_34[v0] != 0) || (v0 == 4)) {
if ((param0->monData.moves[v0] != 0) || (v0 == 4)) {
break;
}
}
@ -1751,9 +1751,9 @@ static void sub_0208DFF4 (PokemonSummaryApp * param0)
}
} else {
if (param0->page == 3) {
sub_0208E07C(param0, param0->monData.unk_34[param0->cursor]);
sub_0208E07C(param0, param0->monData.moves[param0->cursor]);
} else {
sub_0208E0B8(param0, param0->monData.unk_34[param0->cursor]);
sub_0208E0B8(param0, param0->monData.moves[param0->cursor]);
}
}
}
@ -1796,17 +1796,17 @@ static void sub_0208E0DC (PokemonSummaryApp * param0)
Pokemon_SwapMoveSlots(v0, param0->cursor, param0->cursorTmp);
}
v1 = param0->monData.unk_34[param0->cursor];
param0->monData.unk_34[param0->cursor] = param0->monData.unk_34[param0->cursorTmp];
param0->monData.unk_34[param0->cursorTmp] = v1;
v1 = param0->monData.moves[param0->cursor];
param0->monData.moves[param0->cursor] = param0->monData.moves[param0->cursorTmp];
param0->monData.moves[param0->cursorTmp] = v1;
v2 = param0->monData.unk_3C[param0->cursor];
param0->monData.unk_3C[param0->cursor] = param0->monData.unk_3C[param0->cursorTmp];
param0->monData.unk_3C[param0->cursorTmp] = v2;
v2 = param0->monData.curPP[param0->cursor];
param0->monData.curPP[param0->cursor] = param0->monData.curPP[param0->cursorTmp];
param0->monData.curPP[param0->cursorTmp] = v2;
v3 = param0->monData.unk_40[param0->cursor];
param0->monData.unk_40[param0->cursor] = param0->monData.unk_40[param0->cursorTmp];
param0->monData.unk_40[param0->cursorTmp] = v3;
v3 = param0->monData.maxPP[param0->cursor];
param0->monData.maxPP[param0->cursor] = param0->monData.maxPP[param0->cursorTmp];
param0->monData.maxPP[param0->cursorTmp] = v3;
}
static void sub_0208E190 (PokemonSummaryApp * param0)
@ -1823,7 +1823,7 @@ static void sub_0208E190 (PokemonSummaryApp * param0)
SpriteActor_DrawSprite(param0->unk_41C[11], 1);
sub_0208F7A4(param0);
if (param0->monData.unk_10 != param0->monData.unk_11) {
if (param0->monData.type1 != param0->monData.type2) {
SpriteActor_DrawSprite(param0->unk_41C[12], 1);
}
@ -1974,7 +1974,7 @@ static void sub_0208E508 (PokemonSummaryApp * param0)
sub_0208F964(param0);
SpriteActor_DrawSprite(param0->unk_41C[11], 1);
if (param0->monData.unk_10 != param0->monData.unk_11) {
if (param0->monData.type1 != param0->monData.type2) {
SpriteActor_DrawSprite(param0->unk_41C[12], 1);
}
@ -2160,7 +2160,7 @@ u8 sub_0208E904 (PokemonSummaryApp * param0, u8 param1)
v2 = 0;
for (v0 = 0; v0 < 80; v0++) {
if ((param0->monData.unk_54[v0 / 32] & (1 << (v0 & 0x1f))) != 0) {
if ((param0->monData.ribbons[v0 / 32] & (1 << (v0 & 0x1f))) != 0) {
if (v1 == v2) {
return (u8)v0;
}
@ -2174,7 +2174,7 @@ u8 sub_0208E904 (PokemonSummaryApp * param0, u8 param1)
static int sub_0208E958 (PokemonSummaryApp * param0)
{
if (param0->monData.unk_4A == 255) {
if (param0->monData.sheen == 255) {
sub_02002E98(0, 14 * 32, 19);
sub_0200DD0C(param0->bgl, 1, (1024 - (18 + 12)), 13, sub_02027B50(param0->data->options), 19);
sub_02091610(param0, 0xff);

View File

@ -314,25 +314,25 @@ void sub_0208EE3C (PokemonSummaryApp * param0)
{
u32 v0;
if (param0->monData.unk_13_2 == 0) {
if (param0->monData.caughtBall == 0) {
v0 = 21;
} else {
v0 = 21 + param0->monData.unk_13_2 - 1;
v0 = 21 + param0->monData.caughtBall - 1;
}
sub_0200D948(param0->renderer, param0->gfxHandler, 39, v0, 0, 0);
sub_0200D97C(param0->renderer, param0->gfxHandler, 39, 37 + Unk_020F411C[param0->monData.unk_13_2], 0, 6);
sub_0200D97C(param0->renderer, param0->gfxHandler, 39, 37 + Unk_020F411C[param0->monData.caughtBall], 0, 6);
}
void sub_0208EE9C (PokemonSummaryApp * param0)
{
if (param0->monData.unk_50_0 == 7) {
if (param0->monData.status == 7) {
sub_02021CAC(param0->unk_41C[20], 0);
sub_02021CAC(param0->unk_41C[76], 0);
} else if (param0->monData.unk_50_0 != 0) {
} else if (param0->monData.status != 0) {
sub_02021CAC(param0->unk_41C[76], 0);
sub_02021CAC(param0->unk_41C[20], 1);
SpriteActor_SetSpriteAnimActive(param0->unk_41C[20], param0->monData.unk_50_0);
SpriteActor_SetSpriteAnimActive(param0->unk_41C[20], param0->monData.status);
} else {
sub_02021CAC(param0->unk_41C[76], 1);
sub_02021CAC(param0->unk_41C[20], 0);
@ -346,11 +346,11 @@ static void sub_0208EF0C (PokemonSummaryApp * param0)
sub_0208F16C(param0);
for (v0 = 0; v0 < 4; v0++) {
if (param0->monData.unk_34[v0] == 0) {
if (param0->monData.moves[v0] == 0) {
continue;
}
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.unk_34[v0], MOVEATTRIBUTE_TYPE));
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.moves[v0], MOVEATTRIBUTE_TYPE));
}
sub_0208F71C(param0);
@ -368,7 +368,7 @@ void sub_0208EF58 (PokemonSummaryApp * param0)
case 0:
SpriteActor_DrawSprite(param0->unk_41C[11], 1);
if (param0->monData.unk_10 == param0->monData.unk_11) {
if (param0->monData.type1 == param0->monData.type2) {
SpriteActor_SetPositionXY(param0->unk_41C[11], 216, 80);
} else {
SpriteActor_SetPositionXY(param0->unk_41C[11], 199, 80);
@ -379,11 +379,11 @@ void sub_0208EF58 (PokemonSummaryApp * param0)
break;
case 3:
for (v0 = 0; v0 < 4; v0++) {
if (param0->monData.unk_34[v0] == 0) {
if (param0->monData.moves[v0] == 0) {
continue;
}
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.unk_34[v0], MOVEATTRIBUTE_TYPE));
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.moves[v0], MOVEATTRIBUTE_TYPE));
SpriteActor_DrawSprite(param0->unk_41C[13 + v0], 1);
SpriteActor_SetPositionXY(param0->unk_41C[13 + v0], 151, 42 + v0 * 32);
}
@ -400,11 +400,11 @@ void sub_0208EF58 (PokemonSummaryApp * param0)
break;
case 5:
for (v0 = 0; v0 < 4; v0++) {
if (param0->monData.unk_34[v0] == 0) {
if (param0->monData.moves[v0] == 0) {
continue;
}
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.unk_34[v0], MOVEATTRIBUTE_CONTEST_TYPE) + 18);
sub_0208F194(param0, 13 + v0, 5 + v0, MoveTable_LoadParam(param0->monData.moves[v0], MOVEATTRIBUTE_CONTEST_TYPE) + 18);
SpriteActor_DrawSprite(param0->unk_41C[13 + v0], 1);
SpriteActor_SetPositionXY(param0->unk_41C[13 + v0], 151, 42 + v0 * 32);
}
@ -424,8 +424,8 @@ void sub_0208EF58 (PokemonSummaryApp * param0)
void sub_0208F16C (PokemonSummaryApp * param0)
{
sub_0208F194(param0, 11, 3, param0->monData.unk_10);
sub_0208F194(param0, 12, 4, param0->monData.unk_11);
sub_0208F194(param0, 11, 3, param0->monData.type1);
sub_0208F194(param0, 12, 4, param0->monData.type2);
}
static void sub_0208F194 (PokemonSummaryApp * param0, u8 param1, u8 param2, u8 param3)
@ -491,12 +491,12 @@ void sub_0208F34C (PokemonSummaryApp * param0)
param0->sheenCount = 0;
param0->sheenPos = 0;
if (param0->monData.unk_4A == 0) {
if (param0->monData.sheen == 0) {
param0->sheenMax = 0;
} else if (param0->monData.unk_4A == 255) {
} else if (param0->monData.sheen == 255) {
param0->sheenMax = 12;
} else {
param0->sheenMax = (((12 << 8) / 255) * param0->monData.unk_4A) >> 8;
param0->sheenMax = (((12 << 8) / 255) * param0->monData.sheen) >> 8;
}
for (v0 = 29; v0 <= 40; v0++) {
@ -593,20 +593,20 @@ void sub_0208F574 (PokemonSummaryApp * param0)
u32 v0;
for (v0 = 0; v0 < 6; v0++) {
if (param0->monData.unk_4C & (1 << v0)) {
if (param0->monData.markings & (1 << v0)) {
SpriteActor_SetSpriteAnimActive(param0->unk_41C[23 + v0], 1);
} else {
SpriteActor_SetSpriteAnimActive(param0->unk_41C[23 + v0], 0);
}
}
if ((param0->monData.unk_50_29 == 1) && (param0->monData.unk_50_28 == 0)) {
if ((param0->monData.isShiny == 1) && (param0->monData.isEgg == 0)) {
SpriteActor_DrawSprite(param0->unk_41C[53], 1);
} else {
SpriteActor_DrawSprite(param0->unk_41C[53], 0);
}
if (param0->monData.unk_50_30 == 2) {
if (param0->monData.pokerus == 2) {
SpriteActor_DrawSprite(param0->unk_41C[54], 1);
} else {
SpriteActor_DrawSprite(param0->unk_41C[54], 0);
@ -671,8 +671,8 @@ void sub_0208F71C (PokemonSummaryApp * param0)
}
sub_0200D948(param0->renderer, param0->gfxHandler, 19, v1, 0, 11);
sub_0200D414(param0->unk_41C[19], PokeIconPaletteIndex(param0->monData.unk_0C, param0->monData.unk_4E, param0->monData.unk_50_28) + 7);
sub_02021D0C(param0->unk_41C[19], (PokemonPersonalData_GetFormValue(param0->monData.unk_0C, param0->monData.unk_4E, 28) ^ 1));
sub_0200D414(param0->unk_41C[19], PokeIconPaletteIndex(param0->monData.species, param0->monData.form, param0->monData.isEgg) + 7);
sub_02021D0C(param0->unk_41C[19], (PokemonPersonalData_GetFormValue(param0->monData.species, param0->monData.form, 28) ^ 1));
}
void sub_0208F7A4 (PokemonSummaryApp * param0)
@ -709,11 +709,11 @@ static s16 sub_0208F800 (u32 param0, s16 param1, s16 param2)
void sub_0208F844 (PokemonSummaryApp * param0)
{
SpriteActor_SetPositionXY(param0->unk_41C[48], sub_0208F800(param0->monData.unk_45, 88, 88), sub_0208F800(param0->monData.unk_45, 49, 73));
SpriteActor_SetPositionXY(param0->unk_41C[49], sub_0208F800(param0->monData.unk_46, 110, 88), sub_0208F800(param0->monData.unk_46, 65, 73));
SpriteActor_SetPositionXY(param0->unk_41C[50], sub_0208F800(param0->monData.unk_47, 103, 88), sub_0208F800(param0->monData.unk_47, 92, 73));
SpriteActor_SetPositionXY(param0->unk_41C[51], sub_0208F800(param0->monData.unk_48, 72, 87), sub_0208F800(param0->monData.unk_48, 92, 73));
SpriteActor_SetPositionXY(param0->unk_41C[52], sub_0208F800(param0->monData.unk_49, 65, 87), sub_0208F800(param0->monData.unk_49, 65, 73));
SpriteActor_SetPositionXY(param0->unk_41C[48], sub_0208F800(param0->monData.cool, 88, 88), sub_0208F800(param0->monData.cool, 49, 73));
SpriteActor_SetPositionXY(param0->unk_41C[49], sub_0208F800(param0->monData.beauty, 110, 88), sub_0208F800(param0->monData.beauty, 65, 73));
SpriteActor_SetPositionXY(param0->unk_41C[50], sub_0208F800(param0->monData.cute, 103, 88), sub_0208F800(param0->monData.cute, 92, 73));
SpriteActor_SetPositionXY(param0->unk_41C[51], sub_0208F800(param0->monData.smart, 72, 87), sub_0208F800(param0->monData.smart, 92, 73));
SpriteActor_SetPositionXY(param0->unk_41C[52], sub_0208F800(param0->monData.tough, 65, 87), sub_0208F800(param0->monData.tough, 65, 73));
sub_02021CAC(param0->unk_41C[48], 1);
sub_02021CAC(param0->unk_41C[49], 1);
@ -805,29 +805,29 @@ void sub_0208FB54 (PokemonSummaryApp * param0, u8 param1)
sub_02021CAC(param0->unk_41C[71 + v0], 0);
}
} else {
v1 = param0->monData.unk_45;
v1 = param0->monData.cool;
if (v1 < param0->monData.unk_46) {
v1 = param0->monData.unk_46;
if (v1 < param0->monData.beauty) {
v1 = param0->monData.beauty;
}
if (v1 < param0->monData.unk_47) {
v1 = param0->monData.unk_47;
if (v1 < param0->monData.cute) {
v1 = param0->monData.cute;
}
if (v1 < param0->monData.unk_48) {
v1 = param0->monData.unk_48;
if (v1 < param0->monData.smart) {
v1 = param0->monData.smart;
}
if (v1 < param0->monData.unk_49) {
v1 = param0->monData.unk_49;
if (v1 < param0->monData.tough) {
v1 = param0->monData.tough;
}
sub_0208FC30(param0->unk_41C[71], param0->monData.unk_45, v1, Unk_020F4180[0]);
sub_0208FC30(param0->unk_41C[72], param0->monData.unk_46, v1, Unk_020F4180[1]);
sub_0208FC30(param0->unk_41C[73], param0->monData.unk_47, v1, Unk_020F4180[2]);
sub_0208FC30(param0->unk_41C[74], param0->monData.unk_48, v1, Unk_020F4180[3]);
sub_0208FC30(param0->unk_41C[75], param0->monData.unk_49, v1, Unk_020F4180[4]);
sub_0208FC30(param0->unk_41C[71], param0->monData.cool, v1, Unk_020F4180[0]);
sub_0208FC30(param0->unk_41C[72], param0->monData.beauty, v1, Unk_020F4180[1]);
sub_0208FC30(param0->unk_41C[73], param0->monData.cute, v1, Unk_020F4180[2]);
sub_0208FC30(param0->unk_41C[74], param0->monData.smart, v1, Unk_020F4180[3]);
sub_0208FC30(param0->unk_41C[75], param0->monData.tough, v1, Unk_020F4180[4]);
}
}

View File

@ -243,13 +243,13 @@ void sub_0208FEA4 (PokemonSummaryApp * param0)
v0 = &param0->staticWindows[34];
BGL_FillWindow(v0, 0);
sub_0201D78C(v0, 0, param0->monData.unk_04, 0, 0, 0xff, ((u32)(((15 & 0xff) << 16) | ((14 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
sub_0201D78C(v0, 0, param0->monData.nickname, 0, 0, 0xff, ((u32)(((15 & 0xff) << 16) | ((14 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
if (param0->monData.unk_12_7 == 0) {
if (param0->monData.unk_13_0 == 0) {
if (param0->monData.showGender == 0) {
if (param0->monData.gender == 0) {
MessageLoader_GetStrbuf(param0->msgLoader, 1, param0->strbuf);
sub_020900D8(param0, v0, ((u32)(((3 & 0xff) << 16) | ((4 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
} else if (param0->monData.unk_13_0 == 1) {
} else if (param0->monData.gender == 1) {
MessageLoader_GetStrbuf(param0->msgLoader, 2, param0->strbuf);
sub_020900D8(param0, v0, ((u32)(((5 & 0xff) << 16) | ((6 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
}
@ -267,12 +267,12 @@ void sub_0208FF3C (PokemonSummaryApp * param0)
BGL_FillWindow(v0, 0);
if (param0->monData.unk_50_28 == 0) {
if (param0->monData.isEgg == 0) {
sub_0200C578(param0->unk_684, 1, v0, 0, 5);
v1 = MessageLoader_GetNewStrbuf(param0->msgLoader, 3);
sub_0200B60C(param0->strFormatter, 0, param0->monData.unk_12_0, 3, 0, 1);
sub_0200B60C(param0->strFormatter, 0, param0->monData.level, 3, 0, 1);
StringFormatter_Format(param0->strFormatter, param0->strbuf, v1);
Strbuf_Free(v1);
sub_0201D78C(v0, 0, param0->strbuf, 16, 0, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
@ -287,8 +287,8 @@ void sub_0208FFE0 (PokemonSummaryApp * param0)
BGL_FillWindow(&param0->staticWindows[32], 0);
if (param0->monData.unk_0E != 0) {
sub_0200B70C(param0->strFormatter, 0, param0->monData.unk_0E);
if (param0->monData.heldItem != 0) {
sub_0200B70C(param0->strFormatter, 0, param0->monData.heldItem);
v0 = MessageLoader_GetNewStrbuf(param0->msgLoader, 5);
StringFormatter_Format(param0->strFormatter, param0->strbuf, v0);
Strbuf_Free(v0);
@ -310,7 +310,7 @@ void sub_02090064 (PokemonSummaryApp * param0, u32 param1)
static BOOL sub_02090098 (PokemonSummaryApp * param0)
{
if ((param0->monData.unk_14 == param0->data->OTID) && (param0->monData.unk_44 == param0->data->OTGender) && (Strbuf_Compare(param0->monData.unk_08, param0->playerName) == 0)) {
if ((param0->monData.OTID == param0->data->OTID) && (param0->monData.OTGender == param0->data->OTGender) && (Strbuf_Compare(param0->monData.OTName, param0->playerName) == 0)) {
return 1;
}
@ -478,7 +478,7 @@ static void sub_02090578 (PokemonSummaryApp * param0)
BGL_FillWindow(&param0->extraWindows[5], 0);
{
u32 v0 = sub_0207A294(param0->data->dexMode, param0->monData.unk_0C);
u32 v0 = sub_0207A294(param0->data->dexMode, param0->monData.species);
if (v0 != 0) {
sub_02090184(param0, 9, v0, 3, 2);
@ -487,39 +487,39 @@ static void sub_02090578 (PokemonSummaryApp * param0)
}
}
if (param0->monData.unk_50_29 == 0) {
if (param0->monData.isShiny == 0) {
sub_020900D8(param0, &param0->extraWindows[0], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 2);
} else {
sub_020900D8(param0, &param0->extraWindows[0], ((u32)(((5 & 0xff) << 16) | ((6 & 0xff) << 8) | ((0 & 0xff) << 0))), 2);
}
{
u32 v1 = sub_02002D7C(0, param0->monData.unk_00, 0);
u32 v1 = sub_02002D7C(0, param0->monData.speciesName, 0);
u32 v2 = (param0->extraWindows[1].unk_07 * 8 - v1) / 2;
sub_0201D78C(&param0->extraWindows[1], 0, param0->monData.unk_00, v2, 0, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
sub_0201D78C(&param0->extraWindows[1], 0, param0->monData.speciesName, v2, 0, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
}
{
u32 v3 = sub_02002D7C(0, param0->monData.unk_08, 0);
u32 v3 = sub_02002D7C(0, param0->monData.OTName, 0);
u32 v4 = (param0->extraWindows[2].unk_07 * 8 - v3) / 2;
if (param0->monData.unk_44 == 0) {
if (param0->monData.OTGender == 0) {
sub_0201D78C(
&param0->extraWindows[2], 0, param0->monData.unk_08, v4, 0, 0xff, ((u32)(((3 & 0xff) << 16) | ((4 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
&param0->extraWindows[2], 0, param0->monData.OTName, v4, 0, 0xff, ((u32)(((3 & 0xff) << 16) | ((4 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
} else {
sub_0201D78C(
&param0->extraWindows[2], 0, param0->monData.unk_08, v4, 0, 0xff, ((u32)(((5 & 0xff) << 16) | ((6 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
&param0->extraWindows[2], 0, param0->monData.OTName, v4, 0, 0xff, ((u32)(((5 & 0xff) << 16) | ((6 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
}
}
sub_02090184(param0, 16, (param0->monData.unk_14 & 0xffff), 5, 2);
sub_02090184(param0, 16, (param0->monData.OTID & 0xffff), 5, 2);
sub_020900D8(param0, &param0->extraWindows[3], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 2);
sub_02090184(param0, 18, param0->monData.unk_18, 7, 1);
sub_02090184(param0, 18, param0->monData.curExp, 7, 1);
sub_020900D8(param0, &param0->extraWindows[4], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 2);
if (param0->monData.unk_12_0 < 100) {
sub_02090184(param0, 21, param0->monData.unk_20 - param0->monData.unk_18, 7, 1);
if (param0->monData.level < 100) {
sub_02090184(param0, 21, param0->monData.nextLevelExp - param0->monData.curExp, 7, 1);
} else {
sub_02090184(param0, 21, 0, 7, 1);
}
@ -611,23 +611,23 @@ static void sub_0209093C (PokemonSummaryApp * param0)
v0 = sub_0201C294(&param0->extraWindows[0]) * 8;
sub_020901D0(param0, 0, 117, 119, 118, param0->monData.unk_24, param0->monData.unk_26, 3, v0 / 2, 0);
sub_02090184(param0, 120, param0->monData.unk_28, 3, 0);
sub_020901D0(param0, 0, 117, 119, 118, param0->monData.curHP, param0->monData.maxHP, 3, v0 / 2, 0);
sub_02090184(param0, 120, param0->monData.attack, 3, 0);
sub_020900D8(param0, &param0->extraWindows[1], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
sub_02090184(param0, 121, param0->monData.unk_2A, 3, 0);
sub_02090184(param0, 121, param0->monData.defense, 3, 0);
sub_020900D8(param0, &param0->extraWindows[2], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
sub_02090184(param0, 122, param0->monData.unk_2C, 3, 0);
sub_02090184(param0, 122, param0->monData.spAttack, 3, 0);
sub_020900D8(param0, &param0->extraWindows[3], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
sub_02090184(param0, 123, param0->monData.unk_2E, 3, 0);
sub_02090184(param0, 123, param0->monData.spDefense, 3, 0);
sub_020900D8(param0, &param0->extraWindows[4], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
sub_02090184(param0, 124, param0->monData.unk_30, 3, 0);
sub_02090184(param0, 124, param0->monData.speed, 3, 0);
sub_020900D8(param0, &param0->extraWindows[5], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 1);
{
MessageLoader * v1;
Strbuf* v2;
sub_0200B6A0(param0->strFormatter, 0, param0->monData.unk_32);
sub_0200B6A0(param0->strFormatter, 0, param0->monData.ability);
v2 = MessageLoader_GetNewStrbuf(param0->msgLoader, 125);
StringFormatter_Format(param0->strFormatter, param0->strbuf, v2);
@ -635,7 +635,7 @@ static void sub_0209093C (PokemonSummaryApp * param0)
sub_020900D8(param0, &param0->extraWindows[6], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 0);
v1 = MessageLoader_Init(1, 26, 612, 19);
MessageLoader_GetStrbuf(v1, param0->monData.unk_32, param0->strbuf);
MessageLoader_GetStrbuf(v1, param0->monData.ability, param0->strbuf);
MessageLoader_Free(v1);
sub_020900D8(param0, &param0->extraWindows[7], ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), 0);
}
@ -662,7 +662,7 @@ static void sub_02090BDC (PokemonSummaryApp * param0)
BGL_FillWindow(&param0->extraWindows[1], 0);
MessageLoader_GetStrbuf(param0->msgLoader, 165, param0->strbuf);
sub_020900D8(param0, &param0->extraWindows[1], ((u32)(((15 & 0xff) << 16) | ((14 & 0xff) << 8) | ((0 & 0xff) << 0))), 0);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.unk_4B, param0->strbuf);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.preferredFlavor, param0->strbuf);
sub_0201D78C(&param0->extraWindows[1], 0, param0->strbuf, 0, 16, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
sub_0201A9A4(&param0->extraWindows[1]);
@ -762,7 +762,7 @@ static void sub_02090EC8 (PokemonSummaryApp * param0)
MessageLoader_GetStrbuf(param0->msgLoader, 165, param0->strbuf);
sub_020900D8(param0, &param0->extraWindows[1], ((u32)(((15 & 0xff) << 16) | ((14 & 0xff) << 8) | ((0 & 0xff) << 0))), 0);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.unk_4B, param0->strbuf);
MessageLoader_GetStrbuf(param0->msgLoader, 166 + param0->monData.preferredFlavor, param0->strbuf);
sub_0201D78C(&param0->extraWindows[1], 0, param0->strbuf, 0, 16, 0xff, ((u32)(((1 & 0xff) << 16) | ((2 & 0xff) << 8) | ((0 & 0xff) << 0))), NULL);
sub_0201A9A4(&param0->extraWindows[1]);
@ -833,9 +833,9 @@ static void sub_02091188 (PokemonSummaryApp * param0, u32 param1)
v0 = &param0->extraWindows[0 + param1];
if (param1 != 4) {
v3 = param0->monData.unk_34[param1];
v4 = param0->monData.unk_3C[param1];
v5 = param0->monData.unk_40[param1];
v3 = param0->monData.moves[param1];
v4 = param0->monData.curPP[param1];
v5 = param0->monData.maxPP[param1];
} else {
v3 = param0->data->move;
v4 = MoveTable_CalcMaxPP(v3, 0);

View File

@ -158,7 +158,7 @@ void sub_02091750 (PokemonSummaryApp * param0)
}
NNS_G2dSetupSoftwareSpriteCamera();
sub_02007768(param0->monSpriteData.unk_04);
sub_02007768(param0->monSpriteData.spriteManager);
G3_SwapBuffers(GX_SORTMODE_MANUAL, GX_BUFFERMODE_Z);
}
@ -166,9 +166,9 @@ void sub_02091750 (PokemonSummaryApp * param0)
void sub_020917B0 (PokemonSummaryApp * param0)
{
sub_020203B8(param0->monSpriteData.unk_00);
sub_02016114(param0->monSpriteData.unk_30, 0);
sub_02015FB8(param0->monSpriteData.unk_30);
sub_02007B6C(param0->monSpriteData.unk_04);
sub_02016114(param0->monSpriteData.animationSys, 0);
sub_02015FB8(param0->monSpriteData.animationSys);
sub_02007B6C(param0->monSpriteData.spriteManager);
}
void sub_020917E0 (PokemonSummaryApp * param0)
@ -302,25 +302,25 @@ void sub_02091D50 (PokemonSummaryApp * param0)
{
u32 v0;
sub_02091B78(&Unk_020F4FFC[0][0], &param0->unk_3B0[0].unk_00, param0->monData.unk_45);
sub_02091B78(&Unk_020F4FFC[0][1], &param0->unk_3B0[0].unk_06, param0->monData.unk_46);
sub_02091B78(&Unk_020F4FFC[0][2], &param0->unk_3B0[0].unk_12, param0->monData.unk_47);
sub_02091B78(&Unk_020F4FFC[0][0], &param0->unk_3B0[0].unk_00, param0->monData.cool);
sub_02091B78(&Unk_020F4FFC[0][1], &param0->unk_3B0[0].unk_06, param0->monData.beauty);
sub_02091B78(&Unk_020F4FFC[0][2], &param0->unk_3B0[0].unk_12, param0->monData.cute);
sub_02091B78(&Unk_020F4FFC[0][3], &param0->unk_3B0[0].unk_0C, 0);
sub_02091B78(&Unk_020F4FFC[1][0], &param0->unk_3B0[1].unk_00, param0->monData.unk_49);
sub_02091B78(&Unk_020F4FFC[1][1], &param0->unk_3B0[1].unk_06, param0->monData.unk_45);
sub_02091B78(&Unk_020F4FFC[1][0], &param0->unk_3B0[1].unk_00, param0->monData.tough);
sub_02091B78(&Unk_020F4FFC[1][1], &param0->unk_3B0[1].unk_06, param0->monData.cool);
sub_02091B78(&Unk_020F4FFC[1][2], &param0->unk_3B0[1].unk_12, 0);
sub_02091B78(&Unk_020F4FFC[1][3], &param0->unk_3B0[1].unk_0C, param0->monData.unk_48);
sub_02091B78(&Unk_020F4FFC[1][3], &param0->unk_3B0[1].unk_0C, param0->monData.smart);
sub_02091B78(&Unk_020F4FFC[2][0], &param0->unk_3B0[2].unk_00, param0->monData.unk_49);
sub_02091B78(&Unk_020F4FFC[2][0], &param0->unk_3B0[2].unk_00, param0->monData.tough);
sub_02091B78(&Unk_020F4FFC[2][1], &param0->unk_3B0[2].unk_06, 0);
sub_02091B78(&Unk_020F4FFC[2][2], &param0->unk_3B0[2].unk_12, param0->monData.unk_47);
sub_02091B78(&Unk_020F4FFC[2][3], &param0->unk_3B0[2].unk_0C, param0->monData.unk_48);
sub_02091B78(&Unk_020F4FFC[2][2], &param0->unk_3B0[2].unk_12, param0->monData.cute);
sub_02091B78(&Unk_020F4FFC[2][3], &param0->unk_3B0[2].unk_0C, param0->monData.smart);
sub_02091B78(&Unk_020F4FFC[3][0], &param0->unk_3B0[3].unk_00, 0);
sub_02091B78(&Unk_020F4FFC[3][1], &param0->unk_3B0[3].unk_06, param0->monData.unk_46);
sub_02091B78(&Unk_020F4FFC[3][2], &param0->unk_3B0[3].unk_12, param0->monData.unk_47);
sub_02091B78(&Unk_020F4FFC[3][3], &param0->unk_3B0[3].unk_0C, param0->monData.unk_48);
sub_02091B78(&Unk_020F4FFC[3][1], &param0->unk_3B0[3].unk_06, param0->monData.beauty);
sub_02091B78(&Unk_020F4FFC[3][2], &param0->unk_3B0[3].unk_12, param0->monData.cute);
sub_02091B78(&Unk_020F4FFC[3][3], &param0->unk_3B0[3].unk_0C, param0->monData.smart);
for (v0 = 0; v0 < 4; v0++) {
sub_02091BD4(&param0->unk_2F0[v0].unk_00, &param0->unk_3B0[v0].unk_00, &param0->unk_350[v0].unk_00);
@ -337,7 +337,7 @@ void sub_02091F8C (PokemonSummaryApp * param0)
ArchivedSprite v0;
void * v1;
param0->monSpriteData.unk_04 = sub_0200762C(19);
param0->monSpriteData.spriteManager = sub_0200762C(19);
v1 = sub_0208DD48(param0);
@ -347,28 +347,28 @@ void sub_02091F8C (PokemonSummaryApp * param0)
Pokemon_BuildArchivedSprite(&v0, v1, 2);
}
PokeSprite_LoadAnimationFrames(param0->narcPlPokeData, param0->monSpriteData.unk_08, param0->monData.unk_0C, 1);
PokeSprite_LoadAnimationFrames(param0->narcPlPokeData, param0->monSpriteData.frames, param0->monData.species, 1);
param0->monSpriteData.unk_38 = PokemonPersonalData_GetFormValue(param0->monData.unk_0C, param0->monData.unk_4E, 28) ^ 1;
param0->monSpriteData.unk_34 = sub_02007C34(param0->monSpriteData.unk_04, &v0, 52, 104, 0, 0, param0->monSpriteData.unk_08, NULL);
param0->monSpriteData.flip = PokemonPersonalData_GetFormValue(param0->monData.species, param0->monData.form, 28) ^ 1;
param0->monSpriteData.sprite = sub_02007C34(param0->monSpriteData.spriteManager, &v0, 52, 104, 0, 0, param0->monSpriteData.frames, NULL);
sub_02007DEC(param0->monSpriteData.unk_34, 35, param0->monSpriteData.unk_38);
sub_02007DEC(param0->monSpriteData.sprite, 35, param0->monSpriteData.flip);
}
void sub_02092028 (PokemonSummaryApp * param0)
{
if (param0->monData.unk_50_28 != 0) {
PokeSprite_LoadAnimation(param0->narcPlPokeData, param0->monSpriteData.unk_30, param0->monSpriteData.unk_34, 0, 2, param0->monSpriteData.unk_38, 0);
if (param0->monData.isEgg != 0) {
PokeSprite_LoadAnimation(param0->narcPlPokeData, param0->monSpriteData.animationSys, param0->monSpriteData.sprite, 0, 2, param0->monSpriteData.flip, 0);
} else {
sub_02007B98(param0->monSpriteData.unk_34, 1);
PokeSprite_LoadAnimation(param0->narcPlPokeData, param0->monSpriteData.unk_30, param0->monSpriteData.unk_34, param0->monData.unk_0C, 2, param0->monSpriteData.unk_38, 0);
sub_02007B98(param0->monSpriteData.sprite, 1);
PokeSprite_LoadAnimation(param0->narcPlPokeData, param0->monSpriteData.animationSys, param0->monSpriteData.sprite, param0->monData.species, 2, param0->monSpriteData.flip, 0);
}
}
void sub_02092098 (PokemonSummaryApp * param0)
{
sub_02016114(param0->monSpriteData.unk_30, 0);
sub_02007B6C(param0->monSpriteData.unk_04);
sub_02016114(param0->monSpriteData.animationSys, 0);
sub_02007B6C(param0->monSpriteData.spriteManager);
sub_02091F8C(param0);
sub_02092028(param0);
}

View File

@ -225,7 +225,7 @@ u8 sub_0209228C (PokemonSummaryApp * param0)
sub_0208F684(param0);
if (sub_02092224(param0) != param0->buttonPos) {
if ((param0->monData.unk_50_28 != 0) && (v0[param0->buttonPos].unk_00 != 1) && (v0[param0->buttonPos].unk_00 != 7)) {
if ((param0->monData.isEgg != 0) && (v0[param0->buttonPos].unk_00 != 1) && (v0[param0->buttonPos].unk_00 != 7)) {
sub_0209212C(param0, &v0[param0->buttonPos], 0);
} else {
sub_0209212C(param0, &v0[param0->buttonPos], 1);