summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-04-05 13:11:38 -0400
committerhuderlem <huderlem@gmail.com>2019-04-06 08:16:13 -0500
commit52ccb2c2fedcb3ea33b6e8900d77857698f3ade3 (patch)
treec8dd14779eba275d4688d287f6c77199ed2b5b09
parent92c1318ec41e38d7abd26376063b6f77dead7d4f (diff)
through sub_80F5BDC
-rw-r--r--asm/pokenav.s99
-rw-r--r--src/menu_specialized.c41
2 files changed, 41 insertions, 99 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 89e9cd163..e2f33ed2c 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -5,105 +5,6 @@
.text
- thumb_func_start sub_80F5B38
-sub_80F5B38: @ 80F5B38
- ldr r0, _080F5B48 @ =gPokenavStructPtr
- ldr r0, [r0]
- ldr r1, _080F5B4C @ =0x00009345
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080F5B48: .4byte gPokenavStructPtr
-_080F5B4C: .4byte 0x00009345
- thumb_func_end sub_80F5B38
-
- thumb_func_start sub_80F5B50
-sub_80F5B50: @ 80F5B50
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, _080F5B68 @ =gPokenavStructPtr
- ldr r0, [r0]
- ldr r1, _080F5B6C @ =0x00009345
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080F5B70
- cmp r0, 0x1
- beq _080F5BB4
- b _080F5BCC
- .align 2, 0
-_080F5B68: .4byte gPokenavStructPtr
-_080F5B6C: .4byte 0x00009345
-_080F5B70:
- bl ScanlineEffect_Clear
- ldr r0, _080F5BA8 @ =gScanlineEffectRegBuffers
- movs r2, 0xEF
- movs r3, 0xF4
- lsls r3, 3
- adds r1, r0, r3
- adds r0, 0x20
- movs r3, 0xF
-_080F5B82:
- strh r2, [r0]
- strh r2, [r0, 0x2]
- strh r2, [r1]
- strh r2, [r1, 0x2]
- adds r1, 0x4
- adds r0, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _080F5B82
- ldr r0, _080F5BAC @ =gPokenavStructPtr
- ldr r1, [r0]
- ldr r5, _080F5BB0 @ =0x00009345
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _080F5BCE
- .align 2, 0
-_080F5BA8: .4byte gScanlineEffectRegBuffers
-_080F5BAC: .4byte gPokenavStructPtr
-_080F5BB0: .4byte 0x00009345
-_080F5BB4:
- mov r0, sp
- ldr r1, _080F5BD8 @ =gUnknown_083E4990
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl ScanlineEffect_SetParams
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080F5BCC:
- movs r0, 0
-_080F5BCE:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5BD8: .4byte gUnknown_083E4990
- thumb_func_end sub_80F5B50
-
- thumb_func_start sub_80F5BDC
-sub_80F5BDC: @ 80F5BDC
- push {lr}
- ldr r1, _080F5BEC @ =gScanlineEffect
- movs r0, 0x3
- strb r0, [r1, 0x15]
- bl ScanlineEffect_InitHBlankDmaTransfer
- pop {r0}
- bx r0
- .align 2, 0
-_080F5BEC: .4byte gScanlineEffect
- thumb_func_end sub_80F5BDC
-
thumb_func_start sub_80F5BF0
sub_80F5BF0: @ 80F5BF0
push {r4-r7,lr}
diff --git a/src/menu_specialized.c b/src/menu_specialized.c
index c55a51763..a9cb626f8 100644
--- a/src/menu_specialized.c
+++ b/src/menu_specialized.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "scanline_effect.h"
#include "pokenav.h"
/* TODO
@@ -416,3 +417,43 @@ void sub_80F5A1C(struct UnkPokenav11 *arg0)
// }
}
+void sub_80F5B38(void)
+{
+ gPokenavStructPtr->unk9345 = 0;
+}
+
+extern const struct ScanlineEffectParams gUnknown_083E4990;
+
+bool8 sub_80F5B50(void)
+{
+ s32 i;
+ struct ScanlineEffectParams params;
+
+ switch (gPokenavStructPtr->unk9345)
+ {
+ case 0:
+ ScanlineEffect_Clear();
+ for (i = 0; i < 16; i++)
+ {
+ gScanlineEffectRegBuffers[0][16 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[0][17 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[1][16 + 2 * i] = 0xEF;
+ gScanlineEffectRegBuffers[1][17 + 2 * i] = 0xEF;
+ }
+ gPokenavStructPtr->unk9345++;
+ return TRUE;
+ case 1:
+ params = gUnknown_083E4990;
+ ScanlineEffect_SetParams(params);
+ gPokenavStructPtr->unk9345++;
+ break;
+ }
+ return FALSE;
+}
+
+void sub_80F5BDC(void)
+{
+ gScanlineEffect.state = 3;
+ ScanlineEffect_InitHBlankDmaTransfer();
+}
+