diff options
Diffstat (limited to 'src/pokenav_unk_4.c')
-rwxr-xr-x | src/pokenav_unk_4.c | 809 |
1 files changed, 402 insertions, 407 deletions
diff --git a/src/pokenav_unk_4.c b/src/pokenav_unk_4.c index 36459e56b..d8a1a0dfa 100755 --- a/src/pokenav_unk_4.c +++ b/src/pokenav_unk_4.c @@ -32,15 +32,15 @@ struct Pokenav4Struct u8 filler8[0x6]; u8 unkE; u8 unkF; - u16 unk10; - u16 unk12; - u16 unk14; + u16 locWindowId; + u16 infoBoxWindowId; + u16 msgBoxWindowId; s16 unk16; u8 unused18; u8 unk19; u16 unk1A; - struct Sprite *unk1C; - struct Sprite *unk20; + struct Sprite *optionsCursorSprite; + struct Sprite *trainerPicSprite; u8 unk24[0x800]; u8 unk824[0x800]; u8 unk1024[0x800]; @@ -55,74 +55,70 @@ static void sub_81CBBB8(void); static void sub_81CBC1C(void); static void sub_81CC2B4(void); static void sub_81CC034(struct Pokenav4Struct *); -static void sub_81CBD78(struct Pokenav4Struct *); -static void sub_81CBDC0(struct Pokenav4Struct *); -static void sub_81CBEF8(struct Pokenav4Struct *, int); +static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *); +static void UpdateMatchCallInfoBox(struct Pokenav4Struct *); +static void PrintMatchCallLocation(struct Pokenav4Struct *, int); static void sub_81CC214(void); static void sub_81CBC38(int); -static void sub_81CBF60(struct Pokenav4Struct *); +static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *); static bool32 sub_81CBFC4(struct Pokenav4Struct *); -static void sub_81CC344(struct Pokenav4Struct *, int); -static bool32 sub_81CC004(struct Pokenav4Struct *); -static void sub_81CBFF0(struct Pokenav4Struct *); -static void sub_81CC058(struct Pokenav4Struct *); -static bool32 sub_81CC0D0(struct Pokenav4Struct *); -static void sub_81CC0E0(struct Pokenav4Struct *); -static bool32 sub_81CC104(struct Pokenav4Struct *); -static void sub_81CC158(struct Pokenav4Struct *); -static bool32 sub_81CC194(struct Pokenav4Struct *); -static void sub_81CC09C(struct Pokenav4Struct *); -static void sub_81CC11C(struct Pokenav4Struct *); -static bool32 sub_81CC140(struct Pokenav4Struct *); -static void sub_81CC1DC(struct Pokenav4Struct *); -static bool32 sub_81CC204(struct Pokenav4Struct *); -static void sub_81CC014(struct Pokenav4Struct *); -static void sub_81CC39C(struct Pokenav4Struct *); -static bool32 sub_81CC42C(struct Pokenav4Struct *); -static void sub_81CC420(struct Pokenav4Struct *); +static void UpdateCursorGfxPos(struct Pokenav4Struct *, int); +static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *); +static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *); +static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *); +static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *); +static void PrintCallingDots(struct Pokenav4Struct *); +static bool32 WaitForCallingDotsText(struct Pokenav4Struct *); +static void PrintMatchCallMessage(struct Pokenav4Struct *); +static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *); +static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *); +static void PrintTrainerIsCloseBy(struct Pokenav4Struct *); +static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *); +static void DrawSpinningPokenavForCall(struct Pokenav4Struct *); +static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *); +static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *); +static void LoadCheckPageTrainerPic(struct Pokenav4Struct *); +static bool32 WaitForTrainerPic(struct Pokenav4Struct *); +static void TrainerPicSlideOffscreen(struct Pokenav4Struct *); static void sub_81CBC64(u8 taskId); -static void sub_81CBCEC(u16 windowId, u32, u32); -static void sub_81CBDF4(u16 windowId); -static void sub_81CBE0C(u16 windowId); -static void sub_81CBE38(u16 windowId); -static void sub_81CBE50(u16 windowId); -static void sub_81CBE88(u16 windowId, const u8 *str, int top); -static void sub_81CBEB4(u16 windowId, const u8 *str, int top); +static void TryDrawRematchPokeballIcon(u16 windowId, u32, u32); +static void PrintNumberRegisteredLabel(u16 windowId); +static void PrintNumberRegistered(u16 windowId); +static void PrintNumberOfBattlesLabel(u16 windowId); +static void PrintNumberOfBattles(u16 windowId); +static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top); +static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top); static void sub_81CC2F0(struct Pokenav4Struct *, int); -static void sub_81CC330(struct Pokenav4Struct *); -static struct Sprite *sub_81CC370(void); -static void sub_81CC440(struct Sprite *sprite); -static void sub_81CC4A4(struct Sprite *sprite); -void sub_81CC34C(struct Sprite *sprite); -u32 sub_81CB510(s32); -u32 sub_81CB588(s32); -u32 sub_81CB600(s32); -u32 sub_81CB678(s32); -u32 sub_81CB6F0(s32); -u32 sub_81CB734(s32); -u32 sub_81CB75C(s32); -u32 sub_81CB7A0(s32); -u32 sub_81CB824(s32); +static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *); +static struct Sprite *CreateTrainerPicSprite(void); +static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite); +static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite); +void SpriteCB_OptionsCursor(struct Sprite *sprite); +u32 MatchCallListCursorDown(s32); +u32 MatchCallListCursorUp(s32); +u32 MatchCallListPageDown(s32); +u32 MatchCallListPageUp(s32); +u32 SelectMatchCallEntry(s32); +u32 MoveMatchCallOptionsCursor(s32); +static u32 CancelMatchCallSelection(s32); +u32 DoMatchCallMessage(s32); +u32 DoTrainerCloseByMessage(s32); u32 sub_81CB888(s32); -u32 sub_81CB93C(s32); -u32 sub_81CBAD4(s32); -u32 sub_81CB9C8(s32); -u32 sub_81CBA68(s32); -u32 sub_81CBB74(s32); - -extern const struct WindowTemplate gUnknown_08622808; -extern const struct SpriteTemplate gUnknown_08622830; -extern const struct SpriteTemplate gUnknown_08622850; - -const u16 gUnknown_08622510[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal"); -const u32 gUnknown_08622530[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz"); -const u32 gUnknown_086225D4[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz"); -const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal"); -const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz"); -const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal"); -const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal"); -const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal"); -const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz"); +u32 ShowCheckPage(s32); +u32 ShowCheckPageUp(s32); +u32 ShowCheckPageDown(s32); +u32 ExitCheckPage(s32); +u32 ExitMatchCall(s32); + +static const u16 sMatchCallUI_Pal[] = INCBIN_U16("graphics/pokenav/ui_matchcall.gbapal"); +static const u32 sMatchCallUI_Gfx[] = INCBIN_U32("graphics/pokenav/ui_matchcall.4bpp.lz"); +static const u32 sMatchCallUI_Tilemap[] = INCBIN_U32("graphics/pokenav/ui_matchcall.bin.lz"); +static const u16 gUnknown_08622698[] = INCBIN_U16("graphics/pokenav/arrow2.gbapal"); +static const u32 gUnknown_086226B8[] = INCBIN_U32("graphics/pokenav/arrow2.4bpp.lz"); +static const u16 gUnknown_086226E0[] = INCBIN_U16("graphics/pokenav/86226E0.gbapal"); +static const u16 gUnknown_08622700[] = INCBIN_U16("graphics/pokenav/8622700.gbapal"); +static const u16 gUnknown_08622720[] = INCBIN_U16("graphics/pokenav/pokeball_matchcall.gbapal"); +static const u32 gUnknown_08622760[] = INCBIN_U32("graphics/pokenav/pokeball_matchcall.4bpp.lz"); const struct BgTemplate gUnknown_0862278C[3] = { @@ -155,27 +151,27 @@ const struct BgTemplate gUnknown_0862278C[3] = } }; -const LoopedTask gUnknown_08622798[] = -{ - NULL, - sub_81CB510, - sub_81CB588, - sub_81CB600, - sub_81CB678, - sub_81CB6F0, - sub_81CB734, - sub_81CB75C, - sub_81CB7A0, - sub_81CB824, - sub_81CB888, - sub_81CB93C, - sub_81CBAD4, - sub_81CB9C8, - sub_81CBA68, - sub_81CBB74 +static const LoopedTask sMatchCallLoopTaskFuncs[] = +{ + [POKENAV_MC_FUNC_NONE] = NULL, + [POKENAV_MC_FUNC_DOWN] = MatchCallListCursorDown, + [POKENAV_MC_FUNC_UP] = MatchCallListCursorUp, + [POKENAV_MC_FUNC_PG_DOWN] = MatchCallListPageDown, + [POKENAV_MC_FUNC_PG_UP] = MatchCallListPageUp, + [POKENAV_MC_FUNC_SELECT] = SelectMatchCallEntry, + [POKENAV_MC_FUNC_MOVE_OPTIONS_CURSOR] = MoveMatchCallOptionsCursor, + [POKENAV_MC_FUNC_CANCEL] = CancelMatchCallSelection, + [POKENAV_MC_FUNC_CALL_MSG] = DoMatchCallMessage, + [POKENAV_MC_FUNC_NEARBY_MSG] = DoTrainerCloseByMessage, + [POKENAV_MC_FUNC_10] = sub_81CB888, + [POKENAV_MC_FUNC_SHOW_CHECK_PAGE] = ShowCheckPage, + [POKENAV_MC_FUNC_CHECK_PAGE_UP] = ShowCheckPageUp, + [POKENAV_MC_FUNC_CHECK_PAGE_DOWN] = ShowCheckPageDown, + [POKENAV_MC_FUNC_EXIT_CHECK_PAGE] = ExitCheckPage, + [POKENAV_MC_FUNC_EXIT] = ExitMatchCall }; -const struct WindowTemplate gUnknown_086227D8 = +static const struct WindowTemplate sMatchCallLocationWindowTemplate = { .bg = 2, .tilemapLeft = 0, @@ -186,7 +182,7 @@ const struct WindowTemplate gUnknown_086227D8 = .baseBlock = 16 }; -const struct WindowTemplate gUnknown_086227E0 = +static const struct WindowTemplate sMatchCallInfoBoxWindowTemplate = { .bg = 2, .tilemapLeft = 0, @@ -197,17 +193,17 @@ const struct WindowTemplate gUnknown_086227E0 = .baseBlock = 38 }; -const u8 *const gUnknown_086227E8[] = +static const u8 *const sMatchCallOptionTexts[MATCH_CALL_OPTION_COUNT] = { - gText_Call, - gText_Check, - gText_Cancel6 + [MATCH_CALL_OPTION_CALL] = gText_Call, + [MATCH_CALL_OPTION_CHECK] = gText_Check, + [MATCH_CALL_OPTION_CANCEL] = gText_Cancel6 }; // The series of 5 dots that appear when someone is called with Match Call static const u8 sText_CallingDots[] = _("·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·{PAUSE 0x04}·\p"); -const struct WindowTemplate gUnknown_08622808 = +static const struct WindowTemplate sCallMsgBoxWindowTemplate = { .bg = 1, .tilemapLeft = 1, @@ -223,13 +219,12 @@ const struct CompressedSpriteSheet gUnknown_08622810[1] = {gUnknown_086226B8, 0x40, 7} }; -const struct SpritePalette gUnknown_08622818[] = +const struct SpritePalette gUnknown_08622818[2] = { - {gUnknown_08622698, 12}, - {} + {gUnknown_08622698, 12} }; -const struct OamData gUnknown_08622828 = +static const struct OamData sOptionsCursorOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -243,18 +238,18 @@ const struct OamData gUnknown_08622828 = .paletteNum = 0, }; -const struct SpriteTemplate gUnknown_08622830 = +static const struct SpriteTemplate sOptionsCursorSpriteTemplate = { .tileTag = 7, .paletteTag = 12, - .oam = &gUnknown_08622828, + .oam = &sOptionsCursorOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81CC34C, + .callback = SpriteCB_OptionsCursor, }; -const struct OamData gUnknown_08622848 = +static const struct OamData sTrainerPicOamData = { .y = 0, .affineMode = ST_OAM_AFFINE_OFF, @@ -268,11 +263,11 @@ const struct OamData gUnknown_08622848 = .paletteNum = 0, }; -const struct SpriteTemplate gUnknown_08622850 = +static const struct SpriteTemplate sTrainerPicSpriteTemplate = { .tileTag = 8, .paletteTag = 13, - .oam = &gUnknown_08622848, + .oam = &sTrainerPicOamData, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -294,7 +289,7 @@ bool32 sub_81CB260(void) void sub_81CB29C(s32 index) { struct Pokenav4Struct *state = GetSubstructPtr(6); - state->unk4 = CreateLoopedTask(gUnknown_08622798[index], 1); + state->unk4 = CreateLoopedTask(sMatchCallLoopTaskFuncs[index], 1); state->unk0 = sub_81CB310; } @@ -309,9 +304,9 @@ void sub_81CB2E0(void) struct Pokenav4Struct *state = GetSubstructPtr(6); sub_81CC2B4(); sub_81CBC1C(); - RemoveWindow(state->unk12); - RemoveWindow(state->unk10); - RemoveWindow(state->unk14); + RemoveWindow(state->infoBoxWindowId); + RemoveWindow(state->locWindowId); + RemoveWindow(state->msgBoxWindowId); FreePokenavSubstruct(6); } @@ -330,48 +325,48 @@ static u32 sub_81CB324(s32 taskState) InitBgTemplates(gUnknown_0862278C, ARRAY_COUNT(gUnknown_0862278C)); ChangeBgX(2, 0, 0); ChangeBgY(2, 0, 0); - decompress_and_copy_tile_data_to_vram(2, gUnknown_08622530, 0, 0, 0); + decompress_and_copy_tile_data_to_vram(2, sMatchCallUI_Gfx, 0, 0, 0); SetBgTilemapBuffer(2, state->unk1024); - CopyToBgTilemapBuffer(2, gUnknown_086225D4, 0, 0); + CopyToBgTilemapBuffer(2, sMatchCallUI_Tilemap, 0, 0); CopyBgTilemapBufferToVram(2); - CopyPaletteIntoBufferUnfaded(gUnknown_08622510, 0x20, 0x20); + CopyPaletteIntoBufferUnfaded(sMatchCallUI_Pal, 0x20, 0x20); CopyBgTilemapBufferToVram(2); - return 0; + return LT_INC_AND_PAUSE; case 1: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; sub_8199DF0(1, 0, 0, 1); SetBgTilemapBuffer(1, state->unk24); FillBgTilemapBufferRect_Palette0(1, 0x1000, 0, 0, 32, 20); CopyPaletteIntoBufferUnfaded(gUnknown_086226E0, 0x10, 0x20); CopyBgTilemapBufferToVram(1); - return 0; + return LT_INC_AND_PAUSE; case 2: if (free_temp_tile_data_buffers_if_possible()) - return 2; + return LT_PAUSE; sub_81CC034(state); decompress_and_copy_tile_data_to_vram(3, gUnknown_08622760, 0, 0, 0); CopyPaletteIntoBufferUnfaded(gUnknown_08622700, 0x30, 0x20); CopyPaletteIntoBufferUnfaded(gUnknown_08622720, 0x50, 0x20); - return 0; + return LT_INC_AND_PAUSE; case 3: if (free_temp_tile_data_buffers_if_possible() || !sub_81CAE28()) - return 2; + return LT_PAUSE; sub_81CBBB8(); - return 0; + return LT_INC_AND_PAUSE; case 4: if (sub_81C8224()) - return 2; + return LT_PAUSE; - sub_81CBD78(state); - return 0; + DrawMatchCallLeftColumnWindows(state); + return LT_INC_AND_PAUSE; case 5: - sub_81CBDC0(state); - sub_81CBEF8(state, 0); - return 0; + UpdateMatchCallInfoBox(state); + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 6: ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); @@ -382,19 +377,19 @@ static u32 sub_81CB324(s32 taskState) LoadLeftHeaderGfxForIndex(3); sub_81C7FA0(3, 1, 0); sub_81C7AC0(1); - return 0; + return LT_INC_AND_PAUSE; case 7: if (IsPaletteFadeActive() || sub_81C8010()) - return 2; + return LT_PAUSE; sub_81CBC38(1); - return 4; + return LT_FINISH; default: - return 4; + return LT_FINISH; } } -u32 sub_81CB510(s32 taskState) +u32 MatchCallListCursorDown(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -411,27 +406,27 @@ u32 sub_81CB510(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB588(s32 taskState) +u32 MatchCallListCursorUp(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -448,27 +443,27 @@ u32 sub_81CB588(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB600(s32 taskState) +u32 MatchCallListPageDown(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -485,27 +480,27 @@ u32 sub_81CB600(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB678(s32 taskState) +u32 MatchCallListPageUp(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -522,138 +517,138 @@ u32 sub_81CB678(s32 taskState) PlaySE(SE_SELECT); // fall through default: - return 0; + return LT_INC_AND_PAUSE; } break; case 1: if (sub_81C8630()) - return 2; + return LT_PAUSE; - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 2: - sub_81CBEF8(state, 0); - return 0; + PrintMatchCallLocation(state, 0); + return LT_INC_AND_PAUSE; case 3: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB6F0(s32 taskState) +u32 SelectMatchCallEntry(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CBF60(state); - sub_81C7BA4(7); - return 0; + PrintMatchCallSelectionOptions(state); + PrintHelpBarText(HELPBAR_MC_CALL_MENU); + return LT_INC_AND_PAUSE; case 1: if (sub_81CBFC4(state)) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB734(s32 taskState) +u32 MoveMatchCallOptionsCursor(s32 taskState) { struct Pokenav4Struct *state; - u16 var0; + u16 cursorPos; PlaySE(SE_SELECT); state = GetSubstructPtr(6); - var0 = sub_81CB01C(); - sub_81CC344(state, var0); - return 4; + cursorPos = GetMatchCallOptionCursorPos(); + UpdateCursorGfxPos(state, cursorPos); + return LT_FINISH; } -u32 sub_81CB75C(s32 taskState) +u32 CancelMatchCallSelection(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CBFF0(state); - sub_81C7BA4(6); - return 0; + UpdateWindowsReturnToTrainerList(state); + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC004(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy1(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB7A0(s32 taskState) +u32 DoMatchCallMessage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: ToggleMatchCallVerticalArrows(TRUE); - sub_81CC058(state); - return 0; + DrawMsgBoxForMatchCallMsg(state); + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC0D0(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy2(state)) + return LT_PAUSE; - sub_81CC0E0(state); + PrintCallingDots(state); PlaySE(SE_TOREEYE); state->unkE = 0; - return 0; + return LT_INC_AND_PAUSE; case 2: - if (sub_81CC104(state)) - return 2; + if (WaitForCallingDotsText(state)) + return LT_PAUSE; - sub_81CC158(state); - return 0; + PrintMatchCallMessage(state); + return LT_INC_AND_PAUSE; case 3: - if (sub_81CC194(state)) - return 2; + if (WaitForMatchCallMessageText(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB824(s32 taskState) +u32 DoTrainerCloseByMessage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CC09C(state); + DrawMsgBoxForCloseByMsg(state); ToggleMatchCallVerticalArrows(TRUE); state->unkE = 1; - return 0; + return LT_INC_AND_PAUSE; case 1: - if (sub_81CC0D0(state)) - return 2; + if (IsDma3ManagerBusyWithBgCopy2(state)) + return LT_PAUSE; - sub_81CC11C(state); - return 0; + PrintTrainerIsCloseBy(state); + return LT_INC_AND_PAUSE; case 2: - if (sub_81CC140(state)) - return 2; + if (WaitForTrainerIsCloseByText(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } u32 sub_81CB888(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); - u32 result = 0; + u32 result = LT_INC_AND_PAUSE; switch (taskState) { @@ -664,49 +659,49 @@ u32 sub_81CB888(s32 taskState) PlaySE(SE_SELECT); break; case 1: - sub_81CC1DC(state); + DrawSpinningPokenavForCall(state); break; case 2: - if (sub_81CC204(state)) - result = 2; + if (WaitForSpinningPokenav(state)) + result = LT_PAUSE; break; case 3: - sub_81CBFF0(state); + UpdateWindowsReturnToTrainerList(state); break; case 4: - if (sub_81CC004(state)) - result = 2; + if (IsDma3ManagerBusyWithBgCopy1(state)) + result = LT_PAUSE; - sub_81C7BA4(6); + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); break; case 5: - if (IsDma3ManagerBusyWithBgCopy_()) + if (WaitForHelpBar()) { - result = 2; + result = LT_PAUSE; } else { if (state->unkF) { sub_81C8838(); - result = 1; + result = LT_INC_AND_CONTINUE; } else { ToggleMatchCallVerticalArrows(FALSE); - result = 4; + result = LT_FINISH; } } break; case 6: if (IsDma3ManagerBusyWithBgCopy()) { - result = 2; + result = LT_PAUSE; } else { ToggleMatchCallVerticalArrows(FALSE); - result = 4; + result = LT_FINISH; } break; } @@ -714,7 +709,7 @@ u32 sub_81CB888(s32 taskState) return result; } -u32 sub_81CB93C(s32 taskState) +u32 ShowCheckPage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) @@ -722,132 +717,132 @@ u32 sub_81CB93C(s32 taskState) case 0: PlaySE(SE_SELECT); sub_81C877C(); - sub_81CC014(state); - return 0; + UpdateWindowsToShowCheckPage(state); + return LT_INC_AND_PAUSE; case 1: - if (sub_81C8820() || sub_81CC004(state)) - return 2; + if (sub_81C8820() || IsDma3ManagerBusyWithBgCopy1(state)) + return LT_PAUSE; - sub_81C7BA4(8); - return 0; + PrintHelpBarText(HELPBAR_MC_CHECK_PAGE); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(0); - sub_81CC39C(state); - return 0; + PrintCheckPageInfo(0); + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 3: - if (sub_81C8820() || sub_81CC42C(state) || IsDma3ManagerBusyWithBgCopy_()) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state) || WaitForHelpBar()) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CB9C8(s32 taskState) +u32 ShowCheckPageDown(s32 taskState) { - int index; - int var0; + int topId; + int delta; struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: - index = GetMatchCallListTopIndex(); - var0 = sub_81CB0E4(index); - if (var0) + topId = GetMatchCallListTopIndex(); + delta = GetIndexDeltaOfNextCheckPageDown(topId); + if (delta) { PlaySE(SE_SELECT); - state->unk16 = var0; - sub_81CC420(state); - return 0; + state->unk16 = delta; + TrainerPicSlideOffscreen(state); + return LT_INC_AND_PAUSE; } break; case 1: - if (sub_81CC42C(state)) - return 2; + if (WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81CBEF8(state, state->unk16); - return 0; + PrintMatchCallLocation(state, state->unk16); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(state->unk16); - return 0; + PrintCheckPageInfo(state->unk16); + return LT_INC_AND_PAUSE; case 3: - sub_81CC39C(state); - return 0; + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 4: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBA68(s32 taskState) +u32 ExitCheckPage(s32 taskState) { struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: PlaySE(SE_SELECT); - sub_81CC420(state); + TrainerPicSlideOffscreen(state); sub_81C87F0(); - return 0; + return LT_INC_AND_PAUSE; case 1: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81C7BA4(6); - sub_81CBDC0(state); - return 0; + PrintHelpBarText(HELPBAR_MC_TRAINER_LIST); + UpdateMatchCallInfoBox(state); + return LT_INC_AND_PAUSE; case 2: if (IsDma3ManagerBusyWithBgCopy()) - return 2; + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBAD4(s32 taskState) +u32 ShowCheckPageUp(s32 taskState) { - int index; - int var0; + int topId; + int delta; struct Pokenav4Struct *state = GetSubstructPtr(6); switch (taskState) { case 0: - index = GetMatchCallListTopIndex(); - var0 = sub_81CB128(index); - if (var0) + topId = GetMatchCallListTopIndex(); + delta = GetIndexDeltaOfNextCheckPageUp(topId); + if (delta) { PlaySE(SE_SELECT); - state->unk16 = var0; - sub_81CC420(state); - return 0; + state->unk16 = delta; + TrainerPicSlideOffscreen(state); + return LT_INC_AND_PAUSE; } break; case 1: - if (sub_81CC42C(state)) - return 2; + if (WaitForTrainerPic(state)) + return LT_PAUSE; - sub_81CBEF8(state, state->unk16); - return 0; + PrintMatchCallLocation(state, state->unk16); + return LT_INC_AND_PAUSE; case 2: - sub_81C87AC(state->unk16); - return 0; + PrintCheckPageInfo(state->unk16); + return LT_INC_AND_PAUSE; case 3: - sub_81CC39C(state); - return 0; + LoadCheckPageTrainerPic(state); + return LT_INC_AND_PAUSE; case 4: - if (sub_81C8820() || sub_81CC42C(state)) - return 2; + if (sub_81C8820() || WaitForTrainerPic(state)) + return LT_PAUSE; break; } - return 4; + return LT_FINISH; } -u32 sub_81CBB74(s32 taskState) +u32 ExitMatchCall(s32 taskState) { switch (taskState) { @@ -856,23 +851,23 @@ u32 sub_81CBB74(s32 taskState) sub_81CBC38(0); sub_81C7AC0(0); sub_81C78A0(); - return 0; + return LT_INC_AND_PAUSE; case 1: if (IsPaletteFadeActive() || MainMenuLoopedTaskIsBusy()) - return 2; + return LT_PAUSE; sub_81C7FDC(); break; } - return 4; + return LT_FINISH; } static void sub_81CBBB8(void) { - struct MatchCallListTemplate template; - template.unk0 = sub_81CAE94(); - template.unk4 = sub_81CAE38(); + struct PokenavListTemplate template; + template.list.matchCallEntries = sub_81CAE94(); + template.unk4 = GetNumberRegistered(); template.unk8 = 4; template.unk6 = 0; template.unk9 = 13; @@ -881,8 +876,8 @@ static void sub_81CBBB8(void) template.unkC = 8; template.unkD = 3; template.unkE = 7; - template.unk10 = sub_81CB050; - template.unk14 = sub_81CBCEC; + template.listFunc.unk10_2 = BufferMatchCallNameAndDesc; + template.unk14 = TryDrawRematchPokeballIcon; sub_81C81D4(&gUnknown_0862278C[2], &template, 2); CreateTask(sub_81CBC64, 7); } @@ -914,12 +909,12 @@ static void sub_81CBC64(u8 taskId) } } -static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) +static void TryDrawRematchPokeballIcon(u16 windowId, u32 rematchId, u32 arg2) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); u16 *tilemap = GetBgTilemapBuffer(bg); tilemap += arg2 * 0x40 + 0x1D; - if (sub_81CAEBC(arg1)) + if (ShouldDrawRematchPokeballIcon(rematchId)) { tilemap[0] = 0x5000; tilemap[0x20] = 0x5001; @@ -931,7 +926,7 @@ static void sub_81CBCEC(u16 windowId, u32 arg1, u32 arg2) } } -void sub_81CBD48(u16 windowId, u32 arg0) +void ClearRematchPokeballIcon(u16 windowId, u32 arg0) { u8 bg = GetWindowAttribute(windowId, WINDOW_BG); u16 *tilemap = GetBgTilemapBuffer(bg); @@ -940,45 +935,45 @@ void sub_81CBD48(u16 windowId, u32 arg0) tilemap[0x20] = 0x5002; } -static void sub_81CBD78(struct Pokenav4Struct *state) +static void DrawMatchCallLeftColumnWindows(struct Pokenav4Struct *state) { - state->unk10 = AddWindow(&gUnknown_086227D8); - state->unk12 = AddWindow(&gUnknown_086227E0); - FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); - PutWindowTilemap(state->unk10); - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - PutWindowTilemap(state->unk12); - CopyWindowToVram(state->unk10, 1); + state->locWindowId = AddWindow(&sMatchCallLocationWindowTemplate); + state->infoBoxWindowId = AddWindow(&sMatchCallInfoBoxWindowTemplate); + FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->locWindowId); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->infoBoxWindowId); + CopyWindowToVram(state->locWindowId, 1); } -static void sub_81CBDC0(struct Pokenav4Struct *state) +static void UpdateMatchCallInfoBox(struct Pokenav4Struct *state) { - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - sub_81CBDF4(state->unk12); - sub_81CBE0C(state->unk12); - sub_81CBE38(state->unk12); - sub_81CBE50(state->unk12); - CopyWindowToVram(state->unk12, 2); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + PrintNumberRegisteredLabel(state->infoBoxWindowId); + PrintNumberRegistered(state->infoBoxWindowId); + PrintNumberOfBattlesLabel(state->infoBoxWindowId); + PrintNumberOfBattles(state->infoBoxWindowId); + CopyWindowToVram(state->infoBoxWindowId, 2); } -static void sub_81CBDF4(u16 windowId) +static void PrintNumberRegisteredLabel(u16 windowId) { - sub_81CBE88(windowId, gText_NumberRegistered, 0); + PrintMatchCallInfoLabel(windowId, gText_NumberRegistered, 0); } -static void sub_81CBE0C(u16 windowId) +static void PrintNumberRegistered(u16 windowId) { u8 str[3]; - ConvertIntToDecimalStringN(str, sub_81CAE38(), STR_CONV_MODE_LEFT_ALIGN, 3); - sub_81CBEB4(windowId, str, 1); + ConvertIntToDecimalStringN(str, GetNumberRegistered(), STR_CONV_MODE_LEFT_ALIGN, 3); + PrintMatchCallInfoNumber(windowId, str, 1); } -static void sub_81CBE38(u16 windowId) +static void PrintNumberOfBattlesLabel(u16 windowId) { - sub_81CBE88(windowId, gText_NumberOfBattles, 2); + PrintMatchCallInfoLabel(windowId, gText_NumberOfBattles, 2); } -static void sub_81CBE50(u16 windowId) +static void PrintNumberOfBattles(u16 windowId) { u8 str[5]; int numTrainerBattles = GetGameStat(GAME_STAT_TRAINER_BATTLES); @@ -986,150 +981,150 @@ static void sub_81CBE50(u16 windowId) numTrainerBattles = 99999; ConvertIntToDecimalStringN(str, numTrainerBattles, STR_CONV_MODE_LEFT_ALIGN, 5); - sub_81CBEB4(windowId, str, 3); + PrintMatchCallInfoNumber(windowId, str, 3); } -static void sub_81CBE88(u16 windowId, const u8 *str, int top) +static void PrintMatchCallInfoLabel(u16 windowId, const u8 *str, int top) { int y = top * 16 + 1; AddTextPrinterParameterized(windowId, 7, str, 2, y, TEXT_SPEED_FF, NULL); } -static void sub_81CBEB4(u16 windowId, const u8 *str, int top) +static void PrintMatchCallInfoNumber(u16 windowId, const u8 *str, int top) { int x = GetStringRightAlignXOffset(7, str, 86); int y = top * 16 + 1; AddTextPrinterParameterized(windowId, 7, str, x, y, TEXT_SPEED_FF, NULL); } -static void sub_81CBEF8(struct Pokenav4Struct *state, int arg1) +static void PrintMatchCallLocation(struct Pokenav4Struct *state, int arg1) { u8 mapName[32]; int x; int index = GetSelectedMatchCall() + arg1; - int regionMapSection = sub_81CAEA4(index); - if (regionMapSection != MAPSEC_NONE) - GetMapName(mapName, regionMapSection, 0); + int mapSec = GetMatchCallMapSec(index); + if (mapSec != MAPSEC_NONE) + GetMapName(mapName, mapSec, 0); else StringCopy(mapName, gText_Unknown); x = GetStringCenterAlignXOffset(7, mapName, 88); - FillWindowPixelBuffer(state->unk10, PIXEL_FILL(1)); - AddTextPrinterParameterized(state->unk10, 7, mapName, x, 1, 0, NULL); + FillWindowPixelBuffer(state->locWindowId, PIXEL_FILL(1)); + AddTextPrinterParameterized(state->locWindowId, 7, mapName, x, 1, 0, NULL); } -static void sub_81CBF60(struct Pokenav4Struct *state) +static void PrintMatchCallSelectionOptions(struct Pokenav4Struct *state) { u32 i; - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - for (i = 0; i < 3; i++) + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + for (i = 0; i < MATCH_CALL_OPTION_COUNT; i++) { - int messageId = sub_81CB02C(i); - if (messageId == 3) + int optionText = GetMatchCallOptionId(i); + if (optionText == MATCH_CALL_OPTION_COUNT) break; - AddTextPrinterParameterized(state->unk12, 7, gUnknown_086227E8[messageId], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); + AddTextPrinterParameterized(state->infoBoxWindowId, 7, sMatchCallOptionTexts[optionText], 16, i * 16 + 1, TEXT_SPEED_FF, NULL); } - CopyWindowToVram(state->unk12, 2); + CopyWindowToVram(state->infoBoxWindowId, 2); } static bool32 sub_81CBFC4(struct Pokenav4Struct *state) { if (!IsDma3ManagerBusyWithBgCopy()) { - sub_81CC2F0(state, sub_81CB01C()); + sub_81CC2F0(state, GetMatchCallOptionCursorPos()); return FALSE; } return TRUE; } -static void sub_81CBFF0(struct Pokenav4Struct *state) +static void UpdateWindowsReturnToTrainerList(struct Pokenav4Struct *state) { - sub_81CC330(state); - sub_81CBDC0(state); + CloseMatchCallSelectOptionsWindow(state); + UpdateMatchCallInfoBox(state); } -static bool32 sub_81CC004(struct Pokenav4Struct *state) +static bool32 IsDma3ManagerBusyWithBgCopy1(struct Pokenav4Struct *state) { return IsDma3ManagerBusyWithBgCopy(); } -static void sub_81CC014(struct Pokenav4Struct *state) +static void UpdateWindowsToShowCheckPage(struct Pokenav4Struct *state) { - sub_81CC330(state); - FillWindowPixelBuffer(state->unk12, PIXEL_FILL(1)); - CopyWindowToVram(state->unk12, 2); + CloseMatchCallSelectOptionsWindow(state); + FillWindowPixelBuffer(state->infoBoxWindowId, PIXEL_FILL(1)); + CopyWindowToVram(state->infoBoxWindowId, 2); } static void sub_81CC034(struct Pokenav4Struct *state) { - state->unk14 = AddWindow(&gUnknown_08622808); - sub_8197184(state->unk14, 1, 4); + state->msgBoxWindowId = AddWindow(&sCallMsgBoxWindowTemplate); + sub_8197184(state->msgBoxWindowId, 1, 4); sub_81C7B40(); } -static void sub_81CC058(struct Pokenav4Struct *state) +static void DrawMsgBoxForMatchCallMsg(struct Pokenav4Struct *state) { struct Sprite *sprite; - sub_8197184(state->unk14, 1, 4); - sub_81971C4(state->unk14, 1, 4); - FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); - PutWindowTilemap(state->unk14); - CopyWindowToVram(state->unk14, 3); + sub_8197184(state->msgBoxWindowId, 1, 4); + sub_81971C4(state->msgBoxWindowId, 1, 4); + FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->msgBoxWindowId); + CopyWindowToVram(state->msgBoxWindowId, 3); sprite = PauseSpinningPokenavSprite(); sprite->pos1.x = 24; sprite->pos1.y = 112; sprite->pos2.y = 0; } -static void sub_81CC09C(struct Pokenav4Struct *state) +static void DrawMsgBoxForCloseByMsg(struct Pokenav4Struct *state) { - LoadUserWindowBorderGfx(state->unk14, 1, 0x40); - DrawTextBorderOuter(state->unk14, 1, 4); - FillWindowPixelBuffer(state->unk14, PIXEL_FILL(1)); - PutWindowTilemap(state->unk14); - CopyWindowToVram(state->unk14, 3); + LoadUserWindowBorderGfx(state->msgBoxWindowId, 1, 0x40); + DrawTextBorderOuter(state->msgBoxWindowId, 1, 4); + FillWindowPixelBuffer(state->msgBoxWindowId, PIXEL_FILL(1)); + PutWindowTilemap(state->msgBoxWindowId); + CopyWindowToVram(state->msgBoxWindowId, 3); } -static bool32 sub_81CC0D0(struct Pokenav4Struct *state) +static bool32 IsDma3ManagerBusyWithBgCopy2(struct Pokenav4Struct *state) { return IsDma3ManagerBusyWithBgCopy(); } -static void sub_81CC0E0(struct Pokenav4Struct *state) +static void PrintCallingDots(struct Pokenav4Struct *state) { - AddTextPrinterParameterized(state->unk14, 1, sText_CallingDots, 32, 1, 1, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, sText_CallingDots, 32, 1, 1, NULL); } -static bool32 sub_81CC104(struct Pokenav4Struct *state) +static bool32 WaitForCallingDotsText(struct Pokenav4Struct *state) { RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC11C(struct Pokenav4Struct *state) +static void PrintTrainerIsCloseBy(struct Pokenav4Struct *state) { - AddTextPrinterParameterized(state->unk14, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, gText_TrainerCloseBy, 0, 1, 1, NULL); } -static bool32 sub_81CC140(struct Pokenav4Struct *state) +static bool32 WaitForTrainerIsCloseByText(struct Pokenav4Struct *state) { RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC158(struct Pokenav4Struct *state) +static void PrintMatchCallMessage(struct Pokenav4Struct *state) { int index = GetSelectedMatchCall(); - const u8 *str = sub_81CAF78(index, &state->unkF); + const u8 *str = GetMatchCallMessageText(index, &state->unkF); u8 speed = GetPlayerTextSpeedDelay(); - AddTextPrinterParameterized(state->unk14, 1, str, 32, 1, speed, NULL); + AddTextPrinterParameterized(state->msgBoxWindowId, 1, str, 32, 1, speed, NULL); } -static bool32 sub_81CC194(struct Pokenav4Struct *state) +static bool32 WaitForMatchCallMessageText(struct Pokenav4Struct *state) { if (gMain.heldKeys & A_BUTTON) gTextFlags.canABSpeedUpPrint = 1; @@ -1137,19 +1132,19 @@ static bool32 sub_81CC194(struct Pokenav4Struct *state) gTextFlags.canABSpeedUpPrint = 0; RunTextPrinters(); - return IsTextPrinterActive(state->unk14); + return IsTextPrinterActive(state->msgBoxWindowId); } -static void sub_81CC1DC(struct Pokenav4Struct *state) +static void DrawSpinningPokenavForCall(struct Pokenav4Struct *state) { ResumeSpinningPokenavSprite(); FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); CopyBgTilemapBufferToVram(1); } -static bool32 sub_81CC204(struct Pokenav4Struct *state) +static bool32 WaitForSpinningPokenav(struct Pokenav4Struct *state) { - return IsDma3ManagerBusyWithBgCopy(); + return IsDma3ManagerBusyWithBgCopy(); } static void sub_81CC214(void) @@ -1163,24 +1158,24 @@ static void sub_81CC214(void) LoadCompressedSpriteSheet(&gUnknown_08622810[i]); Pokenav_AllocAndLoadPalettes(gUnknown_08622818); - state->unk1C = NULL; + state->optionsCursorSprite = NULL; spriteSheet.data = state->unk1828; spriteSheet.size = 0x800; spriteSheet.tag = 8; state->unk1824 = (u8 *)OBJ_VRAM0 + LoadSpriteSheet(&spriteSheet) * 0x20; paletteNum = AllocSpritePalette(13); state->unk1A = 0x100 + paletteNum * 0x10; - state->unk20 = sub_81CC370(); - state->unk20->invisible = 1; + state->trainerPicSprite = CreateTrainerPicSprite(); + state->trainerPicSprite->invisible = TRUE; } static void sub_81CC2B4(void) { struct Pokenav4Struct *state = GetSubstructPtr(6); - if (state->unk1C) - DestroySprite(state->unk1C); - if (state->unk20) - DestroySprite(state->unk20); + if (state->optionsCursorSprite) + DestroySprite(state->optionsCursorSprite); + if (state->trainerPicSprite) + DestroySprite(state->trainerPicSprite); FreeSpriteTilesByTag(8); FreeSpriteTilesByTag(7); @@ -1190,26 +1185,26 @@ static void sub_81CC2B4(void) static void sub_81CC2F0(struct Pokenav4Struct *state, int top) { - if (!state->unk1C) + if (!state->optionsCursorSprite) { - u8 spriteId = CreateSprite(&gUnknown_08622830, 4, 80, 5); - state->unk1C = &gSprites[spriteId]; - sub_81CC344(state, top); + u8 spriteId = CreateSprite(&sOptionsCursorSpriteTemplate, 4, 80, 5); + state->optionsCursorSprite = &gSprites[spriteId]; + UpdateCursorGfxPos(state, top); } } -static void sub_81CC330(struct Pokenav4Struct *state) +static void CloseMatchCallSelectOptionsWindow(struct Pokenav4Struct *state) { - DestroySprite(state->unk1C); - state->unk1C = NULL; + DestroySprite(state->optionsCursorSprite); + state->optionsCursorSprite = NULL; } -static void sub_81CC344(struct Pokenav4Struct *state, int top) +static void UpdateCursorGfxPos(struct Pokenav4Struct *state, int top) { - state->unk1C->pos2.y = top * 16; + state->optionsCursorSprite->pos2.y = top * 16; } -void sub_81CC34C(struct Sprite *sprite) +void SpriteCB_OptionsCursor(struct Sprite *sprite) { if (++sprite->data[0] > 3) { @@ -1218,39 +1213,39 @@ void sub_81CC34C(struct Sprite *sprite) } } -static struct Sprite *sub_81CC370(void) +static struct Sprite *CreateTrainerPicSprite(void) { - u8 spriteId = CreateSprite(&gUnknown_08622850, 44, 104, 6); + u8 spriteId = CreateSprite(&sTrainerPicSpriteTemplate, 44, 104, 6); return &gSprites[spriteId]; } -static void sub_81CC39C(struct Pokenav4Struct *state) +static void LoadCheckPageTrainerPic(struct Pokenav4Struct *state) { u16 cursor; - int trainerId = sub_81CAF04(GetSelectedMatchCall()); - if (trainerId >= 0) + int trainerPic = GetMatchCallTrainerPic(GetSelectedMatchCall()); + if (trainerPic >= 0) { - DecompressPicFromTable(&gTrainerFrontPicTable[trainerId], state->unk1828, SPECIES_NONE); - LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerId].data, state->unk2028); + DecompressPicFromTable(&gTrainerFrontPicTable[trainerPic], state->unk1828, SPECIES_NONE); + LZ77UnCompWram(gTrainerFrontPicPaletteTable[trainerPic].data, state->unk2028); cursor = RequestDma3Copy(state->unk1828, state->unk1824, 0x800, 1); LoadPalette(state->unk2028, state->unk1A, 0x20); - state->unk20->data[0] = 0; - state->unk20->data[7] = cursor; - state->unk20->callback = sub_81CC440; + state->trainerPicSprite->data[0] = 0; + state->trainerPicSprite->data[7] = cursor; + state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOnscreen; } } -static void sub_81CC420(struct Pokenav4Struct *state) +static void TrainerPicSlideOffscreen(struct Pokenav4Struct *state) { - state->unk20->callback = sub_81CC4A4; + state->trainerPicSprite->callback = SpriteCB_TrainerPicSlideOffscreen; } -static bool32 sub_81CC42C(struct Pokenav4Struct *state) +static bool32 WaitForTrainerPic(struct Pokenav4Struct *state) { - return state->unk20->callback != SpriteCallbackDummy; + return state->trainerPicSprite->callback != SpriteCallbackDummy; } -static void sub_81CC440(struct Sprite *sprite) +static void SpriteCB_TrainerPicSlideOnscreen(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -1258,7 +1253,7 @@ static void sub_81CC440(struct Sprite *sprite) if (CheckForSpaceForDma3Request(sprite->data[7]) != -1) { sprite->pos2.x = -80; - sprite->invisible = 0; + sprite->invisible = FALSE; sprite->data[0]++; } break; @@ -1273,12 +1268,12 @@ static void sub_81CC440(struct Sprite *sprite) } } -static void sub_81CC4A4(struct Sprite *sprite) +static void SpriteCB_TrainerPicSlideOffscreen(struct Sprite *sprite) { sprite->pos2.x -= 8; if (sprite->pos2.x <= -80) { - sprite->invisible = 1; + sprite->invisible = TRUE; sprite->callback = SpriteCallbackDummy; } } |