summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s198
-rw-r--r--src/pokenav_before.c73
2 files changed, 73 insertions, 198 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 076175847..bcf612bda 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,204 +6,6 @@
.text
- thumb_func_start sub_80EE3D8
-sub_80EE3D8: @ 80EE3D8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080EE3F8 @ =0x02000000
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xD
- bls _080EE3EC
- b _080EE57A
-_080EE3EC:
- lsls r0, 2
- ldr r1, _080EE3FC @ =_080EE400
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE3F8: .4byte 0x02000000
-_080EE3FC: .4byte _080EE400
- .align 2, 0
-_080EE400:
- .4byte _080EE438
- .4byte _080EE444
- .4byte _080EE458
- .4byte _080EE48C
- .4byte _080EE4B0
- .4byte _080EE4B6
- .4byte _080EE4CA
- .4byte _080EE4DC
- .4byte _080EE4F0
- .4byte _080EE504
- .4byte _080EE50C
- .4byte _080EE516
- .4byte _080EE54C
- .4byte _080EE568
-_080EE438:
- bl sub_80F1E84
- movs r0, 0
- bl sub_80F2D04
- b _080EE552
-_080EE444:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EE450
- b _080EE57A
-_080EE450:
- movs r0, 0x9
- bl sub_80EEFBC
- b _080EE552
-_080EE458:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EE466
- b _080EE57A
-_080EE466:
- ldr r4, _080EE488 @ =0x02000000
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080EE55A
- .align 2, 0
-_080EE488: .4byte 0x02000000
-_080EE48C:
- ldr r0, _080EE4AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE57A
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- bl sub_80EEE08
- b _080EE552
- .align 2, 0
-_080EE4AC: .4byte gPaletteFade
-_080EE4B0:
- bl sub_80F2620
- b _080EE552
-_080EE4B6:
- movs r0, 0x2
- bl sub_80F0264
- ldr r1, _080EE4D8 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE4CA:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080EE57A
- b _080EE552
- .align 2, 0
-_080EE4D8: .4byte 0x02000000
-_080EE4DC:
- movs r0, 0x3
- bl sub_80F2C80
- ldr r1, _080EE500 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE4F0:
- movs r0, 0x3
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EE57A
- b _080EE552
- .align 2, 0
-_080EE500: .4byte 0x02000000
-_080EE504:
- movs r0, 0x2
- bl sub_80F3008
- b _080EE552
-_080EE50C:
- bl sub_8055870
- cmp r0, 0
- bne _080EE57A
- b _080EE552
-_080EE516:
- bl sub_80F6F10
- ldr r4, _080EE544 @ =0x02000000
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080EE548 @ =sub_80EBD68
- bl SetVBlankCallback
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080EE55A
- .align 2, 0
-_080EE544: .4byte 0x02000000
-_080EE548: .4byte sub_80EBD68
-_080EE54C:
- movs r0, 0x5
- bl sub_80EED2C
-_080EE552:
- ldr r1, _080EE564 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EE55A:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE57A
- .align 2, 0
-_080EE564: .4byte 0x02000000
-_080EE568:
- ldr r0, _080EE584 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE57A
- ldr r0, _080EE588 @ =sub_80EE58C
- bl sub_80EBDBC
-_080EE57A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE584: .4byte gPaletteFade
-_080EE588: .4byte sub_80EE58C
- thumb_func_end sub_80EE3D8
-
thumb_func_start sub_80EE58C
sub_80EE58C: @ 80EE58C
push {r4,r5,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 12bbf5aba..e43ff2857 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -2141,3 +2141,76 @@ void sub_80EE294() {
break;
}
}
+
+void sub_80F6F10();
+void sub_80EE58C();
+
+void sub_80EE3D8() {
+ u8 var1;
+ switch (ewram0.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0x9);
+ ewram0.var304++;
+ break;
+ case 2:
+ if (!(var1 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var1);
+ ewram0.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ sub_80EEE08();
+ ewram0.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0.var304++;
+ break;
+ case 5:
+ sub_80F0264(0x2);
+ ewram0.var304++;
+ case 6:
+ if (sub_80F02A0()) return;
+ ewram0.var304++;
+ break;
+ case 7:
+ sub_80F2C80(0x3);
+ ewram0.var304++;
+ case 8:
+ if (sub_80F2CBC(0x3)) return;
+ ewram0.var304++;
+ break;
+ case 9:
+ sub_80F3008(0x2);
+ ewram0.var304++;
+ break;
+ case 0xA:
+ if (sub_8055870()) return;
+ ewram0.var304++;
+ break;
+ case 0xB:
+ sub_80F6F10();
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD68);
+ ewram0.var304++;
+ break;
+ case 0xC:
+ sub_80EED2C(0x5);
+ ewram0.var304++;
+ break;
+ case 0xD:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EE58C);
+ break;
+ }
+}