diff options
-rw-r--r-- | asm/pokenav.s | 264 | ||||
-rw-r--r-- | src/pokenav_before.c | 85 |
2 files changed, 85 insertions, 264 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index 3127141fc..2ddf90e09 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,270 +6,6 @@ .text - thumb_func_start sub_80ED620 -sub_80ED620: @ 80ED620 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080ED640 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x10 - bls _080ED636 - b _080ED846 -_080ED636: - lsls r0, 2 - ldr r1, _080ED644 @ =_080ED648 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ED640: .4byte 0x02000000 -_080ED644: .4byte _080ED648 - .align 2, 0 -_080ED648: - .4byte _080ED68C - .4byte _080ED6A4 - .4byte _080ED6B8 - .4byte _080ED6EC - .4byte _080ED730 - .4byte _080ED736 - .4byte _080ED750 - .4byte _080ED762 - .4byte _080ED76C - .4byte _080ED784 - .4byte _080ED78A - .4byte _080ED7C0 - .4byte _080ED7D4 - .4byte _080ED7EC - .4byte _080ED800 - .4byte _080ED820 - .4byte _080ED834 -_080ED68C: - bl sub_80F1E84 - movs r0, 0x1 - bl sub_80F2D04 - ldr r1, _080ED6A0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED814 - .align 2, 0 -_080ED6A0: .4byte 0x02000000 -_080ED6A4: - bl sub_80F1F10 - lsls r0, 24 - cmp r0, 0 - beq _080ED6B0 - b _080ED846 -_080ED6B0: - movs r0, 0x1 - bl sub_80EEFBC - b _080ED80C -_080ED6B8: - bl sub_80EEF34 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080ED6C6 - b _080ED846 -_080ED6C6: - ldr r4, _080ED6E8 @ =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 r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED814 - .align 2, 0 -_080ED6E8: .4byte 0x02000000 -_080ED6EC: - ldr r0, _080ED724 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080ED6FE - b _080ED846 -_080ED6FE: - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80EF814 - ldr r0, _080ED728 @ =0x02000000 - ldr r2, _080ED72C @ =0x000076aa - adds r1, r0, r2 - strb r4, [r1] - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - b _080ED846 - .align 2, 0 -_080ED724: .4byte gPaletteFade -_080ED728: .4byte 0x02000000 -_080ED72C: .4byte 0x000076aa -_080ED730: - bl sub_80F2620 - b _080ED80C -_080ED736: - ldr r0, _080ED74C @ =0x0000d162 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - bl sub_80F4BD0 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED814 - .align 2, 0 -_080ED74C: .4byte 0x0000d162 -_080ED750: - bl sub_80EFF34 - ldr r1, _080ED768 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED762: - bl sub_80EFF68 - b _080ED806 - .align 2, 0 -_080ED768: .4byte 0x02000000 -_080ED76C: - bl sub_8055870 - cmp r0, 0 - bne _080ED846 - ldr r1, _080ED780 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED814 - .align 2, 0 -_080ED780: .4byte 0x02000000 -_080ED784: - bl sub_8055870 - b _080ED808 -_080ED78A: - bl sub_80F33A8 - ldr r4, _080ED7B8 @ =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, _080ED7BC @ =sub_80EBD4C - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED814 - .align 2, 0 -_080ED7B8: .4byte 0x02000000 -_080ED7BC: .4byte sub_80EBD4C -_080ED7C0: - movs r0, 0x2 - bl sub_80EED2C - ldr r1, _080ED7D0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED814 - .align 2, 0 -_080ED7D0: .4byte 0x02000000 -_080ED7D4: - ldr r0, _080ED7E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ED846 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED814 - .align 2, 0 -_080ED7E8: .4byte gPaletteFade -_080ED7EC: - movs r0, 0x1 - bl sub_80F2C80 - ldr r1, _080ED81C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED800: - movs r0, 0x1 - bl sub_80F2CBC -_080ED806: - lsls r0, 24 -_080ED808: - cmp r0, 0 - bne _080ED846 -_080ED80C: - ldr r1, _080ED81C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 -_080ED814: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ED846 - .align 2, 0 -_080ED81C: .4byte 0x02000000 -_080ED820: - movs r0, 0x6 - bl sub_80F2C80 - ldr r1, _080ED850 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED834: - movs r0, 0x6 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080ED846 - ldr r0, _080ED854 @ =sub_80ED858 - bl sub_80EBDBC -_080ED846: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ED850: .4byte 0x02000000 -_080ED854: .4byte sub_80ED858 - thumb_func_end sub_80ED620 - thumb_func_start sub_80ED858 sub_80ED858: @ 80ED858 push {r4,r5,lr} diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 769fa60b9..64e4aa278 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -55,6 +55,8 @@ struct UnknownPokenav0 { /* 0xced0 */ u32 varCED0; /* 0xced4 */ u8 fillCED4[0x284]; /* 0xD158 */ u16 varD158; + /* 0xD15A */ u8 fillD15A[0x8]; + /* 0xD162 */ u8 varD162; }; @@ -1217,3 +1219,86 @@ void sub_80ED4D8() { break; } } + +void sub_80ED620() { + u8 var1; + switch (ewram0.var304) { + case 0: + sub_80F1E84(); + sub_80F2D04(0x1); + ewram0.var304++; + break; + case 1: + if (sub_80F1F10()) return; + sub_80EEFBC(0x1); + 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(); + ewram0.var76aa = (u8)(gPaletteFade.active << 24); + ewram0.var304++; + break; + case 4: + sub_80F2620(); + ewram0.var304++; + break; + case 5: + ewram0.varD162 = 0x2; + sub_80F4BD0(); + ewram0.var304++; + break; + case 6: + sub_80EFF34(); + ewram0.var304++; + case 7: + if (sub_80EFF68()) return; + ewram0.var304++; + break; + case 8: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 9: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xA: + sub_80F33A8(); + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD4C); + ewram0.var304++; + break; + case 0xB: + sub_80EED2C(0x2); + ewram0.var304++; + break; + case 0xC: + if (gPaletteFade.active) return; + ewram0.var304++; + break; + case 0xD: + sub_80F2C80(0x1); + ewram0.var304++; + case 0xE: + if (sub_80F2CBC(0x1)) return; + ewram0.var304++; + break; + case 0xF: + sub_80F2C80(0x6); + ewram0.var304++; + case 0x10: + if (sub_80F2CBC(0x6)) return; + sub_80EBDBC(&sub_80ED858); + break; + } + +} |