diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-04-05 13:43:17 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-04-06 08:16:13 -0500 |
commit | 732fe126544143e468ac193c2a057c5ac6076767 (patch) | |
tree | bbb4792e3855bd4bf8cffd244b761f3e29105f4c /src | |
parent | 52ccb2c2fedcb3ea33b6e8900d77857698f3ade3 (diff) |
through sub_80F5E20
Diffstat (limited to 'src')
-rw-r--r-- | src/menu_specialized.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/menu_specialized.c b/src/menu_specialized.c index a9cb626f8..cd80f1603 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -2,6 +2,11 @@ #include "scanline_effect.h" #include "pokenav.h" +u8 sub_80F5E20(void); +u8 sub_80F5EE4(void); +u8 sub_80F5FB4(void); +u8 sub_80F6010(void); + /* TODO // emerald: sub_81D2278 void sub_80F5688(u16 * r6, u16 * r5, u16 * sp0, u8 r9, u16 * r7) @@ -457,3 +462,88 @@ void sub_80F5BDC(void) ScanlineEffect_InitHBlankDmaTransfer(); } +void sub_80F5BF0(void) +{ + u16 i; + + if (gPokenavStructPtr->unk9344) + { + sub_80F58DC(gPokenavStructPtr->unk911C); + sub_80F5A1C(gPokenavStructPtr->unk911C); + for (i = 0; i < 66; i++) + { + gScanlineEffectRegBuffers[1][(i + 55) * 2 + 0] = gScanlineEffectRegBuffers[0][(i + 55) * 2 + 0] = (gPokenavStructPtr->unk9130[i][0] << 8) | (gPokenavStructPtr->unk9130[i][1]); + gScanlineEffectRegBuffers[1][(i + 55) * 2 + 1] = gScanlineEffectRegBuffers[0][(i + 55) * 2 + 1] = (gPokenavStructPtr->unk9238[i][0] << 8) | (gPokenavStructPtr->unk9238[i][1]); + } + gPokenavStructPtr->unk9344 = 0; + } +} + +void sub_80F5CDC(u8 a0) +{ + u16 i, r5; + + if (gPokenavStructPtr->unk9344) + { + sub_80F58DC(gPokenavStructPtr->unk911C); + sub_80F5A1C(gPokenavStructPtr->unk911C); + r5 = 2 * (55 - a0); + for (i = 0; i < 66; i ++) + { + gScanlineEffectRegBuffers[1][r5 + 0] = gScanlineEffectRegBuffers[0][r5 + 0] = (gPokenavStructPtr->unk9130[i][0] << 8) | (gPokenavStructPtr->unk9130[i][1]); + gScanlineEffectRegBuffers[1][r5 + 1] = gScanlineEffectRegBuffers[0][r5 + 1] = (gPokenavStructPtr->unk9238[i][0] << 8) | (gPokenavStructPtr->unk9238[i][1]); + r5 += 2; + } + gPokenavStructPtr->unk9344 = 0; + } +} + +u8 sub_80F5DD4(void) +{ + if (({gMain.newAndRepeatedKeys & DPAD_UP;})) + { + return sub_80F5E20(); + } + else if (({gMain.newAndRepeatedKeys & DPAD_DOWN;})) + { + return sub_80F5EE4(); + } + else if (({gMain.newAndRepeatedKeys & DPAD_LEFT;})) + { + return sub_80F5FB4(); + } + else if (({gMain.newAndRepeatedKeys & DPAD_RIGHT;})) + { + return sub_80F6010(); + } + else + { + return 0; + } +} + +u8 sub_80F5E20(void) +{ + if (gPokenavStructPtr->unk876E == 0) + { + return 0; + } + if (gPokenavStructPtr->unk87C9 != 0 && gPokenavStructPtr->unk876C == 0) + { + sub_80F063C(-1); + sub_80F6074(-1); + return 2; + } + gPokenavStructPtr->unk876C--; + if (gPokenavStructPtr->unk87C9 == 0 && gPokenavStructPtr->unk876C < 0) + { + gPokenavStructPtr->unk876C = gPokenavStructPtr->unk8772; + } + gPokenavStructPtr->unk876E = gPokenavStructPtr->unk8770 + gPokenavStructPtr->unk876C; + if (gPokenavStructPtr->unk876E > gPokenavStructPtr->unk8774) + { + gPokenavStructPtr->unk876E -= gPokenavStructPtr->unk8774 + 1; + } + return 1; +} + |