diff options
-rw-r--r-- | asm/pokenav.s | 67 | ||||
-rw-r--r-- | src/pokenav_before.c | 18 |
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; +} |