diff options
author | Raúl Peñacoba <raul.mikaop.zelda@gmail.com> | 2017-08-13 12:25:31 +0200 |
---|---|---|
committer | Raúl Peñacoba <raul.mikaop.zelda@gmail.com> | 2017-08-13 12:25:31 +0200 |
commit | 43042f7495b2fe8ba6e16b2aa987f492b0ffd9ea (patch) | |
tree | 7b0256d954f122e00d4fd408ce0a2170738182eb | |
parent | 5478caaa603a898b35707c945370559f47d8c356 (diff) |
sub_80ECA10
-rw-r--r-- | asm/pokenav.s | 233 | ||||
-rw-r--r-- | src/pokenav_before.c | 65 |
2 files changed, 65 insertions, 233 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index 1eb6ce7ee..543fc3392 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,239 +6,6 @@ .text - thumb_func_start sub_80ECA10 -sub_80ECA10: @ 80ECA10 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080ECA30 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0xD - bls _080ECA26 - b _080ECBF2 -_080ECA26: - lsls r0, 2 - ldr r1, _080ECA34 @ =_080ECA38 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ECA30: .4byte 0x02000000 -_080ECA34: .4byte _080ECA38 - .align 2, 0 -_080ECA38: - .4byte _080ECA70 - .4byte _080ECAC4 - .4byte _080ECAD8 - .4byte _080ECAF4 - .4byte _080ECB08 - .4byte _080ECB24 - .4byte _080ECB2E - .4byte _080ECB58 - .4byte _080ECB6C - .4byte _080ECB72 - .4byte _080ECB8C - .4byte _080ECBA0 - .4byte _080ECBBC - .4byte _080ECBD4 -_080ECA70: - bl sub_80EEF78 - lsls r0, 24 - cmp r0, 0 - beq _080ECA7C - b _080ECBF2 -_080ECA7C: - ldr r0, _080ECAB0 @ =sub_80EBD80 - bl SetVBlankCallback - bl sub_80EED1C - ldr r4, _080ECAB4 @ =0x02000000 - ldr r1, _080ECAB8 @ =0x00006df0 - adds r0, r4, r1 - ldrb r1, [r0] - ldr r2, _080ECABC @ =0x00006dad - adds r0, r4, r2 - strb r1, [r0] - ldr r0, _080ECAC0 @ =0x00006dae - adds r1, r4, r0 - movs r0, 0x3 - strb r0, [r1] - bl sub_80EEE08 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r1 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080ECBF2 - .align 2, 0 -_080ECAB0: .4byte sub_80EBD80 -_080ECAB4: .4byte 0x02000000 -_080ECAB8: .4byte 0x00006df0 -_080ECABC: .4byte 0x00006dad -_080ECAC0: .4byte 0x00006dae -_080ECAC4: - movs r0, 0x1 - bl sub_80EF248 - ldr r1, _080ECAF0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECAD8: - movs r0, 0x1 - bl sub_80EF284 - lsls r0, 24 - cmp r0, 0 - beq _080ECAE6 - b _080ECBF2 -_080ECAE6: - ldr r1, _080ECAF0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECBC8 - .align 2, 0 -_080ECAF0: .4byte 0x02000000 -_080ECAF4: - movs r0, 0x1 - bl sub_80F1B8C - ldr r1, _080ECB20 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECB08: - movs r0, 0x1 - bl sub_80F1BC8 - lsls r0, 24 - cmp r0, 0 - bne _080ECBF2 - ldr r1, _080ECB20 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECBC8 - .align 2, 0 -_080ECB20: .4byte 0x02000000 -_080ECB24: - bl sub_8055870 - cmp r0, 0 - bne _080ECBF2 - b _080ECBC0 -_080ECB2E: - 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, _080ECB54 @ =sub_80EBD18 - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ECBC8 - .align 2, 0 -_080ECB54: .4byte sub_80EBD18 -_080ECB58: - movs r0, 0 - bl sub_80EED2C - ldr r1, _080ECB68 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECBC8 - .align 2, 0 -_080ECB68: .4byte 0x02000000 -_080ECB6C: - bl sub_80F2598 - b _080ECBC0 -_080ECB72: - ldr r0, _080ECB88 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ECBF2 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080ECBC8 - .align 2, 0 -_080ECB88: .4byte gPaletteFade -_080ECB8C: - movs r0, 0x1 - bl sub_80F2C80 - ldr r1, _080ECBB8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECBA0: - movs r0, 0x1 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080ECBF2 - ldr r1, _080ECBB8 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECBC8 - .align 2, 0 -_080ECBB8: .4byte 0x02000000 -_080ECBBC: - bl sub_80F1DF0 -_080ECBC0: - ldr r1, _080ECBD0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 -_080ECBC8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ECBF2 - .align 2, 0 -_080ECBD0: .4byte 0x02000000 -_080ECBD4: - bl sub_80F1E50 - lsls r0, 24 - cmp r0, 0 - bne _080ECBF2 - ldr r0, _080ECBFC @ =0x02000000 - ldr r1, _080ECC00 @ =0x00006dad - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - bl sub_80EF428 - ldr r0, _080ECC04 @ =sub_80EC86C - bl sub_80EBDBC -_080ECBF2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ECBFC: .4byte 0x02000000 -_080ECC00: .4byte 0x00006dad -_080ECC04: .4byte sub_80EC86C - thumb_func_end sub_80ECA10 - thumb_func_start sub_80ECC08 sub_80ECC08: @ 80ECC08 push {r4,r5,lr} diff --git a/src/pokenav_before.c b/src/pokenav_before.c index f90410c26..210aedf0e 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -758,3 +758,68 @@ void sub_80EC9A8() { sub_80EF428(1, ewram0.var6dad); } } + +void sub_80ECA10() { + switch (ewram0.var304) { + case 0: + if (sub_80EEF78()) return; + SetVBlankCallback(&sub_80EBD80); + sub_80EED1C(); + ewram0.var6dad = ewram0.var6df0; + ewram0.var6dae = 0x3; + sub_80EEE08(); + ewram0.var304++; + break; + case 1: + sub_80EF248(0x1); + ewram0.var304++; + case 2: + if (sub_80EF284(0x1)) return; + ewram0.var304++; + break; + case 3: + sub_80F1B8C(0x1); + ewram0.var304++; + case 4: + if (sub_80F1BC8(0x1)) return; + ewram0.var304++; + break; + case 5: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 7: + sub_80EED2C(0); + ewram0.var304++; + break; + case 8: + sub_80F2598(); + ewram0.var304++; + break; + case 9: + if (gPaletteFade.active) return; + ewram0.var304++; + break; + case 0xA: + sub_80F2C80(0x1); + ewram0.var304++; + + case 0xB: + if (sub_80F2CBC(0x1)) return; + ewram0.var304++; + break; + case 0xC: + sub_80F1DF0(); + ewram0.var304++; + break; + case 0xD: + if (sub_80F1E50()) return; + sub_80EF428(1, ewram0.var6dad); + sub_80EBDBC(&sub_80EC86C); + } +} |