diff options
-rw-r--r-- | asm/pokenav.s | 360 | ||||
-rw-r--r-- | src/pokenav_before.c | 103 |
2 files changed, 103 insertions, 360 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index 5ffec9177..55168f215 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,366 +6,6 @@ .text - thumb_func_start sub_80ED01C -sub_80ED01C: @ 80ED01C - push {r4,lr} - sub sp, 0x4 - ldr r1, _080ED03C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x13 - bls _080ED032 - b _080ED308 -_080ED032: - lsls r0, 2 - ldr r1, _080ED040 @ =_080ED044 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ED03C: .4byte 0x02000000 -_080ED040: .4byte _080ED044 - .align 2, 0 -_080ED044: - .4byte _080ED094 - .4byte _080ED0B4 - .4byte _080ED0D4 - .4byte _080ED108 - .4byte _080ED138 - .4byte _080ED14C - .4byte _080ED15E - .4byte _080ED18C - .4byte _080ED1AC - .4byte _080ED1C4 - .4byte _080ED1D8 - .4byte _080ED1F4 - .4byte _080ED208 - .4byte _080ED220 - .4byte _080ED24C - .4byte _080ED260 - .4byte _080ED28C - .4byte _080ED2A0 - .4byte _080ED2CC - .4byte _080ED2EA -_080ED094: - bl sub_80F1E84 - movs r0, 0x1 - bl sub_80F2D04 - movs r0, 0x5 - bl sub_80F2D04 - ldr r1, _080ED0B0 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - b _080ED27C - .align 2, 0 -_080ED0B0: .4byte 0x02000000 -_080ED0B4: - bl sub_80F1F10 - lsls r0, 24 - cmp r0, 0 - beq _080ED0C0 - b _080ED308 -_080ED0C0: - movs r0, 0 - bl sub_80EEFBC - ldr r1, _080ED0D0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED27C - .align 2, 0 -_080ED0D0: .4byte 0x02000000 -_080ED0D4: - bl sub_80EEF34 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080ED0E2 - b _080ED308 -_080ED0E2: - ldr r4, _080ED104 @ =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 _080ED27C - .align 2, 0 -_080ED104: .4byte 0x02000000 -_080ED108: - ldr r0, _080ED130 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080ED116 - b _080ED308 -_080ED116: - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80EF814 - ldr r1, _080ED134 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - b _080ED27C - .align 2, 0 -_080ED130: .4byte gPaletteFade -_080ED134: .4byte 0x02000000 -_080ED138: - bl sub_80F2620 - ldr r1, _080ED148 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED27C - .align 2, 0 -_080ED148: .4byte 0x02000000 -_080ED14C: - bl sub_80F4D44 - ldr r1, _080ED178 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED15E: - bl sub_80F4D88 - lsls r0, 24 - cmp r0, 0 - bne _080ED17C - ldr r1, _080ED178 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] - b _080ED308 - .align 2, 0 -_080ED178: .4byte 0x02000000 -_080ED17C: - ldr r1, _080ED188 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED27C - .align 2, 0 -_080ED188: .4byte 0x02000000 -_080ED18C: - bl sub_8055870 - cmp r0, 0 - beq _080ED196 - b _080ED308 -_080ED196: - ldr r1, _080ED1A8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - b _080ED308 - .align 2, 0 -_080ED1A8: .4byte 0x02000000 -_080ED1AC: - bl sub_8055870 - cmp r0, 0 - beq _080ED1B6 - b _080ED308 -_080ED1B6: - ldr r1, _080ED1C0 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - b _080ED27C - .align 2, 0 -_080ED1C0: .4byte 0x02000000 -_080ED1C4: - movs r0, 0 - bl sub_80F0264 - ldr r1, _080ED1F0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED1D8: - bl sub_80F02A0 - lsls r0, 24 - cmp r0, 0 - beq _080ED1E4 - b _080ED308 -_080ED1E4: - ldr r1, _080ED1F0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080ED27C - .align 2, 0 -_080ED1F0: .4byte 0x02000000 -_080ED1F4: - movs r0, 0 - bl sub_80F3008 - ldr r1, _080ED204 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - b _080ED27C - .align 2, 0 -_080ED204: .4byte 0x02000000 -_080ED208: - bl sub_8055870 - cmp r0, 0 - beq _080ED212 - b _080ED308 -_080ED212: - ldr r1, _080ED21C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ED27C - .align 2, 0 -_080ED21C: .4byte 0x02000000 -_080ED220: - 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, _080ED248 @ =sub_80EBD18 - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED27C - .align 2, 0 -_080ED248: .4byte sub_80EBD18 -_080ED24C: - movs r0, 0x4 - bl sub_80EED2C - ldr r1, _080ED25C @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - b _080ED27C - .align 2, 0 -_080ED25C: .4byte 0x02000000 -_080ED260: - ldr r0, _080ED284 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _080ED308 - ldr r2, _080ED288 @ =0x00000306 - adds r0, r4, r2 - strh r1, [r0] - movs r3, 0xC1 - lsls r3, 2 - adds r1, r4, r3 -_080ED27C: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ED308 - .align 2, 0 -_080ED284: .4byte gPaletteFade -_080ED288: .4byte 0x00000306 -_080ED28C: - movs r0, 0x1 - bl sub_80F2C80 - ldr r1, _080ED2C4 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED2A0: - movs r0, 0x1 - bl sub_80F2CBC - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080ED308 - ldr r0, _080ED2C4 @ =0x02000000 - ldr r3, _080ED2C8 @ =0x00000306 - adds r1, r0, r3 - strh r2, [r1] - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - b _080ED308 - .align 2, 0 -_080ED2C4: .4byte 0x02000000 -_080ED2C8: .4byte 0x00000306 -_080ED2CC: - ldr r4, _080ED310 @ =0x02000000 - ldr r2, _080ED314 @ =0x00006dfc - adds r0, r4, r2 - ldrb r0, [r0] - adds r0, 0x7 - lsls r0, 24 - lsrs r0, 24 - bl sub_80F2C80 - movs r3, 0xC1 - lsls r3, 2 - adds r4, r3 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] -_080ED2EA: - ldr r0, _080ED310 @ =0x02000000 - ldr r1, _080ED314 @ =0x00006dfc - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x7 - lsls r0, 24 - lsrs r0, 24 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080ED308 - ldr r0, _080ED318 @ =sub_80ED31C - bl sub_80EBDBC -_080ED308: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ED310: .4byte 0x02000000 -_080ED314: .4byte 0x00006dfc -_080ED318: .4byte sub_80ED31C - thumb_func_end sub_80ED01C - thumb_func_start sub_80ED31C sub_80ED31C: @ 80ED31C push {r4,lr} diff --git a/src/pokenav_before.c b/src/pokenav_before.c index 0c4942f47..fea93d4cf 100644 --- a/src/pokenav_before.c +++ b/src/pokenav_before.c @@ -975,3 +975,106 @@ void sub_80ECD80() { sub_80EBDBC(&sub_80ECC08); } } + +void sub_80F4D44(); +bool8 sub_80F4D88(); +void sub_80F0264(); +bool8 sub_80F02A0(); +void sub_80F3008(); +void sub_80ED31C(); + +void sub_80ED01C() { + u16 var1; + u16 var3; + switch (ewram0.var304) { + case 0: + sub_80F1E84(); + sub_80F2D04(0x1); + sub_80F2D04(0x5); + ewram0.var304++; + break; + case 1: + if (sub_80F1F10()) return; + sub_80EEFBC(0); + ewram0.var304++; + break; + case 2: + if ((var1 = sub_80EEF34())) return; + BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var1); + ewram0.var304++; + break; + case 3: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80EF814(); + ewram0.var304++; + break; + case 4: + sub_80F2620(); + ewram0.var304++; + break; + case 5: + sub_80F4D44(); + ewram0.var304++; + case 6: + if (!sub_80F4D88()) { + ewram0.var304 += 2; + break; + } + ewram0.var304++; + break; + case 7: + if (sub_8055870()) return; + ewram0.var304--; + break; + case 8: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 9: + sub_80F0264(0); + ewram0.var304++; + case 0xA: + if (sub_80F02A0()) return; + ewram0.var304++; + break; + case 0xB: + sub_80F3008(0); + ewram0.var304++; + break; + case 0xC: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xD: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 0xE: + sub_80EED2C(0x4); + ewram0.var304++; + break; + case 0xF: + if (gPaletteFade.active) return; + ewram0.var306 = (u8)(gPaletteFade.active << 24); + ewram0.var304++; + break; + case 0x10: + sub_80F2C80(0x1); + ewram0.var304++; + case 0x11: + if ((var3 = sub_80F2CBC(0x1))) return; + ewram0.var306 = var3; + ewram0.var304++; + break; + case 0x12: + sub_80F2C80(ewram0.var6dfc + 7); + ewram0.var304++; + case 0x13: + if (sub_80F2CBC(ewram0.var6dfc + 7)) return; + sub_80EBDBC(&sub_80ED31C); + break; + } +} |