diff options
-rw-r--r-- | asm/pokenav.s | 123 | ||||
-rw-r--r-- | src/pokenav_before.c | 44 |
2 files changed, 44 insertions, 123 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index 8ffa0b120..89489621d 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,129 +6,6 @@ .text - thumb_func_start sub_80ED3D0 -sub_80ED3D0: @ 80ED3D0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080ED3EC @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x8 - bhi _080ED4C6 - lsls r0, 2 - ldr r1, _080ED3F0 @ =_080ED3F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ED3EC: .4byte 0x02000000 -_080ED3F0: .4byte _080ED3F4 - .align 2, 0 -_080ED3F4: - .4byte _080ED418 - .4byte _080ED420 - .4byte _080ED42A - .4byte _080ED432 - .4byte _080ED446 - .4byte _080ED458 - .4byte _080ED462 - .4byte _080ED498 - .4byte _080ED4B4 -_080ED418: - movs r0, 0 - bl SetVBlankCallback - b _080ED49E -_080ED420: - bl sub_80EED0C - bl sub_80F6134 - b _080ED49E -_080ED42A: - movs r0, 0 - bl sub_80EEFBC - b _080ED49E -_080ED432: - movs r0, 0 - bl sub_80F0264 - ldr r1, _080ED454 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED446: - bl sub_80F02A0 - lsls r0, 24 - cmp r0, 0 - bne _080ED4C6 - b _080ED49E - .align 2, 0 -_080ED454: .4byte 0x02000000 -_080ED458: - bl sub_8055870 - cmp r0, 0 - bne _080ED4C6 - b _080ED49E -_080ED462: - movs r0, 0 - bl sub_80F3008 - ldr r4, _080ED490 @ =0x02000000 - 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, _080ED494 @ =sub_80EBD18 - bl SetVBlankCallback - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080ED4A6 - .align 2, 0 -_080ED490: .4byte 0x02000000 -_080ED494: .4byte sub_80EBD18 -_080ED498: - movs r0, 0x4 - bl sub_80EED2C -_080ED49E: - ldr r1, _080ED4B0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080ED4A6: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ED4C6 - .align 2, 0 -_080ED4B0: .4byte 0x02000000 -_080ED4B4: - ldr r0, _080ED4D0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ED4C6 - ldr r0, _080ED4D4 @ =sub_80ED31C - bl sub_80EBDBC -_080ED4C6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ED4D0: .4byte gPaletteFade -_080ED4D4: .4byte sub_80ED31C - thumb_func_end sub_80ED3D0 - thumb_func_start sub_80ED4D8 sub_80ED4D8: @ 80ED4D8 push {r4,lr} diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 56cf07243..5f705100f 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -1121,3 +1121,47 @@ void sub_80ED31C() { break; } } + +void sub_80F6134(); + +void sub_80ED3D0() { + switch (ewram0.var304) { + case 0: + SetVBlankCallback(NULL); + ewram0.var304++; + break; + case 1: + sub_80EED0C(); + sub_80F6134(); + ewram0.var304++; + break; + case 2: + sub_80EEFBC(0); + ewram0.var304++; + break; + case 3: + sub_80F0264(0); + ewram0.var304++; + case 4: + if (sub_80F02A0()) return; + ewram0.var304++; + break; + case 5: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 6: + sub_80F3008(0); + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 7: + sub_80EED2C(0x4); + ewram0.var304++; + break; + case 8: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80ED31C); + } +} |