summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s88
-rw-r--r--src/pokenav_before.c45
2 files changed, 44 insertions, 89 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 55168f215..8ffa0b120 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,94 +6,6 @@
.text
- thumb_func_start sub_80ED31C
-sub_80ED31C: @ 80ED31C
- push {r4,lr}
- ldr r0, _080ED338 @ =0x02000000
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080ED3A8
- cmp r0, 0x1
- bgt _080ED33C
- cmp r0, 0
- beq _080ED342
- b _080ED3CA
- .align 2, 0
-_080ED338: .4byte 0x02000000
-_080ED33C:
- cmp r0, 0x2
- beq _080ED3C0
- b _080ED3CA
-_080ED342:
- bl sub_80F5DD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080ED374
- cmp r0, 0x2
- beq _080ED380
- ldr r0, _080ED36C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080ED38C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ED370 @ =sub_80ED4D8
- bl sub_80EBDBC
- b _080ED3CA
- .align 2, 0
-_080ED36C: .4byte gMain
-_080ED370: .4byte sub_80ED4D8
-_080ED374:
- movs r0, 0x5
- bl PlaySE
- bl ShowMapNamePopUpWindow
- b _080ED3CA
-_080ED380:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- adds r0, 0x1
- b _080ED3C8
-_080ED38C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ED3CA
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ED3A4 @ =sub_80ECD80
- bl sub_80EBDBC
- b _080ED3CA
- .align 2, 0
-_080ED3A4: .4byte sub_80ECD80
-_080ED3A8:
- bl sub_80F0718
- lsls r0, 24
- cmp r0, 0
- bne _080ED3CA
- bl ShowMapNamePopUpWindow
- bl sub_80F3264
- ldrh r0, [r4]
- adds r0, 0x1
- b _080ED3C8
-_080ED3C0:
- bl sub_8055870
- cmp r0, 0
- bne _080ED3CA
-_080ED3C8:
- strh r0, [r4]
-_080ED3CA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ED31C
-
thumb_func_start sub_80ED3D0
sub_80ED3D0: @ 80ED3D0
push {r4,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index fea93d4cf..56cf07243 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -841,7 +841,7 @@ void sub_80ECC08() {
sub_80EED9C();
break;
}
- if ((gMain.newKeys & A_BUTTON)) {
+ if (gMain.newKeys & A_BUTTON) {
PlaySE(0x5);
switch ((s8)ewram0.var6dad) {
case 0:
@@ -1078,3 +1078,46 @@ void sub_80ED01C() {
break;
}
}
+
+u8 sub_80F5DD4();
+void ShowMapNamePopUpWindow();
+void sub_80ED4D8();
+bool8 sub_80F0718();
+bool8 sub_80F3264();
+
+void sub_80ED31C() {
+ switch (ewram0.var304) {
+ case 0:
+ switch (sub_80F5DD4()) {
+ case 1:
+ PlaySE(0x5);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(0x5);
+ ewram0.var304++;
+ break;
+ default:
+ if (gMain.newKeys & A_BUTTON) {
+ PlaySE(0x5);
+ sub_80EBDBC(&sub_80ED4D8);
+ }
+ else if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80EBDBC(&sub_80ECD80);
+ }
+ break;
+ }
+ break;
+ case 1:
+ if (sub_80F0718()) return;
+ ShowMapNamePopUpWindow();
+ sub_80F3264();
+ ewram0.var304++;
+ break;
+ case 2:
+ if (sub_8055870()) return;
+ ewram0.var304 = 0;
+ break;
+ }
+}