mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
Documented part of PartyManagementData struct (#517)
* Begin documenting party screen healthbar * really minor rename of unnamed parameter * Big rename that will probably cause issues bc VSCode's rename is not ideal * should match * document part of PartyManagementData struct * apparently I missed these idk how it build without them * swap include order * begin documenting unk_02084B70.c * clean up parameter names a bit * some more instances of windowLayout * continue documenting fields of PartyManagementData * more progress on PartyManagementData * Revert PartyMenu_MakeSelection to sub_02083370 and remove enum * name all unnamed PartyManagementData variables partyMan
This commit is contained in:
parent
6f0b6bcf30
commit
5e58dfdca4
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef POKEPLATINUM_STRUCT_OV13_02221ED0_H
|
||||
#define POKEPLATINUM_STRUCT_OV13_02221ED0_H
|
||||
|
||||
#include "applications/pokemon_summary_screen/main.h"
|
||||
#include "overlay013/struct_ov13_022236B8.h"
|
||||
|
||||
#include "pokemon.h"
|
||||
|
|
@ -13,14 +14,14 @@ typedef struct {
|
|||
u16 unk_0A;
|
||||
u16 unk_0C;
|
||||
u16 unk_0E;
|
||||
u16 unk_10;
|
||||
u16 curHP;
|
||||
u16 unk_12;
|
||||
u8 unk_14;
|
||||
u8 unk_15;
|
||||
u8 unk_16_0 : 7;
|
||||
u8 unk_16_7 : 1;
|
||||
u8 unk_17_0 : 3;
|
||||
u8 unk_17_3 : 4;
|
||||
u8 summaryStatus : 4;
|
||||
u8 unk_17_7 : 1;
|
||||
u16 unk_18;
|
||||
u16 unk_1A;
|
||||
|
|
|
|||
|
|
@ -30,14 +30,14 @@ typedef struct {
|
|||
u16 unk_324[96];
|
||||
u16 unk_3E4[96];
|
||||
u16 unk_4A4[128];
|
||||
PartyManagementData *unk_5A4;
|
||||
PartyManagementData *partyManagementData;
|
||||
SpriteSystem *unk_5A8;
|
||||
SpriteManager *unk_5AC;
|
||||
Sprite *unk_5B0[29];
|
||||
ManagedSprite *unk_624[29];
|
||||
UnkStruct_0200C440 *unk_698;
|
||||
MessageLoader *unk_69C;
|
||||
StringTemplate *unk_6A0;
|
||||
MessageLoader *messageLoader;
|
||||
StringTemplate *template;
|
||||
Strbuf *unk_6A4;
|
||||
Strbuf *unk_6A8;
|
||||
Strbuf *unk_6AC[20];
|
||||
|
|
@ -54,11 +54,11 @@ typedef struct {
|
|||
u8 unk_B0F_0 : 6;
|
||||
u8 unk_B0F_6 : 1;
|
||||
u8 unk_B0F_7 : 1;
|
||||
u8 unk_B10;
|
||||
u8 unk_B11;
|
||||
u8 textPrinterID;
|
||||
u8 partySlot;
|
||||
u8 unk_B12;
|
||||
u8 unk_B13;
|
||||
u16 unk_B14[6];
|
||||
u16 monStats[6];
|
||||
HeightWeightData *unk_B20;
|
||||
OverlayMetadata *unk_B24;
|
||||
GenericPointerData *unk_B28;
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
typedef struct {
|
||||
Strbuf *unk_00;
|
||||
u16 unk_04;
|
||||
u16 unk_06;
|
||||
u16 unk_08;
|
||||
u16 unk_0A;
|
||||
u16 curHP;
|
||||
u16 maxHP;
|
||||
u16 level;
|
||||
u16 unk_0C;
|
||||
u16 unk_0E_0 : 12;
|
||||
u16 unk_0E_12 : 1;
|
||||
|
|
|
|||
|
|
@ -1,36 +1,44 @@
|
|||
#ifndef POKEPLATINUM_STRUCT_02098C44_H
|
||||
#define POKEPLATINUM_STRUCT_02098C44_H
|
||||
|
||||
#include "struct_defs/struct_0202440C.h"
|
||||
#include "struct_defs/struct_0202610C.h"
|
||||
#include "struct_defs/struct_02028430.h"
|
||||
|
||||
#include "field/field_system_decl.h"
|
||||
|
||||
#include "bag.h"
|
||||
#include "field_move_tasks.h"
|
||||
#include "game_options.h"
|
||||
#include "party.h"
|
||||
|
||||
typedef struct {
|
||||
Party *unk_00;
|
||||
void *unk_04;
|
||||
void *unk_08;
|
||||
Options *unk_0C;
|
||||
void *unk_10;
|
||||
void *unk_14;
|
||||
void *unk_18;
|
||||
void *unk_1C;
|
||||
Party *party;
|
||||
Bag *bag;
|
||||
MailBox *mailBox;
|
||||
Options *options;
|
||||
TVBroadcast *broadcast;
|
||||
BattleRegulation *battleRegulation;
|
||||
FieldMoveContext *fieldMoveContext;
|
||||
FieldSystem *fieldSystem;
|
||||
u8 unk_20;
|
||||
u8 unk_21;
|
||||
u8 selectedMonSlot;
|
||||
u8 unk_23;
|
||||
u16 unk_24;
|
||||
u16 unk_26;
|
||||
u8 unk_28;
|
||||
u8 unk_29;
|
||||
u8 unk_2A;
|
||||
u8 menuSelectionResult;
|
||||
u16 usedItemID;
|
||||
u16 learnedMove;
|
||||
u8 selectedMoveSlot;
|
||||
u8 unk_29; // These three fields (unk_29, unk_2A, unk_2B) are used exactly once in the code (sub_0203D578) which is itself only used once.
|
||||
u8 unk_2A; // sub_0203D578 is used by ScrCmd_194 which is contest related so these fields are likely contest related too.
|
||||
u8 unk_2B;
|
||||
u8 unk_2C[6];
|
||||
u8 unk_32_0 : 4;
|
||||
u8 unk_32_4 : 4;
|
||||
u8 unk_33;
|
||||
int unk_34;
|
||||
u16 unk_38;
|
||||
u16 evoTargetSpecies;
|
||||
u8 padding_3A[2];
|
||||
int unk_3C;
|
||||
int evoType;
|
||||
} PartyManagementData;
|
||||
|
||||
#endif // POKEPLATINUM_STRUCT_02098C44_H
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@
|
|||
|
||||
#include "struct_defs/struct_0207F248.h"
|
||||
|
||||
void sub_0207EA74(GameWindowLayout *param0, int param1);
|
||||
u8 sub_0207EF04(GameWindowLayout *param0, u8 param1);
|
||||
u8 sub_0207EF14(GameWindowLayout *param0, u8 param1);
|
||||
const u16 *sub_0207F248(GameWindowLayout *param0);
|
||||
void sub_0207F8F8(GameWindowLayout *param0, u8 param1);
|
||||
void sub_0207FD68(GameWindowLayout *param0, u8 param1);
|
||||
u8 sub_02080354(GameWindowLayout *param0, u8 param1);
|
||||
u8 sub_02080404(GameWindowLayout *param0, u8 param1);
|
||||
u8 sub_02080488(GameWindowLayout *param0, u8 param1);
|
||||
void sub_0207EA74(GameWindowLayout *windowLayout, int param1);
|
||||
u8 sub_0207EF04(GameWindowLayout *windowLayout, u8 param1);
|
||||
u8 sub_0207EF14(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
const u16 *sub_0207F248(GameWindowLayout *windowLayout);
|
||||
void sub_0207F8F8(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
void sub_0207FD68(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
u8 sub_02080354(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
u8 sub_02080404(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
u8 sub_02080488(GameWindowLayout *windowLayout, u8 partySlot);
|
||||
u8 sub_020805D0(u8 param0, u8 param1);
|
||||
u8 GetElementIndex(u16 param0);
|
||||
u32 sub_02081930(void);
|
||||
|
|
@ -19,7 +19,7 @@ u32 sub_02081934(void);
|
|||
u32 sub_02081938(void);
|
||||
u32 sub_0208193C(void);
|
||||
void LoadScreenDataFromNARC(u32 param0, u16 *param1, u16 *param2, u16 *param3);
|
||||
void LoadOverlay118(GameWindowLayout *param0);
|
||||
void UnloadOverlay118(GameWindowLayout *param0);
|
||||
void LoadOverlay118(GameWindowLayout *windowLayout);
|
||||
void UnloadOverlay118(GameWindowLayout *windowLayout);
|
||||
|
||||
#endif // POKEPLATINUM_UNK_0207E0B8_H
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
void sub_020852B8(GameWindowLayout *param0);
|
||||
int sub_02085348(void *param0);
|
||||
BOOL sub_020857A8(u16 param0);
|
||||
BOOL CheckItemSacredAsh(u16 param0);
|
||||
int sub_02085804(GameWindowLayout *param0);
|
||||
int sub_02085EF4(GameWindowLayout *param0);
|
||||
u8 sub_02086104(GameWindowLayout *param0, Pokemon *param1);
|
||||
|
|
|
|||
|
|
@ -267,6 +267,7 @@ static void ov13_0221FCAC(SysTask *param0, void *param1)
|
|||
v0->unk_2074 = ov13_0222088C(v0);
|
||||
break;
|
||||
case 23:
|
||||
// this one returns 23 as well
|
||||
v0->unk_2074 = ov13_022208A4(v0);
|
||||
break;
|
||||
case 24:
|
||||
|
|
@ -389,7 +390,7 @@ static u8 ov13_0221FFDC(UnkStruct_ov13_022213F0 *param0)
|
|||
ov13_02221A54(v0->unk_08, v0->unk_22, v0->unk_33, v0->heapID);
|
||||
param0->unk_04[v0->unk_11].unk_00 = BattleSystem_PartyPokemon(v0->unk_08, v0->unk_28, v0->unk_2C[v0->unk_11]);
|
||||
v0->unk_20 = Pokemon_GetValue(param0->unk_04[v0->unk_11].unk_00, MON_DATA_CURRENT_HP, NULL);
|
||||
v0->unk_20 -= param0->unk_04[v0->unk_11].unk_10;
|
||||
v0->unk_20 -= param0->unk_04[v0->unk_11].curHP;
|
||||
param0->unk_2075 = 25;
|
||||
} else {
|
||||
param0->unk_2075 = 23;
|
||||
|
|
@ -874,16 +875,17 @@ static u8 ov13_022208A4(UnkStruct_ov13_022213F0 *param0)
|
|||
switch (param0->unk_2078) {
|
||||
case 0:
|
||||
param0->unk_04[v0->unk_11].unk_00 = BattleSystem_PartyPokemon(v0->unk_08, v0->unk_28, v0->unk_2C[v0->unk_11]);
|
||||
// StrBuf stuff
|
||||
ov13_02224144(param0);
|
||||
|
||||
if (param0->unk_2076 == 5) {
|
||||
param0->unk_207C[0] = (u16)Pokemon_GetValue(param0->unk_04[v0->unk_11].unk_00, MON_DATA_MOVE1_CUR_PP + v0->unk_34, NULL);
|
||||
param0->unk_2078 = 2;
|
||||
} else {
|
||||
param0->unk_04[v0->unk_11].unk_17_3 = PokemonSummaryScreen_StatusIconAnimIdx(param0->unk_04[v0->unk_11].unk_00);
|
||||
param0->unk_04[v0->unk_11].summaryStatus = PokemonSummaryScreen_StatusIconAnimIdx(param0->unk_04[v0->unk_11].unk_00);
|
||||
|
||||
if (param0->unk_04[v0->unk_11].unk_17_3 == 7) {
|
||||
ManagedSprite_SetDrawFlag(param0->unk_1FB4[13 + v0->unk_11], 0);
|
||||
if (param0->unk_04[v0->unk_11].summaryStatus == SUMMARY_CONDITION_NONE) {
|
||||
ManagedSprite_SetDrawFlag(param0->unk_1FB4[13 + v0->unk_11], FALSE);
|
||||
ov13_022234A8(param0, v0->unk_11);
|
||||
}
|
||||
|
||||
|
|
@ -894,8 +896,8 @@ static u8 ov13_022208A4(UnkStruct_ov13_022213F0 *param0)
|
|||
Sound_PlayEffect(SEQ_SE_DP_KAIFUKU);
|
||||
break;
|
||||
case 1:
|
||||
if (param0->unk_04[v0->unk_11].unk_10 != param0->unk_207A) {
|
||||
param0->unk_04[v0->unk_11].unk_10++;
|
||||
if (param0->unk_04[v0->unk_11].curHP != param0->unk_207A) {
|
||||
param0->unk_04[v0->unk_11].curHP++;
|
||||
ov13_02223448(param0, v0->unk_11);
|
||||
break;
|
||||
}
|
||||
|
|
@ -917,8 +919,8 @@ static u8 ov13_022208A4(UnkStruct_ov13_022213F0 *param0)
|
|||
param0->unk_2075 = 25;
|
||||
return 17;
|
||||
case 4:
|
||||
if (param0->unk_04[v0->unk_11].unk_10 != param0->unk_207A) {
|
||||
param0->unk_04[v0->unk_11].unk_10++;
|
||||
if (param0->unk_04[v0->unk_11].curHP != param0->unk_207A) {
|
||||
param0->unk_04[v0->unk_11].curHP++;
|
||||
ov13_02223448(param0, v0->unk_11);
|
||||
ov13_022264C4(param0);
|
||||
}
|
||||
|
|
@ -1205,7 +1207,7 @@ static void ov13_02220F98(UnkStruct_ov13_022213F0 *param0)
|
|||
param0->unk_04[v0].unk_0A = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_SPEED, NULL);
|
||||
param0->unk_04[v0].unk_0C = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_SP_ATK, NULL);
|
||||
param0->unk_04[v0].unk_0E = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_SP_DEF, NULL);
|
||||
param0->unk_04[v0].unk_10 = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_CURRENT_HP, NULL);
|
||||
param0->unk_04[v0].curHP = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_CURRENT_HP, NULL);
|
||||
param0->unk_04[v0].unk_12 = Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_MAX_HP, NULL);
|
||||
param0->unk_04[v0].unk_14 = (u8)Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_TYPE_1, NULL);
|
||||
param0->unk_04[v0].unk_15 = (u8)Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_TYPE_2, NULL);
|
||||
|
|
@ -1218,7 +1220,7 @@ static void ov13_02220F98(UnkStruct_ov13_022213F0 *param0)
|
|||
}
|
||||
|
||||
param0->unk_04[v0].unk_17_0 = Pokemon_GetGender(param0->unk_04[v0].unk_00);
|
||||
param0->unk_04[v0].unk_17_3 = PokemonSummaryScreen_StatusIconAnimIdx(param0->unk_04[v0].unk_00);
|
||||
param0->unk_04[v0].summaryStatus = PokemonSummaryScreen_StatusIconAnimIdx(param0->unk_04[v0].unk_00);
|
||||
param0->unk_04[v0].unk_17_7 = (u8)Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_IS_EGG, NULL);
|
||||
param0->unk_04[v0].unk_18 = (u16)Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_ABILITY, NULL);
|
||||
param0->unk_04[v0].unk_1A = (u16)Pokemon_GetValue(param0->unk_04[v0].unk_00, MON_DATA_HELD_ITEM, NULL);
|
||||
|
|
@ -1606,7 +1608,7 @@ static u8 ov13_022217A4(UnkStruct_ov13_022213F0 *param0)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (v0->unk_10 == 0) {
|
||||
if (v0->curHP == 0) {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_1FA4, 77);
|
||||
StringTemplate_SetNickname(param0->unk_1FA8, 0, Pokemon_GetBoxPokemon(v0->unk_00));
|
||||
StringTemplate_Format(param0->unk_1FA8, param0->unk_1FAC, v1);
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ static void ov13_02221E50(UnkStruct_ov13_022213F0 *param0, u32 param1, u16 param
|
|||
{
|
||||
UnkStruct_ov13_02221ED0 *v0 = ¶m0->unk_04[param2];
|
||||
|
||||
sub_0200C5BC(param0->unk_1FA0, v0->unk_10, 3, 1, ¶m0->unk_206C[param1], param3, param4);
|
||||
sub_0200C5BC(param0->unk_1FA0, v0->curHP, 3, 1, ¶m0->unk_206C[param1], param3, param4);
|
||||
sub_0200C578(param0->unk_1FA0, 0, ¶m0->unk_206C[param1], param3 + 8 * 3, param4);
|
||||
sub_0200C5BC(param0->unk_1FA0, v0->unk_12, 3, 0, ¶m0->unk_206C[param1], param3 + 8 * 3 + 8, param4);
|
||||
Window_ScheduleCopyToVRAM(¶m0->unk_206C[param1]);
|
||||
|
|
@ -383,9 +383,9 @@ static void ov13_02221ED0(UnkStruct_ov13_022213F0 *param0, u32 param1, u16 param
|
|||
|
||||
v0 = ¶m0->unk_04[param2];
|
||||
v1 = 1;
|
||||
v2 = App_PixelCount(v0->unk_10, v0->unk_12, 48);
|
||||
v2 = App_PixelCount(v0->curHP, v0->unk_12, 48);
|
||||
|
||||
switch (HealthBar_Color(v0->unk_10, v0->unk_12, 48)) {
|
||||
switch (HealthBar_Color(v0->curHP, v0->unk_12, 48)) {
|
||||
case 0:
|
||||
Window_ScheduleCopyToVRAM(¶m0->unk_206C[param1]);
|
||||
return;
|
||||
|
|
@ -753,7 +753,7 @@ static void ov13_0222295C(UnkStruct_ov13_022213F0 *param0, u32 param1)
|
|||
v1 = MessageLoader_GetNewStrbuf(param0->unk_1FA4, 29);
|
||||
v2 = Strbuf_Init((3 + 1) * 2, param0->unk_00->heapID);
|
||||
|
||||
StringTemplate_SetNumber(param0->unk_1FA8, 0, v0->unk_10, 3, 0, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1FA8, 0, v0->curHP, 3, 0, 1);
|
||||
StringTemplate_Format(param0->unk_1FA8, v2, v1);
|
||||
|
||||
v4 = Font_CalcStrbufWidth(FONT_SYSTEM, v2, 0);
|
||||
|
|
@ -1587,15 +1587,15 @@ void ov13_02224144(UnkStruct_ov13_022213F0 *param0)
|
|||
v5 |= 0x40;
|
||||
}
|
||||
|
||||
if ((param0->unk_04[v1->unk_11].unk_10 == 0) && (v4 != 0)) {
|
||||
if ((param0->unk_04[v1->unk_11].curHP == 0) && (v4 != 0)) {
|
||||
v3 = MessageLoader_GetNewStrbuf(param0->unk_1FA4, 88);
|
||||
StringTemplate_SetNickname(param0->unk_1FA8, 0, Pokemon_GetBoxPokemon(v0));
|
||||
StringTemplate_Format(param0->unk_1FA8, param0->unk_1FAC, v3);
|
||||
Strbuf_Free(v3);
|
||||
} else if (param0->unk_04[v1->unk_11].unk_10 != v4) {
|
||||
} else if (param0->unk_04[v1->unk_11].curHP != v4) {
|
||||
v3 = MessageLoader_GetNewStrbuf(param0->unk_1FA4, 82);
|
||||
StringTemplate_SetNickname(param0->unk_1FA8, 0, Pokemon_GetBoxPokemon(v0));
|
||||
StringTemplate_SetNumber(param0->unk_1FA8, 1, v4 - param0->unk_04[v1->unk_11].unk_10, 3, 0, 1);
|
||||
StringTemplate_SetNumber(param0->unk_1FA8, 1, v4 - param0->unk_04[v1->unk_11].curHP, 3, 0, 1);
|
||||
StringTemplate_Format(param0->unk_1FA8, param0->unk_1FAC, v3);
|
||||
Strbuf_Free(v3);
|
||||
} else if ((Item_Get(v2, 36) != 0) || (Item_Get(v2, 37) != 0)) {
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ static void ov13_02224C14(UnkStruct_ov13_022213F0 *param0)
|
|||
}
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + v0], Unk_ov13_02229404[v0][0], Unk_ov13_02229404[v0][1]);
|
||||
ov13_02224AB0(param0->unk_04[v0].unk_17_3, param0->unk_1FB4[13 + v0], Unk_ov13_02229434[v0][0], Unk_ov13_02229434[v0][1]);
|
||||
ov13_02224AB0(param0->unk_04[v0].summaryStatus, param0->unk_1FB4[13 + v0], Unk_ov13_02229434[v0][0], Unk_ov13_02229434[v0][1]);
|
||||
ov13_02224B28(param0->unk_04[v0].unk_1A, param0->unk_1FB4[0 + v0], Unk_ov13_02229404[v0][0] + 8, Unk_ov13_02229404[v0][1] + 8);
|
||||
ov13_02224B5C(param0->unk_04[v0].unk_2D, param0->unk_1FB4[32 + v0], Unk_ov13_02229404[v0][0] + 16, Unk_ov13_02229404[v0][1] + 8);
|
||||
}
|
||||
|
|
@ -524,7 +524,7 @@ static void ov13_02224D08(UnkStruct_ov13_022213F0 *param0)
|
|||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_0222923C[0], Unk_ov13_0222923C[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_0222924C[0], Unk_ov13_0222924C[1]);
|
||||
ov13_02224AB0(v0->summaryStatus, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_0222924C[0], Unk_ov13_0222924C[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292C4[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_0222923C[0] + 8, Unk_ov13_0222923C[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_0222923C[0] + 16, Unk_ov13_0222923C[1] + 8);
|
||||
|
|
@ -539,7 +539,7 @@ static void ov13_02224DA0(UnkStruct_ov13_022213F0 *param0)
|
|||
v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229244[0], Unk_ov13_02229244[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229254[0], Unk_ov13_02229254[1]);
|
||||
ov13_02224AB0(v0->summaryStatus, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229254[0], Unk_ov13_02229254[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292A4[0][0]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229244[0] + 8, Unk_ov13_02229244[1] + 8);
|
||||
ov13_02224B5C(v0->unk_2D, param0->unk_1FB4[32 + param0->unk_00->unk_11], Unk_ov13_02229244[0] + 16, Unk_ov13_02229244[1] + 8);
|
||||
|
|
@ -559,7 +559,7 @@ static void ov13_02224E78(UnkStruct_ov13_022213F0 *param0)
|
|||
UnkStruct_ov13_02221ED0 *v0 = ¶m0->unk_04[param0->unk_00->unk_11];
|
||||
|
||||
ov13_022249AC(param0->unk_1FB4[7 + param0->unk_00->unk_11], Unk_ov13_02229264[0], Unk_ov13_02229264[1]);
|
||||
ov13_02224AB0(v0->unk_17_3, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229224[0], Unk_ov13_02229224[1]);
|
||||
ov13_02224AB0(v0->summaryStatus, param0->unk_1FB4[13 + param0->unk_00->unk_11], Unk_ov13_02229224[0], Unk_ov13_02229224[1]);
|
||||
ov13_02224AD4(param0, v0, &Unk_ov13_022292B4[0][0]);
|
||||
ov13_022249AC(param0->unk_1FB4[21 + param0->unk_00->unk_34], Unk_ov13_0222922C[0], Unk_ov13_0222922C[1]);
|
||||
ov13_02224B28(v0->unk_1A, param0->unk_1FB4[0 + param0->unk_00->unk_11], Unk_ov13_02229264[0] + 8, Unk_ov13_02229264[1] + 8);
|
||||
|
|
@ -700,28 +700,28 @@ static void ov13_02225304(ManagedSprite *param0, u8 param1)
|
|||
ManagedSprite_SetAnim(param0, param1);
|
||||
}
|
||||
|
||||
static u8 ov13_02225324(UnkStruct_ov13_02221ED0 *param0)
|
||||
static u8 PartyScreen_GetHealthBarColor(UnkStruct_ov13_02221ED0 *param0)
|
||||
{
|
||||
if (param0->unk_10 == 0) {
|
||||
return 0;
|
||||
if (param0->curHP == 0) {
|
||||
return BARCOLOR_EMPTY;
|
||||
}
|
||||
|
||||
if ((param0->unk_17_3 != 7) && (param0->unk_17_3 != 6)) {
|
||||
if ((param0->summaryStatus != SUMMARY_CONDITION_NONE) && (param0->summaryStatus != SUMMARY_CONDITION_FAINTED)) {
|
||||
return 5;
|
||||
}
|
||||
|
||||
switch (HealthBar_Color(param0->unk_10, param0->unk_12, 48)) {
|
||||
switch (HealthBar_Color(param0->curHP, param0->unk_12, 48)) {
|
||||
case 4:
|
||||
return 1;
|
||||
return BARCOLOR_RED;
|
||||
case 3:
|
||||
return 2;
|
||||
return BARCOLOR_YELLOW;
|
||||
case 2:
|
||||
return 3;
|
||||
return BARCOLOR_GREEN;
|
||||
case 1:
|
||||
return 4;
|
||||
return BARCOLOR_MAX;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return BARCOLOR_EMPTY;
|
||||
}
|
||||
|
||||
void ov13_0222537C(UnkStruct_ov13_022213F0 *param0)
|
||||
|
|
@ -734,7 +734,7 @@ void ov13_0222537C(UnkStruct_ov13_022213F0 *param0)
|
|||
continue;
|
||||
}
|
||||
|
||||
v1 = ov13_02225324(¶m0->unk_04[v0]);
|
||||
v1 = PartyScreen_GetHealthBarColor(¶m0->unk_04[v0]);
|
||||
|
||||
ov13_02225304(param0->unk_1FB4[7 + v0], v1);
|
||||
ManagedSprite_TickNFrames(param0->unk_1FB4[7 + v0], FX32_ONE);
|
||||
|
|
|
|||
|
|
@ -413,7 +413,7 @@ static void ov13_02225C4C(UnkStruct_ov13_022213F0 *param0, u16 *param1, u8 param
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if (param0->unk_04[param2 - 0].unk_10 == 0) {
|
||||
if (param0->unk_04[param2 - 0].curHP == 0) {
|
||||
for (v3 = 0; v3 < v1 * v2; v3++) {
|
||||
param1[v3] = (param1[v3] & 0xfff) | (2 << 12);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,10 +111,10 @@ static void ov104_02239D1C(UnkStruct_0209B75C *param0, UnkStruct_0209BBA4 *param
|
|||
param1->unk_A8 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(param1->unk_A8, sizeof(PartyManagementData));
|
||||
|
||||
param1->unk_A8->unk_00 = SaveData_GetParty(param1->saveData);
|
||||
param1->unk_A8->unk_04 = SaveData_GetBag(param1->saveData);
|
||||
param1->unk_A8->unk_08 = SaveData_GetMailBox(param1->saveData);
|
||||
param1->unk_A8->unk_0C = SaveData_GetOptions(param1->saveData);
|
||||
param1->unk_A8->party = SaveData_GetParty(param1->saveData);
|
||||
param1->unk_A8->bag = SaveData_GetBag(param1->saveData);
|
||||
param1->unk_A8->mailBox = SaveData_GetMailBox(param1->saveData);
|
||||
param1->unk_A8->options = SaveData_GetOptions(param1->saveData);
|
||||
param1->unk_A8->unk_21 = 0;
|
||||
|
||||
if (param1->unk_A0 == 1) {
|
||||
|
|
@ -129,7 +129,7 @@ static void ov104_02239D1C(UnkStruct_0209B75C *param0, UnkStruct_0209BBA4 *param
|
|||
GF_ASSERT(0);
|
||||
}
|
||||
|
||||
param1->unk_A8->unk_1C = fieldSystem;
|
||||
param1->unk_A8->fieldSystem = fieldSystem;
|
||||
param1->unk_A8->selectedMonSlot = param1->unk_9F;
|
||||
|
||||
for (v0 = 0; v0 < 2; v0++) {
|
||||
|
|
|
|||
|
|
@ -63,13 +63,13 @@ void ov118_021D0D80(GameWindowLayout *param0)
|
|||
|
||||
param0->unk_B24 = Heap_AllocFromHeap(HEAP_ID_12, sizeof(OverlayMetadata));
|
||||
MI_CpuClear8(param0->unk_B24, sizeof(OverlayMetadata));
|
||||
param0->unk_B24->unk_14 = param0->unk_B11;
|
||||
param0->unk_B24->unk_14 = param0->partySlot;
|
||||
}
|
||||
|
||||
int ov118_021D0DBC(GameWindowLayout *param0)
|
||||
{
|
||||
OverlayMetadata *v0 = param0->unk_B24;
|
||||
Pokemon *v1 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
Pokemon *v1 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
|
||||
switch (v0->unk_00) {
|
||||
case 0: {
|
||||
|
|
@ -92,7 +92,7 @@ int ov118_021D0DBC(GameWindowLayout *param0)
|
|||
break;
|
||||
}
|
||||
|
||||
Pokedex_Capture(SaveData_GetPokedex(FieldSystem_GetSaveData(param0->unk_5A4->unk_1C)), v1);
|
||||
Pokedex_Capture(SaveData_GetPokedex(FieldSystem_GetSaveData(param0->partyManagementData->fieldSystem)), v1);
|
||||
}
|
||||
v0->unk_00++;
|
||||
break;
|
||||
|
|
@ -113,7 +113,7 @@ int ov118_021D0DBC(GameWindowLayout *param0)
|
|||
v0->unk_04++;
|
||||
|
||||
if (v0->unk_04 == v0->unk_08) {
|
||||
sub_02082DA8(param0, param0->unk_B11);
|
||||
sub_02082DA8(param0, param0->partySlot);
|
||||
}
|
||||
|
||||
ov118_021D10E8();
|
||||
|
|
@ -138,19 +138,19 @@ int ov118_021D0DBC(GameWindowLayout *param0)
|
|||
case 9: {
|
||||
Strbuf *v2;
|
||||
|
||||
v2 = MessageLoader_GetNewStrbuf(param0->unk_69C, 202);
|
||||
v2 = MessageLoader_GetNewStrbuf(param0->messageLoader, 202);
|
||||
|
||||
StringTemplate_SetNickname(param0->unk_6A0, 0, Pokemon_GetBoxPokemon(v1));
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, v2);
|
||||
StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(v1));
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, v2);
|
||||
Strbuf_Free(v2);
|
||||
sub_02082708(param0, 0xffffffff, 1);
|
||||
}
|
||||
v0->unk_00++;
|
||||
break;
|
||||
case 10:
|
||||
if (Text_IsPrinterActive(param0->unk_B10) == 0) {
|
||||
if (Text_IsPrinterActive(param0->textPrinterID) == 0) {
|
||||
ov118_021D0F70(param0);
|
||||
param0->unk_5A4->unk_23 = 0;
|
||||
param0->partyManagementData->menuSelectionResult = 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
26
src/scrcmd.c
26
src/scrcmd.c
|
|
@ -3477,7 +3477,7 @@ static BOOL ScrCmd_2D0(ScriptContext *ctx)
|
|||
u16 *v3 = ScriptContext_GetVarPointer(ctx);
|
||||
u16 *v4 = ScriptContext_GetVarPointer(ctx);
|
||||
void **v2 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
PartyManagementData *v5 = *v2;
|
||||
PartyManagementData *partyMan = *v2;
|
||||
|
||||
GF_ASSERT(*v2 != 0);
|
||||
|
||||
|
|
@ -3486,10 +3486,10 @@ static BOOL ScrCmd_2D0(ScriptContext *ctx)
|
|||
if (v1 == MAX_PARTY_SIZE + 1) {
|
||||
*v3 = 0xff;
|
||||
} else if (v1 == MAX_PARTY_SIZE) {
|
||||
u16 v0 = v5->unk_2C[0];
|
||||
u16 v0 = partyMan->unk_2C[0];
|
||||
*v3 = v0;
|
||||
*v3 -= 1;
|
||||
v0 = v5->unk_2C[1];
|
||||
v0 = partyMan->unk_2C[1];
|
||||
*v4 = v0;
|
||||
|
||||
if (*v4 > 0) {
|
||||
|
|
@ -3509,7 +3509,7 @@ static BOOL ScrCmd_2D4(ScriptContext *ctx)
|
|||
u16 *v4 = ScriptContext_GetVarPointer(ctx);
|
||||
u16 *v5 = ScriptContext_GetVarPointer(ctx);
|
||||
void **v2 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
PartyManagementData *v6 = *v2;
|
||||
PartyManagementData *partyMan = *v2;
|
||||
|
||||
GF_ASSERT(*v2 != 0);
|
||||
|
||||
|
|
@ -3518,13 +3518,13 @@ static BOOL ScrCmd_2D4(ScriptContext *ctx)
|
|||
if (v1 == MAX_PARTY_SIZE + 1) {
|
||||
*v3 = 0xff;
|
||||
} else if (v1 == MAX_PARTY_SIZE) {
|
||||
*v3 = v6->unk_2C[0];
|
||||
*v3 = partyMan->unk_2C[0];
|
||||
*v3 -= 1;
|
||||
|
||||
*v4 = v6->unk_2C[1];
|
||||
*v4 = partyMan->unk_2C[1];
|
||||
*v4 -= 1;
|
||||
|
||||
*v5 = v6->unk_2C[2];
|
||||
*v5 = partyMan->unk_2C[2];
|
||||
|
||||
if (*v5 > 0) {
|
||||
*v5 -= 1;
|
||||
|
|
@ -3543,7 +3543,7 @@ static BOOL ScrCmd_2DB(ScriptContext *ctx)
|
|||
u16 *v4 = ScriptContext_GetVarPointer(ctx);
|
||||
u16 *v5 = ScriptContext_GetVarPointer(ctx);
|
||||
void **v2 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
PartyManagementData *v6 = *v2;
|
||||
PartyManagementData *partyMan = *v2;
|
||||
|
||||
GF_ASSERT(*v2 != 0);
|
||||
|
||||
|
|
@ -3552,13 +3552,13 @@ static BOOL ScrCmd_2DB(ScriptContext *ctx)
|
|||
if (v1 == MAX_PARTY_SIZE + 1) {
|
||||
*v3 = 0xff;
|
||||
} else if (v1 == MAX_PARTY_SIZE) {
|
||||
*v3 = v6->unk_2C[0];
|
||||
*v3 = partyMan->unk_2C[0];
|
||||
*v3 -= 1;
|
||||
|
||||
*v4 = v6->unk_2C[1];
|
||||
*v4 = partyMan->unk_2C[1];
|
||||
*v4 -= 1;
|
||||
|
||||
*v5 = v6->unk_2C[2];
|
||||
*v5 = partyMan->unk_2C[2];
|
||||
|
||||
if (*v5 > 0) {
|
||||
*v5 -= 1;
|
||||
|
|
@ -5147,8 +5147,8 @@ static BOOL ScrCmd_2BA(ScriptContext *ctx)
|
|||
|
||||
if (*v2 != 0) {
|
||||
void **v1 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
|
||||
PartyManagementData *v0 = *v1;
|
||||
Heap_FreeToHeap(v0);
|
||||
PartyManagementData *partyMan = *v1;
|
||||
Heap_FreeToHeap(partyMan);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
|
|
|||
146
src/start_menu.c
146
src/start_menu.c
|
|
@ -1012,7 +1012,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
memcpy(partyMan, menu->taskData, sizeof(PartyManagementData));
|
||||
Heap_FreeToHeap(menu->taskData);
|
||||
|
||||
switch (partyMan->unk_23) {
|
||||
switch (partyMan->menuSelectionResult) {
|
||||
case 1: {
|
||||
PokemonSummary *summary = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PokemonSummary));
|
||||
|
||||
|
|
@ -1043,7 +1043,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
summary->dataType = SUMMARY_DATA_PARTY_MON;
|
||||
summary->monIndex = partyMan->selectedMonSlot;
|
||||
summary->monMax = 1;
|
||||
summary->move = partyMan->unk_26;
|
||||
summary->move = partyMan->learnedMove;
|
||||
summary->mode = SUMMARY_MODE_SELECT_MOVE;
|
||||
summary->dexMode = SaveData_GetDexMode(fieldSystem->saveData);
|
||||
summary->showContest = PokemonSummaryScreen_ShowContestData(fieldSystem->saveData);
|
||||
|
|
@ -1055,7 +1055,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
|
||||
UnkStruct_0203C1C8 *v5 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(UnkStruct_0203C1C8));
|
||||
|
||||
v5->unk_00 = partyMan->unk_24;
|
||||
v5->unk_00 = partyMan->usedItemID;
|
||||
v5->unk_02 = 0;
|
||||
menu->unk_260 = v5;
|
||||
|
||||
|
|
@ -1070,7 +1070,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
summary->dataType = SUMMARY_DATA_PARTY_MON;
|
||||
summary->monIndex = partyMan->selectedMonSlot;
|
||||
summary->monMax = 1;
|
||||
summary->move = partyMan->unk_26;
|
||||
summary->move = partyMan->learnedMove;
|
||||
summary->mode = SUMMARY_MODE_SELECT_MOVE;
|
||||
summary->dexMode = SaveData_GetDexMode(fieldSystem->saveData);
|
||||
summary->showContest = PokemonSummaryScreen_ShowContestData(fieldSystem->saveData);
|
||||
|
|
@ -1092,15 +1092,15 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
case 6: {
|
||||
UnkStruct_02097728 *v8;
|
||||
|
||||
v8 = sub_0203D920(fieldSystem, 2, partyMan->selectedMonSlot, Item_MailNumber(partyMan->unk_24), 11);
|
||||
v8 = sub_0203D920(fieldSystem, 2, partyMan->selectedMonSlot, Item_MailNumber(partyMan->usedItemID), 11);
|
||||
menu->taskData = v8;
|
||||
|
||||
if (partyMan->unk_20 == 10) {
|
||||
menu->unk_260 = sub_0203C540(
|
||||
partyMan->unk_24, 0, partyMan->selectedMonSlot);
|
||||
partyMan->usedItemID, 0, partyMan->selectedMonSlot);
|
||||
} else {
|
||||
menu->unk_260 = sub_0203C540(
|
||||
partyMan->unk_24, 1, partyMan->selectedMonSlot);
|
||||
partyMan->usedItemID, 1, partyMan->selectedMonSlot);
|
||||
}
|
||||
|
||||
sub_0203B674(menu, sub_0203C558);
|
||||
|
|
@ -1113,7 +1113,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
v9 = sub_0203D984(fieldSystem, v10, HEAP_ID_FIELDMAP);
|
||||
|
||||
menu->taskData = v9;
|
||||
menu->unk_260 = sub_0203C540(partyMan->unk_24, 2, partyMan->selectedMonSlot);
|
||||
menu->unk_260 = sub_0203C540(partyMan->usedItemID, 2, partyMan->selectedMonSlot);
|
||||
|
||||
sub_0203B674(menu, sub_0203C558);
|
||||
} break;
|
||||
|
|
@ -1134,11 +1134,11 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
case 8: {
|
||||
UnkStruct_0203C7B8 *v14 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(UnkStruct_0203C7B8));
|
||||
|
||||
v14->unk_02 = partyMan->unk_24;
|
||||
v14->unk_02 = partyMan->usedItemID;
|
||||
v14->unk_01 = 3;
|
||||
v14->unk_00 = partyMan->selectedMonSlot;
|
||||
v14->unk_04 = partyMan->unk_38;
|
||||
v14->unk_08 = partyMan->unk_3C;
|
||||
v14->unk_04 = partyMan->evoTargetSpecies;
|
||||
v14->unk_08 = partyMan->evoType;
|
||||
|
||||
menu->taskData = v14;
|
||||
menu->state = START_MENU_STATE_EVOLVE_INIT;
|
||||
|
|
@ -1149,8 +1149,8 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
v15->unk_02 = MapHeader_GetMapEvolutionMethod(fieldSystem->location->mapId);
|
||||
v15->unk_01 = 0;
|
||||
v15->unk_00 = partyMan->selectedMonSlot;
|
||||
v15->unk_04 = partyMan->unk_38;
|
||||
v15->unk_08 = partyMan->unk_3C;
|
||||
v15->unk_04 = partyMan->evoTargetSpecies;
|
||||
v15->unk_08 = partyMan->evoType;
|
||||
menu->taskData = v15;
|
||||
menu->state = START_MENU_STATE_EVOLVE_INIT;
|
||||
} break;
|
||||
|
|
@ -1170,7 +1170,7 @@ BOOL sub_0203B7C0(FieldTask *taskMan)
|
|||
FieldMoveTaskContext v16;
|
||||
FieldMovePokemon fieldMoveMon;
|
||||
|
||||
fieldMoveMon.fieldMove = partyMan->unk_23 - 11;
|
||||
fieldMoveMon.fieldMove = partyMan->menuSelectionResult - 11;
|
||||
fieldMoveMon.fieldMonId = partyMan->selectedMonSlot;
|
||||
fieldMoveMon.fieldTask = taskMan;
|
||||
|
||||
|
|
@ -1262,23 +1262,23 @@ static BOOL sub_0203BC5C(FieldTask *taskMan)
|
|||
sub_0203C2D8(taskMan, sub_0207CB94(v2));
|
||||
break;
|
||||
case 2: {
|
||||
PartyManagementData *v6;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
v6 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
memset(v6, 0, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v6->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v6->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v6->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v6->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v6->unk_18 = &menu->fieldMoveContext;
|
||||
v6->unk_21 = 0;
|
||||
v6->unk_20 = 9;
|
||||
v6->unk_24 = sub_0207CB94(v2);
|
||||
v6->unk_1C = fieldSystem;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 9;
|
||||
partyMan->usedItemID = sub_0207CB94(v2);
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v6);
|
||||
menu->taskData = v6;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
} break;
|
||||
case 4: {
|
||||
|
|
@ -1303,29 +1303,29 @@ static BOOL sub_0203BC5C(FieldTask *taskMan)
|
|||
menu->unk_260 = sub_0203C540(v10, 0, (u8)v9);
|
||||
sub_0203B674(menu, sub_0203C558);
|
||||
} else {
|
||||
PartyManagementData *v13;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
v13 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
memset(v13, 0, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v13->unk_00 = v7;
|
||||
v13->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v13->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v13->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v13->unk_18 = &menu->fieldMoveContext;
|
||||
v13->unk_21 = 0;
|
||||
v13->unk_24 = sub_0207CB94(v2);
|
||||
v13->selectedMonSlot = (u8)v9;
|
||||
v13->unk_1C = fieldSystem;
|
||||
partyMan->party = v7;
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->usedItemID = sub_0207CB94(v2);
|
||||
partyMan->selectedMonSlot = (u8)v9;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
if (v13->unk_24 == 0) {
|
||||
v13->unk_20 = 0;
|
||||
if (partyMan->usedItemID == 0) {
|
||||
partyMan->unk_20 = 0;
|
||||
} else {
|
||||
v13->unk_20 = 10;
|
||||
partyMan->unk_20 = 10;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v13);
|
||||
menu->taskData = v13;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
}
|
||||
} break;
|
||||
|
|
@ -1581,38 +1581,38 @@ static BOOL sub_0203C1C8(FieldTask *taskMan)
|
|||
|
||||
switch (v2->mode) {
|
||||
case SUMMARY_MODE_SELECT_MOVE: {
|
||||
PartyManagementData *v3;
|
||||
PartyManagementData *partyMan;
|
||||
UnkStruct_0203C1C8 *v4;
|
||||
|
||||
v3 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
v4 = (UnkStruct_0203C1C8 *)menu->unk_260;
|
||||
|
||||
memset(v3, 0, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v3->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v3->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v3->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v3->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v3->unk_18 = &menu->fieldMoveContext;
|
||||
v3->unk_21 = 0;
|
||||
v3->unk_1C = fieldSystem;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
if (v4->unk_00 != 0) {
|
||||
v3->unk_20 = 7;
|
||||
v3->unk_34 = 0;
|
||||
partyMan->unk_20 = 7;
|
||||
partyMan->unk_34 = 0;
|
||||
} else {
|
||||
v3->unk_20 = 8;
|
||||
v3->unk_34 = v4->unk_02;
|
||||
partyMan->unk_20 = 8;
|
||||
partyMan->unk_34 = v4->unk_02;
|
||||
}
|
||||
|
||||
v3->unk_24 = v4->unk_00;
|
||||
v3->selectedMonSlot = v2->monIndex;
|
||||
v3->unk_26 = v2->move;
|
||||
v3->unk_28 = v2->selectedMoveSlot;
|
||||
partyMan->usedItemID = v4->unk_00;
|
||||
partyMan->selectedMonSlot = v2->monIndex;
|
||||
partyMan->learnedMove = v2->move;
|
||||
partyMan->selectedMoveSlot = v2->selectedMoveSlot;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v3);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
Heap_FreeToHeap(menu->unk_260);
|
||||
menu->taskData = v3;
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
} break;
|
||||
default:
|
||||
|
|
@ -1809,18 +1809,18 @@ static void sub_0203C668(FieldSystem *fieldSystem, StartMenu *menu, u8 param2)
|
|||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
partyMan->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->unk_18 = &menu->fieldMoveContext;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_24 = v0->unk_00;
|
||||
partyMan->usedItemID = v0->unk_00;
|
||||
partyMan->selectedMonSlot = v0->unk_02;
|
||||
partyMan->unk_20 = param2;
|
||||
partyMan->unk_1C = fieldSystem;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
sub_02097750(menu->taskData, Party_GetPokemonBySlotIndex(partyMan->unk_00, v0->unk_02));
|
||||
sub_02097750(menu->taskData, Party_GetPokemonBySlotIndex(partyMan->party, v0->unk_02));
|
||||
sub_02097770(menu->taskData);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
|
|
|
|||
|
|
@ -377,47 +377,47 @@ void FieldSystem_OpenSummaryScreen(FieldSystem *fieldSystem, void *overlayArgs)
|
|||
|
||||
static PartyManagementData *sub_0203D344(int heapID, FieldSystem *fieldSystem, int param2, int param3)
|
||||
{
|
||||
PartyManagementData *v0 = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
|
||||
MI_CpuClearFast(v0, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v0->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v0->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v0->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v0->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v0->unk_21 = param2;
|
||||
v0->unk_20 = param3;
|
||||
v0->unk_1C = fieldSystem;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->unk_21 = param2;
|
||||
partyMan->unk_20 = param3;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
return v0;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203D390(FieldSystem *fieldSystem, FieldMoveContext *param1, u8 param2)
|
||||
{
|
||||
PartyManagementData *v0 = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 0);
|
||||
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 0);
|
||||
|
||||
v0->unk_18 = param1;
|
||||
v0->selectedMonSlot = param2;
|
||||
partyMan->fieldMoveContext = param1;
|
||||
partyMan->selectedMonSlot = param2;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
return v0;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203D3C0(int param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
PartyManagementData *v0 = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 3);
|
||||
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 3);
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
return v0;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203D3E4(int param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
PartyManagementData *v0 = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 19);
|
||||
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 19);
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
return v0;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
int PartyManagementData_GetSelectedSlot(PartyManagementData *partyMan)
|
||||
|
|
@ -437,8 +437,8 @@ void *sub_0203D410(int param0, FieldSystem *fieldSystem, int param2)
|
|||
|
||||
int sub_0203D438(void *param0)
|
||||
{
|
||||
PartyManagementData *v0 = param0;
|
||||
return v0->unk_23;
|
||||
PartyManagementData *partyMan = param0;
|
||||
return partyMan->menuSelectionResult;
|
||||
}
|
||||
|
||||
int sub_0203D440(void *param0)
|
||||
|
|
@ -501,40 +501,40 @@ static BOOL sub_0203D444(FieldTask *param0)
|
|||
void *sub_0203D50C(FieldTask *taskMan, int heapID)
|
||||
{
|
||||
UnkStruct_0203D444 *v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
FieldSystem *fieldSystem = FieldTask_GetFieldSystem(taskMan);
|
||||
|
||||
v0 = Heap_AllocFromHeap(heapID, sizeof(UnkStruct_0203D444));
|
||||
v0->heapID = heapID;
|
||||
v1 = sub_0203D344(heapID, fieldSystem, 0, 2);
|
||||
v1->unk_32_0 = 2;
|
||||
v1->unk_32_4 = 2;
|
||||
v1->unk_33 = 30;
|
||||
v1->unk_14 = NULL;
|
||||
v0->unk_04 = v1;
|
||||
partyMan = sub_0203D344(heapID, fieldSystem, 0, 2);
|
||||
partyMan->unk_32_0 = 2;
|
||||
partyMan->unk_32_4 = 2;
|
||||
partyMan->unk_33 = 30;
|
||||
partyMan->battleRegulation = NULL;
|
||||
v0->unk_04 = partyMan;
|
||||
|
||||
FieldTask_InitCall(taskMan, sub_0203D444, v0);
|
||||
|
||||
return v1;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203D578(int param0, FieldSystem *fieldSystem, int param2, int param3, int param4, int param5)
|
||||
{
|
||||
PartyManagementData *v0 = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 13);
|
||||
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 13);
|
||||
|
||||
v0->selectedMonSlot = param5;
|
||||
v0->unk_29 = 2;
|
||||
v0->unk_2A = param2;
|
||||
partyMan->selectedMonSlot = param5;
|
||||
partyMan->unk_29 = 2;
|
||||
partyMan->unk_2A = param2;
|
||||
|
||||
if (param4 == 0) {
|
||||
v0->unk_2B = param3;
|
||||
partyMan->unk_2B = param3;
|
||||
} else {
|
||||
v0->unk_2B = 0;
|
||||
partyMan->unk_2B = 0;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
return v0;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203D5C8(int param0, FieldSystem *fieldSystem, int param2)
|
||||
|
|
@ -562,12 +562,12 @@ void *sub_0203D5C8(int param0, FieldSystem *fieldSystem, int param2)
|
|||
|
||||
void *sub_0203D644(FieldSystem *fieldSystem, int param1)
|
||||
{
|
||||
PartyManagementData *v0 = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 21);
|
||||
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 21);
|
||||
|
||||
v0->selectedMonSlot = param1;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
partyMan->selectedMonSlot = param1;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
return v0;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
PokemonSummary *sub_0203D670(FieldSystem *fieldSystem, int heapID, int mode)
|
||||
|
|
@ -1712,24 +1712,24 @@ void *sub_0203E564(FieldSystem *fieldSystem, u8 param1, u8 param2, u16 param3, i
|
|||
|
||||
PartyManagementData *sub_0203E598(FieldSystem *fieldSystem, int heapID, int param2)
|
||||
{
|
||||
PartyManagementData *v0 = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
memset(v0, 0, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v0->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v0->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v0->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v0->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v0->unk_10 = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
v0->unk_18 = NULL;
|
||||
v0->unk_21 = 0;
|
||||
v0->unk_20 = 5;
|
||||
v0->unk_24 = param2;
|
||||
v0->selectedMonSlot = 0;
|
||||
v0->unk_1C = fieldSystem;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->broadcast = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = NULL;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 5;
|
||||
partyMan->usedItemID = param2;
|
||||
partyMan->selectedMonSlot = 0;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v0);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
return v0;
|
||||
return partyMan;
|
||||
}
|
||||
|
||||
void *sub_0203E608(FieldSystem *fieldSystem, int heapID)
|
||||
|
|
|
|||
|
|
@ -428,11 +428,11 @@ void sub_0204A358(UnkStruct_0204AFC4 *param0, FieldTask *param1, void **param2)
|
|||
BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData)
|
||||
{
|
||||
u16 v0 = 0;
|
||||
PartyManagementData *v1 = *param1;
|
||||
PartyManagementData *partyMan = *param1;
|
||||
Party *v2;
|
||||
Pokemon *v3;
|
||||
|
||||
if ((v1->unk_23 != 0) || (v1->selectedMonSlot == 7)) {
|
||||
if ((partyMan->menuSelectionResult != 0) || (partyMan->selectedMonSlot == 7)) {
|
||||
Heap_FreeToHeap(*param1);
|
||||
*param1 = NULL;
|
||||
return 0;
|
||||
|
|
@ -441,7 +441,7 @@ BOOL sub_0204A378(UnkStruct_0204AFC4 *param0, void **param1, SaveData *saveData)
|
|||
v2 = SaveData_GetParty(saveData);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_0E; v0++) {
|
||||
param0->unk_2A[v0] = v1->unk_2C[v0] - 1;
|
||||
param0->unk_2A[v0] = partyMan->unk_2C[v0] - 1;
|
||||
v3 = Party_GetPokemonBySlotIndex(v2, param0->unk_2A[v0]);
|
||||
param0->unk_2E[v0] = Pokemon_GetValue(v3, MON_DATA_SPECIES, NULL);
|
||||
param0->unk_36[v0] = Pokemon_GetValue(v3, MON_DATA_HELD_ITEM, NULL);
|
||||
|
|
|
|||
|
|
@ -329,38 +329,38 @@ static int sub_0204F50C(UnkStruct_0204F470 *param0, FieldSystem *fieldSystem, in
|
|||
{
|
||||
u8 v0;
|
||||
|
||||
PartyManagementData *v1 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(v1, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v1->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v1->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v1->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v1->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
|
||||
v1->unk_21 = 0;
|
||||
partyMan->unk_21 = 0;
|
||||
|
||||
v1->unk_20 = 22;
|
||||
v1->unk_1C = fieldSystem;
|
||||
partyMan->unk_20 = 22;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
|
||||
v1->selectedMonSlot = param0->unk_05;
|
||||
partyMan->selectedMonSlot = param0->unk_05;
|
||||
|
||||
for (v0 = 0; v0 < 2; v0++) {
|
||||
v1->unk_2C[v0] = param0->unk_06[v0];
|
||||
partyMan->unk_2C[v0] = param0->unk_06[v0];
|
||||
}
|
||||
|
||||
v1->unk_33 = 30;
|
||||
partyMan->unk_33 = 30;
|
||||
|
||||
v1->unk_32_0 = 1;
|
||||
v1->unk_32_4 = 1;
|
||||
partyMan->unk_32_0 = 1;
|
||||
partyMan->unk_32_4 = 1;
|
||||
|
||||
if (param0->unk_04 == 1) {
|
||||
v1->unk_32_0 = 2;
|
||||
v1->unk_32_4 = 2;
|
||||
partyMan->unk_32_0 = 2;
|
||||
partyMan->unk_32_4 = 2;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v1);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
*(param0->unk_08) = v1;
|
||||
*(param0->unk_08) = partyMan;
|
||||
|
||||
return UnkEnum_0204F13C_2;
|
||||
}
|
||||
|
|
@ -368,15 +368,15 @@ static int sub_0204F50C(UnkStruct_0204F470 *param0, FieldSystem *fieldSystem, in
|
|||
static int sub_0204F5D8(UnkStruct_0204F470 *param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
int v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
if (FieldSystem_IsRunningApplication(fieldSystem)) {
|
||||
return UnkEnum_0204F13C_2;
|
||||
}
|
||||
|
||||
v1 = *(param0->unk_08);
|
||||
partyMan = *(param0->unk_08);
|
||||
|
||||
switch (v1->selectedMonSlot) {
|
||||
switch (partyMan->selectedMonSlot) {
|
||||
case 7:
|
||||
return UnkEnum_0204F13C_5;
|
||||
|
||||
|
|
@ -387,11 +387,11 @@ static int sub_0204F5D8(UnkStruct_0204F470 *param0, FieldSystem *fieldSystem)
|
|||
break;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(v1->unk_2C, param0->unk_06, 2);
|
||||
MI_CpuCopy8(partyMan->unk_2C, param0->unk_06, 2);
|
||||
|
||||
param0->unk_05 = v1->selectedMonSlot;
|
||||
param0->unk_05 = partyMan->selectedMonSlot;
|
||||
|
||||
Heap_FreeToHeap(v1);
|
||||
Heap_FreeToHeap(partyMan);
|
||||
*(param0->unk_08) = NULL;
|
||||
return UnkEnum_0204F13C_3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -250,36 +250,36 @@ static BOOL sub_0204FDE8(FieldTask *param0)
|
|||
static int sub_0204FE50(UnkStruct_0204FE50 *param0, FieldSystem *fieldSystem, int param2)
|
||||
{
|
||||
u8 v0;
|
||||
PartyManagementData *v1 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
MI_CpuClearFast(v1, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v1->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v1->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v1->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v1->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
|
||||
v1->unk_21 = 0;
|
||||
v1->unk_20 = 23;
|
||||
v1->unk_1C = fieldSystem;
|
||||
v1->selectedMonSlot = param0->unk_05;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 23;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
partyMan->selectedMonSlot = param0->unk_05;
|
||||
|
||||
for (v0 = 0; v0 < 3; v0++) {
|
||||
v1->unk_2C[v0] = param0->unk_06[v0];
|
||||
partyMan->unk_2C[v0] = param0->unk_06[v0];
|
||||
}
|
||||
|
||||
v1->unk_33 = 100;
|
||||
v1->unk_32_0 = 3;
|
||||
v1->unk_32_4 = 3;
|
||||
partyMan->unk_33 = 100;
|
||||
partyMan->unk_32_0 = 3;
|
||||
partyMan->unk_32_4 = 3;
|
||||
|
||||
if (param0->unk_04 == 2) {
|
||||
v1->unk_32_0 = 2;
|
||||
v1->unk_32_4 = 2;
|
||||
partyMan->unk_32_0 = 2;
|
||||
partyMan->unk_32_4 = 2;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v1);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
*(param0->unk_0C) = v1;
|
||||
*(param0->unk_0C) = partyMan;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -287,15 +287,15 @@ static int sub_0204FE50(UnkStruct_0204FE50 *param0, FieldSystem *fieldSystem, in
|
|||
static int sub_0204FF1C(UnkStruct_0204FE50 *param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
int v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
if (FieldSystem_IsRunningApplication(fieldSystem)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
v1 = *(param0->unk_0C);
|
||||
partyMan = *(param0->unk_0C);
|
||||
|
||||
switch (v1->selectedMonSlot) {
|
||||
switch (partyMan->selectedMonSlot) {
|
||||
case 7:
|
||||
return 4;
|
||||
case 6:
|
||||
|
|
@ -304,9 +304,9 @@ static int sub_0204FF1C(UnkStruct_0204FE50 *param0, FieldSystem *fieldSystem)
|
|||
break;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(v1->unk_2C, param0->unk_06, 3);
|
||||
param0->unk_05 = v1->selectedMonSlot;
|
||||
Heap_FreeToHeap(v1);
|
||||
MI_CpuCopy8(partyMan->unk_2C, param0->unk_06, 3);
|
||||
param0->unk_05 = partyMan->selectedMonSlot;
|
||||
Heap_FreeToHeap(partyMan);
|
||||
|
||||
*(param0->unk_0C) = NULL;
|
||||
return 2;
|
||||
|
|
|
|||
|
|
@ -240,34 +240,34 @@ static BOOL sub_02050314(FieldTask *param0)
|
|||
static int sub_0205037C(UnkStruct_0205037C *param0, FieldSystem *fieldSystem, int param2)
|
||||
{
|
||||
u8 v0;
|
||||
PartyManagementData *v1 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
MI_CpuClearFast(v1, sizeof(PartyManagementData));
|
||||
MI_CpuClearFast(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v1->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v1->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v1->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v1->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v1->unk_21 = 0;
|
||||
v1->unk_20 = 23;
|
||||
v1->unk_1C = fieldSystem;
|
||||
v1->selectedMonSlot = param0->unk_05;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 23;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
partyMan->selectedMonSlot = param0->unk_05;
|
||||
|
||||
for (v0 = 0; v0 < 3; v0++) {
|
||||
v1->unk_2C[v0] = param0->unk_06[v0];
|
||||
partyMan->unk_2C[v0] = param0->unk_06[v0];
|
||||
}
|
||||
|
||||
v1->unk_33 = 100;
|
||||
v1->unk_32_0 = 3;
|
||||
v1->unk_32_4 = 3;
|
||||
partyMan->unk_33 = 100;
|
||||
partyMan->unk_32_0 = 3;
|
||||
partyMan->unk_32_4 = 3;
|
||||
|
||||
if (param0->unk_04 == 2) {
|
||||
v1->unk_32_0 = 2;
|
||||
v1->unk_32_4 = 2;
|
||||
partyMan->unk_32_0 = 2;
|
||||
partyMan->unk_32_4 = 2;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v1);
|
||||
*(param0->unk_0C) = v1;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
*(param0->unk_0C) = partyMan;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -275,15 +275,15 @@ static int sub_0205037C(UnkStruct_0205037C *param0, FieldSystem *fieldSystem, in
|
|||
static int sub_02050448(UnkStruct_0205037C *param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
int v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
if (FieldSystem_IsRunningApplication(fieldSystem)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
v1 = *(param0->unk_0C);
|
||||
partyMan = *(param0->unk_0C);
|
||||
|
||||
switch (v1->selectedMonSlot) {
|
||||
switch (partyMan->selectedMonSlot) {
|
||||
case 7:
|
||||
return 4;
|
||||
case 6:
|
||||
|
|
@ -292,9 +292,9 @@ static int sub_02050448(UnkStruct_0205037C *param0, FieldSystem *fieldSystem)
|
|||
break;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(v1->unk_2C, param0->unk_06, 3);
|
||||
param0->unk_05 = v1->selectedMonSlot;
|
||||
Heap_FreeToHeap(v1);
|
||||
MI_CpuCopy8(partyMan->unk_2C, param0->unk_06, 3);
|
||||
param0->unk_05 = partyMan->selectedMonSlot;
|
||||
Heap_FreeToHeap(partyMan);
|
||||
*(param0->unk_0C) = NULL;
|
||||
|
||||
return 2;
|
||||
|
|
|
|||
|
|
@ -149,34 +149,34 @@ static void sub_0205A0D8(UnkStruct_0205A0D8 *param0, FieldSystem *fieldSystem, P
|
|||
static void sub_0205A164(UnkStruct_0205A0D8 *param0, int heapID)
|
||||
{
|
||||
int v0;
|
||||
PartyManagementData *v1 = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
|
||||
|
||||
MI_CpuClear8(v1, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v1->unk_0C = SaveData_GetOptions(param0->fieldSystem->saveData);
|
||||
v1->unk_14 = (void *)param0->fieldSystem->unk_B0;
|
||||
v1->unk_00 = SaveData_GetParty(param0->fieldSystem->saveData);
|
||||
v1->unk_04 = SaveData_GetBag(param0->fieldSystem->saveData);
|
||||
v1->unk_21 = 0;
|
||||
v1->unk_20 = 2;
|
||||
partyMan->options = SaveData_GetOptions(param0->fieldSystem->saveData);
|
||||
partyMan->battleRegulation = (void *)param0->fieldSystem->unk_B0;
|
||||
partyMan->party = SaveData_GetParty(param0->fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(param0->fieldSystem->saveData);
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 2;
|
||||
|
||||
if (param0->fieldSystem->unk_B0) {
|
||||
v1->unk_32_0 = sub_02026074(param0->fieldSystem->unk_B0, 1);
|
||||
v1->unk_32_4 = v1->unk_32_0;
|
||||
partyMan->unk_32_0 = sub_02026074(param0->fieldSystem->unk_B0, 1);
|
||||
partyMan->unk_32_4 = partyMan->unk_32_0;
|
||||
} else {
|
||||
v1->unk_32_0 = 3;
|
||||
v1->unk_32_4 = 3;
|
||||
partyMan->unk_32_0 = 3;
|
||||
partyMan->unk_32_4 = 3;
|
||||
}
|
||||
|
||||
v1->unk_33 = 100;
|
||||
v1->selectedMonSlot = param0->unk_3C;
|
||||
partyMan->unk_33 = 100;
|
||||
partyMan->selectedMonSlot = param0->unk_3C;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
v1->unk_2C[v0] = param0->unk_3D[v0];
|
||||
partyMan->unk_2C[v0] = param0->unk_3D[v0];
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, v1);
|
||||
param0->unk_04 = v1;
|
||||
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, partyMan);
|
||||
param0->unk_04 = partyMan;
|
||||
}
|
||||
|
||||
static BOOL sub_0205A258(UnkStruct_0205A0D8 *param0, FieldSystem *fieldSystem)
|
||||
|
|
|
|||
|
|
@ -331,28 +331,28 @@ static void sub_02068630(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
|
|||
{
|
||||
FieldSystem *fieldSystem;
|
||||
StartMenu *menu;
|
||||
PartyManagementData *v2;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
fieldSystem = FieldTask_GetFieldSystem(param0->unk_00);
|
||||
menu = FieldTask_GetEnv(param0->unk_00);
|
||||
v2 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
memset(v2, 0, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v2->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v2->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v2->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v2->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v2->unk_10 = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
v2->unk_18 = &menu->fieldMoveContext;
|
||||
v2->unk_21 = 0;
|
||||
v2->unk_20 = 5;
|
||||
v2->unk_1C = fieldSystem;
|
||||
v2->unk_24 = param0->unk_04;
|
||||
v2->selectedMonSlot = param0->unk_06;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->broadcast = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 5;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
partyMan->usedItemID = param0->unk_04;
|
||||
partyMan->selectedMonSlot = param0->unk_06;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v2);
|
||||
menu->taskData = v2;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
}
|
||||
|
||||
|
|
@ -580,28 +580,28 @@ static void sub_02068A34(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
|
|||
{
|
||||
FieldSystem *fieldSystem;
|
||||
StartMenu *menu;
|
||||
PartyManagementData *v2;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
fieldSystem = FieldTask_GetFieldSystem(param0->unk_00);
|
||||
menu = FieldTask_GetEnv(param0->unk_00);
|
||||
v2 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
memset(v2, 0, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v2->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v2->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v2->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v2->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v2->unk_18 = &menu->fieldMoveContext;
|
||||
v2->unk_21 = 0;
|
||||
v2->unk_20 = 6;
|
||||
v2->unk_1C = fieldSystem;
|
||||
v2->unk_24 = param0->unk_04;
|
||||
v2->selectedMonSlot = param0->unk_06;
|
||||
v2->unk_26 = Item_MoveForTMHM(param0->unk_04);
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 6;
|
||||
partyMan->fieldSystem = fieldSystem;
|
||||
partyMan->usedItemID = param0->unk_04;
|
||||
partyMan->selectedMonSlot = param0->unk_06;
|
||||
partyMan->learnedMove = Item_MoveForTMHM(param0->unk_04);
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v2);
|
||||
menu->taskData = v2;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
}
|
||||
|
||||
|
|
@ -968,27 +968,27 @@ static void sub_02068FEC(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
|
|||
{
|
||||
FieldSystem *fieldSystem;
|
||||
StartMenu *menu;
|
||||
PartyManagementData *v2;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
fieldSystem = FieldTask_GetFieldSystem(param0->unk_00);
|
||||
menu = FieldTask_GetEnv(param0->unk_00);
|
||||
v2 = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(HEAP_ID_FIELDMAP, sizeof(PartyManagementData));
|
||||
|
||||
memset(v2, 0, sizeof(PartyManagementData));
|
||||
memset(partyMan, 0, sizeof(PartyManagementData));
|
||||
|
||||
v2->unk_00 = SaveData_GetParty(fieldSystem->saveData);
|
||||
v2->unk_04 = SaveData_GetBag(fieldSystem->saveData);
|
||||
v2->unk_08 = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
v2->unk_0C = SaveData_GetOptions(fieldSystem->saveData);
|
||||
v2->unk_10 = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
v2->unk_18 = &menu->fieldMoveContext;
|
||||
v2->unk_21 = 0;
|
||||
v2->unk_20 = 16;
|
||||
v2->unk_24 = param0->unk_04;
|
||||
v2->selectedMonSlot = param0->unk_06;
|
||||
partyMan->party = SaveData_GetParty(fieldSystem->saveData);
|
||||
partyMan->bag = SaveData_GetBag(fieldSystem->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(fieldSystem->saveData);
|
||||
partyMan->options = SaveData_GetOptions(fieldSystem->saveData);
|
||||
partyMan->broadcast = SaveData_GetTVBroadcast(fieldSystem->saveData);
|
||||
partyMan->fieldMoveContext = &menu->fieldMoveContext;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 16;
|
||||
partyMan->usedItemID = param0->unk_04;
|
||||
partyMan->selectedMonSlot = param0->unk_06;
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v2);
|
||||
menu->taskData = v2;
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
menu->taskData = partyMan;
|
||||
sub_0203B674(menu, sub_0203B7C0);
|
||||
}
|
||||
|
||||
|
|
@ -1096,7 +1096,7 @@ static void sub_020691E0(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
|
|||
{
|
||||
FieldSystem *fieldSystem;
|
||||
StartMenu *menu;
|
||||
PartyManagementData *v2;
|
||||
PartyManagementData *partyMan; // unused
|
||||
|
||||
fieldSystem = FieldTask_GetFieldSystem(param0->unk_00);
|
||||
menu = FieldTask_GetEnv(param0->unk_00);
|
||||
|
|
|
|||
|
|
@ -70,43 +70,43 @@ static int sub_0206B9D8(UnkStruct_0206B9D8 *param0, FieldSystem *fieldSystem, in
|
|||
{
|
||||
u8 v0;
|
||||
SaveData *saveData;
|
||||
PartyManagementData *v2 = Heap_AllocFromHeapAtEnd(heapID, sizeof(PartyManagementData));
|
||||
PartyManagementData *partyMan = Heap_AllocFromHeapAtEnd(heapID, sizeof(PartyManagementData));
|
||||
|
||||
saveData = fieldSystem->saveData;
|
||||
MI_CpuClear8(v2, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v2->unk_0C = SaveData_GetOptions(saveData);
|
||||
v2->unk_00 = SaveData_GetParty(saveData);
|
||||
v2->unk_04 = SaveData_GetBag(saveData);
|
||||
v2->unk_21 = 0;
|
||||
v2->unk_20 = param0->unk_08;
|
||||
v2->unk_32_0 = param0->unk_0A;
|
||||
v2->unk_32_4 = param0->unk_0B;
|
||||
v2->unk_33 = param0->unk_0C;
|
||||
v2->selectedMonSlot = param0->unk_0D;
|
||||
partyMan->options = SaveData_GetOptions(saveData);
|
||||
partyMan->party = SaveData_GetParty(saveData);
|
||||
partyMan->bag = SaveData_GetBag(saveData);
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = param0->unk_08;
|
||||
partyMan->unk_32_0 = param0->unk_0A;
|
||||
partyMan->unk_32_4 = param0->unk_0B;
|
||||
partyMan->unk_33 = param0->unk_0C;
|
||||
partyMan->selectedMonSlot = param0->unk_0D;
|
||||
|
||||
for (v0 = 0; v0 < 6; v0++) {
|
||||
v2->unk_2C[v0] = param0->unk_0E[v0];
|
||||
partyMan->unk_2C[v0] = param0->unk_0E[v0];
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v2);
|
||||
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
|
||||
|
||||
*(param0->unk_14) = v2;
|
||||
*(param0->unk_14) = partyMan;
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int sub_0206BA84(UnkStruct_0206B9D8 *param0, FieldSystem *fieldSystem)
|
||||
{
|
||||
int v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
if (FieldSystem_IsRunningApplication(fieldSystem)) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
v1 = *(param0->unk_14);
|
||||
partyMan = *(param0->unk_14);
|
||||
|
||||
switch (v1->selectedMonSlot) {
|
||||
switch (partyMan->selectedMonSlot) {
|
||||
case 7:
|
||||
param0->unk_00 = 0;
|
||||
return 4;
|
||||
|
|
@ -117,9 +117,9 @@ static int sub_0206BA84(UnkStruct_0206B9D8 *param0, FieldSystem *fieldSystem)
|
|||
break;
|
||||
}
|
||||
|
||||
MI_CpuCopy8(v1->unk_2C, param0->unk_0E, 6);
|
||||
param0->unk_0D = v1->selectedMonSlot;
|
||||
Heap_FreeToHeap(v1);
|
||||
MI_CpuCopy8(partyMan->unk_2C, param0->unk_0E, 6);
|
||||
param0->unk_0D = partyMan->selectedMonSlot;
|
||||
Heap_FreeToHeap(partyMan);
|
||||
*(param0->unk_14) = NULL;
|
||||
|
||||
return 2;
|
||||
|
|
|
|||
|
|
@ -501,7 +501,7 @@ static void sub_020726B4(SysTask *param0, void *param1)
|
|||
static void sub_02072754(SysTask *param0, void *param1)
|
||||
{
|
||||
u8 v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
UnkStruct_02072334 *v2 = (UnkStruct_02072334 *)param1;
|
||||
|
||||
switch (v2->unk_10) {
|
||||
|
|
@ -581,7 +581,7 @@ static void sub_02072878(SysTask *param0, void *param1)
|
|||
{
|
||||
int v0;
|
||||
u8 v1, v2;
|
||||
PartyManagementData *v3;
|
||||
PartyManagementData *partyMan;
|
||||
UnkStruct_02072334 *v4 = (UnkStruct_02072334 *)param1;
|
||||
|
||||
switch (v4->unk_10) {
|
||||
|
|
@ -605,7 +605,7 @@ static void sub_02072878(SysTask *param0, void *param1)
|
|||
}
|
||||
|
||||
v1 = v4->unk_1B4->selectedMonSlot;
|
||||
v2 = v4->unk_1B4->unk_23;
|
||||
v2 = v4->unk_1B4->menuSelectionResult;
|
||||
|
||||
Heap_FreeToHeap(v4->unk_1B4);
|
||||
|
||||
|
|
@ -1195,27 +1195,27 @@ static int sub_020734F4(UnkStruct_02072334 *param0, u8 param1)
|
|||
|
||||
static int sub_02073524(UnkStruct_02072334 *param0, int param1)
|
||||
{
|
||||
PartyManagementData *v0;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
switch (param0->unk_12) {
|
||||
case 0:
|
||||
v0 = Heap_AllocFromHeap(param0->heapID, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(v0, sizeof(PartyManagementData));
|
||||
partyMan = Heap_AllocFromHeap(param0->heapID, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(partyMan, sizeof(PartyManagementData));
|
||||
|
||||
v0->unk_00 = SaveData_GetParty(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
v0->unk_04 = SaveData_GetBag(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
v0->unk_0C = SaveData_GetOptions(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
v0->unk_08 = SaveData_GetMailBox(param0->fieldSystem->saveData);
|
||||
v0->unk_21 = 0;
|
||||
v0->unk_20 = param1;
|
||||
v0->unk_24 = param0->unk_1C[param0->unk_18].item;
|
||||
partyMan->party = SaveData_GetParty(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
partyMan->bag = SaveData_GetBag(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
partyMan->options = SaveData_GetOptions(FieldSystem_GetSaveData(param0->fieldSystem));
|
||||
partyMan->mailBox = SaveData_GetMailBox(param0->fieldSystem->saveData);
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = param1;
|
||||
partyMan->usedItemID = param0->unk_1C[param0->unk_18].item;
|
||||
|
||||
if (param1 == 11) {
|
||||
v0->selectedMonSlot = param0->unk_17;
|
||||
partyMan->selectedMonSlot = param0->unk_17;
|
||||
}
|
||||
|
||||
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, v0);
|
||||
param0->unk_1B4 = v0;
|
||||
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, partyMan);
|
||||
param0->unk_1B4 = partyMan;
|
||||
param0->unk_12++;
|
||||
break;
|
||||
case 1:
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -117,7 +117,7 @@ void sub_02081A24(GameWindowLayout *param0)
|
|||
sub_020819DC(param0->unk_00, ¶m0->unk_04[10], &v0[10]);
|
||||
sub_020819DC(param0->unk_00, ¶m0->unk_04[20], &v0[20]);
|
||||
|
||||
if (param0->unk_5A4->unk_21 == 2) {
|
||||
if (param0->partyManagementData->unk_21 == 2) {
|
||||
sub_020819DC(param0->unk_00, ¶m0->unk_04[5], &v0[30]);
|
||||
sub_020819DC(param0->unk_00, ¶m0->unk_04[15], &v0[35]);
|
||||
sub_020819DC(param0->unk_00, ¶m0->unk_04[25], &v0[40]);
|
||||
|
|
@ -127,7 +127,7 @@ void sub_02081A24(GameWindowLayout *param0)
|
|||
sub_020819DC(param0->unk_00, ¶m0->unk_04[25], &v0[25]);
|
||||
}
|
||||
|
||||
if ((param0->unk_5A4->unk_20 == 2) || (param0->unk_5A4->unk_20 == 17) || (param0->unk_5A4->unk_20 == 23) || (param0->unk_5A4->unk_20 == 22)) {
|
||||
if ((param0->partyManagementData->unk_20 == 2) || (param0->partyManagementData->unk_20 == 17) || (param0->partyManagementData->unk_20 == 23) || (param0->partyManagementData->unk_20 == 22)) {
|
||||
WindowTemplate v2;
|
||||
|
||||
v2 = Unk_020F1ED0[0];
|
||||
|
|
@ -162,30 +162,30 @@ void sub_02081B90(GameWindowLayout *param0)
|
|||
|
||||
void sub_02081BC0(GameWindowLayout *param0)
|
||||
{
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 145, param0->unk_6AC[0]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 146, param0->unk_6AC[1]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 147, param0->unk_6AC[2]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 160, param0->unk_6AC[3]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 161, param0->unk_6AC[4]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 148, param0->unk_6AC[5]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 149, param0->unk_6AC[6]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 150, param0->unk_6AC[7]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 151, param0->unk_6AC[8]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 152, param0->unk_6AC[9]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 153, param0->unk_6AC[10]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 154, param0->unk_6AC[11]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 155, param0->unk_6AC[12]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 154, param0->unk_6AC[13]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 166, param0->unk_6AC[14]);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 200, param0->unk_6AC[15]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 145, param0->unk_6AC[0]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 146, param0->unk_6AC[1]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 147, param0->unk_6AC[2]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 160, param0->unk_6AC[3]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 161, param0->unk_6AC[4]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 148, param0->unk_6AC[5]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 149, param0->unk_6AC[6]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 150, param0->unk_6AC[7]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 151, param0->unk_6AC[8]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 152, param0->unk_6AC[9]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 153, param0->unk_6AC[10]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 154, param0->unk_6AC[11]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 155, param0->unk_6AC[12]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 154, param0->unk_6AC[13]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 166, param0->unk_6AC[14]);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 200, param0->unk_6AC[15]);
|
||||
}
|
||||
|
||||
void sub_02081CAC(GameWindowLayout *param0, u16 param1, u8 param2)
|
||||
{
|
||||
Strbuf *v0 = MessageLoader_GetNewStrbuf(param0->unk_69C, 156 + param2);
|
||||
Strbuf *v0 = MessageLoader_GetNewStrbuf(param0->messageLoader, 156 + param2);
|
||||
|
||||
StringTemplate_SetMoveName(param0->unk_6A0, 0, param1);
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6AC[16 + param2], v0);
|
||||
StringTemplate_SetMoveName(param0->template, 0, param1);
|
||||
StringTemplate_Format(param0->template, param0->unk_6AC[16 + param2], v0);
|
||||
|
||||
Strbuf_Free(v0);
|
||||
}
|
||||
|
|
@ -232,16 +232,16 @@ void sub_02081E08(GameWindowLayout *param0)
|
|||
Pokemon *v0;
|
||||
Strbuf *v1;
|
||||
|
||||
if (param0->unk_5A4->unk_20 == 15) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 42, param0->unk_6A4);
|
||||
} else if ((param0->unk_5A4->unk_20 == 21) && (param0->unk_704[param0->unk_B11].unk_10 == 1)) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 198, param0->unk_6A4);
|
||||
if (param0->partyManagementData->unk_20 == 15) {
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 42, param0->unk_6A4);
|
||||
} else if ((param0->partyManagementData->unk_20 == 21) && (param0->unk_704[param0->partySlot].unk_10 == 1)) {
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 198, param0->unk_6A4);
|
||||
} else {
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 37);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 37);
|
||||
|
||||
StringTemplate_SetNickname(param0->unk_6A0, 0, Pokemon_GetBoxPokemon(v0));
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, v1);
|
||||
StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(v0));
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, v1);
|
||||
Strbuf_Free(v1);
|
||||
}
|
||||
}
|
||||
|
|
@ -262,10 +262,10 @@ static void sub_02081EAC(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
void sub_02081ED8(GameWindowLayout *param0, Pokemon *param1, u32 param2)
|
||||
{
|
||||
Strbuf *v0 = MessageLoader_GetNewStrbuf(param0->unk_69C, Unk_020F1EA0[param2][0]);
|
||||
Strbuf *v0 = MessageLoader_GetNewStrbuf(param0->messageLoader, Unk_020F1EA0[param2][0]);
|
||||
|
||||
StringTemplate_SetNickname(param0->unk_6A0, 0, Pokemon_GetBoxPokemon(param1));
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_704[param2].unk_00, v0);
|
||||
StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(param1));
|
||||
StringTemplate_Format(param0->template, param0->unk_704[param2].unk_00, v0);
|
||||
Strbuf_Free(v0);
|
||||
}
|
||||
|
||||
|
|
@ -285,11 +285,11 @@ void sub_02081F2C(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
if (param0->unk_704[param1].unk_0E_12 == 0) {
|
||||
if (param0->unk_704[param1].unk_0E_13 == 0) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 27, param0->unk_6A8);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 27, param0->unk_6A8);
|
||||
Text_AddPrinterWithParamsAndColor(
|
||||
v0, FONT_SYSTEM, param0->unk_6A8, (9 * 8 - 8), 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(3, 4, 0), NULL);
|
||||
} else if (param0->unk_704[param1].unk_0E_13 == 1) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 28, param0->unk_6A8);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 28, param0->unk_6A8);
|
||||
Text_AddPrinterWithParamsAndColor(
|
||||
v0, FONT_SYSTEM, param0->unk_6A8, (9 * 8 - 8), 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(5, 6, 0), NULL);
|
||||
}
|
||||
|
|
@ -310,7 +310,7 @@ void sub_02081FFC(GameWindowLayout *param0, u8 param1)
|
|||
return;
|
||||
}
|
||||
|
||||
sub_0200C648(param0->unk_698, 1, param0->unk_704[param1].unk_0A, 3, 0, v0, 5, 2);
|
||||
sub_0200C648(param0->unk_698, 1, param0->unk_704[param1].level, 3, 0, v0, 5, 2);
|
||||
Window_ScheduleCopyToVRAM(v0);
|
||||
}
|
||||
|
||||
|
|
@ -322,7 +322,7 @@ void sub_02082058(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
v0 = ¶m0->unk_04[2 + param1 * 5];
|
||||
|
||||
sub_0200C5BC(param0->unk_698, param0->unk_704[param1].unk_06, 3, 1, v0, (28 - 24), 2);
|
||||
sub_0200C5BC(param0->unk_698, param0->unk_704[param1].curHP, 3, 1, v0, (28 - 24), 2);
|
||||
Window_ScheduleCopyToVRAM(v0);
|
||||
}
|
||||
|
||||
|
|
@ -345,7 +345,7 @@ static void sub_020820C4(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
v0 = ¶m0->unk_04[2 + param1 * 5];
|
||||
|
||||
sub_0200C5BC(param0->unk_698, param0->unk_704[param1].unk_08, 3, 0, v0, (28 + 8), 2);
|
||||
sub_0200C5BC(param0->unk_698, param0->unk_704[param1].maxHP, 3, 0, v0, (28 + 8), 2);
|
||||
Window_ScheduleCopyToVRAM(v0);
|
||||
}
|
||||
|
||||
|
|
@ -356,7 +356,7 @@ void sub_02082104(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
v0 = ¶m0->unk_04[3 + param1 * 5];
|
||||
|
||||
switch (HealthBar_Color(param0->unk_704[param1].unk_06, param0->unk_704[param1].unk_08, 48)) {
|
||||
switch (HealthBar_Color(param0->unk_704[param1].curHP, param0->unk_704[param1].maxHP, 48)) {
|
||||
case 0:
|
||||
Window_ScheduleCopyToVRAM(v0);
|
||||
return;
|
||||
|
|
@ -372,7 +372,7 @@ void sub_02082104(GameWindowLayout *param0, u8 param1)
|
|||
break;
|
||||
}
|
||||
|
||||
v1 = App_PixelCount(param0->unk_704[param1].unk_06, param0->unk_704[param1].unk_08, 48);
|
||||
v1 = App_PixelCount(param0->unk_704[param1].curHP, param0->unk_704[param1].maxHP, 48);
|
||||
|
||||
Window_FillRectWithColor(v0, 10, 0, 2, v1, 1);
|
||||
Window_FillRectWithColor(v0, 9, 0, 3, v1, 2);
|
||||
|
|
@ -434,9 +434,9 @@ void sub_0208232C(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
sub_02081FFC(param0, param1);
|
||||
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param1);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param1);
|
||||
|
||||
if (Pokemon_GetEvolutionTargetSpecies(NULL, v0, EVO_CLASS_BY_ITEM, param0->unk_5A4->unk_24, NULL) == 0) {
|
||||
if (Pokemon_GetEvolutionTargetSpecies(NULL, v0, EVO_CLASS_BY_ITEM, param0->partyManagementData->usedItemID, NULL) == 0) {
|
||||
sub_02082810(param0, param1, 1);
|
||||
} else {
|
||||
sub_02082810(param0, param1, 0);
|
||||
|
|
@ -459,7 +459,7 @@ void sub_020823C4(GameWindowLayout *param0, u8 param1)
|
|||
|
||||
sub_02081FFC(param0, param1);
|
||||
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param1);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param1);
|
||||
v1 = sub_02086104(param0, v0);
|
||||
|
||||
if (v1 == 0xff) {
|
||||
|
|
@ -505,19 +505,19 @@ void sub_02082508(GameWindowLayout *param0, u8 param1)
|
|||
{
|
||||
u8 v0;
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_5A4->unk_32_4; v0++) {
|
||||
if (param0->unk_5A4->unk_2C[v0] == param1 + 1) {
|
||||
for (v0 = 0; v0 < param0->partyManagementData->unk_32_4; v0++) {
|
||||
if (param0->partyManagementData->unk_2C[v0] == param1 + 1) {
|
||||
sub_02082964(param0, param1, v0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (param0->unk_5A4->unk_20 == 22) {
|
||||
if (param0->partyManagementData->unk_20 == 22) {
|
||||
if (sub_02080404(param0, param1) == 0) {
|
||||
sub_02082964(param0, param1, 8);
|
||||
return;
|
||||
}
|
||||
} else if (param0->unk_5A4->unk_20 == 23) {
|
||||
} else if (param0->partyManagementData->unk_20 == 23) {
|
||||
if (sub_02080488(param0, param1) == 0) {
|
||||
sub_02082964(param0, param1, 8);
|
||||
return;
|
||||
|
|
@ -547,14 +547,14 @@ void sub_020825B4(GameWindowLayout *param0, u8 param1)
|
|||
Window_FillTilemap(¶m0->unk_04[31], 0);
|
||||
|
||||
if (param1 & 1) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 0, param0->unk_6A8);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 0, param0->unk_6A8);
|
||||
v0 = sub_020825A4(0, param0->unk_6A8, param0->unk_04[30].width * 8);
|
||||
Text_AddPrinterWithParamsAndColor(¶m0->unk_04[30], FONT_SYSTEM, param0->unk_6A8, v0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL);
|
||||
Window_ScheduleCopyToVRAM(¶m0->unk_04[30]);
|
||||
}
|
||||
|
||||
if (param1 & 2) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 1, param0->unk_6A8);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 1, param0->unk_6A8);
|
||||
v0 = sub_020825A4(0, param0->unk_6A8, param0->unk_04[31].width * 8);
|
||||
Text_AddPrinterWithParamsAndColor(¶m0->unk_04[31], FONT_SYSTEM, param0->unk_6A8, v0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL);
|
||||
Window_ScheduleCopyToVRAM(¶m0->unk_04[31]);
|
||||
|
|
@ -570,7 +570,7 @@ static void sub_02082680(GameWindowLayout *param0, Window *param1, u32 param2, u
|
|||
Window_FillTilemap(param1, 15);
|
||||
|
||||
if (param2 != 0xffffffff) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, param2, param0->unk_6A4);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, param2, param0->unk_6A4);
|
||||
}
|
||||
|
||||
Text_AddPrinterWithParams(param1, FONT_MESSAGE, param0->unk_6A4, 0, 0, TEXT_SPEED_NO_TRANSFER, NULL);
|
||||
|
|
@ -598,7 +598,7 @@ void sub_02082708(GameWindowLayout *param0, u32 param1, u8 param2)
|
|||
Window_FillTilemap(v0, 15);
|
||||
|
||||
if (param1 != 0xffffffff) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, param1, param0->unk_6A4);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, param1, param0->unk_6A4);
|
||||
}
|
||||
|
||||
sub_0208274C(param0);
|
||||
|
|
@ -608,8 +608,8 @@ void sub_0208274C(GameWindowLayout *param0)
|
|||
{
|
||||
RenderControlFlags_SetCanABSpeedUpPrint(1);
|
||||
RenderControlFlags_SetAutoScrollFlags(0);
|
||||
param0->unk_B10 = Text_AddPrinterWithParams(
|
||||
¶m0->unk_04[34], FONT_MESSAGE, param0->unk_6A4, 0, 0, Options_TextFrameDelay(param0->unk_5A4->unk_0C), sub_0208279C);
|
||||
param0->textPrinterID = Text_AddPrinterWithParams(
|
||||
¶m0->unk_04[34], FONT_MESSAGE, param0->unk_6A4, 0, 0, Options_TextFrameDelay(param0->partyManagementData->options), sub_0208279C);
|
||||
}
|
||||
|
||||
static BOOL sub_0208279C(TextPrinterTemplate *param0, u16 param1)
|
||||
|
|
@ -649,10 +649,10 @@ static void sub_02082810(GameWindowLayout *param0, u8 param1, u8 param2)
|
|||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 178);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 178);
|
||||
break;
|
||||
case 1:
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 179);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 179);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -672,13 +672,13 @@ static void sub_02082880(GameWindowLayout *param0, u8 param1, u8 param2)
|
|||
|
||||
switch (param2) {
|
||||
case 0:
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 175);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 175);
|
||||
break;
|
||||
case 1:
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 176);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 176);
|
||||
break;
|
||||
case 2:
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 177);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 177);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -697,9 +697,9 @@ static void sub_02082900(GameWindowLayout *param0, u8 param1, u8 param2)
|
|||
Window_FillTilemap(v0, 0);
|
||||
|
||||
if (param2 == 0) {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 181);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 181);
|
||||
} else {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 180);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 180);
|
||||
}
|
||||
|
||||
Text_AddPrinterWithParamsAndColor(v0, FONT_SYSTEM, v1, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL);
|
||||
|
|
@ -717,11 +717,11 @@ static void sub_02082964(GameWindowLayout *param0, u8 param1, u8 param2)
|
|||
Window_FillTilemap(v0, 0);
|
||||
|
||||
if (param2 < 6) {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 169 + param2);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 169 + param2);
|
||||
} else if (param2 == 7) {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 167);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 167);
|
||||
} else {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 168);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 168);
|
||||
}
|
||||
|
||||
Text_AddPrinterWithParamsAndColor(v0, FONT_SYSTEM, v1, 0, 0, TEXT_SPEED_NO_TRANSFER, TEXT_COLOR(15, 14, 0), NULL);
|
||||
|
|
@ -736,7 +736,7 @@ void sub_020829DC(GameWindowLayout *param0)
|
|||
u32 v2;
|
||||
u16 v3[6];
|
||||
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
|
||||
v3[0] = (u16)Pokemon_GetValue(v0, MON_DATA_MAX_HP, NULL);
|
||||
v3[1] = (u16)Pokemon_GetValue(v0, MON_DATA_ATK, NULL);
|
||||
|
|
@ -750,14 +750,14 @@ void sub_020829DC(GameWindowLayout *param0)
|
|||
Window_FillTilemap(¶m0->unk_254[0], 15);
|
||||
|
||||
for (v2 = 0; v2 < 6; v2++) {
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 185 + v2);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 185 + v2);
|
||||
Text_AddPrinterWithParams(¶m0->unk_254[0], FONT_SYSTEM, v1, 0, 16 * v2, TEXT_SPEED_NO_TRANSFER, NULL);
|
||||
Strbuf_Free(v1);
|
||||
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->unk_69C, 191);
|
||||
v1 = MessageLoader_GetNewStrbuf(param0->messageLoader, 191);
|
||||
|
||||
StringTemplate_SetNumber(param0->unk_6A0, 0, v3[v2] - param0->unk_B14[v2], 2, 0, 1);
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, v1);
|
||||
StringTemplate_SetNumber(param0->template, 0, v3[v2] - param0->monStats[v2], 2, 0, 1);
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, v1);
|
||||
Strbuf_Free(v1);
|
||||
|
||||
{
|
||||
|
|
@ -765,7 +765,7 @@ void sub_020829DC(GameWindowLayout *param0)
|
|||
Text_AddPrinterWithParams(¶m0->unk_254[0], FONT_SYSTEM, param0->unk_6A4, v4, 16 * v2, TEXT_SPEED_NO_TRANSFER, NULL);
|
||||
}
|
||||
|
||||
param0->unk_B14[v2] = v3[v2];
|
||||
param0->monStats[v2] = v3[v2];
|
||||
}
|
||||
|
||||
Window_ScheduleCopyToVRAM(¶m0->unk_254[0]);
|
||||
|
|
@ -778,11 +778,11 @@ void sub_02082B58(GameWindowLayout *param0)
|
|||
u32 v2;
|
||||
|
||||
Window_FillRectWithColor(¶m0->unk_254[0], 15, 80, 0, 32, 14 * 8);
|
||||
v0 = MessageLoader_GetNewStrbuf(param0->unk_69C, 192);
|
||||
v0 = MessageLoader_GetNewStrbuf(param0->messageLoader, 192);
|
||||
|
||||
for (v2 = 0; v2 < 6; v2++) {
|
||||
StringTemplate_SetNumber(param0->unk_6A0, 0, param0->unk_B14[v2], 3, 0, 1);
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, v0);
|
||||
StringTemplate_SetNumber(param0->template, 0, param0->monStats[v2], 3, 0, 1);
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, v0);
|
||||
|
||||
v1 = Font_CalcStrbufWidth(FONT_SYSTEM, param0->unk_6A4, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ void sub_02082CEC(GameWindowLayout *param0, u8 param1, u16 param2, u16 param3, N
|
|||
SpriteTemplateFromResourceHeader v1;
|
||||
u32 v2;
|
||||
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param1);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param1);
|
||||
|
||||
param0->unk_704[param1].unk_16 = param2;
|
||||
param0->unk_704[param1].unk_18 = param3;
|
||||
|
|
@ -111,7 +111,7 @@ void sub_02082DA8(GameWindowLayout *param0, u8 param1)
|
|||
NNSG2dCharacterData *v6;
|
||||
BOOL v7;
|
||||
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param1);
|
||||
v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param1);
|
||||
v2 = Pokemon_GetValue(v0, MON_DATA_SPECIES, NULL);
|
||||
v3 = Pokemon_GetValue(v0, MON_DATA_FORM, NULL);
|
||||
v1 = NARC_ctor(NARC_INDEX_POKETOOL__ICONGRA__PL_POKE_ICON, HEAP_ID_12);
|
||||
|
|
@ -282,7 +282,7 @@ static void sub_02083138(Sprite *param0, u8 param1)
|
|||
|
||||
static u8 sub_02083158(StrBufWrapper *param0)
|
||||
{
|
||||
if (param0->unk_06 == 0) {
|
||||
if (param0->curHP == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -290,7 +290,7 @@ static u8 sub_02083158(StrBufWrapper *param0)
|
|||
return 5;
|
||||
}
|
||||
|
||||
switch (HealthBar_Color(param0->unk_06, param0->unk_08, 48)) {
|
||||
switch (HealthBar_Color(param0->curHP, param0->maxHP, 48)) {
|
||||
case 4:
|
||||
return 1;
|
||||
case 3:
|
||||
|
|
@ -326,7 +326,7 @@ void sub_020831B4(GameWindowLayout *param0)
|
|||
sub_02083138(v0->unk_24, v2);
|
||||
Sprite_UpdateAnim(v0->unk_24, FX32_ONE);
|
||||
|
||||
if ((param0->unk_B11 == v1) && (v2 != 0) && (v2 != 5)) {
|
||||
if ((param0->partySlot == v1) && (v2 != 0) && (v2 != 5)) {
|
||||
if (Sprite_GetAnimFrame(v0->unk_24) == 0) {
|
||||
Sprite_SetPositionXY(v0->unk_24, v0->unk_16, v0->unk_18 - 3);
|
||||
} else {
|
||||
|
|
@ -345,7 +345,7 @@ void sub_0208327C(GameWindowLayout *param0, u8 param1, u8 param2)
|
|||
u8 v0, v1;
|
||||
|
||||
GridMenuCursor_GetFirstCoords(¶m0->unk_7F4[param1], &v0, &v1);
|
||||
Sprite_SetAnim(param0->unk_5B0[6], sub_020805D0(param0->unk_5A4->unk_21, param1));
|
||||
Sprite_SetAnim(param0->unk_5B0[6], sub_020805D0(param0->partyManagementData->unk_21, param1));
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[6], 1);
|
||||
Sprite_SetPositionXY(param0->unk_5B0[6], v0, v1);
|
||||
Sprite_SetExplicitPalette2(param0->unk_5B0[6], param2);
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ static void sub_0208347C(GameWindowLayout *param0, int *param1)
|
|||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
||||
param0->unk_5A4->unk_23 = 3;
|
||||
param0->partyManagementData->menuSelectionResult = 3;
|
||||
*param1 = 32;
|
||||
}
|
||||
|
||||
|
|
@ -171,17 +171,17 @@ static void sub_020834B0(GameWindowLayout *param0, int *param1)
|
|||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
||||
fieldSystem = param0->unk_5A4->unk_1C;
|
||||
fieldSystem = param0->partyManagementData->fieldSystem;
|
||||
|
||||
if (param0->unk_704[param0->unk_B11].unk_0C == 0) {
|
||||
mon = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 81, param0->unk_6A8);
|
||||
StringTemplate_SetNickname(param0->unk_6A0, 0, Pokemon_GetBoxPokemon(mon));
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, param0->unk_6A8);
|
||||
} else if (Bag_TryAddItem(param0->unk_5A4->unk_04, param0->unk_704[param0->unk_B11].unk_0C, 1, HEAP_ID_12) == TRUE) {
|
||||
if (param0->unk_704[param0->partySlot].unk_0C == 0) {
|
||||
mon = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 81, param0->unk_6A8);
|
||||
StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon));
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, param0->unk_6A8);
|
||||
} else if (Bag_TryAddItem(param0->partyManagementData->bag, param0->unk_704[param0->partySlot].unk_0C, 1, HEAP_ID_12) == TRUE) {
|
||||
u32 v4;
|
||||
|
||||
mon = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
mon = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
v4 = 0;
|
||||
|
||||
Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &v4);
|
||||
|
|
@ -190,21 +190,21 @@ static void sub_020834B0(GameWindowLayout *param0, int *param1)
|
|||
if ((fieldSystem == NULL) || (fieldSystem->location->mapId < 573) || (fieldSystem->location->mapId > 583)) {
|
||||
v1 = Pokemon_SetGiratinaFormByHeldItem(mon);
|
||||
|
||||
if ((param0->unk_704[param0->unk_B11].unk_0C == ITEM_GRISEOUS_ORB) && (v1 == 0)) {
|
||||
if ((param0->unk_704[param0->partySlot].unk_0C == ITEM_GRISEOUS_ORB) && (v1 == 0)) {
|
||||
v2 = 18;
|
||||
}
|
||||
}
|
||||
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 82, param0->unk_6A8);
|
||||
StringTemplate_SetNickname(param0->unk_6A0, 0, Pokemon_GetBoxPokemon(mon));
|
||||
StringTemplate_SetItemName(param0->unk_6A0, 1, param0->unk_704[param0->unk_B11].unk_0C);
|
||||
StringTemplate_Format(param0->unk_6A0, param0->unk_6A4, param0->unk_6A8);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 82, param0->unk_6A8);
|
||||
StringTemplate_SetNickname(param0->template, 0, Pokemon_GetBoxPokemon(mon));
|
||||
StringTemplate_SetItemName(param0->template, 1, param0->unk_704[param0->partySlot].unk_0C);
|
||||
StringTemplate_Format(param0->template, param0->unk_6A4, param0->unk_6A8);
|
||||
|
||||
param0->unk_704[param0->unk_B11].unk_0C = 0;
|
||||
param0->unk_704[param0->partySlot].unk_0C = 0;
|
||||
|
||||
sub_02083040(param0, param0->unk_B11, param0->unk_704[param0->unk_B11].unk_0C);
|
||||
sub_02083040(param0, param0->partySlot, param0->unk_704[param0->partySlot].unk_0C);
|
||||
} else {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 83, param0->unk_6A4);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 83, param0->unk_6A4);
|
||||
}
|
||||
|
||||
Window_DrawMessageBoxWithScrollCursor(¶m0->unk_04[34], 1, (1 + 9), 15);
|
||||
|
|
@ -216,7 +216,7 @@ static void sub_020834B0(GameWindowLayout *param0, int *param1)
|
|||
|
||||
int sub_02083658(GameWindowLayout *param0)
|
||||
{
|
||||
if (Text_IsPrinterActive(param0->unk_B10) == 0) {
|
||||
if (Text_IsPrinterActive(param0->textPrinterID) == 0) {
|
||||
if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
|
||||
Window_EraseMessageBox(¶m0->unk_04[34], 1);
|
||||
sub_020826E0(param0, 29, 1);
|
||||
|
|
@ -230,7 +230,7 @@ int sub_02083658(GameWindowLayout *param0)
|
|||
|
||||
int sub_020836A8(GameWindowLayout *param0)
|
||||
{
|
||||
if (Text_IsPrinterActive(param0->unk_B10) == 0) {
|
||||
if (Text_IsPrinterActive(param0->textPrinterID) == 0) {
|
||||
if (gSystem.pressedKeys & (PAD_BUTTON_A | PAD_BUTTON_B)) {
|
||||
Window_EraseMessageBox(¶m0->unk_04[34], 1);
|
||||
LoadOverlay118(param0);
|
||||
|
|
@ -284,7 +284,7 @@ static void sub_020837C0(GameWindowLayout *param0, int *param1)
|
|||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
||||
param0->unk_5A4->unk_23 = 7;
|
||||
param0->partyManagementData->menuSelectionResult = 7;
|
||||
*param1 = 32;
|
||||
}
|
||||
|
||||
|
|
@ -307,11 +307,11 @@ static int sub_0208384C(void *param0)
|
|||
Pokemon *v1;
|
||||
|
||||
v0 = param0;
|
||||
v1 = Party_GetPokemonBySlotIndex(v0->unk_5A4->unk_00, v0->unk_B11);
|
||||
v1 = Party_GetPokemonBySlotIndex(v0->partyManagementData->party, v0->partySlot);
|
||||
|
||||
if (sub_02097788(v0->unk_5A4->unk_08, v1, HEAP_ID_12) != 0xFFFFFFFF) {
|
||||
v0->unk_704[v0->unk_B11].unk_0C = 0;
|
||||
sub_02083040(v0, v0->unk_B11, v0->unk_704[v0->unk_B11].unk_0C);
|
||||
if (sub_02097788(v0->partyManagementData->mailBox, v1, HEAP_ID_12) != 0xFFFFFFFF) {
|
||||
v0->unk_704[v0->partySlot].unk_0C = 0;
|
||||
sub_02083040(v0, v0->partySlot, v0->unk_704[v0->partySlot].unk_0C);
|
||||
sub_02082708(v0, 46, 0);
|
||||
} else {
|
||||
sub_02082708(v0, 50, 0);
|
||||
|
|
@ -339,20 +339,20 @@ static int sub_020838F4(void *param0)
|
|||
{
|
||||
GameWindowLayout *v0 = param0;
|
||||
|
||||
if (Bag_TryAddItem(v0->unk_5A4->unk_04, v0->unk_704[v0->unk_B11].unk_0C, 1, HEAP_ID_12) == TRUE) {
|
||||
if (Bag_TryAddItem(v0->partyManagementData->bag, v0->unk_704[v0->partySlot].unk_0C, 1, HEAP_ID_12) == TRUE) {
|
||||
Pokemon *mon;
|
||||
u32 item;
|
||||
|
||||
mon = Party_GetPokemonBySlotIndex(v0->unk_5A4->unk_00, v0->unk_B11);
|
||||
mon = Party_GetPokemonBySlotIndex(v0->partyManagementData->party, v0->partySlot);
|
||||
item = 0;
|
||||
|
||||
Pokemon_SetValue(mon, MON_DATA_HELD_ITEM, &item);
|
||||
Pokemon_SetArceusForm(mon);
|
||||
Pokemon_SetGiratinaFormByHeldItem(mon);
|
||||
|
||||
v0->unk_704[v0->unk_B11].unk_0C = 0;
|
||||
v0->unk_704[v0->partySlot].unk_0C = 0;
|
||||
|
||||
sub_02083040(v0, v0->unk_B11, v0->unk_704[v0->unk_B11].unk_0C);
|
||||
sub_02083040(v0, v0->partySlot, v0->unk_704[v0->partySlot].unk_0C);
|
||||
sub_02082708(v0, 51, 0);
|
||||
} else {
|
||||
sub_02082708(v0, 83, 0);
|
||||
|
|
@ -388,10 +388,10 @@ int sub_020839BC(GameWindowLayout *param0)
|
|||
|
||||
static void sub_020839FC(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
if (param0->unk_704[param0->unk_B11].unk_12 == 0) {
|
||||
if (param0->unk_704[param0->partySlot].unk_12 == 0) {
|
||||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
param0->unk_5A4->unk_23 = 0;
|
||||
param0->partyManagementData->menuSelectionResult = 0;
|
||||
*param1 = 32;
|
||||
return;
|
||||
}
|
||||
|
|
@ -411,11 +411,11 @@ int sub_02083A78(void *param0)
|
|||
Pokemon *v1;
|
||||
|
||||
v0 = param0;
|
||||
v1 = Party_GetPokemonBySlotIndex(v0->unk_5A4->unk_00, v0->unk_B11);
|
||||
v1 = Party_GetPokemonBySlotIndex(v0->partyManagementData->party, v0->partySlot);
|
||||
|
||||
sub_0207893C(v1);
|
||||
|
||||
v0->unk_5A4->unk_23 = 0;
|
||||
v0->partyManagementData->menuSelectionResult = 0;
|
||||
return 32;
|
||||
}
|
||||
|
||||
|
|
@ -435,12 +435,12 @@ static void sub_02083AD0(GameWindowLayout *param0, int *param1)
|
|||
s16 v0, v1;
|
||||
|
||||
param0->unk_B0F_6 = 1;
|
||||
param0->unk_B0F_0 = param0->unk_B11;
|
||||
param0->unk_B0F_0 = param0->partySlot;
|
||||
|
||||
Sprite_SetExplicitPalette2(param0->unk_5B0[6], 0);
|
||||
Sprite_GetPositionXY(param0->unk_5B0[6], &v0, &v1);
|
||||
Sprite_SetPositionXY(param0->unk_5B0[7], v0, v1);
|
||||
Sprite_SetAnim(param0->unk_5B0[7], sub_020805D0(param0->unk_5A4->unk_21, param0->unk_B0F_0) + 2);
|
||||
Sprite_SetAnim(param0->unk_5B0[7], sub_020805D0(param0->partyManagementData->unk_21, param0->unk_B0F_0) + 2);
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[7], 1);
|
||||
sub_0207F8F8(param0, param0->unk_B0F_0);
|
||||
Window_EraseMessageBox(¶m0->unk_04[33], 1);
|
||||
|
|
@ -455,8 +455,8 @@ void sub_02083B88(GameWindowLayout *param0)
|
|||
param0->unk_B0F_6 = 0;
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[7], 0);
|
||||
|
||||
if (param0->unk_B11 < 6) {
|
||||
sub_0207F8F8(param0, param0->unk_B11);
|
||||
if (param0->partySlot < 6) {
|
||||
sub_0207F8F8(param0, param0->partySlot);
|
||||
}
|
||||
|
||||
sub_0207F8F8(param0, param0->unk_B0F_0);
|
||||
|
|
@ -470,7 +470,7 @@ void sub_02083BD4(GameWindowLayout *param0)
|
|||
s8 v2, v3, v4, v5;
|
||||
u16 v6;
|
||||
|
||||
param0->unk_7F8.unk_300[0] = param0->unk_B11;
|
||||
param0->unk_7F8.unk_300[0] = param0->partySlot;
|
||||
param0->unk_7F8.unk_300[1] = param0->unk_B0F_0;
|
||||
param0->unk_7F8.unk_304 = 1;
|
||||
param0->unk_7F8.unk_306 = 0;
|
||||
|
|
@ -552,13 +552,13 @@ BOOL sub_02083D1C(GameWindowLayout *param0)
|
|||
break;
|
||||
|
||||
case 4:
|
||||
Party_SwapSlots(param0->unk_5A4->unk_00, v0->unk_300[0], v0->unk_300[1]);
|
||||
Party_SwapSlots(param0->partyManagementData->party, v0->unk_300[0], v0->unk_300[1]);
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[6], 1);
|
||||
|
||||
v0->unk_304 = 0;
|
||||
param0->unk_B0F_6 = 0;
|
||||
|
||||
sub_0207F8F8(param0, param0->unk_B11);
|
||||
sub_0207F8F8(param0, param0->partySlot);
|
||||
sub_0207F8F8(param0, param0->unk_B0F_0);
|
||||
sub_020826E0(param0, 29, 0);
|
||||
|
||||
|
|
@ -717,18 +717,18 @@ static void sub_020844B0(GameWindowLayout *param0, int *param1)
|
|||
Window_EraseMessageBox(¶m0->unk_04[33], 1);
|
||||
sub_0208337C(param0);
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_5A4->unk_32_4; v0++) {
|
||||
if (param0->unk_5A4->unk_2C[v0] != 0) {
|
||||
for (v0 = 0; v0 < param0->partyManagementData->unk_32_4; v0++) {
|
||||
if (param0->partyManagementData->unk_2C[v0] != 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
param0->unk_5A4->unk_2C[v0] = param0->unk_B11 + 1;
|
||||
param0->partyManagementData->unk_2C[v0] = param0->partySlot + 1;
|
||||
|
||||
sub_02082508(param0, param0->unk_B11);
|
||||
sub_02082508(param0, param0->partySlot);
|
||||
sub_020826E0(param0, 34, 1);
|
||||
Sprite_SetExplicitPalette2(param0->unk_5B0[6], 0);
|
||||
|
||||
if (v0 == param0->unk_5A4->unk_32_4 - 1) {
|
||||
if (v0 == param0->partyManagementData->unk_32_4 - 1) {
|
||||
sub_0207FD68(param0, 6);
|
||||
}
|
||||
|
||||
|
|
@ -736,7 +736,7 @@ static void sub_020844B0(GameWindowLayout *param0, int *param1)
|
|||
return;
|
||||
}
|
||||
|
||||
switch (param0->unk_5A4->unk_32_4) {
|
||||
switch (param0->partyManagementData->unk_32_4) {
|
||||
case 1:
|
||||
sub_02082708(param0, 123, 1);
|
||||
break;
|
||||
|
|
@ -774,13 +774,13 @@ static void sub_020845E8(GameWindowLayout *param0, int *param1)
|
|||
{
|
||||
u8 v0;
|
||||
|
||||
for (v0 = 0; v0 < param0->unk_5A4->unk_32_4; v0++) {
|
||||
if (param0->unk_5A4->unk_2C[v0] == param0->unk_B11 + 1) {
|
||||
param0->unk_5A4->unk_2C[v0] = 0;
|
||||
for (v0 = 0; v0 < param0->partyManagementData->unk_32_4; v0++) {
|
||||
if (param0->partyManagementData->unk_2C[v0] == param0->partySlot + 1) {
|
||||
param0->partyManagementData->unk_2C[v0] = 0;
|
||||
|
||||
for (v0 = v0; v0 < param0->unk_5A4->unk_32_4 - 1; v0++) {
|
||||
param0->unk_5A4->unk_2C[v0] = param0->unk_5A4->unk_2C[v0 + 1];
|
||||
param0->unk_5A4->unk_2C[v0 + 1] = 0;
|
||||
for (v0 = v0; v0 < param0->partyManagementData->unk_32_4 - 1; v0++) {
|
||||
param0->partyManagementData->unk_2C[v0] = param0->partyManagementData->unk_2C[v0 + 1];
|
||||
param0->partyManagementData->unk_2C[v0 + 1] = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -804,7 +804,7 @@ static void sub_020845E8(GameWindowLayout *param0, int *param1)
|
|||
|
||||
static void sub_020846CC(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 0;
|
||||
param0->partyManagementData->menuSelectionResult = 0;
|
||||
|
||||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
|
@ -814,7 +814,7 @@ static void sub_020846CC(GameWindowLayout *param0, int *param1)
|
|||
|
||||
static void sub_020846FC(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 0;
|
||||
param0->partyManagementData->menuSelectionResult = 0;
|
||||
|
||||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
|
@ -824,7 +824,7 @@ static void sub_020846FC(GameWindowLayout *param0, int *param1)
|
|||
|
||||
static void sub_0208472C(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 1;
|
||||
param0->partyManagementData->menuSelectionResult = 1;
|
||||
|
||||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
|
|
@ -842,42 +842,42 @@ static void sub_02084760(GameWindowLayout *param0, int *param1)
|
|||
|
||||
int sub_02084780(GameWindowLayout *param0)
|
||||
{
|
||||
Pokemon *v0 = Party_GetPokemonBySlotIndex(param0->unk_5A4->unk_00, param0->unk_B11);
|
||||
Pokemon *v0 = Party_GetPokemonBySlotIndex(param0->partyManagementData->party, param0->partySlot);
|
||||
|
||||
if (Pokemon_GetValue(v0, MON_DATA_BALL_CAPSULE_ID, NULL) == 0) {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 129, param0->unk_6A4);
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[22 + param0->unk_B11], 1);
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 129, param0->unk_6A4);
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[22 + param0->partySlot], 1);
|
||||
} else {
|
||||
MessageLoader_GetStrbuf(param0->unk_69C, 130, param0->unk_6A4);
|
||||
param0->unk_B11 = 7;
|
||||
MessageLoader_GetStrbuf(param0->messageLoader, 130, param0->unk_6A4);
|
||||
param0->partySlot = 7;
|
||||
}
|
||||
|
||||
sub_02082708(param0, 0xffffffff, 1);
|
||||
|
||||
param0->unk_5A4->unk_23 = 0;
|
||||
param0->partyManagementData->menuSelectionResult = 0;
|
||||
param0->unk_B0E = 25;
|
||||
|
||||
return 24;
|
||||
}
|
||||
|
||||
static void sub_02084808(GameWindowLayout *param0, int *param1)
|
||||
static void sub_02084808(GameWindowLayout *windowLayout, int *param1)
|
||||
{
|
||||
FieldMoveErrContext v0;
|
||||
FieldMoveErrContext fieldMoveErrorCtx;
|
||||
u32 v1;
|
||||
u32 v2;
|
||||
|
||||
v0 = (FieldMoveErrContext)FieldMove_GetTaskOrError(FIELD_MOVE_ERROR, param0->unk_5A4->unk_23 - 11);
|
||||
fieldMoveErrorCtx = (FieldMoveErrContext)FieldMove_GetTaskOrError(FIELD_MOVE_ERROR, windowLayout->partyManagementData->menuSelectionResult - 11);
|
||||
|
||||
if (v0 != NULL) {
|
||||
v1 = v0(param0->unk_5A4->unk_18);
|
||||
if (fieldMoveErrorCtx != NULL) {
|
||||
v1 = fieldMoveErrorCtx(windowLayout->partyManagementData->fieldMoveContext);
|
||||
} else {
|
||||
v1 = 1;
|
||||
}
|
||||
|
||||
switch (v1) {
|
||||
case 0:
|
||||
Menu_Free(param0->unk_700, NULL);
|
||||
StringList_Free(param0->unk_6FC);
|
||||
Menu_Free(windowLayout->unk_700, NULL);
|
||||
StringList_Free(windowLayout->unk_6FC);
|
||||
*param1 = 32;
|
||||
return;
|
||||
case 1:
|
||||
|
|
@ -894,89 +894,89 @@ static void sub_02084808(GameWindowLayout *param0, int *param1)
|
|||
break;
|
||||
}
|
||||
|
||||
Window_EraseMessageBox(¶m0->unk_04[33], 1);
|
||||
sub_0208337C(param0);
|
||||
sub_02082708(param0, v2, 1);
|
||||
Window_EraseMessageBox(&windowLayout->unk_04[33], 1);
|
||||
sub_0208337C(windowLayout);
|
||||
sub_02082708(windowLayout, v2, 1);
|
||||
|
||||
param0->unk_B0E = 3;
|
||||
windowLayout->unk_B0E = 3;
|
||||
*param1 = 24;
|
||||
}
|
||||
|
||||
static void sub_020848A8(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 11;
|
||||
param0->partyManagementData->menuSelectionResult = 11;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_020848C0(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 16;
|
||||
param0->partyManagementData->menuSelectionResult = 16;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_020848D8(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 14;
|
||||
param0->partyManagementData->menuSelectionResult = 14;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_020848F0(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 13;
|
||||
param0->partyManagementData->menuSelectionResult = 13;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084908(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 15;
|
||||
param0->partyManagementData->menuSelectionResult = 15;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084920(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 18;
|
||||
param0->partyManagementData->menuSelectionResult = 18;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084938(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 12;
|
||||
param0->partyManagementData->menuSelectionResult = 12;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084950(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 17;
|
||||
param0->partyManagementData->menuSelectionResult = 17;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084968(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 19;
|
||||
param0->partyManagementData->menuSelectionResult = 19;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084980(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 20;
|
||||
param0->partyManagementData->menuSelectionResult = 20;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_02084998(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 21;
|
||||
param0->partyManagementData->menuSelectionResult = 21;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_020849B0(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 22;
|
||||
param0->partyManagementData->menuSelectionResult = 22;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
static void sub_020849C8(GameWindowLayout *param0, int *param1)
|
||||
{
|
||||
param0->unk_5A4->unk_23 = 23;
|
||||
param0->partyManagementData->menuSelectionResult = 23;
|
||||
sub_02084808(param0, param1);
|
||||
}
|
||||
|
||||
|
|
@ -985,7 +985,7 @@ static void sub_020849E0(GameWindowLayout *param0, int *param1)
|
|||
*param1 = sub_02084A18(param0);
|
||||
|
||||
if (*param1 == 30) {
|
||||
param0->unk_B14[3] = 24 - 11;
|
||||
param0->monStats[3] = 24 - 11;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -994,7 +994,7 @@ static void sub_020849FC(GameWindowLayout *param0, int *param1)
|
|||
*param1 = sub_02084A18(param0);
|
||||
|
||||
if (*param1 == 30) {
|
||||
param0->unk_B14[3] = 25 - 11;
|
||||
param0->monStats[3] = 25 - 11;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1003,9 +1003,9 @@ static int sub_02084A18(GameWindowLayout *param0)
|
|||
Window_EraseMessageBox(¶m0->unk_04[33], 1);
|
||||
sub_0208337C(param0);
|
||||
|
||||
param0->unk_B14[0] = param0->unk_704[param0->unk_B11].unk_08 / 5;
|
||||
param0->monStats[0] = param0->unk_704[param0->partySlot].maxHP / 5;
|
||||
|
||||
if (param0->unk_704[param0->unk_B11].unk_06 <= param0->unk_B14[0]) {
|
||||
if (param0->unk_704[param0->partySlot].curHP <= param0->monStats[0]) {
|
||||
sub_02082708(param0, 138, 1);
|
||||
param0->unk_B0E = 3;
|
||||
return 24;
|
||||
|
|
@ -1013,17 +1013,17 @@ static int sub_02084A18(GameWindowLayout *param0)
|
|||
s16 v0, v1;
|
||||
|
||||
param0->unk_B0F_6 = 1;
|
||||
param0->unk_B0F_0 = param0->unk_B11;
|
||||
param0->unk_B0F_0 = param0->partySlot;
|
||||
|
||||
Sprite_SetExplicitPalette2(param0->unk_5B0[6], 0);
|
||||
Sprite_GetPositionXY(param0->unk_5B0[6], &v0, &v1);
|
||||
Sprite_SetPositionXY(param0->unk_5B0[7], v0, v1);
|
||||
Sprite_SetAnim(param0->unk_5B0[7], sub_020805D0(param0->unk_5A4->unk_21, param0->unk_B0F_0) + 2);
|
||||
Sprite_SetAnim(param0->unk_5B0[7], sub_020805D0(param0->partyManagementData->unk_21, param0->unk_B0F_0) + 2);
|
||||
Sprite_SetDrawFlag(param0->unk_5B0[7], 1);
|
||||
sub_0207F8F8(param0, param0->unk_B0F_0);
|
||||
sub_020826E0(param0, 36, 1);
|
||||
|
||||
param0->unk_B14[1] = 0;
|
||||
param0->monStats[1] = 0;
|
||||
return 30;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1299
src/unk_02084B70.c
1299
src/unk_02084B70.c
File diff suppressed because it is too large
Load Diff
|
|
@ -357,21 +357,21 @@ static BOOL sub_02097F38(FieldTask *param0)
|
|||
}
|
||||
} break;
|
||||
case 3: {
|
||||
PartyManagementData *v6 = v0->unk_0C;
|
||||
PartyManagementData *partyMan = v0->unk_0C;
|
||||
|
||||
v6->unk_00 = v1->unk_1C;
|
||||
v6->unk_04 = SaveData_GetBag(v0->saveData);
|
||||
v6->unk_08 = SaveData_GetMailBox(v0->saveData);
|
||||
v6->selectedMonSlot = 0;
|
||||
v6->unk_21 = 0;
|
||||
v6->unk_20 = 15;
|
||||
v6->unk_0C = v1->unk_24;
|
||||
partyMan->party = v1->unk_1C;
|
||||
partyMan->bag = SaveData_GetBag(v0->saveData);
|
||||
partyMan->mailBox = SaveData_GetMailBox(v0->saveData);
|
||||
partyMan->selectedMonSlot = 0;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 15;
|
||||
partyMan->options = v1->unk_24;
|
||||
|
||||
FieldTask_RunApplication(param0, &Unk_020F1E88, v6);
|
||||
FieldTask_RunApplication(param0, &Unk_020F1E88, partyMan);
|
||||
v0->unk_14 = 4;
|
||||
} break;
|
||||
case 4: {
|
||||
PartyManagementData *v7 = v0->unk_0C;
|
||||
PartyManagementData *partyMan = v0->unk_0C;
|
||||
Pokemon *v8;
|
||||
UnkStruct_0202CA28 *v9;
|
||||
UnkStruct_0202CA64 *v10;
|
||||
|
|
@ -381,8 +381,8 @@ static BOOL sub_02097F38(FieldTask *param0)
|
|||
|
||||
v13 = sub_02097F18(v0->unk_08) + 1;
|
||||
|
||||
if (v7->selectedMonSlot != 7) {
|
||||
v8 = sub_02097F00(v0->unk_08, v7->selectedMonSlot);
|
||||
if (partyMan->selectedMonSlot != 7) {
|
||||
v8 = sub_02097F00(v0->unk_08, partyMan->selectedMonSlot);
|
||||
|
||||
Pokemon_SetValue(v8, MON_DATA_BALL_CAPSULE_ID, (u8 *)&v13);
|
||||
Pokemon_SetValue(v8, MON_DATA_171, sub_0202CA28(v1->unk_20, v13 - 1));
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ static int sub_02098C2C(UnkStruct_02098BE4 *param0)
|
|||
|
||||
static int sub_02098C44(UnkStruct_02098BE4 *param0)
|
||||
{
|
||||
PartyManagementData *v0;
|
||||
PartyManagementData *partyMan;
|
||||
|
||||
if (!sub_02098AF8(¶m0->unk_14)) {
|
||||
return 1;
|
||||
|
|
@ -283,16 +283,16 @@ static int sub_02098C44(UnkStruct_02098BE4 *param0)
|
|||
|
||||
param0->unk_0C->unk_02 = 0;
|
||||
|
||||
v0 = Heap_AllocFromHeap(param0->heapID, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(v0, sizeof(PartyManagementData));
|
||||
v0->unk_00 = param0->unk_0C->unk_10;
|
||||
v0->unk_04 = param0->unk_0C->unk_14;
|
||||
v0->unk_21 = 0;
|
||||
v0->unk_20 = 20;
|
||||
v0->unk_0C = param0->unk_0C->unk_18;
|
||||
partyMan = Heap_AllocFromHeap(param0->heapID, sizeof(PartyManagementData));
|
||||
MI_CpuClear8(partyMan, sizeof(PartyManagementData));
|
||||
partyMan->party = param0->unk_0C->unk_10;
|
||||
partyMan->bag = param0->unk_0C->unk_14;
|
||||
partyMan->unk_21 = 0;
|
||||
partyMan->unk_20 = 20;
|
||||
partyMan->options = param0->unk_0C->unk_18;
|
||||
|
||||
param0->unk_14 = OverlayManager_New(&Unk_020F1E88, v0, param0->heapID);
|
||||
param0->unk_10 = (void *)v0;
|
||||
param0->unk_14 = OverlayManager_New(&Unk_020F1E88, partyMan, param0->heapID);
|
||||
param0->unk_10 = (void *)partyMan;
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
|
@ -300,7 +300,7 @@ static int sub_02098C44(UnkStruct_02098BE4 *param0)
|
|||
static int sub_02098CB0(UnkStruct_02098BE4 *param0)
|
||||
{
|
||||
u8 v0;
|
||||
PartyManagementData *v1;
|
||||
PartyManagementData *partyMan;
|
||||
PokemonSummary *v2;
|
||||
static const u8 v3[] = {
|
||||
4, 7, 8
|
||||
|
|
@ -310,8 +310,8 @@ static int sub_02098CB0(UnkStruct_02098BE4 *param0)
|
|||
return 2;
|
||||
}
|
||||
|
||||
v1 = (PartyManagementData *)param0->unk_10;
|
||||
v0 = v1->selectedMonSlot;
|
||||
partyMan = (PartyManagementData *)param0->unk_10;
|
||||
v0 = partyMan->selectedMonSlot;
|
||||
param0->unk_08 = v0;
|
||||
Heap_FreeToHeap(param0->unk_10);
|
||||
|
||||
|
|
@ -334,7 +334,7 @@ static int sub_02098CB0(UnkStruct_02098BE4 *param0)
|
|||
PokemonSummaryScreen_FlagVisiblePages(v2, v3);
|
||||
PokemonSummaryScreen_SetPlayerProfile(v2, param0->unk_0C->unk_0C);
|
||||
|
||||
param0->unk_14 = OverlayManager_New(&gPokemonSummaryScreenApp, v1, param0->heapID);
|
||||
param0->unk_14 = OverlayManager_New(&gPokemonSummaryScreenApp, partyMan, param0->heapID);
|
||||
param0->unk_10 = (void *)v2;
|
||||
|
||||
return 3;
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ static BOOL sub_0209C2C0(UnkStruct_0209C1EC *param0)
|
|||
|
||||
Heap_FreeToHeap(param0->unk_30);
|
||||
|
||||
if (param0->unk_30->unk_23 == 1) {
|
||||
if (param0->unk_30->menuSelectionResult == 1) {
|
||||
param0->unk_34 = sub_0203D670(param0->fieldSystem, HEAP_ID_APPLICATION, SUMMARY_MODE_NORMAL);
|
||||
param0->unk_04 = v0;
|
||||
param0->unk_34->monIndex = v0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user