Document SelectMoveTutorPokemon command

This commit is contained in:
Metallicity 2025-07-28 03:49:49 -07:00
parent 303ce2061e
commit 9e55adc38a
16 changed files with 48 additions and 48 deletions

View File

@ -3,6 +3,6 @@
#include "overlay_manager.h"
extern const ApplicationManagerTemplate Unk_020F1E88;
extern const ApplicationManagerTemplate gPokemonPartyAppTemplate;
#endif // POKEPLATINUM_CONST_020F1E88_H

View File

@ -35,7 +35,7 @@ void sub_0203D2E4(FieldSystem *fieldSystem, void *param1);
void sub_0203D30C(FieldSystem *fieldSystem, void *param1);
void FieldSystem_OpenSummaryScreen(FieldSystem *fieldSystem, void *appArgs);
void *sub_0203D390(FieldSystem *fieldSystem, FieldMoveContext *param1, u8 param2);
void *sub_0203D3C0(int param0, FieldSystem *fieldSystem);
void *FieldSystem_SelectMoveTutorPokemon(int unused, FieldSystem *fieldSystem);
void *sub_0203D3E4(int param0, FieldSystem *fieldSystem);
int PartyManagementData_GetSelectedSlot(PartyManagementData *partyMan);
void *sub_0203D410(int param0, FieldSystem *fieldSystem, int param2);

View File

@ -156,7 +156,7 @@ static void ov104_02239D1C(UnkStruct_0209B75C *param0, UnkStruct_0209BBA4 *param
GF_ASSERT(0);
}
sub_0209B988(param0, &Unk_020F1E88, param1->unk_A8, 0, NULL);
sub_0209B988(param0, &gPokemonPartyAppTemplate, param1->unk_A8, 0, NULL);
return;
}

View File

@ -3429,8 +3429,8 @@ static BOOL ScrCmd_GetPartyMonForm(ScriptContext *ctx)
static BOOL ScrCmd_SelectMoveTutorPokemon(ScriptContext *ctx)
{
void **v0 = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
*v0 = sub_0203D3C0(32, ctx->fieldSystem);
void **partyData = FieldSystem_GetScriptMemberPtr(ctx->fieldSystem, SCRIPT_MANAGER_PARTY_MANAGEMENT_DATA);
*partyData = FieldSystem_SelectMoveTutorPokemon(32, ctx->fieldSystem);
ScriptContext_Pause(ctx, ScriptContext_WaitForApplicationExit);
return TRUE;

View File

@ -1279,7 +1279,7 @@ static BOOL sub_0203BC5C(FieldTask *taskMan)
partyMan->usedItemID = sub_0207CB94(v2);
partyMan->fieldSystem = fieldSystem;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
} break;
@ -1321,7 +1321,7 @@ static BOOL sub_0203BC5C(FieldTask *taskMan)
partyMan->unk_20 = 10;
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
}
@ -1585,7 +1585,7 @@ static BOOL sub_0203C1C8(FieldTask *taskMan)
partyMan->learnedMove = v2->move;
partyMan->selectedMoveSlot = v2->selectedMoveSlot;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
Heap_Free(menu->unk_260);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
@ -1784,7 +1784,7 @@ static void sub_0203C668(FieldSystem *fieldSystem, StartMenu *menu, u8 param2)
sub_02097750(menu->taskData, Party_GetPokemonBySlotIndex(partyMan->party, v0->unk_02));
sub_02097770(menu->taskData);
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);

View File

