diff options
-rw-r--r-- | asm/pokenav.s | 198 | ||||
-rw-r--r-- | src/pokenav_before.c | 73 |
2 files changed, 73 insertions, 198 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index 076175847..bcf612bda 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,204 +6,6 @@ .text - thumb_func_start sub_80EE3D8 -sub_80EE3D8: @ 80EE3D8 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080EE3F8 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0xD - bls _080EE3EC - b _080EE57A -_080EE3EC: - lsls r0, 2 - ldr r1, _080EE3FC @ =_080EE400 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EE3F8: .4byte 0x02000000 -_080EE3FC: .4byte _080EE400 - .align 2, 0 -_080EE400: - .4byte _080EE438 - .4byte _080EE444 - .4byte _080EE458 - .4byte _080EE48C - .4byte _080EE4B0 - .4byte _080EE4B6 - .4byte _080EE4CA - .4byte _080EE4DC - .4byte _080EE4F0 - .4byte _080EE504 - .4byte _080EE50C - .4byte _080EE516 - .4byte _080EE54C - .4byte _080EE568 -_080EE438: - bl sub_80F1E84 - movs r0, 0 - bl sub_80F2D04 - b _080EE552 -_080EE444: - bl sub_80F1F10 - lsls r0, 24 - cmp r0, 0 - beq _080EE450 - b _080EE57A -_080EE450: - movs r0, 0x9 - bl sub_80EEFBC - b _080EE552 -_080EE458: - bl sub_80EEF34 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080EE466 - b _080EE57A -_080EE466: - ldr r4, _080EE488 @ =0x02000000 - movs r1, 0xC2 - lsls r1, 2 - adds r0, r4, r1 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080EE55A - .align 2, 0 -_080EE488: .4byte 0x02000000 -_080EE48C: - ldr r0, _080EE4AC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE57A - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80EF814 - bl sub_80EEE08 - b _080EE552 - .align 2, 0 -_080EE4AC: .4byte gPaletteFade -_080EE4B0: - bl sub_80F2620 - b _080EE552 -_080EE4B6: - movs r0, 0x2 - bl sub_80F0264 - ldr r1, _080EE4D8 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EE4CA: - bl sub_80F02A0 - lsls r0, 24 - cmp r0, 0 - bne _080EE57A - b _080EE552 - .align 2, 0 -_080EE4D8: .4byte 0x02000000 -_080EE4DC: - movs r0, 0x3 - bl sub_80F2C80 - ldr r1, _080EE500 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EE4F0: - movs r0, 0x3 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080EE57A - b _080EE552 - .align 2, 0 -_080EE500: .4byte 0x02000000 -_080EE504: - movs r0, 0x2 - bl sub_80F3008 - b _080EE552 -_080EE50C: - bl sub_8055870 - cmp r0, 0 - bne _080EE57A - b _080EE552 -_080EE516: - bl sub_80F6F10 - ldr r4, _080EE544 @ =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, _080EE548 @ =sub_80EBD68 - bl SetVBlankCallback - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080EE55A - .align 2, 0 -_080EE544: .4byte 0x02000000 -_080EE548: .4byte sub_80EBD68 -_080EE54C: - movs r0, 0x5 - bl sub_80EED2C -_080EE552: - ldr r1, _080EE564 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080EE55A: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EE57A - .align 2, 0 -_080EE564: .4byte 0x02000000 -_080EE568: - ldr r0, _080EE584 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE57A - ldr r0, _080EE588 @ =sub_80EE58C - bl sub_80EBDBC -_080EE57A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EE584: .4byte gPaletteFade -_080EE588: .4byte sub_80EE58C - thumb_func_end sub_80EE3D8 - thumb_func_start sub_80EE58C sub_80EE58C: @ 80EE58C push {r4,r5,lr} diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 12bbf5aba..e43ff2857 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -2141,3 +2141,76 @@ void sub_80EE294() { break; } } + +void sub_80F6F10(); +void sub_80EE58C(); + +void sub_80EE3D8() { + u8 var1; + switch (ewram0.var304) { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0.var304++; + break; + case 1: + if (sub_80F1F10()) return; + sub_80EEFBC(0x9); + ewram0.var304++; + break; + case 2: + if (!(var1 = sub_80EEF34())) { + BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var1); + ewram0.var304++; + } + break; + case 3: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + sub_80EEE08(); + ewram0.var304++; + break; + case 4: + sub_80F2620(); + ewram0.var304++; + break; + case 5: + sub_80F0264(0x2); + ewram0.var304++; + case 6: + if (sub_80F02A0()) return; + ewram0.var304++; + break; + case 7: + sub_80F2C80(0x3); + ewram0.var304++; + case 8: + if (sub_80F2CBC(0x3)) return; + ewram0.var304++; + break; + case 9: + sub_80F3008(0x2); + ewram0.var304++; + break; + case 0xA: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xB: + sub_80F6F10(); + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD68); + ewram0.var304++; + break; + case 0xC: + sub_80EED2C(0x5); + ewram0.var304++; + break; + case 0xD: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80EE58C); + break; + } +} |