summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s303
-rw-r--r--src/pokenav_before.c135
2 files changed, 135 insertions, 303 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 96cc9b405..ccd00414c 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,309 +6,6 @@
.text
- thumb_func_start sub_80EE658
-sub_80EE658: @ 80EE658
- push {r4,r5,lr}
- ldr r1, _080EE678 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _080EE66C
- b _080EE8E8
-_080EE66C:
- lsls r0, 2
- ldr r1, _080EE67C @ =_080EE680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE678: .4byte 0x02000000
-_080EE67C: .4byte _080EE680
- .align 2, 0
-_080EE680:
- .4byte _080EE6C8
- .4byte _080EE6DA
- .4byte _080EE6F4
- .4byte _080EE708
- .4byte _080EE71C
- .4byte _080EE730
- .4byte _080EE758
- .4byte _080EE76A
- .4byte _080EE780
- .4byte _080EE820
- .4byte _080EE840
- .4byte _080EE854
- .4byte _080EE868
- .4byte _080EE86E
- .4byte _080EE880
- .4byte _080EE898
- .4byte _080EE8B4
- .4byte _080EE8D4
-_080EE6C8:
- movs r0, 0x1
- bl sub_80F3294
- movs r0, 0xA
- bl sub_80EEFBC
- bl sub_80F0B24
- b _080EE8BE
-_080EE6DA:
- bl sub_80F0B44
- lsls r0, 24
- cmp r0, 0
- beq _080EE6E6
- b _080EE8E8
-_080EE6E6:
- ldr r1, _080EE6F0 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE6F0: .4byte 0x02000000
-_080EE6F4:
- bl sub_80F0F64
- ldr r1, _080EE704 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE704: .4byte 0x02000000
-_080EE708:
- bl sub_80F0FEC
- lsls r0, 24
- cmp r0, 0
- beq _080EE714
- b _080EE8E8
-_080EE714:
- movs r0, 0x1
- bl sub_80F6FB8
- b _080EE8BE
-_080EE71C:
- bl sub_80F6DB8
- ldr r1, _080EE72C @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE72C: .4byte 0x02000000
-_080EE730:
- ldr r4, _080EE750 @ =0x02008788
- adds r0, r4, 0
- subs r0, 0x1A
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_80F700C
- adds r0, r4, 0
- bl sub_80F42C4
- ldr r1, _080EE754 @ =0xffff7b7c
- adds r4, r1
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EE8E8
- .align 2, 0
-_080EE750: .4byte 0x02008788
-_080EE754: .4byte 0xffff7b7c
-_080EE758:
- bl sub_80F0CD8
- ldr r1, _080EE77C @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE76A:
- bl sub_80F6E9C
- lsls r0, 24
- cmp r0, 0
- beq _080EE776
- b _080EE8E8
-_080EE776:
- bl sub_80F0D5C
- b _080EE8B8
- .align 2, 0
-_080EE77C: .4byte 0x02000000
-_080EE780:
- ldr r2, _080EE7B0 @ =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080EE7B8
- ldr r1, _080EE7B4 @ =0x000087dc
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080EE7B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_80F708C
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r4, r5
- b _080EE7E8
- .align 2, 0
-_080EE7B0: .4byte gMain
-_080EE7B4: .4byte 0x000087dc
-_080EE7B8:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EE7F8
- ldr r1, _080EE7F0 @ =0x000087dc
- adds r0, r4, r1
- ldr r2, _080EE7F4 @ =0x00008774
- adds r1, r4, r2
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bge _080EE7F8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_80F708C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
-_080EE7E8:
- movs r0, 0x10
- strh r0, [r1]
- b _080EE8E8
- .align 2, 0
-_080EE7F0: .4byte 0x000087dc
-_080EE7F4: .4byte 0x00008774
-_080EE7F8:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EE8E8
- movs r0, 0x5
- bl PlaySE
- bl sub_80F4394
- bl sub_80F0EC0
- ldr r1, _080EE81C @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE81C: .4byte 0x02000000
-_080EE820:
- bl sub_80F6ED4
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- bl sub_80F0EF4
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- movs r0, 0
- bl sub_80F6FB8
- bl sub_80F2FB0
- b _080EE8BE
-_080EE840:
- bl sub_80F6134
- ldr r1, _080EE850 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE850: .4byte 0x02000000
-_080EE854:
- bl sub_80F0FA0
- ldr r1, _080EE864 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE864: .4byte 0x02000000
-_080EE868:
- bl sub_80F0FEC
- b _080EE8B8
-_080EE86E:
- bl sub_80F0C28
- ldr r1, _080EE87C @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE87C: .4byte 0x02000000
-_080EE880:
- bl sub_80F0C48
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- ldr r1, _080EE894 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE894: .4byte 0x02000000
-_080EE898:
- movs r0, 0x9
- bl sub_80EEFBC
- movs r0, 0
- bl sub_80F3294
- ldr r0, _080EE8B0 @ =sub_80EE58C
- bl sub_80EBDBC
- bl sub_80EED9C
- b _080EE8E8
- .align 2, 0
-_080EE8B0: .4byte sub_80EE58C
-_080EE8B4:
- bl sub_80F70FC
-_080EE8B8:
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
-_080EE8BE:
- ldr r1, _080EE8D0 @ =0x02000000
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r5
-_080EE8C6:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE8E8
- .align 2, 0
-_080EE8D0: .4byte 0x02000000
-_080EE8D4:
- bl sub_8055870
- cmp r0, 0
- bne _080EE8E8
- ldr r0, _080EE8F0 @ =0x02000000
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0]
-_080EE8E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE8F0: .4byte 0x02000000
- thumb_func_end sub_80EE658
-
thumb_func_start sub_80EE8F4
sub_80EE8F4: @ 80EE8F4
push {r4,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index 0e28b72ba..73567fc33 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -2257,3 +2257,138 @@ void sub_80EE58C() {
break;
}
}
+
+void sub_80F3294();
+void sub_80F0B24();
+bool8 sub_80F0B44();
+void sub_80F0F64();
+bool8 sub_80F0FEC();
+void sub_80F6FB8();
+void sub_80F6DB8();
+void sub_80F0CD8();
+bool8 sub_80F6E9C();
+bool8 sub_80F0D5C();
+bool8 sub_80F6ED4();
+bool8 sub_80F0EF4();
+void sub_80F2FB0();
+void sub_80F0FA0();
+void sub_80F0C28();
+bool8 sub_80F0C48();
+bool8 sub_80F70FC();
+void sub_80F708C(u32);
+void sub_80F4394();
+void sub_80F0EC0();
+void sub_80F700C();
+void sub_80F42C4();
+
+void sub_80EE658() {
+ switch (ewram0.var304) {
+ case 0:
+ sub_80F3294(0x1);
+ sub_80EEFBC(0xA);
+ sub_80F0B24();
+ ewram0.var304++;
+ break;
+ case 1:
+ if (sub_80F0B44()) return;
+ ewram0.var304++;
+ break;
+ case 2:
+ sub_80F0F64();
+ ewram0.var304++;
+ break;
+ case 3:
+ if (sub_80F0FEC()) return;
+ sub_80F6FB8(0x1);
+ ewram0.var304++;
+ break;
+ case 4:
+ sub_80F6DB8();
+ ewram0.var304++;
+ break;
+ case 5:
+ sub_80F700C((u8 *)(ewram + 0x8788), *(u16 *)(ewram + 0x8788 - 0x1A));
+ sub_80F42C4((u8 *)(ewram + 0x8788));
+ ewram0.var304++;
+ break;
+ case 6:
+ sub_80F0CD8();
+ ewram0.var304++;
+ case 7:
+ if (sub_80F6E9C()) return;
+ if (sub_80F0D5C()) return;
+ ewram0.var304++;
+ break;
+ case 8:
+ if (gMain.heldKeys & 0x40) {
+ if (ewram0.var87DC) {
+ PlaySE(0x5);
+ sub_80F708C(-1);
+ ewram0.var304 = 0x10;
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
+label1:
+ if (gMain.heldKeys & 0x80) {
+ if (ewram0.var87DC < ewram0.var8774) {
+ PlaySE(0x5);
+ sub_80F708C(1);
+ ewram0.var304 = 0x10;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
+label2:
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80F4394();
+ sub_80F0EC0();
+ ewram0.var304++;
+ }
+ break;
+ case 9:
+ if (sub_80F6ED4()) return;
+ if (sub_80F0EF4()) return;
+ sub_80F6FB8(0);
+ sub_80F2FB0();
+ ewram0.var304++;
+ break;
+ case 0xA:
+ sub_80F6134();
+ ewram0.var304++;
+ break;
+ case 0xB:
+ sub_80F0FA0();
+ ewram0.var304++;
+ break;
+ case 0xC:
+ if (sub_80F0FEC()) return;
+ ewram0.var304++;
+ break;
+ case 0xD:
+ sub_80F0C28();
+ ewram0.var304++;
+ break;
+ case 0xE:
+ if (sub_80F0C48()) return;
+ ewram0.var304++;
+ break;
+ case 0xF:
+ sub_80EEFBC(0x9);
+ sub_80F3294(0);
+ sub_80EBDBC(&sub_80EE58C);
+ sub_80EED9C();
+ break;
+ case 0x10:
+ if (sub_80F70FC()) return;
+ ewram0.var304++;
+ break;
+ case 0x11:
+ if (sub_8055870()) return;
+ ewram0.var304 = 0x8;
+ break;
+ }
+}