Document pokedex info page

This commit is contained in:
Slawter666
2019-12-06 02:20:18 +00:00
committed by huderlem
parent 05af6b467c
commit 9fc176f272
+70 -69
View File
@@ -164,7 +164,7 @@ static void CreateInitialPokemonSprites(u16, u16);
bool8 sub_80BD404(u8, u8, u8); bool8 sub_80BD404(u8, u8, u8);
u16 sub_80BD69C(u16, u16); u16 sub_80BD69C(u16, u16);
void sub_80BD8D0(void); void sub_80BD8D0(void);
bool8 sub_80BD930(void); static bool8 UpdateSelectedMon(void);
u8 sub_80BDA40(void); u8 sub_80BDA40(void);
u16 GetPokemonSpriteToDisplay(u16); u16 GetPokemonSpriteToDisplay(u16);
u32 sub_80BDACC(u16, s16, s16); u32 sub_80BDACC(u16, s16, s16);
@@ -186,7 +186,7 @@ void LoadSelectedScreen(u8);
void BeginChangeInfoScreen(u8); void BeginChangeInfoScreen(u8);
void BeginReturnToPokedex(u8); void BeginReturnToPokedex(u8);
void LoadAreaScreen(u8); void LoadAreaScreen(u8);
void sub_80BF1B4(u8); static void WaitForAreaScreenInput(u8 taskId);
void sub_80BF1EC(u8); void sub_80BF1EC(u8);
void LoadCryScreen(u8); void LoadCryScreen(u8);
void sub_80BF5CC(u8); void sub_80BF5CC(u8);
@@ -203,12 +203,12 @@ static void Task_DisplayNewMonData(u8);
void sub_80C0088(u8); void sub_80C0088(u8);
void blockset_load_palette_to_gpu(u8); void blockset_load_palette_to_gpu(u8);
void sub_80C01CC(struct Sprite *sprite); void sub_80C01CC(struct Sprite *sprite);
void sub_80C020C(u32, u32, u32, u32); static void PrintMonInfo(u32 num, u32, u32 owned, u32 newEntry);
void sub_80C0354(u16, u8, u8); static void PrintMonHeight(u16 height, u8 left, u8 top);
void sub_80C0460(u16 weight, u8 left, u8 top); static void PrintMonWeight(u16 weight, u8 left, u8 top);
void sub_80C09B0(u16); static void ResetOtherRegisters(u16);
u8 sub_80C0B44(u8, u16, u8, u8); u8 sub_80C0B44(u8, u16, u8, u8);
void sub_80C0D30(u8, u16); static void PrintFootprint(u8 windowId, u16 dexNum);
u16 sub_80C0EF8(u16, s16, s16, s8); u16 sub_80C0EF8(u16, s16, s16, s8);
u16 sub_80C0E0C(u8, u16, u16, u16); u16 sub_80C0E0C(u8, u16, u16, u16);
u8 LoadSearchMenu(void); u8 LoadSearchMenu(void);
@@ -1323,7 +1323,7 @@ void CB2_Pokedex(void)
case 0: case 0:
default: default:
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sub_80C09B0(0); ResetOtherRegisters(0);
DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000); DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000);
DmaClear32(3, OAM, OAM_SIZE); DmaClear32(3, OAM, OAM_SIZE);
DmaClear16(3, PLTT, PLTT_SIZE); DmaClear16(3, PLTT, PLTT_SIZE);
@@ -1527,7 +1527,7 @@ void sub_80BBC74(u8 taskId)
{ {
if (gTasks[gTasks[taskId].data[0]].isActive) if (gTasks[gTasks[taskId].data[0]].isActive)
{ {
if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930()) if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon())
sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]); sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
} }
else else
@@ -1727,7 +1727,7 @@ void sub_80BC360(u8 taskId)
{ {
if (gTasks[gTasks[taskId].data[0]].isActive) if (gTasks[gTasks[taskId].data[0]].isActive)
{ {
if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930()) if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && UpdateSelectedMon())
sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]); sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
} }
else else
@@ -1776,7 +1776,7 @@ bool8 sub_80BC514(u8 a)
return 0; return 0;
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sPokedexView->unk64A = a; sPokedexView->unk64A = a;
sub_80C09B0(0); ResetOtherRegisters(0);
SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset); SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sPokedex_BgTemplate, 4); InitBgsFromTemplates(0, sPokedex_BgTemplate, 4);
@@ -2378,7 +2378,7 @@ void sub_80BD8D0(void)
} }
} }
u8 sub_80BD930(void) static bool8 UpdateSelectedMon(void)
{ {
u16 r2; u16 r2;
u16 r4 = sPokedexView->selectedPokemon; u16 r4 = sPokedexView->selectedPokemon;
@@ -2855,7 +2855,7 @@ void sub_80BE834(struct Sprite *sprite)
} }
} }
void sub_80BE8DC(const u8* str, u8 left, u8 top) static void PrintInfoPageText(const u8* str, u8 left, u8 top)
{ {
u8 color[3]; u8 color[3];
color[0] = 0; color[0] = 0;
@@ -2924,21 +2924,21 @@ void LoadInfoScreen(u8 taskId)
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
r2 = 0; r2 = 0;
if (gTasks[taskId].data[1] != 0) if (gTasks[taskId].data[1] != 0)
r2 += 0x1000; r2 += DISPCNT_OBJ_ON;
if (gTasks[taskId].data[2] != 0) if (gTasks[taskId].data[2] != 0)
r2 |= 0x200; r2 |= DISPCNT_BG1_ON;
sub_80C09B0(r2); ResetOtherRegisters(r2);
gMain.state = 1; gMain.state = 1;
} }
break; break;
case 1: case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0); DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0); CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
FillWindowPixelBuffer(0, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
PutWindowTilemap(0); PutWindowTilemap(WIN_INFO);
PutWindowTilemap(1); PutWindowTilemap(WIN_FOOTPRINT);
sub_80C0D30(1, sPokedexListItem->dexNum); PrintFootprint(WIN_FOOTPRINT, sPokedexListItem->dexNum);
CopyWindowToVram(1, 2); CopyWindowToVram(WIN_FOOTPRINT, 2);
gMain.state++; gMain.state++;
break; break;
case 2: case 2:
@@ -2951,10 +2951,10 @@ void LoadInfoScreen(u8 taskId)
gMain.state++; gMain.state++;
break; break;
case 4: case 4:
sub_80C020C(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0); PrintMonInfo(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0);
if (!sPokedexListItem->owned) if (!sPokedexListItem->owned)
LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E); LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E);
CopyWindowToVram(0, 3); CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3); CopyBgTilemapBufferToVram(3);
@@ -2970,13 +2970,13 @@ void LoadInfoScreen(u8 taskId)
break; break;
case 6: case 6:
{ {
u32 r3 = 0; u32 paletteIndex = 0;
if (gTasks[taskId].data[2] != 0) if (gTasks[taskId].data[2] != 0)
r3 = 0x14; paletteIndex = 0x14; // each bit represents a palette index
if (gTasks[taskId].data[1] != 0) if (gTasks[taskId].data[1] != 0)
r3 |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16)); paletteIndex |= (1 << (gSprites[gTasks[taskId].tMonSpriteId].oam.paletteNum + 16));
BeginNormalPaletteFade(~r3, 0, 16, 0, RGB_BLACK); BeginNormalPaletteFade(~paletteIndex, 0, 16, 0, RGB_BLACK);
SetVBlankCallback(gUnknown_030060B4); SetVBlankCallback(gUnknown_030060B4);
gMain.state++; gMain.state++;
} }
@@ -3022,7 +3022,7 @@ void LoadInfoScreen(u8 taskId)
} }
} }
void sub_80BEDB0(void) static void FreeWindowAndBgBuffers(void)
{ {
void *r0; void *r0;
FreeAllWindowBuffers(); FreeAllWindowBuffers();
@@ -3148,7 +3148,7 @@ void BeginReturnToPokedex(u8 taskId)
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId); FreeAndDestroyMonPicSprite(gTasks[taskId].tMonSpriteId);
sub_80BEDB0(); FreeWindowAndBgBuffers();
DestroyTask(taskId); DestroyTask(taskId);
} }
} }
@@ -3164,7 +3164,7 @@ void LoadAreaScreen(u8 taskId)
sPokedexView->unk64A = 5; sPokedexView->unk64A = 5;
gUnknown_030060B4 = gMain.vblankCallback; gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sub_80C09B0(0x200); ResetOtherRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = AREA_SCREEN; sPokedexView->selectedScreen = AREA_SCREEN;
gMain.state = 1; gMain.state = 1;
} }
@@ -3181,13 +3181,14 @@ void LoadAreaScreen(u8 taskId)
SetVBlankCallback(gUnknown_030060B4); SetVBlankCallback(gUnknown_030060B4);
sPokedexView->unk64E = 0; sPokedexView->unk64E = 0;
gMain.state = 0; gMain.state = 0;
gTasks[taskId].func = sub_80BF1B4; gTasks[taskId].func = WaitForAreaScreenInput;
break; break;
} }
} }
void sub_80BF1B4(u8 taskId) static void WaitForAreaScreenInput(u8 taskId)
{ {
// See Task_PokedexAreaScreen_1() in pokedex_area_screen.c
if (sPokedexView->unk64E != 0) if (sPokedexView->unk64E != 0)
gTasks[taskId].func = sub_80BF1EC; gTasks[taskId].func = sub_80BF1EC;
} }
@@ -3221,7 +3222,7 @@ void LoadCryScreen(u8 taskId)
sPokedexView->unk64A = 6; sPokedexView->unk64A = 6;
gUnknown_030060B4 = gMain.vblankCallback; gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sub_80C09B0(0x200); ResetOtherRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = CRY_SCREEN; sPokedexView->selectedScreen = CRY_SCREEN;
gMain.state = 1; gMain.state = 1;
} }
@@ -3246,7 +3247,7 @@ void LoadCryScreen(u8 taskId)
gMain.state++; gMain.state++;
break; break;
case 4: case 4:
sub_80BE8DC(gText_CryOf, 0x52, 33); PrintInfoPageText(gText_CryOf, 0x52, 33);
sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49); sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49);
gMain.state++; gMain.state++;
break; break;
@@ -3415,7 +3416,7 @@ void LoadSizeScreen(u8 taskId)
sPokedexView->unk64A = 7; sPokedexView->unk64A = 7;
gUnknown_030060B4 = gMain.vblankCallback; gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sub_80C09B0(0x200); ResetOtherRegisters(DISPCNT_BG1_ON);
sPokedexView->selectedScreen = SIZE_SCREEN; sPokedexView->selectedScreen = SIZE_SCREEN;
gMain.state = 1; gMain.state = 1;
} }
@@ -3439,7 +3440,7 @@ void LoadSizeScreen(u8 taskId)
StringCopy(string, gText_SizeComparedTo); StringCopy(string, gText_SizeComparedTo);
StringAppend(string, gSaveBlock2Ptr->playerName); StringAppend(string, gSaveBlock2Ptr->playerName);
sub_80BE8DC(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79); PrintInfoPageText(string, GetStringCenterAlignXOffset(1, string, 0xF0), 0x79);
gMain.state++; gMain.state++;
} }
break; break;
@@ -3760,7 +3761,7 @@ static void Task_DisplayNewMonData(u8 taskId)
{ {
gUnknown_030060B4 = gMain.vblankCallback; gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL); SetVBlankCallback(NULL);
sub_80C09B0(0x100); ResetOtherRegisters(DISPCNT_BG0_ON);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sNewEntryInfoScreen_BgTemplate, 2); InitBgsFromTemplates(0, sNewEntryInfoScreen_BgTemplate, 2);
SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(3, AllocZeroed(0x800));
@@ -3776,7 +3777,7 @@ static void Task_DisplayNewMonData(u8 taskId)
FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_INFO, PIXEL_FILL(0));
PutWindowTilemap(WIN_INFO); PutWindowTilemap(WIN_INFO);
PutWindowTilemap(WIN_FOOTPRINT); PutWindowTilemap(WIN_FOOTPRINT);
sub_80C0D30(1, gTasks[taskId].data[1]); PrintFootprint(WIN_FOOTPRINT, gTasks[taskId].data[1]);
CopyWindowToVram(WIN_FOOTPRINT, 2); CopyWindowToVram(WIN_FOOTPRINT, 2);
ResetPaletteFade(); ResetPaletteFade();
LoadPokedexBgPalette(0); LoadPokedexBgPalette(0);
@@ -3786,7 +3787,7 @@ static void Task_DisplayNewMonData(u8 taskId)
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
break; break;
case 3: case 3:
sub_80C020C(dexNum, IsNationalPokedexEnabled(), 1, 1); PrintMonInfo(dexNum, IsNationalPokedexEnabled(), 1, 1);
CopyWindowToVram(WIN_INFO, 3); CopyWindowToVram(WIN_INFO, 3);
CopyBgTilemapBufferToVram(2); CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(3); CopyBgTilemapBufferToVram(3);
@@ -3881,7 +3882,7 @@ void sub_80C01CC(struct Sprite *sprite)
sprite->pos1.y -= 1; sprite->pos1.y -= 1;
} }
void sub_80C020C(u32 num, u32 value, u32 c, u32 d) static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry)
{ {
u8 str[0x10]; u8 str[0x10];
u8 str2[0x20]; u8 str2[0x20];
@@ -3890,21 +3891,21 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
const u8 *text2; const u8 *text2;
const u8 *text3; const u8 *text3;
if (d) if (newEntry)
sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); PrintInfoPageText(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0);
if (value == 0) if (value == 0)
value = NationalToHoennOrder(num); value = NationalToHoennOrder(num);
else else
value = num; value = num;
ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, STR_CONV_MODE_LEADING_ZEROS, 3); ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, STR_CONV_MODE_LEADING_ZEROS, 3);
sub_80BE8DC(str, 0x60, 0x19); PrintInfoPageText(str, 0x60, 0x19);
natNum = NationalPokedexNumToSpecies(num); natNum = NationalPokedexNumToSpecies(num);
if (natNum) if (natNum)
text = gSpeciesNames[natNum]; text = gSpeciesNames[natNum];
else else
text = sText_TenDashes2; text = sText_TenDashes2;
sub_80BE8DC(text, 0x84, 0x19); PrintInfoPageText(text, 0x84, 0x19);
if (c) if (owned)
{ {
CopyMonCategoryText(num, str2); CopyMonCategoryText(num, str2);
text2 = str2; text2 = str2;
@@ -3913,27 +3914,27 @@ void sub_80C020C(u32 num, u32 value, u32 c, u32 d)
{ {
text2 = gText_5MarksPokemon; text2 = gText_5MarksPokemon;
} }
sub_80BE8DC(text2, 0x64, 0x29); PrintInfoPageText(text2, 0x64, 0x29);
sub_80BE8DC(gText_HTHeight, 0x60, 0x39); PrintInfoPageText(gText_HTHeight, 0x60, 0x39);
sub_80BE8DC(gText_WTWeight, 0x60, 0x49); PrintInfoPageText(gText_WTWeight, 0x60, 0x49);
if (c) if (owned)
{ {
sub_80C0354(gPokedexEntries[num].height, 0x81, 0x39); PrintMonHeight(gPokedexEntries[num].height, 0x81, 0x39);
sub_80C0460(gPokedexEntries[num].weight, 0x81, 0x49); PrintMonWeight(gPokedexEntries[num].weight, 0x81, 0x49);
} }
else else
{ {
sub_80BE8DC(gText_UnkHeight, 0x81, 0x39); PrintInfoPageText(gText_UnkHeight, 0x81, 0x39);
sub_80BE8DC(gText_UnkWeight, 0x81, 0x49); PrintInfoPageText(gText_UnkWeight, 0x81, 0x49);
} }
if (c) if (owned)
text3 = gPokedexEntries[num].description; text3 = gPokedexEntries[num].description;
else else
text3 = gExpandedPlaceholder_PokedexDescription; text3 = gExpandedPlaceholder_PokedexDescription;
sub_80BE8DC(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F); PrintInfoPageText(text3, GetStringCenterAlignXOffset(1, text3, 0xF0), 0x5F);
} }
void sub_80C0354(u16 height, u8 left, u8 top) static void PrintMonHeight(u16 height, u8 left, u8 top)
{ {
u8 buffer[16]; u8 buffer[16];
u32 inches, feet; u32 inches, feet;
@@ -3963,13 +3964,13 @@ void sub_80C0354(u16 height, u8 left, u8 top)
buffer[i++] = (inches % 10) + CHAR_0; buffer[i++] = (inches % 10) + CHAR_0;
buffer[i++] = CHAR_DBL_QUOT_RIGHT; buffer[i++] = CHAR_DBL_QUOT_RIGHT;
buffer[i++] = EOS; buffer[i++] = EOS;
sub_80BE8DC(buffer, left, top); PrintInfoPageText(buffer, left, top);
} }
#ifdef NONMATCHING #ifdef NONMATCHING
// This doesn't match because gcc manages to avoid using the stack // This doesn't match because gcc manages to avoid using the stack
// to store local variables. // to store local variables.
void sub_80C0460(u16 weight, u8 left, u8 top) static void PrintMonWeight(u16 weight, u8 left, u8 top)
{ {
u8 buffer[16]; u8 buffer[16];
bool8 output; bool8 output;
@@ -4025,11 +4026,11 @@ void sub_80C0460(u16 weight, u8 left, u8 top)
buffer[i++] = CHAR_s; buffer[i++] = CHAR_s;
buffer[i++] = CHAR_PERIOD; buffer[i++] = CHAR_PERIOD;
buffer[i++] = EOS; buffer[i++] = EOS;
sub_80BE8DC(buffer, left, top); PrintInfoPageText(buffer, left, top);
} }
#else #else
__attribute__((naked)) __attribute__((naked))
void sub_80C0460(u16 weight, u8 left, u8 top) static void PrintMonWeight(u16 weight, u8 left, u8 top)
{ {
asm(".syntax unified\n\ asm(".syntax unified\n\
push {r4-r7,lr}\n\ push {r4-r7,lr}\n\
@@ -4234,7 +4235,7 @@ _080C0552:\n\
mov r0, sp\n\ mov r0, sp\n\
mov r1, r10\n\ mov r1, r10\n\
ldr r2, [sp, 0x10]\n\ ldr r2, [sp, 0x10]\n\
bl sub_80BE8DC\n\ bl PrintInfoPageText\n\
add sp, 0x14\n\ add sp, 0x14\n\
pop {r3-r5}\n\ pop {r3-r5}\n\
mov r8, r3\n\ mov r8, r3\n\
@@ -4247,7 +4248,7 @@ _080C0552:\n\
} }
#endif #endif
const u8 *sub_80C0620(u16 dexNum) const u8 *GetPokedexCategoryName(u16 dexNum) // unused
{ {
return gPokedexEntries[dexNum].categoryName; return gPokedexEntries[dexNum].categoryName;
} }
@@ -4435,7 +4436,7 @@ bool16 HasAllMons(void)
return TRUE; return TRUE;
} }
void sub_80C09B0(u16 a) static void ResetOtherRegisters(u16 a)
{ {
if (!(a & DISPCNT_BG0_ON)) if (!(a & DISPCNT_BG0_ON))
{ {
@@ -4484,7 +4485,7 @@ void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top)
AddTextPrinterParameterized4(windowId, 1, left, top, 0, 0, color, -1, str); AddTextPrinterParameterized4(windowId, 1, left, top, 0, 0, color, -1, str);
} }
void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) // unused
{ {
u8 str[4]; u8 str[4];
@@ -4518,7 +4519,7 @@ u8 sub_80C0B44(u8 windowId, u16 num, u8 left, u8 top)
return i; return i;
} }
void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) // unused
{ {
u8 str2[11]; u8 str2[11];
u8 i; u8 i;
@@ -4534,7 +4535,7 @@ void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top)
sub_80C0A88(windowId, str2, left, top); sub_80C0A88(windowId, str2, left, top);
} }
void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) // unused
{ {
u8 str[6]; u8 str[6];
bool8 outputted = FALSE; bool8 outputted = FALSE;
@@ -4571,10 +4572,10 @@ void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top)
sub_80C0A88(windowId, str, left, top); sub_80C0A88(windowId, str, left, top);
} }
void sub_80C0D30(u8 windowId, u16 a1) static void PrintFootprint(u8 windowId, u16 dexNum)
{ {
u8 image[32 * 4]; u8 image[32 * 4];
const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(a1)]; const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(dexNum)];
u16 r5 = 0; u16 r5 = 0;
u16 i; u16 i;
u16 j; u16 j;
@@ -4802,7 +4803,7 @@ void Task_LoadSearchMenu(u8 taskId)
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sPokedexView->unk64A = 2; sPokedexView->unk64A = 2;
sub_80C09B0(0); ResetOtherRegisters(0);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sSearchMenu_BgTemplate, 4); InitBgsFromTemplates(0, sSearchMenu_BgTemplate, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800)); SetBgTilemapBuffer(3, AllocZeroed(0x800));