diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-12-14 11:16:59 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-12-14 11:16:59 -0500 |
commit | a4e947570943732aa4d808d048c920c38da60b10 (patch) | |
tree | 758d1236540b1635bbb4ccc884478afef1587a99 /src | |
parent | ed1359f6edab5c6e7cfe8e2ba03e37579b333b20 (diff) |
sub_81052D0
Diffstat (limited to 'src')
-rw-r--r-- | src/pokedex_screen.c | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index f54b9b1d6..3d649d312 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -1980,3 +1980,97 @@ bool8 sub_81051F0(u8 a0) CopyBgTilemapBufferToVram(3); return FALSE; } + +bool8 sub_81052D0(u8 a0) +{ + u16 r4; + if (IsNationalPokedexEnabled()) + r4 = gUnknown_84406E0[7]; + else + r4 = gUnknown_84404C8[7]; + switch (gUnknown_203ACF0->field_02) + { + case 0: + gUnknown_203ACF0->field_5C = Alloc(3 * BG_SCREEN_SIZE); + if (a0) + gUnknown_203ACF0->field_02 = 6; + else + gUnknown_203ACF0->field_02 = 2; + break; + case 1: + Free(gUnknown_203ACF0->field_5C); + return TRUE; + case 2: + BeginNormalPaletteFade(0x00007FFF, 0, 0, 16, r4); + gUnknown_203ACF0->field_02++; + break; + case 3: + FillBgTilemapBufferRect_Palette0(3, 0x00C, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 32, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + gUnknown_203ACF0->field_02++; + break; + case 4: + BeginNormalPaletteFade(0x00007FFF, 0, 0, 0, r4); + sub_8104F0C(FALSE); + CpuFastCopy(GetBgTilemapBuffer(3), &gUnknown_203ACF0->field_5C[0 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + CpuFastCopy(GetBgTilemapBuffer(2), &gUnknown_203ACF0->field_5C[1 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + CpuFastCopy(GetBgTilemapBuffer(1), &gUnknown_203ACF0->field_5C[2 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + FillBgTilemapBufferRect_Palette0(3, 0x00C, 0, 0, 30, 20); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 32, 20); + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 32, 20); + gUnknown_203ACF0->field_03 = 0; + gUnknown_203ACF0->field_02++; + PlaySE(SE_TB_START); + break; + case 5: + if (gUnknown_203ACF0->field_03 < 10) + { + sub_81051F0(gUnknown_203ACF0->field_03); + gUnknown_203ACF0->field_03++; + } + else + { + gUnknown_203ACF0->field_02 = 1; + } + break; + case 6: + CpuFastCopy(GetBgTilemapBuffer(3), &gUnknown_203ACF0->field_5C[0 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + CpuFastCopy(GetBgTilemapBuffer(2), &gUnknown_203ACF0->field_5C[1 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + CpuFastCopy(GetBgTilemapBuffer(1), &gUnknown_203ACF0->field_5C[2 * BG_SCREEN_SIZE / 2], BG_SCREEN_SIZE); + gUnknown_203ACF0->field_03 = 9; + gUnknown_203ACF0->field_02++; + PlaySE(SE_TB_START); + break; + case 7: + if (gUnknown_203ACF0->field_03 != 0) + { + sub_81051F0(gUnknown_203ACF0->field_03); + gUnknown_203ACF0->field_03--; + } + else + { + sub_81051F0(gUnknown_203ACF0->field_02); + BeginNormalPaletteFade(0x00007FFF, 0, 16, 16, r4); + gUnknown_203ACF0->field_02++; + } + break; + case 8: + gPaletteFade.bufferTransferDisabled = TRUE; + sub_8104F0C(FALSE); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(3); + gUnknown_203ACF0->field_02++; + break; + case 9: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0x00007FFF, 0, 16, 0, r4); + gUnknown_203ACF0->field_02 = 1; + break; + } + return FALSE; +} |