summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s67
-rw-r--r--src/pokenav_before.c18
2 files changed, 17 insertions, 68 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 307411e4b..aa40be458 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,73 +6,6 @@
.text
-
- thumb_func_start sub_80EEC90
-sub_80EEC90: @ 80EEC90
- push {r4,lr}
- ldr r0, _080EECC0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080EECD0
- ldr r2, _080EECC4 @ =0x02000000
- ldr r0, _080EECC8 @ =0x00006dad
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080EECF8
- ldr r3, _080EECCC @ =0x00006dae
- adds r0, r2, r3
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r1]
- b _080EECF8
- .align 2, 0
-_080EECC0: .4byte gMain
-_080EECC4: .4byte 0x02000000
-_080EECC8: .4byte 0x00006dad
-_080EECCC: .4byte 0x00006dae
-_080EECD0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EED04
- ldr r0, _080EECFC @ =0x02000000
- ldr r4, _080EED00 @ =0x00006dad
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r1, 0x1
- strb r1, [r2]
- adds r4, 0x1
- adds r0, r4
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080EECF8
- strb r3, [r2]
-_080EECF8:
- movs r0, 0x1
- b _080EED06
- .align 2, 0
-_080EECFC: .4byte 0x02000000
-_080EED00: .4byte 0x00006dad
-_080EED04:
- movs r0, 0
-_080EED06:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEC90
-
thumb_func_start sub_80EED0C
sub_80EED0C: @ 80EED0C
movs r1, 0x80
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index c9e4fbe39..de327e07f 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -2792,7 +2792,7 @@ _080EEC0A:\n\
// var6dad and var6dae must be s8 in this func
bool8 sub_80EEC10() {
- if (gMain.newKeys& 0x40) {
+ if (gMain.newKeys & 0x40) {
do {
if (--ewram0_1.var6dad < 0) {
ewram0_1.var6dad = ewram0_1.var6dae - 1;
@@ -2811,3 +2811,19 @@ bool8 sub_80EEC10() {
}
return 0;
}
+
+bool8 sub_80EEC90() {
+ if (gMain.newKeys & 0x40) {
+ if (--ewram0_1.var6dad < 0) {
+ ewram0_1.var6dad = ewram0_1.var6dae - 1;
+ }
+ return 1;
+ }
+ if (gMain.newKeys & 0x80) {
+ if (++ewram0_1.var6dad >= ewram0_1.var6dae) {
+ ewram0_1.var6dad = 0;
+ }
+ return 1;
+ }
+ return 0;
+}