@ -369,7 +369,7 @@ void FieldSystem_OpenSummaryScreen(FieldSystem *fieldSystem, void *appArgs)
FieldSystem_StartChildProcess(fieldSystem, &gPokemonSummaryScreenApp, appArgs);
}
static PartyManagementData *sub_0203D344(int heapID, FieldSystem *fieldSystem, int param2, int param3)
static PartyManagementData *PartyManagementData_New(int heapID, FieldSystem *fieldSystem, int param2, int param3)
{
PartyManagementData *partyMan = Heap_AllocFromHeap(heapID, sizeof(PartyManagementData));
@ -388,29 +388,29 @@ static PartyManagementData *sub_0203D344(int heapID, FieldSystem *fieldSystem, i
void *sub_0203D390(FieldSystem *fieldSystem, FieldMoveContext *param1, u8 param2)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 0);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 0);
partyMan->fieldMoveContext = param1;
partyMan->selectedMonSlot = param2;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
void *sub_0203D3C0(int param0, FieldSystem *fieldSystem)
void *FieldSystem_SelectMoveTutorPokemon(int unused, FieldSystem *fieldSystem)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 3);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 3);
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
void *sub_0203D3E4(int param0, FieldSystem *fieldSystem)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 19);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 19);
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
@ -421,10 +421,10 @@ int PartyManagementData_GetSelectedSlot(PartyManagementData *partyMan)
void *sub_0203D410(int param0, FieldSystem *fieldSystem, int param2)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 18);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 18);
partyMan->selectedMonSlot = param2;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
@ -449,7 +449,7 @@ static BOOL sub_0203D444(FieldTask *param0)
switch (*v2) {
case 0:
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, v1->unk_04);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, v1->unk_04);
*v2 = 1;
break;
case 1:
@ -496,7 +496,7 @@ void *sub_0203D50C(FieldTask *taskMan, int heapID)
v0 = Heap_AllocFromHeap(heapID, sizeof(UnkStruct_0203D444));
v0->heapID = heapID;
partyMan = sub_0203D344(heapID, fieldSystem, 0, 2);
partyMan = PartyManagementData_New(heapID, fieldSystem, 0, 2);
partyMan->unk_32_0 = 2;
partyMan->unk_32_4 = 2;
partyMan->unk_33 = 30;
@ -510,7 +510,7 @@ void *sub_0203D50C(FieldTask *taskMan, int heapID)
void *sub_0203D578(int param0, FieldSystem *fieldSystem, int param2, int param3, int param4, int param5)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 13);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 13);
partyMan->selectedMonSlot = param5;
partyMan->unk_29 = 2;
@ -522,7 +522,7 @@ void *sub_0203D578(int param0, FieldSystem *fieldSystem, int param2, int param3,
partyMan->unk_2B = 0;
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
@ -552,10 +552,10 @@ void *sub_0203D5C8(int param0, FieldSystem *fieldSystem, int param2)
void *sub_0203D644(FieldSystem *fieldSystem, int param1)
{
PartyManagementData *partyMan = sub_0203D344(HEAP_ID_FIELDMAP, fieldSystem, 0, 21);
PartyManagementData *partyMan = PartyManagementData_New(HEAP_ID_FIELDMAP, fieldSystem, 0, 21);
partyMan->selectedMonSlot = param1;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}
@ -1724,7 +1724,7 @@ PartyManagementData *sub_0203E598(FieldSystem *fieldSystem, int heapID, int para
partyMan->selectedMonSlot = 0;
partyMan->fieldSystem = fieldSystem;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
return partyMan;
}

View File

@ -358,7 +358,7 @@ static int sub_0204F50C(UnkStruct_0204F470 *param0, FieldSystem *fieldSystem, in
partyMan->unk_32_4 = 2;
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
*(param0->unk_08) = partyMan;

View File

@ -277,7 +277,7 @@ static int sub_0204FE50(UnkStruct_0204FE50 *param0, FieldSystem *fieldSystem, in
partyMan->unk_32_4 = 2;
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
*(param0->unk_0C) = partyMan;

View File

@ -266,7 +266,7 @@ static int sub_0205037C(UnkStruct_0205037C *param0, FieldSystem *fieldSystem, in
partyMan->unk_32_4 = 2;
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
*(param0->unk_0C) = partyMan;
return 1;

View File

@ -175,7 +175,7 @@ static void sub_0205A164(UnkStruct_0205A0D8 *param0, int heapID)
partyMan->unk_2C[v0] = param0->unk_3D[v0];
}
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(param0->fieldSystem, &gPokemonPartyAppTemplate, partyMan);
param0->unk_04 = partyMan;
}

View File

@ -345,7 +345,7 @@ static void sub_02068630(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
partyMan->usedItemID = param0->unk_04;
partyMan->selectedMonSlot = param0->unk_06;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
}
@ -579,7 +579,7 @@ static void sub_02068A34(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
partyMan->selectedMonSlot = param0->unk_06;
partyMan->learnedMove = Item_MoveForTMHM(param0->unk_04);
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
}
@ -945,7 +945,7 @@ static void sub_02068FEC(UnkStruct_02068630 *param0, const UnkStruct_020684D0 *p
partyMan->usedItemID = param0->unk_04;
partyMan->selectedMonSlot = param0->unk_06;
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
menu->taskData = partyMan;
sub_0203B674(menu, sub_0203B7C0);
}

View File

@ -89,7 +89,7 @@ static int sub_0206B9D8(UnkStruct_0206B9D8 *param0, FieldSystem *fieldSystem, in
partyMan->unk_2C[v0] = param0->unk_0E[v0];
}
FieldSystem_StartChildProcess(fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(fieldSystem, &gPokemonPartyAppTemplate, partyMan);
*(param0->unk_14) = partyMan;
return 1;

View File

@ -1213,7 +1213,7 @@ static int sub_02073524(UnkStruct_02072334 *param0, int param1)
partyMan->selectedMonSlot = param0->unk_17;
}
FieldSystem_StartChildProcess(param0->fieldSystem, &Unk_020F1E88, partyMan);
FieldSystem_StartChildProcess(param0->fieldSystem, &gPokemonPartyAppTemplate, partyMan);
param0->unk_1B4 = partyMan;
param0->unk_12++;
break;

View File

@ -71,9 +71,9 @@ typedef struct {
u16 unk_0A;
} UnkStruct_020F1DF8;
static int sub_0207E0B8(ApplicationManager *appMan, int *param1);
static int sub_0207E2A8(ApplicationManager *appMan, int *param1);
static int sub_0207E7E0(ApplicationManager *appMan, int *param1);
static int PokemonParty_Init(ApplicationManager *appMan, int *param1);
static int PokemonParty_Main(ApplicationManager *appMan, int *param1);
static int PokemonParty_Exit(ApplicationManager *appMan, int *param1);
static int sub_0207E490(GameWindowLayout *param0);
static int sub_0207E518(GameWindowLayout *param0);
static int sub_0207E5B4(GameWindowLayout *param0);
@ -151,11 +151,11 @@ u8 sub_02080488(GameWindowLayout *param0, u8 param1);
static u8 CheckPokemonCondition(GameWindowLayout *param0);
static BOOL UpdatePokemonStatus(GameWindowLayout *param0, u8 param1, s8 param2);
const ApplicationManagerTemplate Unk_020F1E88 = {
sub_0207E0B8,
sub_0207E2A8,
sub_0207E7E0,
0xFFFFFFFF
const ApplicationManagerTemplate gPokemonPartyAppTemplate = {
.init = PokemonParty_Init,
.main = PokemonParty_Main,
.exit = PokemonParty_Exit,
.overlayID = FS_OVERLAY_ID_NONE
};
static const UnkStruct_020F1DF8 Unk_020F1DF8[2][6] = {
@ -239,7 +239,7 @@ static const u16 Unk_020F1CB0[] = {
0x87,
};
static int sub_0207E0B8(ApplicationManager *appMan, int *param1)
static int PokemonParty_Init(ApplicationManager *appMan, int *param1)
{
GameWindowLayout *v0;
NARC *v1;
@ -315,7 +315,7 @@ static int sub_0207E0B8(ApplicationManager *appMan, int *param1)
return 1;
}
static int sub_0207E2A8(ApplicationManager *appMan, int *param1)
static int PokemonParty_Main(ApplicationManager *appMan, int *param1)
{
GameWindowLayout *v0 = ApplicationManager_Data(appMan);
@ -636,7 +636,7 @@ static int sub_0207E750(GameWindowLayout *param0)
return 21;
}
static int sub_0207E7E0(ApplicationManager *appMan, int *param1)
static int PokemonParty_Exit(ApplicationManager *appMan, int *param1)
{
GameWindowLayout *v0 = ApplicationManager_Data(appMan);
u32 v1;

View File

@ -362,7 +362,7 @@ static BOOL sub_02097F38(FieldTask *param0)
partyMan->unk_20 = 15;
partyMan->options = v1->options;
FieldTask_RunApplication(param0, &Unk_020F1E88, partyMan);
FieldTask_RunApplication(param0, &gPokemonPartyAppTemplate, partyMan);
v0->unk_14 = 4;
} break;
case 4: {

View File

@ -291,7 +291,7 @@ static int sub_02098C44(UnkStruct_02098BE4 *param0)
partyMan->unk_20 = 20;
partyMan->options = param0->unk_0C->options;
param0->appMan = ApplicationManager_New(&Unk_020F1E88, partyMan, param0->heapID);
param0->appMan = ApplicationManager_New(&gPokemonPartyAppTemplate, partyMan, param0->heapID);
param0->unk_10 = (void *)partyMan;
return 2;