diff options
-rw-r--r-- | asm/pokenav.s | 5745 | ||||
-rw-r--r-- | ld_script.txt | 3 | ||||
-rw-r--r-- | src/pokenav_after.c (renamed from src/pokenav.c) | 0 | ||||
-rw-r--r-- | src/pokenav_before.c | 2442 |
4 files changed, 2444 insertions, 5746 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s index cb6a40450..ddfc8b830 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -6,5751 +6,6 @@ .text - thumb_func_start sub_80EBA5C -sub_80EBA5C: @ 80EBA5C - push {lr} - ldr r0, _080EBA74 @ =gMain - ldr r2, _080EBA78 @ =0x0000043c - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0xE - bhi _080EBABC - lsls r0, 2 - ldr r1, _080EBA7C @ =_080EBA80 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EBA74: .4byte gMain -_080EBA78: .4byte 0x0000043c -_080EBA7C: .4byte _080EBA80 - .align 2, 0 -_080EBA80: - .4byte _080EBAC0 - .4byte _080EBB08 - .4byte _080EBB10 - .4byte _080EBB16 - .4byte _080EBB1C - .4byte _080EBB22 - .4byte _080EBB28 - .4byte _080EBB2E - .4byte _080EBB3E - .4byte _080EBB4C - .4byte _080EBB5C - .4byte _080EBB6C - .4byte _080EBB7C - .4byte _080EBB90 - .4byte _080EBBA0 -_080EBABC: - movs r0, 0 - strb r0, [r1] -_080EBAC0: - bl is_c1_link_related_active - ldr r3, _080EBAF0 @ =0x02000000 - ldr r2, _080EBAF4 @ =0x00006dac - adds r1, r3, r2 - strb r0, [r1] - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080EBBC0 - ldr r1, _080EBAF8 @ =0x00006dab - adds r0, r3, r1 - strb r2, [r0] - ldr r1, _080EBAFC @ =gMain - ldr r2, _080EBB00 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080EBB04 @ =sub_80EBBE8 - bl SetMainCallback2 - b _080EBBC0 - .align 2, 0 -_080EBAF0: .4byte 0x02000000 -_080EBAF4: .4byte 0x00006dac -_080EBAF8: .4byte 0x00006dab -_080EBAFC: .4byte gMain -_080EBB00: .4byte 0x0000043c -_080EBB04: .4byte sub_80EBBE8 -_080EBB08: - movs r0, 0 - bl SetVBlankCallback - b _080EBBC0 -_080EBB10: - bl ResetPaletteFade - b _080EBBC0 -_080EBB16: - bl ResetSpriteData - b _080EBBC0 -_080EBB1C: - bl FreeAllSpritePalettes - b _080EBBC0 -_080EBB22: - bl ResetTasks - b _080EBBC0 -_080EBB28: - bl remove_some_task - b _080EBBC0 -_080EBB2E: - bl sub_80F1A90 - ldr r1, _080EBB44 @ =gMain - ldr r0, _080EBB48 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080EBB3E: - bl sub_80F1AC4 - b _080EBB80 - .align 2, 0 -_080EBB44: .4byte gMain -_080EBB48: .4byte 0x0000043c -_080EBB4C: - bl sub_80F2688 - ldr r1, _080EBB64 @ =gMain - ldr r2, _080EBB68 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080EBB5C: - bl sub_80F26BC - b _080EBB80 - .align 2, 0 -_080EBB64: .4byte gMain -_080EBB68: .4byte 0x0000043c -_080EBB6C: - bl sub_80F36F0 - ldr r1, _080EBB88 @ =gMain - ldr r0, _080EBB8C @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080EBB7C: - bl sub_80F3724 -_080EBB80: - lsls r0, 24 - cmp r0, 0 - bne _080EBBCC - b _080EBBC0 - .align 2, 0 -_080EBB88: .4byte gMain -_080EBB8C: .4byte 0x0000043c -_080EBB90: - bl sub_80EBC10 - ldr r0, _080EBB9C @ =sub_80EBDD8 - bl sub_80EBDBC - b _080EBBC0 - .align 2, 0 -_080EBB9C: .4byte sub_80EBDD8 -_080EBBA0: - ldr r0, _080EBBD0 @ =0x02000000 - ldr r1, _080EBBD4 @ =0x00006dab - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0x6E - bl PlaySE - ldr r0, _080EBBD8 @ =sub_80EBD90 - bl SetMainCallback2 - ldr r0, _080EBBDC @ =sub_80EBD18 - bl SetVBlankCallback - bl sub_80F1A74 -_080EBBC0: - ldr r1, _080EBBE0 @ =gMain - ldr r2, _080EBBE4 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080EBBCC: - pop {r0} - bx r0 - .align 2, 0 -_080EBBD0: .4byte 0x02000000 -_080EBBD4: .4byte 0x00006dab -_080EBBD8: .4byte sub_80EBD90 -_080EBBDC: .4byte sub_80EBD18 -_080EBBE0: .4byte gMain -_080EBBE4: .4byte 0x0000043c - thumb_func_end sub_80EBA5C - - thumb_func_start sub_80EBBE8 -sub_80EBBE8: @ 80EBBE8 - push {r4,lr} - ldr r0, _080EBC08 @ =0x02000000 - ldr r2, _080EBC0C @ =0x00006dab - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _080EBC02 - adds r4, r1, 0 -_080EBBF8: - bl sub_80EBA5C - ldrb r0, [r4] - cmp r0, 0 - beq _080EBBF8 -_080EBC02: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EBC08: .4byte 0x02000000 -_080EBC0C: .4byte 0x00006dab - thumb_func_end sub_80EBBE8 - - thumb_func_start sub_80EBC10 -sub_80EBC10: @ 80EBC10 - push {r4-r7,lr} - ldr r1, _080EBC7C @ =gKeyRepeatStartDelay - movs r0, 0x14 - strh r0, [r1] - bl CalculatePlayerPartyCount - ldr r2, _080EBC80 @ =0x02000000 - ldr r1, _080EBC84 @ =0x00008828 - adds r3, r2, r1 - movs r1, 0 - strb r0, [r3] - ldr r3, _080EBC88 @ =0x00006ddc - adds r0, r2, r3 - strb r1, [r0] - ldr r3, _080EBC8C @ =0x00009344 - adds r0, r2, r3 - strb r1, [r0] - ldr r3, _080EBC90 @ =0x00008768 - adds r0, r2, r3 - str r1, [r0] - ldr r3, _080EBC94 @ =0x0000ced0 - adds r0, r2, r3 - str r1, [r0] - movs r3, 0 - ldr r0, _080EBC98 @ =0x00008fff - adds r7, r2, r0 - mov r12, r2 - movs r6, 0 - ldr r5, _080EBC9C @ =0x00009040 - movs r4, 0x9B -_080EBC4C: - adds r0, r3, r7 - strb r6, [r0] - lsls r1, r3, 2 - adds r1, r2 - adds r0, r1, r5 - strh r4, [r0] - ldr r0, _080EBCA0 @ =0x00009042 - adds r1, r0 - movs r0, 0x5B - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x4 - bls _080EBC4C - ldr r1, _080EBCA4 @ =0x00006e95 - add r1, r12 - movs r0, 0 - strb r0, [r1] - bl sub_80EBCA8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080EBC7C: .4byte gKeyRepeatStartDelay -_080EBC80: .4byte 0x02000000 -_080EBC84: .4byte 0x00008828 -_080EBC88: .4byte 0x00006ddc -_080EBC8C: .4byte 0x00009344 -_080EBC90: .4byte 0x00008768 -_080EBC94: .4byte 0x0000ced0 -_080EBC98: .4byte 0x00008fff -_080EBC9C: .4byte 0x00009040 -_080EBCA0: .4byte 0x00009042 -_080EBCA4: .4byte 0x00006e95 - thumb_func_end sub_80EBC10 - - thumb_func_start sub_80EBCA8 -sub_80EBCA8: @ 80EBCA8 - push {r4,lr} - ldr r4, _080EBCDC @ =0x02000000 - ldr r0, _080EBCE0 @ =0x00006db2 - adds r1, r4, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080EBCE4 @ =0x00006db3 - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, _080EBCE8 @ =0x00006db4 - adds r1, r4, r0 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _080EBCEC @ =0x0000083b - bl FlagGet - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080EBCF4 - ldr r0, _080EBCF0 @ =0x00006db5 - adds r1, r4, r0 - movs r0, 0x4 - strb r0, [r1] - b _080EBCFA - .align 2, 0 -_080EBCDC: .4byte 0x02000000 -_080EBCE0: .4byte 0x00006db2 -_080EBCE4: .4byte 0x00006db3 -_080EBCE8: .4byte 0x00006db4 -_080EBCEC: .4byte 0x0000083b -_080EBCF0: .4byte 0x00006db5 -_080EBCF4: - ldr r1, _080EBD0C @ =0x00006db5 - adds r0, r4, r1 - strb r2, [r0] -_080EBCFA: - ldr r0, _080EBD10 @ =0x02000000 - ldr r1, _080EBD14 @ =0x00006db6 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EBD0C: .4byte 0x00006db5 -_080EBD10: .4byte 0x02000000 -_080EBD14: .4byte 0x00006db6 - thumb_func_end sub_80EBCA8 - - thumb_func_start sub_80EBD18 -sub_80EBD18: @ 80EBD18 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_80F1FF0 - pop {r0} - bx r0 - thumb_func_end sub_80EBD18 - - thumb_func_start sub_80EBD30 -sub_80EBD30: @ 80EBD30 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl UpdateRegionMapVideoRegs - bl sub_80EFE7C - pop {r0} - bx r0 - thumb_func_end sub_80EBD30 - - thumb_func_start sub_80EBD4C -sub_80EBD4C: @ 80EBD4C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_80F5BF0 - bl sub_8089668 - pop {r0} - bx r0 - thumb_func_end sub_80EBD4C - - thumb_func_start sub_80EBD68 -sub_80EBD68: @ 80EBD68 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - bl sub_80F6F64 - pop {r0} - bx r0 - thumb_func_end sub_80EBD68 - - thumb_func_start sub_80EBD80 -sub_80EBD80: @ 80EBD80 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - pop {r0} - bx r0 - thumb_func_end sub_80EBD80 - - thumb_func_start sub_80EBD90 -sub_80EBD90: @ 80EBD90 - push {lr} - ldr r0, _080EBDB8 @ =0x02000000 - movs r1, 0xC0 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - bl sub_80F19FC - pop {r0} - bx r0 - .align 2, 0 -_080EBDB8: .4byte 0x02000000 - thumb_func_end sub_80EBD90 - - thumb_func_start sub_80EBDBC -sub_80EBDBC: @ 80EBDBC - ldr r2, _080EBDD4 @ =0x02000000 - movs r3, 0xC0 - lsls r3, 2 - adds r1, r2, r3 - str r0, [r1] - movs r0, 0xC1 - lsls r0, 2 - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080EBDD4: .4byte 0x02000000 - thumb_func_end sub_80EBDBC - - thumb_func_start sub_80EBDD8 -sub_80EBDD8: @ 80EBDD8 - push {lr} - sub sp, 0x4 - ldr r1, _080EBDF8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x11 - bls _080EBDEE - b _080EC000 -_080EBDEE: - lsls r0, 2 - ldr r1, _080EBDFC @ =_080EBE00 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EBDF8: .4byte 0x02000000 -_080EBDFC: .4byte _080EBE00 - .align 2, 0 -_080EBE00: - .4byte _080EBE48 - .4byte _080EBE80 - .4byte _080EBE92 - .4byte _080EBEAC - .4byte _080EBEC0 - .4byte _080EBED2 - .4byte _080EBEF0 - .4byte _080EBF04 - .4byte _080EBF18 - .4byte _080EBF2C - .4byte _080EBF48 - .4byte _080EBF54 - .4byte _080EBF74 - .4byte _080EBF88 - .4byte _080EBFA0 - .4byte _080EBFB4 - .4byte _080EBFD0 - .4byte _080EBFE8 -_080EBE48: - movs r0, 0 - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - ldr r1, _080EBE74 @ =0x02000000 - ldr r3, _080EBE78 @ =0x00006ddc - adds r0, r1, r3 - ldrb r2, [r0] - subs r3, 0x2F - adds r0, r1, r3 - strb r2, [r0] - ldr r0, _080EBE7C @ =0x00006dae - adds r2, r1, r0 - movs r0, 0x5 - strb r0, [r2] - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EBFDC - .align 2, 0 -_080EBE74: .4byte 0x02000000 -_080EBE78: .4byte 0x00006ddc -_080EBE7C: .4byte 0x00006dae -_080EBE80: - bl sub_80F3FF0 - ldr r1, _080EBEA8 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EBE92: - bl sub_80F4024 - lsls r0, 24 - cmp r0, 0 - beq _080EBE9E - b _080EC000 -_080EBE9E: - ldr r1, _080EBEA8 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EBFDC - .align 2, 0 -_080EBEA8: .4byte 0x02000000 -_080EBEAC: - bl sub_80F2598 - ldr r1, _080EBEBC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EBFDC - .align 2, 0 -_080EBEBC: .4byte 0x02000000 -_080EBEC0: - bl sub_80EEE20 - ldr r1, _080EBEEC @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EBED2: - bl sub_80EEE54 - lsls r0, 24 - cmp r0, 0 - beq _080EBEDE - b _080EC000 -_080EBEDE: - bl sub_80EEE08 - ldr r1, _080EBEEC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EBFDC - .align 2, 0 -_080EBEEC: .4byte 0x02000000 -_080EBEF0: - movs r0, 0 - bl sub_80EF248 - ldr r1, _080EBF14 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EBF04: - movs r0, 0 - bl sub_80EF284 - lsls r0, 24 - cmp r0, 0 - beq _080EBF12 - b _080EC000 -_080EBF12: - b _080EBFD4 - .align 2, 0 -_080EBF14: .4byte 0x02000000 -_080EBF18: - movs r0, 0 - bl sub_80F1B8C - ldr r1, _080EBF44 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EBF2C: - movs r0, 0 - bl sub_80F1BC8 - lsls r0, 24 - cmp r0, 0 - bne _080EC000 - ldr r1, _080EBF44 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EBFDC - .align 2, 0 -_080EBF44: .4byte 0x02000000 -_080EBF48: - ldr r0, _080EBF50 @ =sub_80EBD18 - bl SetVBlankCallback - b _080EBFD4 - .align 2, 0 -_080EBF50: .4byte sub_80EBD18 -_080EBF54: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _080EBF70 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EBFDC - .align 2, 0 -_080EBF70: .4byte 0x02000000 -_080EBF74: - movs r0, 0 - bl sub_80EED2C - ldr r1, _080EBF84 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EBFDC - .align 2, 0 -_080EBF84: .4byte 0x02000000 -_080EBF88: - ldr r0, _080EBF9C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r2, r3 - b _080EBFDC - .align 2, 0 -_080EBF9C: .4byte gPaletteFade -_080EBFA0: - movs r0, 0 - bl sub_80F2C80 - ldr r1, _080EBFCC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EBFB4: - movs r0, 0 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080EC000 - ldr r1, _080EBFCC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EBFDC - .align 2, 0 -_080EBFCC: .4byte 0x02000000 -_080EBFD0: - bl sub_80F1DF0 -_080EBFD4: - ldr r1, _080EBFE4 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 -_080EBFDC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EC000 - .align 2, 0 -_080EBFE4: .4byte 0x02000000 -_080EBFE8: - bl sub_80F1E50 - lsls r0, 24 - cmp r0, 0 - bne _080EC000 - movs r0, 0 - movs r1, 0 - bl sub_80EF428 - ldr r0, _080EC008 @ =sub_80EC268 - bl sub_80EBDBC -_080EC000: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080EC008: .4byte sub_80EC268 - thumb_func_end sub_80EBDD8 - - thumb_func_start sub_80EC00C -sub_80EC00C: @ 80EC00C - push {r4,lr} - sub sp, 0x4 - ldr r1, _080EC02C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0xD - bls _080EC022 - b _080EC1FA -_080EC022: - lsls r0, 2 - ldr r1, _080EC030 @ =_080EC034 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EC02C: .4byte 0x02000000 -_080EC030: .4byte _080EC034 - .align 2, 0 -_080EC034: - .4byte _080EC06C - .4byte _080EC0C0 - .4byte _080EC0D4 - .4byte _080EC0F0 - .4byte _080EC104 - .4byte _080EC120 - .4byte _080EC12A - .4byte _080EC154 - .4byte _080EC168 - .4byte _080EC180 - .4byte _080EC194 - .4byte _080EC1A8 - .4byte _080EC1C4 - .4byte _080EC1DC -_080EC06C: - bl sub_80EEF78 - lsls r0, 24 - cmp r0, 0 - beq _080EC078 - b _080EC1FA -_080EC078: - ldr r0, _080EC0AC @ =sub_80EBD80 - bl SetVBlankCallback - bl sub_80EED1C - ldr r4, _080EC0B0 @ =0x02000000 - ldr r1, _080EC0B4 @ =0x00006ddc - adds r0, r4, r1 - ldrb r1, [r0] - ldr r2, _080EC0B8 @ =0x00006dad - adds r0, r4, r2 - strb r1, [r0] - ldr r0, _080EC0BC @ =0x00006dae - adds r1, r4, r0 - movs r0, 0x5 - 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 _080EC1FA - .align 2, 0 -_080EC0AC: .4byte sub_80EBD80 -_080EC0B0: .4byte 0x02000000 -_080EC0B4: .4byte 0x00006ddc -_080EC0B8: .4byte 0x00006dad -_080EC0BC: .4byte 0x00006dae -_080EC0C0: - movs r0, 0 - bl sub_80EF248 - ldr r1, _080EC0EC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EC0D4: - movs r0, 0 - bl sub_80EF284 - lsls r0, 24 - cmp r0, 0 - beq _080EC0E2 - b _080EC1FA -_080EC0E2: - ldr r1, _080EC0EC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EC1D0 - .align 2, 0 -_080EC0EC: .4byte 0x02000000 -_080EC0F0: - movs r0, 0 - bl sub_80F1B8C - ldr r1, _080EC11C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EC104: - movs r0, 0 - bl sub_80F1BC8 - lsls r0, 24 - cmp r0, 0 - beq _080EC112 - b _080EC1FA -_080EC112: - ldr r1, _080EC11C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EC1D0 - .align 2, 0 -_080EC11C: .4byte 0x02000000 -_080EC120: - bl sub_8055870 - cmp r0, 0 - bne _080EC1FA - b _080EC1C8 -_080EC12A: - 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, _080EC150 @ =sub_80EBD18 - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EC1D0 - .align 2, 0 -_080EC150: .4byte sub_80EBD18 -_080EC154: - movs r0, 0 - bl sub_80EED2C - ldr r1, _080EC164 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EC1D0 - .align 2, 0 -_080EC164: .4byte 0x02000000 -_080EC168: - ldr r0, _080EC17C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC1FA - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EC1D0 - .align 2, 0 -_080EC17C: .4byte gPaletteFade -_080EC180: - bl sub_80F2598 - ldr r1, _080EC190 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EC1D0 - .align 2, 0 -_080EC190: .4byte 0x02000000 -_080EC194: - movs r0, 0 - bl sub_80F2C80 - ldr r1, _080EC1C0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EC1A8: - movs r0, 0 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080EC1FA - ldr r1, _080EC1C0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EC1D0 - .align 2, 0 -_080EC1C0: .4byte 0x02000000 -_080EC1C4: - bl sub_80F1DF0 -_080EC1C8: - ldr r1, _080EC1D8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 -_080EC1D0: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EC1FA - .align 2, 0 -_080EC1D8: .4byte 0x02000000 -_080EC1DC: - bl sub_80F1E50 - lsls r0, 24 - cmp r0, 0 - bne _080EC1FA - ldr r0, _080EC204 @ =0x02000000 - ldr r1, _080EC208 @ =0x00006dad - adds r0, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_80EF428 - ldr r0, _080EC20C @ =sub_80EC268 - bl sub_80EBDBC -_080EC1FA: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC204: .4byte 0x02000000 -_080EC208: .4byte 0x00006dad -_080EC20C: .4byte sub_80EC268 - thumb_func_end sub_80EC00C - - thumb_func_start sub_80EC210 -sub_80EC210: @ 80EC210 - push {r4,r5,lr} - ldr r5, _080EC228 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0 - beq _080EC22C - cmp r0, 0x1 - beq _080EC24C - b _080EC25C - .align 2, 0 -_080EC228: .4byte 0x02000000 -_080EC22C: - movs r0, 0x1 - bl sub_80F2D04 - ldr r1, _080EC248 @ =0x00006ddc - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0 - movs r2, 0 - bl sub_80EE9C0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EC25C - .align 2, 0 -_080EC248: .4byte 0x00006ddc -_080EC24C: - bl sub_80EEA0C - lsls r0, 24 - cmp r0, 0 - bne _080EC25C - ldr r0, _080EC264 @ =sub_80EC268 - bl sub_80EBDBC -_080EC25C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EC264: .4byte sub_80EC268 - thumb_func_end sub_80EC210 - - thumb_func_start sub_80EC268 -sub_80EC268: @ 80EC268 - push {r4-r6,lr} - ldr r4, _080EC290 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r6, r4, r0 - ldrh r0, [r6] - cmp r0, 0x3 - bne _080EC27A - b _080EC3BE -_080EC27A: - cmp r0, 0x3 - bgt _080EC294 - cmp r0, 0x1 - bne _080EC284 - b _080EC3A2 -_080EC284: - cmp r0, 0x1 - ble _080EC28A - b _080EC3B4 -_080EC28A: - cmp r0, 0 - beq _080EC2AE - b _080EC492 - .align 2, 0 -_080EC290: .4byte 0x02000000 -_080EC294: - cmp r0, 0x6 - bne _080EC29A - b _080EC414 -_080EC29A: - cmp r0, 0x6 - bgt _080EC2A6 - cmp r0, 0x4 - bne _080EC2A4 - b _080EC3DC -_080EC2A4: - b _080EC492 -_080EC2A6: - cmp r0, 0xFF - bne _080EC2AC - b _080EC44C -_080EC2AC: - b _080EC492 -_080EC2AE: - bl sub_80EEC10 - lsls r0, 24 - cmp r0, 0 - beq _080EC2D4 - movs r0, 0x5 - bl PlaySE - ldr r1, _080EC2D0 @ =0x00006dad - adds r0, r4, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_80EF428 - bl sub_80EED9C - b _080EC492 - .align 2, 0 -_080EC2D0: .4byte 0x00006dad -_080EC2D4: - ldr r0, _080EC310 @ =gMain - ldrh r1, [r0, 0x2E] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _080EC394 - ldr r2, _080EC314 @ =0x00006dad - adds r0, r4, r2 - ldrb r1, [r0] - adds r2, 0x2F - adds r0, r4, r2 - strb r1, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - subs r2, 0x2A - adds r1, r4, r2 - adds r0, r1 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bls _080EC304 - b _080EC492 -_080EC304: - lsls r0, 2 - ldr r1, _080EC318 @ =_080EC31C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EC310: .4byte gMain -_080EC314: .4byte 0x00006dad -_080EC318: .4byte _080EC31C - .align 2, 0 -_080EC31C: - .4byte _080EC330 - .4byte _080EC344 - .4byte _080EC380 - .4byte _080EC36C - .4byte _080EC358 -_080EC330: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC340 @ =sub_80EC4A0 - bl sub_80EBDBC - b _080EC492 - .align 2, 0 -_080EC340: .4byte sub_80EC4A0 -_080EC344: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC354 @ =sub_80EC81C - bl sub_80EBDBC - b _080EC492 - .align 2, 0 -_080EC354: .4byte sub_80EC81C -_080EC358: - ldr r0, _080EC368 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] - b _080EC492 - .align 2, 0 -_080EC368: .4byte 0x02000000 -_080EC36C: - ldr r0, _080EC37C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0] - b _080EC492 - .align 2, 0 -_080EC37C: .4byte 0x02000000 -_080EC380: - ldr r0, _080EC390 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x6 - strh r1, [r0] - b _080EC492 - .align 2, 0 -_080EC390: .4byte 0x02000000 -_080EC394: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _080EC39E - b _080EC492 -_080EC39E: - strh r2, [r6] - b _080EC492 -_080EC3A2: - bl sub_80F208C - ldr r0, _080EC3B0 @ =sub_80EE96C - bl sub_80EBDBC - b _080EC492 - .align 2, 0 -_080EC3B0: .4byte sub_80EE96C -_080EC3B4: - bl sub_80F6208 - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] -_080EC3BE: - bl sub_80F6250 - lsls r0, 24 - cmp r0, 0 - bne _080EC492 - ldr r1, _080EC3D8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EC492 - .align 2, 0 -_080EC3D8: .4byte 0x02000000 -_080EC3DC: - bl sub_8055870 - cmp r0, 0 - bne _080EC492 - ldr r1, _080EC400 @ =0x00008fe8 - adds r0, r4, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080EC408 - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC404 @ =sub_80EDB88 - bl sub_80EBDBC - b _080EC492 - .align 2, 0 -_080EC400: .4byte 0x00008fe8 -_080EC404: .4byte sub_80EDB88 -_080EC408: - movs r0, 0x20 - bl PlaySE - movs r0, 0 - movs r1, 0x5 - b _080EC442 -_080EC414: - bl sub_80F6C20 - ldr r2, _080EC430 @ =0x0000d158 - adds r0, r4, r2 - ldrh r0, [r0] - cmp r0, 0 - beq _080EC438 - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC434 @ =sub_80EE3D8 - bl sub_80EBDBC - b _080EC492 - .align 2, 0 -_080EC430: .4byte 0x0000d158 -_080EC434: .4byte sub_80EE3D8 -_080EC438: - movs r0, 0x20 - bl PlaySE - movs r0, 0 - movs r1, 0x6 -_080EC442: - bl sub_80EF428 - movs r0, 0xFF - strh r0, [r6] - b _080EC492 -_080EC44C: - bl sub_80EEC10 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _080EC478 - movs r0, 0x5 - bl PlaySE - ldr r1, _080EC474 @ =0x00006dad - adds r0, r4, r1 - ldrb r1, [r0] - movs r0, 0 - bl sub_80EF428 - movs r0, 0 - strh r0, [r6] - bl sub_80EED9C - b _080EC492 - .align 2, 0 -_080EC474: .4byte 0x00006dad -_080EC478: - ldr r0, _080EC498 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080EC492 - ldr r2, _080EC49C @ =0x00006dad - adds r0, r4, r2 - ldrb r1, [r0] - movs r0, 0 - bl sub_80EF428 - strh r5, [r6] -_080EC492: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EC498: .4byte gMain -_080EC49C: .4byte 0x00006dad - thumb_func_end sub_80EC268 - - thumb_func_start sub_80EC4A0 -sub_80EC4A0: @ 80EC4A0 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080EC4C0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0xE - bls _080EC4B6 - b _080EC66A -_080EC4B6: - lsls r0, 2 - ldr r1, _080EC4C4 @ =_080EC4C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EC4C0: .4byte 0x02000000 -_080EC4C4: .4byte _080EC4C8 - .align 2, 0 -_080EC4C8: - .4byte _080EC504 - .4byte _080EC510 - .4byte _080EC544 - .4byte _080EC578 - .4byte _080EC594 - .4byte _080EC5A8 - .4byte _080EC5AE - .4byte _080EC5C0 - .4byte _080EC5D0 - .4byte _080EC5E4 - .4byte _080EC5F8 - .4byte _080EC614 - .4byte _080EC61E - .4byte _080EC63E - .4byte _080EC658 -_080EC504: - bl sub_80F1E84 - movs r0, 0 - bl sub_80F2D04 - b _080EC644 -_080EC510: - bl sub_80F1F10 - lsls r0, 24 - cmp r0, 0 - beq _080EC51C - b _080EC66A -_080EC51C: - ldr r0, _080EC53C @ =gSaveBlock2 - ldrb r1, [r0, 0x15] - movs r0, 0x8 - ands r0, r1 - movs r1, 0x8 - cmp r0, 0 - beq _080EC52C - movs r1, 0x7 -_080EC52C: - adds r0, r1, 0 - bl sub_80EEFBC - ldr r1, _080EC540 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EC64C - .align 2, 0 -_080EC53C: .4byte gSaveBlock2 -_080EC540: .4byte 0x02000000 -_080EC544: - bl sub_80EEF34 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080EC552 - b _080EC66A -_080EC552: - ldr r4, _080EC574 @ =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 _080EC64C - .align 2, 0 -_080EC574: .4byte 0x02000000 -_080EC578: - ldr r0, _080EC590 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC66A - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - b _080EC644 - .align 2, 0 -_080EC590: .4byte gPaletteFade -_080EC594: - bl sub_80F2620 - ldr r1, _080EC5A4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EC64C - .align 2, 0 -_080EC5A4: .4byte 0x02000000 -_080EC5A8: - bl sub_80EF814 - b _080EC644 -_080EC5AE: - bl sub_80EF840 - ldr r1, _080EC5CC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EC5C0: - bl sub_80EF874 - lsls r0, 24 - cmp r0, 0 - bne _080EC66A - b _080EC644 - .align 2, 0 -_080EC5CC: .4byte 0x02000000 -_080EC5D0: - movs r0, 0x4 - bl sub_80F2C80 - ldr r1, _080EC5F4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EC5E4: - movs r0, 0x4 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080EC66A - b _080EC644 - .align 2, 0 -_080EC5F4: .4byte 0x02000000 -_080EC5F8: - bl sub_80F2DD8 - ldr r0, _080EC60C @ =sub_80EBD30 - bl SetVBlankCallback - ldr r1, _080EC610 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EC64C - .align 2, 0 -_080EC60C: .4byte sub_80EBD30 -_080EC610: .4byte 0x02000000 -_080EC614: - bl sub_8055870 - cmp r0, 0 - bne _080EC66A - b _080EC644 -_080EC61E: - 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 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EC64C -_080EC63E: - movs r0, 0x1 - bl sub_80EED2C -_080EC644: - ldr r1, _080EC654 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080EC64C: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EC66A - .align 2, 0 -_080EC654: .4byte 0x02000000 -_080EC658: - ldr r0, _080EC674 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC66A - ldr r0, _080EC678 @ =sub_80EC67C - bl sub_80EBDBC -_080EC66A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC674: .4byte gPaletteFade -_080EC678: .4byte sub_80EC67C - thumb_func_end sub_80EC4A0 - - thumb_func_start sub_80EC67C -sub_80EC67C: @ 80EC67C - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, _080EC69C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x5 - bls _080EC692 - b _080EC800 -_080EC692: - lsls r0, 2 - ldr r1, _080EC6A0 @ =_080EC6A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EC69C: .4byte 0x02000000 -_080EC6A0: .4byte _080EC6A4 - .align 2, 0 -_080EC6A4: - .4byte _080EC6BC - .4byte _080EC718 - .4byte _080EC746 - .4byte _080EC77C - .4byte _080EC7A0 - .4byte _080EC7C4 -_080EC6BC: - bl sub_80FAB60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080EC6E2 - cmp r0, 0x3 - bgt _080EC6D2 - cmp r0, 0x1 - beq _080EC6DC - b _080EC800 -_080EC6D2: - cmp r0, 0x4 - beq _080EC6E8 - cmp r0, 0x5 - beq _080EC700 - b _080EC800 -_080EC6DC: - bl sub_80EED9C - b _080EC800 -_080EC6E2: - bl sub_80EF9F8 - b _080EC800 -_080EC6E8: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC6FC @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - strh r1, [r0] - b _080EC800 - .align 2, 0 -_080EC6FC: .4byte 0x02000000 -_080EC700: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EC714 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r2 - movs r1, 0x4 - strh r1, [r0] - b _080EC800 - .align 2, 0 -_080EC714: .4byte 0x02000000 -_080EC718: - ldr r1, _080EC730 @ =0x00006e90 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080EC734 - bl sub_80FAEC4 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EC7BC - .align 2, 0 -_080EC730: .4byte 0x00006e90 -_080EC734: - movs r0, 0x1 - bl sub_80EFBDC - lsls r0, 24 - cmp r0, 0 - bne _080EC800 - bl sub_80FAEC4 - b _080EC7B6 -_080EC746: - bl sub_80FAFC0 - lsls r0, 24 - cmp r0, 0 - bne _080EC800 - ldr r5, _080EC76C @ =0x02000000 - ldr r1, _080EC770 @ =0x00006e90 - adds r0, r5, r1 - ldrb r4, [r0] - cmp r4, 0 - bne _080EC774 - bl sub_80EFBB0 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r5, r2 - strh r4, [r0] - b _080EC800 - .align 2, 0 -_080EC76C: .4byte 0x02000000 -_080EC770: .4byte 0x00006e90 -_080EC774: - movs r0, 0xC1 - lsls r0, 2 - adds r1, r5, r0 - b _080EC7BC -_080EC77C: - movs r0, 0 - bl sub_80EFBDC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080EC800 - bl sub_80EFBB0 - ldr r0, _080EC79C @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - strh r4, [r0] - b _080EC800 - .align 2, 0 -_080EC79C: .4byte 0x02000000 -_080EC7A0: - movs r2, 0xC2 - lsls r2, 2 - adds r0, r4, r2 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade -_080EC7B6: - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 -_080EC7BC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EC800 -_080EC7C4: - ldr r0, _080EC808 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EC800 - bl sub_80F2DF4 - movs r0, 0x4 - bl sub_80F2D04 - ldr r3, _080EC80C @ =gSaveBlock2 - movs r2, 0 - ldr r0, _080EC810 @ =0x02000000 - ldr r1, _080EC814 @ =0x00006e90 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080EC7EC - movs r2, 0x1 -_080EC7EC: - lsls r2, 3 - ldrb r1, [r3, 0x15] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x15] - ldr r0, _080EC818 @ =sub_80EC00C - bl sub_80EBDBC -_080EC800: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EC808: .4byte gPaletteFade -_080EC80C: .4byte gSaveBlock2 -_080EC810: .4byte 0x02000000 -_080EC814: .4byte 0x00006e90 -_080EC818: .4byte sub_80EC00C - thumb_func_end sub_80EC67C - - thumb_func_start sub_80EC81C -sub_80EC81C: @ 80EC81C - push {r4,lr} - ldr r0, _080EC834 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080EC838 - cmp r0, 0x1 - beq _080EC850 - b _080EC860 - .align 2, 0 -_080EC834: .4byte 0x02000000 -_080EC838: - movs r0, 0 - bl sub_80F2D04 - movs r0, 0x1 - movs r1, 0 - movs r2, 0x1 - bl sub_80EE9C0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EC860 -_080EC850: - bl sub_80EEA0C - lsls r0, 24 - cmp r0, 0 - bne _080EC860 - ldr r0, _080EC868 @ =sub_80EC86C - bl sub_80EBDBC -_080EC860: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC868: .4byte sub_80EC86C - thumb_func_end sub_80EC81C - - thumb_func_start sub_80EC86C -sub_80EC86C: @ 80EC86C - push {r4-r6,lr} - ldr r4, _080EC884 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r5, r4, r0 - ldrh r0, [r5] - cmp r0, 0 - beq _080EC888 - cmp r0, 0x1 - beq _080EC944 - b _080EC954 - .align 2, 0 -_080EC884: .4byte 0x02000000 -_080EC888: - bl sub_80EEC90 - lsls r0, 24 - cmp r0, 0 - beq _080EC8B0 - movs r0, 0x5 - bl PlaySE - ldr r1, _080EC8AC @ =0x00006dad - adds r0, r4, r1 - ldrb r1, [r0] - movs r0, 0x1 - bl sub_80EF428 - bl sub_80EED9C - b _080EC954 - .align 2, 0 -_080EC8AC: .4byte 0x00006dad -_080EC8B0: - ldr r0, _080EC8E4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080EC918 - movs r0, 0x5 - bl PlaySE - ldr r2, _080EC8E8 @ =0x00006dad - adds r0, r4, r2 - ldrb r1, [r0] - adds r2, 0x43 - adds r0, r4, r2 - strb r1, [r0] - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - beq _080EC900 - cmp r0, 0x1 - bgt _080EC8EC - cmp r0, 0 - beq _080EC8F2 - b _080EC954 - .align 2, 0 -_080EC8E4: .4byte gMain -_080EC8E8: .4byte 0x00006dad -_080EC8EC: - cmp r0, 0x2 - beq _080EC90C - b _080EC954 -_080EC8F2: - ldr r0, _080EC8FC @ =sub_80ED620 - bl sub_80EBDBC - b _080EC954 - .align 2, 0 -_080EC8FC: .4byte sub_80ED620 -_080EC900: - ldr r0, _080EC908 @ =sub_80EC960 - bl sub_80EBDBC - b _080EC954 - .align 2, 0 -_080EC908: .4byte sub_80EC960 -_080EC90C: - ldr r0, _080EC914 @ =sub_80EC210 - bl sub_80EBDBC - b _080EC954 - .align 2, 0 -_080EC914: .4byte sub_80EC210 -_080EC918: - movs r6, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EC954 - movs r0, 0x5 - bl PlaySE - ldr r1, _080EC93C @ =0x00006df0 - adds r0, r4, r1 - strb r6, [r0] - ldr r2, _080EC940 @ =0x00006dad - adds r0, r4, r2 - strb r6, [r0] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080EC954 - .align 2, 0 -_080EC93C: .4byte 0x00006df0 -_080EC940: .4byte 0x00006dad -_080EC944: - bl sub_80F1E6C - lsls r0, 24 - cmp r0, 0 - bne _080EC954 - ldr r0, _080EC95C @ =sub_80EC210 - bl sub_80EBDBC -_080EC954: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EC95C: .4byte sub_80EC210 - thumb_func_end sub_80EC86C - - thumb_func_start sub_80EC960 -sub_80EC960: @ 80EC960 - push {r4,lr} - ldr r0, _080EC978 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0 - beq _080EC97C - cmp r0, 0x1 - beq _080EC98E - b _080EC99E - .align 2, 0 -_080EC978: .4byte 0x02000000 -_080EC97C: - movs r0, 0x2 - movs r1, 0 - movs r2, 0x5 - bl sub_80EE9C0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EC99E -_080EC98E: - bl sub_80EEA0C - lsls r0, 24 - cmp r0, 0 - bne _080EC99E - ldr r0, _080EC9A4 @ =sub_80ECC08 - bl sub_80EBDBC -_080EC99E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EC9A4: .4byte sub_80ECC08 - thumb_func_end sub_80EC960 - - thumb_func_start sub_80EC9A8 -sub_80EC9A8: @ 80EC9A8 - push {r4,r5,lr} - ldr r5, _080EC9C0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0 - beq _080EC9C4 - cmp r0, 0x1 - beq _080EC9E4 - b _080ECA00 - .align 2, 0 -_080EC9C0: .4byte 0x02000000 -_080EC9C4: - movs r0, 0x5 - bl sub_80F2D04 - ldr r1, _080EC9E0 @ =0x00006df0 - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0x1 - movs r2, 0xC - bl sub_80EE9C0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080ECA00 - .align 2, 0 -_080EC9E0: .4byte 0x00006df0 -_080EC9E4: - bl sub_80EEA0C - lsls r0, 24 - cmp r0, 0 - bne _080ECA00 - ldr r0, _080ECA08 @ =sub_80EC86C - bl sub_80EBDBC - ldr r1, _080ECA0C @ =0x00006dad - adds r0, r5, r1 - ldrb r1, [r0] - movs r0, 0x1 - bl sub_80EF428 -_080ECA00: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ECA08: .4byte sub_80EC86C -_080ECA0C: .4byte 0x00006dad - thumb_func_end sub_80EC9A8 - - 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} - ldr r4, _080ECC20 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r5, r4, r0 - ldrh r0, [r5] - cmp r0, 0 - beq _080ECC24 - cmp r0, 0x1 - bne _080ECC1E - b _080ECD64 -_080ECC1E: - b _080ECD74 - .align 2, 0 -_080ECC20: .4byte 0x02000000 -_080ECC24: - bl sub_80EEC90 - lsls r0, 24 - cmp r0, 0 - beq _080ECC4C - movs r0, 0x5 - bl PlaySE - ldr r1, _080ECC48 @ =0x00006dad - adds r0, r4, r1 - ldrb r1, [r0] - movs r0, 0x2 - bl sub_80EF428 - bl sub_80EED9C - b _080ECD74 - .align 2, 0 -_080ECC48: .4byte 0x00006dad -_080ECC4C: - ldr r0, _080ECC78 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080ECC5A - b _080ECD40 -_080ECC5A: - movs r0, 0x5 - bl PlaySE - ldr r2, _080ECC7C @ =0x00006dad - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _080ECD0C - lsls r0, 2 - ldr r1, _080ECC80 @ =_080ECC84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ECC78: .4byte gMain -_080ECC7C: .4byte 0x00006dad -_080ECC80: .4byte _080ECC84 - .align 2, 0 -_080ECC84: - .4byte _080ECC9C - .4byte _080ECCB0 - .4byte _080ECCC4 - .4byte _080ECCD8 - .4byte _080ECCEC - .4byte _080ECD00 -_080ECC9C: - ldr r0, _080ECCA8 @ =0x02000000 - ldr r3, _080ECCAC @ =0x000087d8 - adds r0, r3 - movs r1, 0x16 - strb r1, [r0] - b _080ECD0C - .align 2, 0 -_080ECCA8: .4byte 0x02000000 -_080ECCAC: .4byte 0x000087d8 -_080ECCB0: - ldr r0, _080ECCBC @ =0x02000000 - ldr r1, _080ECCC0 @ =0x000087d8 - adds r0, r1 - movs r1, 0x17 - strb r1, [r0] - b _080ECD0C - .align 2, 0 -_080ECCBC: .4byte 0x02000000 -_080ECCC0: .4byte 0x000087d8 -_080ECCC4: - ldr r0, _080ECCD0 @ =0x02000000 - ldr r2, _080ECCD4 @ =0x000087d8 - adds r0, r2 - movs r1, 0x18 - strb r1, [r0] - b _080ECD0C - .align 2, 0 -_080ECCD0: .4byte 0x02000000 -_080ECCD4: .4byte 0x000087d8 -_080ECCD8: - ldr r0, _080ECCE4 @ =0x02000000 - ldr r3, _080ECCE8 @ =0x000087d8 - adds r0, r3 - movs r1, 0x21 - strb r1, [r0] - b _080ECD0C - .align 2, 0 -_080ECCE4: .4byte 0x02000000 -_080ECCE8: .4byte 0x000087d8 -_080ECCEC: - ldr r0, _080ECCF8 @ =0x02000000 - ldr r1, _080ECCFC @ =0x000087d8 - adds r0, r1 - movs r1, 0x2F - strb r1, [r0] - b _080ECD0C - .align 2, 0 -_080ECCF8: .4byte 0x02000000 -_080ECCFC: .4byte 0x000087d8 -_080ECD00: - ldr r0, _080ECD08 @ =sub_80EC9A8 - bl sub_80EBDBC - b _080ECD74 - .align 2, 0 -_080ECD08: .4byte sub_80EC9A8 -_080ECD0C: - ldr r1, _080ECD2C @ =0x02000000 - ldr r2, _080ECD30 @ =0x00006dad - adds r0, r1, r2 - ldrb r2, [r0] - ldr r3, _080ECD34 @ =0x00006dfc - adds r0, r1, r3 - strb r2, [r0] - ldr r0, _080ECD38 @ =0x000076aa - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080ECD3C @ =sub_80ED01C - bl sub_80EBDBC - b _080ECD74 - .align 2, 0 -_080ECD2C: .4byte 0x02000000 -_080ECD30: .4byte 0x00006dad -_080ECD34: .4byte 0x00006dfc -_080ECD38: .4byte 0x000076aa -_080ECD3C: .4byte sub_80ED01C -_080ECD40: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080ECD74 - movs r0, 0x5 - bl PlaySE - ldr r2, _080ECD60 @ =0x00006dad - adds r1, r4, r2 - movs r0, 0x5 - strb r0, [r1] - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080ECD74 - .align 2, 0 -_080ECD60: .4byte 0x00006dad -_080ECD64: - bl sub_80F1E6C - lsls r0, 24 - cmp r0, 0 - bne _080ECD74 - ldr r0, _080ECD7C @ =sub_80EC9A8 - bl sub_80EBDBC -_080ECD74: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080ECD7C: .4byte sub_80EC9A8 - thumb_func_end sub_80ECC08 - - thumb_func_start sub_80ECD80 -sub_80ECD80: @ 80ECD80 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080ECDA0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x14 - bls _080ECD96 - b _080ED006 -_080ECD96: - lsls r0, 2 - ldr r1, _080ECDA4 @ =_080ECDA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ECDA0: .4byte 0x02000000 -_080ECDA4: .4byte _080ECDA8 - .align 2, 0 -_080ECDA8: - .4byte _080ECDFC - .4byte _080ECE1A - .4byte _080ECE34 - .4byte _080ECE4C - .4byte _080ECE64 - .4byte _080ECE78 - .4byte _080ECE80 - .4byte _080ECEAC - .4byte _080ECEC0 - .4byte _080ECED4 - .4byte _080ECEE8 - .4byte _080ECF04 - .4byte _080ECF10 - .4byte _080ECF3C - .4byte _080ECF44 - .4byte _080ECF58 - .4byte _080ECF70 - .4byte _080ECF84 - .4byte _080ECFB0 - .4byte _080ECFC4 - .4byte _080ECFE8 -_080ECDFC: - movs r3, 0xC2 - lsls r3, 2 - adds r0, r4, r3 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080ECFDC -_080ECE1A: - ldr r0, _080ECE30 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080ECE28 - b _080ED006 -_080ECE28: - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ECFDC - .align 2, 0 -_080ECE30: .4byte gPaletteFade -_080ECE34: - bl sub_80EEF78 - lsls r0, 24 - cmp r0, 0 - beq _080ECE40 - b _080ED006 -_080ECE40: - ldr r0, _080ECE48 @ =sub_80EBD80 - bl SetVBlankCallback - b _080ECFD4 - .align 2, 0 -_080ECE48: .4byte sub_80EBD80 -_080ECE4C: - bl sub_80EED1C - bl sub_80F3130 - ldr r1, _080ECE60 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECFDC - .align 2, 0 -_080ECE60: .4byte 0x02000000 -_080ECE64: - movs r0, 0x1 - bl sub_80F2D6C - ldr r1, _080ECE74 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080ECFDC - .align 2, 0 -_080ECE74: .4byte 0x02000000 -_080ECE78: - movs r0, 0x5 - bl sub_80F2D6C - b _080ECFD4 -_080ECE80: - ldr r1, _080ECEA0 @ =0x00006dfc - adds r0, r4, r1 - ldrb r1, [r0] - ldr r2, _080ECEA4 @ =0x00006dad - adds r0, r4, r2 - strb r1, [r0] - ldr r3, _080ECEA8 @ =0x00006dae - adds r1, r4, r3 - movs r0, 0x6 - strb r0, [r1] - bl sub_80EEE08 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080ECFDC - .align 2, 0 -_080ECEA0: .4byte 0x00006dfc -_080ECEA4: .4byte 0x00006dad -_080ECEA8: .4byte 0x00006dae -_080ECEAC: - movs r0, 0x2 - bl sub_80EF248 - ldr r1, _080ECED0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECEC0: - movs r0, 0x2 - bl sub_80EF284 - lsls r0, 24 - cmp r0, 0 - beq _080ECECE - b _080ED006 -_080ECECE: - b _080ECFD4 - .align 2, 0 -_080ECED0: .4byte 0x02000000 -_080ECED4: - movs r0, 0x2 - bl sub_80F1B8C - ldr r1, _080ECF00 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECEE8: - movs r0, 0x2 - bl sub_80F1BC8 - lsls r0, 24 - cmp r0, 0 - beq _080ECEF6 - b _080ED006 -_080ECEF6: - ldr r1, _080ECF00 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080ECFDC - .align 2, 0 -_080ECF00: .4byte 0x02000000 -_080ECF04: - bl sub_8055870 - cmp r0, 0 - beq _080ECF0E - b _080ED006 -_080ECF0E: - b _080ECFD4 -_080ECF10: - 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, _080ECF38 @ =sub_80EBD18 - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ECFDC - .align 2, 0 -_080ECF38: .4byte sub_80EBD18 -_080ECF3C: - movs r0, 0 - bl sub_80EED2C - b _080ECFD4 -_080ECF44: - bl sub_80F2598 - ldr r1, _080ECF54 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080ECFDC - .align 2, 0 -_080ECF54: .4byte 0x02000000 -_080ECF58: - ldr r0, _080ECF6C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ED006 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ECFDC - .align 2, 0 -_080ECF6C: .4byte gPaletteFade -_080ECF70: - movs r0, 0x1 - bl sub_80F2C80 - ldr r1, _080ECFA8 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECF84: - movs r0, 0x1 - bl sub_80F2CBC - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - bne _080ED006 - ldr r0, _080ECFA8 @ =0x02000000 - ldr r3, _080ECFAC @ =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 _080ED006 - .align 2, 0 -_080ECFA8: .4byte 0x02000000 -_080ECFAC: .4byte 0x00000306 -_080ECFB0: - movs r0, 0x5 - bl sub_80F2C80 - ldr r1, _080ECFE4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ECFC4: - movs r0, 0x5 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080ED006 - bl sub_80F1DF0 -_080ECFD4: - ldr r1, _080ECFE4 @ =0x02000000 - movs r3, 0xC1 - lsls r3, 2 - adds r1, r3 -_080ECFDC: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ED006 - .align 2, 0 -_080ECFE4: .4byte 0x02000000 -_080ECFE8: - bl sub_80F1E50 - lsls r0, 24 - cmp r0, 0 - bne _080ED006 - ldr r0, _080ED010 @ =0x02000000 - ldr r1, _080ED014 @ =0x00006dad - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - bl sub_80EF428 - ldr r0, _080ED018 @ =sub_80ECC08 - bl sub_80EBDBC -_080ED006: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ED010: .4byte 0x02000000 -_080ED014: .4byte 0x00006dad -_080ED018: .4byte sub_80ECC08 - thumb_func_end sub_80ECD80 - - 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} - ldr r0, _080ED338 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080ED3A8 - cmp r0, 0x1 - bgt _080ED33C - cmp r0, 0 - beq _080ED342 - b _080ED3CA - .align 2, 0 -_080ED338: .4byte 0x02000000 -_080ED33C: - cmp r0, 0x2 - beq _080ED3C0 - b _080ED3CA -_080ED342: - bl sub_80F5DD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080ED374 - cmp r0, 0x2 - beq _080ED380 - ldr r0, _080ED36C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080ED38C - movs r0, 0x5 - bl PlaySE - ldr r0, _080ED370 @ =sub_80ED4D8 - bl sub_80EBDBC - b _080ED3CA - .align 2, 0 -_080ED36C: .4byte gMain -_080ED370: .4byte sub_80ED4D8 -_080ED374: - movs r0, 0x5 - bl PlaySE - bl ShowMapNamePopUpWindow - b _080ED3CA -_080ED380: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - adds r0, 0x1 - b _080ED3C8 -_080ED38C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080ED3CA - movs r0, 0x5 - bl PlaySE - ldr r0, _080ED3A4 @ =sub_80ECD80 - bl sub_80EBDBC - b _080ED3CA - .align 2, 0 -_080ED3A4: .4byte sub_80ECD80 -_080ED3A8: - bl sub_80F0718 - lsls r0, 24 - cmp r0, 0 - bne _080ED3CA - bl ShowMapNamePopUpWindow - bl sub_80F3264 - ldrh r0, [r4] - adds r0, 0x1 - b _080ED3C8 -_080ED3C0: - bl sub_8055870 - cmp r0, 0 - bne _080ED3CA -_080ED3C8: - strh r0, [r4] -_080ED3CA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80ED31C - - 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} - sub sp, 0x4 - ldr r1, _080ED4F8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x8 - bls _080ED4EE - b _080ED60E -_080ED4EE: - lsls r0, 2 - ldr r1, _080ED4FC @ =_080ED500 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ED4F8: .4byte 0x02000000 -_080ED4FC: .4byte _080ED500 - .align 2, 0 -_080ED500: - .4byte _080ED524 - .4byte _080ED542 - .4byte _080ED564 - .4byte _080ED57C - .4byte _080ED582 - .4byte _080ED594 - .4byte _080ED5A4 - .4byte _080ED5E0 - .4byte _080ED5FC -_080ED524: - 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 r3, 0x10 - bl BeginNormalPaletteFade - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED5EE -_080ED542: - ldr r0, _080ED560 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ED60E - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80F3130 - b _080ED5E6 - .align 2, 0 -_080ED560: .4byte gPaletteFade -_080ED564: - bl sub_8055870 - cmp r0, 0 - bne _080ED60E - ldr r1, _080ED578 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080ED5EE - .align 2, 0 -_080ED578: .4byte 0x02000000 -_080ED57C: - bl sub_80F4CF0 - b _080ED5E6 -_080ED582: - bl sub_80EFF34 - ldr r1, _080ED5A0 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080ED594: - bl sub_80EFF68 - lsls r0, 24 - cmp r0, 0 - bne _080ED60E - b _080ED5E6 - .align 2, 0 -_080ED5A0: .4byte 0x02000000 -_080ED5A4: - bl sub_80F35B4 - movs r0, 0x2 - bl sub_80EEFBC - ldr r4, _080ED5D8 @ =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, _080ED5DC @ =sub_80EBD4C - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080ED5EE - .align 2, 0 -_080ED5D8: .4byte 0x02000000 -_080ED5DC: .4byte sub_80EBD4C -_080ED5E0: - movs r0, 0x2 - bl sub_80EED2C -_080ED5E6: - ldr r1, _080ED5F8 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080ED5EE: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080ED60E - .align 2, 0 -_080ED5F8: .4byte 0x02000000 -_080ED5FC: - ldr r0, _080ED618 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080ED60E - ldr r0, _080ED61C @ =sub_80ED858 - bl sub_80EBDBC -_080ED60E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080ED618: .4byte gPaletteFade -_080ED61C: .4byte sub_80ED858 - thumb_func_end sub_80ED4D8 - - 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} - sub sp, 0x4 - ldr r1, _080ED878 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r5, r1, 0 - cmp r0, 0xB - bls _080ED86E - b _080EDB7A -_080ED86E: - lsls r0, 2 - ldr r1, _080ED87C @ =_080ED880 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080ED878: .4byte 0x02000000 -_080ED87C: .4byte _080ED880 - .align 2, 0 -_080ED880: - .4byte _080ED8B0 - .4byte _080ED8CC - .4byte _080ED8EC - .4byte _080ED904 - .4byte _080ED91A - .4byte _080EDA68 - .4byte _080EDA8C - .4byte _080EDAA4 - .4byte _080EDAC0 - .4byte _080EDAE8 - .4byte _080EDB7A - .4byte _080EDB28 -_080ED8B0: - bl sub_80F4F78 - bl sub_80F5B38 - ldr r0, _080ED8C8 @ =0x02000000 - movs r4, 0xC1 - lsls r4, 2 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080ED8C8: .4byte 0x02000000 -_080ED8CC: - bl sub_80F5B50 - lsls r0, 24 - cmp r0, 0 - beq _080ED8D8 - b _080EDB7A -_080ED8D8: - ldr r0, _080ED8E8 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080ED8E8: .4byte 0x02000000 -_080ED8EC: - movs r0, 0x1 - bl sub_80F0174 - ldr r0, _080ED900 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r2 - movs r1, 0x3 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080ED900: .4byte 0x02000000 -_080ED904: - bl sub_80F4FB4 - lsls r0, 24 - cmp r0, 0 - beq _080ED910 - b _080EDB7A -_080ED910: - bl sub_80F3C94 - bl sub_80F3D00 - b _080EDAD4 -_080ED91A: - ldr r2, _080ED960 @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _080ED970 - ldr r1, _080ED964 @ =0x000087cb - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080ED970 - ldr r2, _080ED968 @ =0x000076aa - adds r0, r5, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080ED948 - ldr r4, _080ED96C @ =0x000087dc - adds r0, r5, r4 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _080ED970 -_080ED948: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_80F5060 - bl move_anim_execute - movs r2, 0xC1 - lsls r2, 2 - adds r1, r5, r2 - b _080ED9B8 - .align 2, 0 -_080ED960: .4byte gMain -_080ED964: .4byte 0x000087cb -_080ED968: .4byte 0x000076aa -_080ED96C: .4byte 0x000087dc -_080ED970: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080ED9CC - ldr r4, _080ED9C0 @ =0x000087cb - adds r0, r5, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _080ED9CC - ldr r1, _080ED9C4 @ =0x000076aa - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080ED9A2 - ldr r2, _080ED9C8 @ =0x000087dc - adds r0, r5, r2 - subs r4, 0x57 - adds r1, r5, r4 - movs r4, 0 - ldrsh r2, [r0, r4] - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r2, r0 - bge _080ED9CC -_080ED9A2: - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_80F5060 - bl move_anim_execute - movs r0, 0xC1 - lsls r0, 2 - adds r1, r5, r0 -_080ED9B8: - movs r0, 0x5 - strh r0, [r1] - b _080EDB7A - .align 2, 0 -_080ED9C0: .4byte 0x000087cb -_080ED9C4: .4byte 0x000076aa -_080ED9C8: .4byte 0x000087dc -_080ED9CC: - ldrh r2, [r3, 0x2E] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _080ED9F8 - movs r0, 0x5 - bl PlaySE - bl sub_80F4FDC - bl move_anim_execute - ldr r0, _080ED9F4 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x9 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080ED9F4: .4byte 0x02000000 -_080ED9F8: - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - bne _080EDA02 - b _080EDB7A -_080EDA02: - adds r4, r5, 0 - ldr r2, _080EDA38 @ =0x000076aa - adds r0, r4, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080EDA44 - ldr r1, _080EDA3C @ =0x000087dc - adds r0, r4, r1 - movs r2, 0 - ldrsh r1, [r0, r2] - ldr r2, _080EDA40 @ =0x000087da - adds r0, r4, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - subs r0, 0x1 - cmp r1, r0 - beq _080EDA26 - b _080EDB7A -_080EDA26: - movs r0, 0x5 - bl PlaySE - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - movs r0, 0x9 - strh r0, [r1] - b _080EDB7A - .align 2, 0 -_080EDA38: .4byte 0x000076aa -_080EDA3C: .4byte 0x000087dc -_080EDA40: .4byte 0x000087da -_080EDA44: - ldr r1, _080EDA64 @ =0x00006dac - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080EDA50 - b _080EDB7A -_080EDA50: - movs r0, 0x5 - bl PlaySE - movs r2, 0xC1 - lsls r2, 2 - adds r1, r5, r2 - movs r0, 0x7 - strh r0, [r1] - b _080EDB7A - .align 2, 0 -_080EDA64: .4byte 0x00006dac -_080EDA68: - bl gpu_sync_bg_show - lsls r0, 24 - cmp r0, 0 - beq _080EDA74 - b _080EDB7A -_080EDA74: - bl sub_80F3D00 - ldr r0, _080EDA88 @ =0x02000000 - movs r4, 0xC1 - lsls r4, 2 - adds r0, r4 - movs r1, 0x6 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080EDA88: .4byte 0x02000000 -_080EDA8C: - bl sub_8055870 - cmp r0, 0 - bne _080EDB7A - ldr r0, _080EDAA0 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - b _080EDADC - .align 2, 0 -_080EDAA0: .4byte 0x02000000 -_080EDAA4: - movs r0, 0x3 - bl sub_80EEFBC - bl sub_80F3668 - ldr r0, _080EDABC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r2 - movs r1, 0x8 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080EDABC: .4byte 0x02000000 -_080EDAC0: - bl sub_80F7500 - lsls r0, 24 - cmp r0, 0 - bne _080EDB7A - movs r0, 0x2 - bl sub_80EEFBC - bl sub_80F3698 -_080EDAD4: - ldr r0, _080EDAE4 @ =0x02000000 - movs r4, 0xC1 - lsls r4, 2 - adds r0, r4 -_080EDADC: - movs r1, 0x4 - strh r1, [r0] - b _080EDB7A - .align 2, 0 -_080EDAE4: .4byte 0x02000000 -_080EDAE8: - bl sub_80F5038 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080EDB7A - movs r0, 0 - bl sub_80F0174 - bl sub_80F2F48 - ldr r5, _080EDB24 @ =0x02000000 - movs r1, 0xC2 - lsls r1, 2 - adds r0, r5, r1 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - str r4, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r2, 0xC1 - lsls r2, 2 - adds r1, r5, r2 - movs r0, 0xB - strh r0, [r1] - b _080EDB7A - .align 2, 0 -_080EDB24: .4byte 0x02000000 -_080EDB28: - ldr r0, _080EDB60 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EDB7A - bl sub_80F3CE8 - bl sub_80F5BDC - ldr r0, _080EDB64 @ =0x02000000 - ldr r4, _080EDB68 @ =0x000076aa - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080EDB70 - bl sub_80F357C - movs r0, 0x1 - bl sub_80F2D6C - movs r0, 0x6 - bl sub_80F2D6C - ldr r0, _080EDB6C @ =sub_80ECA10 - bl sub_80EBDBC - b _080EDB7A - .align 2, 0 -_080EDB60: .4byte gPaletteFade -_080EDB64: .4byte 0x02000000 -_080EDB68: .4byte 0x000076aa -_080EDB6C: .4byte sub_80ECA10 -_080EDB70: - bl sub_80F3614 - ldr r0, _080EDB84 @ =sub_80ED3D0 - bl sub_80EBDBC -_080EDB7A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EDB84: .4byte sub_80ED3D0 - thumb_func_end sub_80ED858 - - thumb_func_start sub_80EDB88 -sub_80EDB88: @ 80EDB88 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080EDBA8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x11 - bls _080EDB9E - b _080EDDAA -_080EDB9E: - lsls r0, 2 - ldr r1, _080EDBAC @ =_080EDBB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EDBA8: .4byte 0x02000000 -_080EDBAC: .4byte _080EDBB0 - .align 2, 0 -_080EDBB0: - .4byte _080EDBF8 - .4byte _080EDC04 - .4byte _080EDC24 - .4byte _080EDC58 - .4byte _080EDC7C - .4byte _080EDC90 - .4byte _080EDCA2 - .4byte _080EDCC0 - .4byte _080EDCDC - .4byte _080EDCE6 - .4byte _080EDCFA - .4byte _080EDD0C - .4byte _080EDD20 - .4byte _080EDD34 - .4byte _080EDD48 - .4byte _080EDD52 - .4byte _080EDD7C - .4byte _080EDD98 -_080EDBF8: - bl sub_80F1E84 - movs r0, 0 - bl sub_80F2D04 - b _080EDD82 -_080EDC04: - bl sub_80F1F10 - lsls r0, 24 - cmp r0, 0 - beq _080EDC10 - b _080EDDAA -_080EDC10: - movs r0, 0x4 - bl sub_80EEFBC - ldr r1, _080EDC20 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EDD8A - .align 2, 0 -_080EDC20: .4byte 0x02000000 -_080EDC24: - bl sub_80EEF34 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _080EDC32 - b _080EDDAA -_080EDC32: - ldr r4, _080EDC54 @ =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 _080EDD8A - .align 2, 0 -_080EDC54: .4byte 0x02000000 -_080EDC58: - ldr r0, _080EDC78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080EDC66 - b _080EDDAA -_080EDC66: - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80EF814 - b _080EDD82 - .align 2, 0 -_080EDC78: .4byte gPaletteFade -_080EDC7C: - bl sub_80F2620 - ldr r1, _080EDC8C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EDD8A - .align 2, 0 -_080EDC8C: .4byte 0x02000000 -_080EDC90: - bl sub_80F638C - ldr r1, _080EDCBC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EDCA2: - bl sub_80F63D0 - lsls r0, 24 - cmp r0, 0 - bne _080EDD82 - ldr r1, _080EDCBC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] - b _080EDDAA - .align 2, 0 -_080EDCBC: .4byte 0x02000000 -_080EDCC0: - bl sub_8055870 - cmp r0, 0 - bne _080EDDAA - ldr r1, _080EDCD8 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - b _080EDDAA - .align 2, 0 -_080EDCD8: .4byte 0x02000000 -_080EDCDC: - bl sub_8055870 - cmp r0, 0 - bne _080EDDAA - b _080EDD82 -_080EDCE6: - movs r0, 0x1 - bl sub_80F0264 - ldr r1, _080EDD08 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EDCFA: - bl sub_80F02A0 - lsls r0, 24 - cmp r0, 0 - bne _080EDDAA - b _080EDD82 - .align 2, 0 -_080EDD08: .4byte 0x02000000 -_080EDD0C: - movs r0, 0x2 - bl sub_80F2C80 - ldr r1, _080EDD30 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EDD20: - movs r0, 0x2 - bl sub_80F2CBC - lsls r0, 24 - cmp r0, 0 - bne _080EDDAA - b _080EDD82 - .align 2, 0 -_080EDD30: .4byte 0x02000000 -_080EDD34: - movs r0, 0x1 - bl sub_80F3008 - ldr r1, _080EDD44 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EDD8A - .align 2, 0 -_080EDD44: .4byte 0x02000000 -_080EDD48: - bl sub_8055870 - cmp r0, 0 - bne _080EDDAA - b _080EDD82 -_080EDD52: - 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, _080EDD78 @ =sub_80EBD18 - bl SetVBlankCallback - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EDD8A - .align 2, 0 -_080EDD78: .4byte sub_80EBD18 -_080EDD7C: - movs r0, 0x4 - bl sub_80EED2C -_080EDD82: - ldr r1, _080EDD94 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080EDD8A: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EDDAA - .align 2, 0 -_080EDD94: .4byte 0x02000000 -_080EDD98: - ldr r0, _080EDDB4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EDDAA - ldr r0, _080EDDB8 @ =sub_80EDDBC - bl sub_80EBDBC -_080EDDAA: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EDDB4: .4byte gPaletteFade -_080EDDB8: .4byte sub_80EDDBC - thumb_func_end sub_80EDB88 - - thumb_func_start sub_80EDDBC -sub_80EDDBC: @ 80EDDBC - push {r4,lr} - ldr r0, _080EDDD8 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080EDE48 - cmp r0, 0x1 - bgt _080EDDDC - cmp r0, 0 - beq _080EDDE2 - b _080EDE6A - .align 2, 0 -_080EDDD8: .4byte 0x02000000 -_080EDDDC: - cmp r0, 0x2 - beq _080EDE60 - b _080EDE6A -_080EDDE2: - bl sub_80F5DD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080EDE14 - cmp r0, 0x2 - beq _080EDE20 - ldr r0, _080EDE0C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080EDE2C - movs r0, 0x5 - bl PlaySE - ldr r0, _080EDE10 @ =sub_80EDEE4 - bl sub_80EBDBC - b _080EDE6A - .align 2, 0 -_080EDE0C: .4byte gMain -_080EDE10: .4byte sub_80EDEE4 -_080EDE14: - movs r0, 0x5 - bl PlaySE - bl ShowMapNamePopUpWindow - b _080EDE6A -_080EDE20: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - adds r0, 0x1 - b _080EDE68 -_080EDE2C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EDE6A - movs r0, 0x5 - bl PlaySE - ldr r0, _080EDE44 @ =sub_80EDE70 - bl sub_80EBDBC - b _080EDE6A - .align 2, 0 -_080EDE44: .4byte sub_80EDE70 -_080EDE48: - bl sub_80F0718 - lsls r0, 24 - cmp r0, 0 - bne _080EDE6A - bl ShowMapNamePopUpWindow - bl sub_80F3264 - ldrh r0, [r4] - adds r0, 0x1 - b _080EDE68 -_080EDE60: - bl sub_8055870 - cmp r0, 0 - bne _080EDE6A -_080EDE68: - strh r0, [r4] -_080EDE6A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80EDDBC - - thumb_func_start sub_80EDE70 -sub_80EDE70: @ 80EDE70 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080EDE8C @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r2, [r4] - cmp r2, 0x1 - beq _080EDEAE - cmp r2, 0x1 - bgt _080EDE90 - cmp r2, 0 - beq _080EDE96 - b _080EDED6 - .align 2, 0 -_080EDE8C: .4byte 0x02000000 -_080EDE90: - cmp r2, 0x2 - beq _080EDED0 - b _080EDED6 -_080EDE96: - movs r1, 0xC2 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080EDEC4 -_080EDEAE: - ldr r0, _080EDECC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EDED6 - bl sub_80F3130 - movs r0, 0x2 - bl sub_80F2D6C -_080EDEC4: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EDED6 - .align 2, 0 -_080EDECC: .4byte gPaletteFade -_080EDED0: - ldr r0, _080EDEE0 @ =sub_80EC00C - bl sub_80EBDBC -_080EDED6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EDEE0: .4byte sub_80EC00C - thumb_func_end sub_80EDE70 - - thumb_func_start sub_80EDEE4 -sub_80EDEE4: @ 80EDEE4 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080EDF04 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0xA - bls _080EDEFA - b _080EE060 -_080EDEFA: - lsls r0, 2 - ldr r1, _080EDF08 @ =_080EDF0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EDF04: .4byte 0x02000000 -_080EDF08: .4byte _080EDF0C - .align 2, 0 -_080EDF0C: - .4byte _080EDF38 - .4byte _080EDF50 - .4byte _080EDF80 - .4byte _080EDF98 - .4byte _080EDFB0 - .4byte _080EDFC8 - .4byte _080EDFE0 - .4byte _080EDFF8 - .4byte _080EE01C - .4byte _080EE030 - .4byte _080EE050 -_080EDF38: - 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 r3, 0x10 - bl BeginNormalPaletteFade - b _080EE03C -_080EDF50: - ldr r0, _080EDF78 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080EDF5E - b _080EE060 -_080EDF5E: - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80F3130 - ldr r1, _080EDF7C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE042 - .align 2, 0 -_080EDF78: .4byte gPaletteFade -_080EDF7C: .4byte 0x02000000 -_080EDF80: - bl sub_80F66E0 - bl sub_80EEE08 - ldr r1, _080EDF94 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE042 - .align 2, 0 -_080EDF94: .4byte 0x02000000 -_080EDF98: - bl sub_80F1080 - lsls r0, 24 - cmp r0, 0 - bne _080EE060 - ldr r1, _080EDFAC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE042 - .align 2, 0 -_080EDFAC: .4byte 0x02000000 -_080EDFB0: - movs r0, 0x5 - bl sub_80EEFBC - bl sub_80F38B8 - ldr r1, _080EDFDC @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EDFC8: - bl sub_80F38EC - lsls r0, 24 - cmp r0, 0 - bne _080EE060 - ldr r1, _080EDFDC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE042 - .align 2, 0 -_080EDFDC: .4byte 0x02000000 -_080EDFE0: - bl sub_8055870 - cmp r0, 0 - bne _080EE060 - ldr r1, _080EDFF4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE042 - .align 2, 0 -_080EDFF4: .4byte 0x02000000 -_080EDFF8: - 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, _080EE018 @ =sub_80EBD18 - bl SetVBlankCallback - b _080EE03C - .align 2, 0 -_080EE018: .4byte sub_80EBD18 -_080EE01C: - movs r0, 0x3 - bl sub_80EED2C - ldr r1, _080EE02C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE042 - .align 2, 0 -_080EE02C: .4byte 0x02000000 -_080EE030: - ldr r0, _080EE04C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE060 -_080EE03C: - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 -_080EE042: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EE060 - .align 2, 0 -_080EE04C: .4byte gPaletteFade -_080EE050: - bl sub_80F170C - lsls r0, 24 - cmp r0, 0 - bne _080EE060 - ldr r0, _080EE068 @ =sub_80EE06C - bl sub_80EBDBC -_080EE060: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EE068: .4byte sub_80EE06C - thumb_func_end sub_80EDEE4 - - thumb_func_start sub_80EE06C -sub_80EE06C: @ 80EE06C - push {r4,r5,lr} - ldr r1, _080EE08C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x8 - bls _080EE080 - b _080EE288 -_080EE080: - lsls r0, 2 - ldr r1, _080EE090 @ =_080EE094 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EE08C: .4byte 0x02000000 -_080EE090: .4byte _080EE094 - .align 2, 0 -_080EE094: - .4byte _080EE0B8 - .4byte _080EE0CC - .4byte _080EE180 - .4byte _080EE19C - .4byte _080EE1B8 - .4byte _080EE1D0 - .4byte _080EE1F8 - .4byte _080EE250 - .4byte _080EE26C -_080EE0B8: - bl sub_80F15A8 - ldr r1, _080EE0C8 @ =0x02000000 - movs r5, 0xC1 - lsls r5, 2 - adds r1, r5 - b _080EE1C4 - .align 2, 0 -_080EE0C8: .4byte 0x02000000 -_080EE0CC: - ldr r2, _080EE0FC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _080EE104 - ldr r1, _080EE100 @ =0x000087dc - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _080EE104 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_80F6A4C - movs r5, 0xC1 - lsls r5, 2 - adds r1, r4, r5 - b _080EE1C4 - .align 2, 0 -_080EE0FC: .4byte gMain -_080EE100: .4byte 0x000087dc -_080EE104: - ldrh r1, [r3, 0x30] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080EE140 - ldr r1, _080EE138 @ =0x000087dc - adds r0, r4, r1 - ldr r2, _080EE13C @ =0x00008774 - adds r1, r4, r2 - movs r5, 0 - ldrsh r2, [r0, r5] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - bge _080EE140 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_80F6A4C - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 - b _080EE1C4 - .align 2, 0 -_080EE138: .4byte 0x000087dc -_080EE13C: .4byte 0x00008774 -_080EE140: - ldrh r2, [r3, 0x2E] - movs r0, 0x1 - ands r0, r2 - cmp r0, 0 - beq _080EE164 - movs r0, 0x5 - bl PlaySE - movs r0, 0xB - bl sub_80EEFBC - ldr r0, _080EE160 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - b _080EE262 - .align 2, 0 -_080EE160: .4byte 0x02000000 -_080EE164: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - bne _080EE16E - b _080EE288 -_080EE16E: - movs r0, 0x5 - bl PlaySE - ldr r0, _080EE17C @ =sub_80EE294 - bl sub_80EBDBC - b _080EE288 - .align 2, 0 -_080EE17C: .4byte sub_80EE294 -_080EE180: - bl sub_80F6AF0 - lsls r0, 24 - cmp r0, 0 - beq _080EE18C - b _080EE288 -_080EE18C: - ldr r1, _080EE198 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE1C4 - .align 2, 0 -_080EE198: .4byte 0x02000000 -_080EE19C: - bl sub_8055870 - adds r1, r0, 0 - cmp r1, 0 - bne _080EE288 - ldr r0, _080EE1B4 @ =0x02000000 - movs r5, 0xC1 - lsls r5, 2 - adds r0, r5 - strh r1, [r0] - b _080EE288 - .align 2, 0 -_080EE1B4: .4byte 0x02000000 -_080EE1B8: - bl sub_80F3B00 - ldr r1, _080EE1CC @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080EE1C4: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EE288 - .align 2, 0 -_080EE1CC: .4byte 0x02000000 -_080EE1D0: - bl sub_80F3B58 - lsls r0, 24 - cmp r0, 0 - bne _080EE288 - bl sub_80F1494 - ldr r1, _080EE1F4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl sub_80EED9C - b _080EE288 - .align 2, 0 -_080EE1F4: .4byte 0x02000000 -_080EE1F8: - bl sub_80F68E8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080EE224 - cmp r0, 0x1 - bne _080EE224 - movs r0, 0x5 - bl PlaySE - bl sub_80F3B94 - ldr r0, _080EE220 @ =0x02000000 - movs r5, 0xC1 - lsls r5, 2 - adds r0, r5 - movs r1, 0x7 - strh r1, [r0] - b _080EE288 - .align 2, 0 -_080EE220: .4byte 0x02000000 -_080EE224: - ldr r0, _080EE248 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EE288 - movs r0, 0x5 - bl PlaySE - bl sub_80F3B94 - ldr r0, _080EE24C @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0] - b _080EE288 - .align 2, 0 -_080EE248: .4byte gMain -_080EE24C: .4byte 0x02000000 -_080EE250: - bl sub_80F3BD4 - lsls r0, 24 - cmp r0, 0 - bne _080EE288 - ldr r0, _080EE268 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r2 -_080EE262: - movs r1, 0x4 - strh r1, [r0] - b _080EE288 - .align 2, 0 -_080EE268: .4byte 0x02000000 -_080EE26C: - bl sub_80F3BD4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _080EE288 - movs r0, 0x5 - bl sub_80EEFBC - ldr r0, _080EE290 @ =0x02000000 - movs r5, 0xC1 - lsls r5, 2 - adds r0, r5 - strh r4, [r0] -_080EE288: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EE290: .4byte 0x02000000 - thumb_func_end sub_80EE06C - - thumb_func_start sub_80EE294 -sub_80EE294: @ 80EE294 - push {r4,lr} - sub sp, 0x4 - ldr r1, _080EE2B4 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x8 - bls _080EE2AA - b _080EE3C6 -_080EE2AA: - lsls r0, 2 - ldr r1, _080EE2B8 @ =_080EE2BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EE2B4: .4byte 0x02000000 -_080EE2B8: .4byte _080EE2BC - .align 2, 0 -_080EE2BC: - .4byte _080EE2E0 - .4byte _080EE2FE - .4byte _080EE324 - .4byte _080EE33C - .4byte _080EE34C - .4byte _080EE370 - .4byte _080EE37A - .4byte _080EE39A - .4byte _080EE3B4 -_080EE2E0: - 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 r3, 0x10 - bl BeginNormalPaletteFade - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EE3A8 -_080EE2FE: - ldr r0, _080EE320 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE3C6 - movs r0, 0 - bl SetVBlankCallback - bl sub_80EED0C - bl sub_80F3C2C - bl sub_80EEE08 - b _080EE3A0 - .align 2, 0 -_080EE320: .4byte gPaletteFade -_080EE324: - bl sub_80F6134 - movs r0, 0x1 - bl sub_80F0264 - ldr r1, _080EE348 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EE33C: - bl sub_80F02A0 - lsls r0, 24 - cmp r0, 0 - bne _080EE3C6 - b _080EE3A0 - .align 2, 0 -_080EE348: .4byte 0x02000000 -_080EE34C: - movs r0, 0x4 - bl sub_80EEFBC - movs r0, 0x1 - bl sub_80F3008 - ldr r0, _080EE368 @ =sub_80EBD18 - bl SetVBlankCallback - ldr r1, _080EE36C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE3A8 - .align 2, 0 -_080EE368: .4byte sub_80EBD18 -_080EE36C: .4byte 0x02000000 -_080EE370: - bl sub_8055870 - cmp r0, 0 - bne _080EE3C6 - b _080EE3A0 -_080EE37A: - 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 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r4, r2 - b _080EE3A8 -_080EE39A: - movs r0, 0x4 - bl sub_80EED2C -_080EE3A0: - ldr r1, _080EE3B0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 -_080EE3A8: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EE3C6 - .align 2, 0 -_080EE3B0: .4byte 0x02000000 -_080EE3B4: - ldr r0, _080EE3D0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE3C6 - ldr r0, _080EE3D4 @ =sub_80EDDBC - bl sub_80EBDBC -_080EE3C6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EE3D0: .4byte gPaletteFade -_080EE3D4: .4byte sub_80EDDBC - thumb_func_end sub_80EE294 - - 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} - ldr r5, _080EE5A8 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r4, r5, r0 - ldrh r0, [r4] - cmp r0, 0x1 - beq _080EE624 - cmp r0, 0x1 - bgt _080EE5AC - cmp r0, 0 - beq _080EE5B2 - b _080EE652 - .align 2, 0 -_080EE5A8: .4byte 0x02000000 -_080EE5AC: - cmp r0, 0x2 - beq _080EE648 - b _080EE652 -_080EE5B2: - bl sub_80F5DD4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080EE5E4 - cmp r0, 0x2 - beq _080EE5FC - ldr r0, _080EE5DC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080EE608 - movs r0, 0x5 - bl PlaySE - ldr r0, _080EE5E0 @ =sub_80EE658 - bl sub_80EBDBC - b _080EE652 - .align 2, 0 -_080EE5DC: .4byte gMain -_080EE5E0: .4byte sub_80EE658 -_080EE5E4: - movs r0, 0x5 - bl PlaySE - ldr r1, _080EE5F8 @ =0x0000876e - adds r0, r5, r1 - ldrb r0, [r0] - bl sub_80F0FFC - b _080EE652 - .align 2, 0 -_080EE5F8: .4byte 0x0000876e -_080EE5FC: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4] - adds r0, 0x1 - b _080EE650 -_080EE608: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EE652 - movs r0, 0x5 - bl PlaySE - ldr r0, _080EE620 @ =sub_80EE8F4 - bl sub_80EBDBC - b _080EE652 - .align 2, 0 -_080EE620: .4byte sub_80EE8F4 -_080EE624: - bl sub_80F0718 - lsls r0, 24 - cmp r0, 0 - bne _080EE652 - ldr r1, _080EE644 @ =0x0000876e - adds r0, r5, r1 - ldrb r0, [r0] - bl sub_80F0FFC - bl sub_80F3264 - ldrh r0, [r4] - adds r0, 0x1 - b _080EE650 - .align 2, 0 -_080EE644: .4byte 0x0000876e -_080EE648: - bl sub_8055870 - cmp r0, 0 - bne _080EE652 -_080EE650: - strh r0, [r4] -_080EE652: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80EE58C - - thumb_func_start sub_80EE658 -sub_80EE658: @ 80EE658 - push {r4,r5,lr} - ldr r1, _080EE678 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r0, r1, r2 - ldrh r0, [r0] - adds r4, r1, 0 - cmp r0, 0x11 - bls _080EE66C - b _080EE8E8 -_080EE66C: - lsls r0, 2 - ldr r1, _080EE67C @ =_080EE680 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080EE678: .4byte 0x02000000 -_080EE67C: .4byte _080EE680 - .align 2, 0 -_080EE680: - .4byte _080EE6C8 - .4byte _080EE6DA - .4byte _080EE6F4 - .4byte _080EE708 - .4byte _080EE71C - .4byte _080EE730 - .4byte _080EE758 - .4byte _080EE76A - .4byte _080EE780 - .4byte _080EE820 - .4byte _080EE840 - .4byte _080EE854 - .4byte _080EE868 - .4byte _080EE86E - .4byte _080EE880 - .4byte _080EE898 - .4byte _080EE8B4 - .4byte _080EE8D4 -_080EE6C8: - movs r0, 0x1 - bl sub_80F3294 - movs r0, 0xA - bl sub_80EEFBC - bl sub_80F0B24 - b _080EE8BE -_080EE6DA: - bl sub_80F0B44 - lsls r0, 24 - cmp r0, 0 - beq _080EE6E6 - b _080EE8E8 -_080EE6E6: - ldr r1, _080EE6F0 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE8C6 - .align 2, 0 -_080EE6F0: .4byte 0x02000000 -_080EE6F4: - bl sub_80F0F64 - ldr r1, _080EE704 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE8C6 - .align 2, 0 -_080EE704: .4byte 0x02000000 -_080EE708: - bl sub_80F0FEC - lsls r0, 24 - cmp r0, 0 - beq _080EE714 - b _080EE8E8 -_080EE714: - movs r0, 0x1 - bl sub_80F6FB8 - b _080EE8BE -_080EE71C: - bl sub_80F6DB8 - ldr r1, _080EE72C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE8C6 - .align 2, 0 -_080EE72C: .4byte 0x02000000 -_080EE730: - ldr r4, _080EE750 @ =0x02008788 - adds r0, r4, 0 - subs r0, 0x1A - ldrh r1, [r0] - adds r0, r4, 0 - bl sub_80F700C - adds r0, r4, 0 - bl sub_80F42C4 - ldr r1, _080EE754 @ =0xffff7b7c - adds r4, r1 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EE8E8 - .align 2, 0 -_080EE750: .4byte 0x02008788 -_080EE754: .4byte 0xffff7b7c -_080EE758: - bl sub_80F0CD8 - ldr r1, _080EE77C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_080EE76A: - bl sub_80F6E9C - lsls r0, 24 - cmp r0, 0 - beq _080EE776 - b _080EE8E8 -_080EE776: - bl sub_80F0D5C - b _080EE8B8 - .align 2, 0 -_080EE77C: .4byte 0x02000000 -_080EE780: - ldr r2, _080EE7B0 @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - adds r3, r2, 0 - cmp r0, 0 - beq _080EE7B8 - ldr r1, _080EE7B4 @ =0x000087dc - adds r0, r4, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _080EE7B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl sub_80F708C - movs r5, 0xC1 - lsls r5, 2 - adds r1, r4, r5 - b _080EE7E8 - .align 2, 0 -_080EE7B0: .4byte gMain -_080EE7B4: .4byte 0x000087dc -_080EE7B8: - ldrh r1, [r3, 0x2C] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080EE7F8 - ldr r1, _080EE7F0 @ =0x000087dc - adds r0, r4, r1 - ldr r2, _080EE7F4 @ =0x00008774 - adds r1, r4, r2 - movs r5, 0 - ldrsh r2, [r0, r5] - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - bge _080EE7F8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_80F708C - movs r0, 0xC1 - lsls r0, 2 - adds r1, r4, r0 -_080EE7E8: - movs r0, 0x10 - strh r0, [r1] - b _080EE8E8 - .align 2, 0 -_080EE7F0: .4byte 0x000087dc -_080EE7F4: .4byte 0x00008774 -_080EE7F8: - ldrh r1, [r3, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080EE8E8 - movs r0, 0x5 - bl PlaySE - bl sub_80F4394 - bl sub_80F0EC0 - ldr r1, _080EE81C @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE8C6 - .align 2, 0 -_080EE81C: .4byte 0x02000000 -_080EE820: - bl sub_80F6ED4 - lsls r0, 24 - cmp r0, 0 - bne _080EE8E8 - bl sub_80F0EF4 - lsls r0, 24 - cmp r0, 0 - bne _080EE8E8 - movs r0, 0 - bl sub_80F6FB8 - bl sub_80F2FB0 - b _080EE8BE -_080EE840: - bl sub_80F6134 - ldr r1, _080EE850 @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE8C6 - .align 2, 0 -_080EE850: .4byte 0x02000000 -_080EE854: - bl sub_80F0FA0 - ldr r1, _080EE864 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE8C6 - .align 2, 0 -_080EE864: .4byte 0x02000000 -_080EE868: - bl sub_80F0FEC - b _080EE8B8 -_080EE86E: - bl sub_80F0C28 - ldr r1, _080EE87C @ =0x02000000 - movs r0, 0xC1 - lsls r0, 2 - adds r1, r0 - b _080EE8C6 - .align 2, 0 -_080EE87C: .4byte 0x02000000 -_080EE880: - bl sub_80F0C48 - lsls r0, 24 - cmp r0, 0 - bne _080EE8E8 - ldr r1, _080EE894 @ =0x02000000 - movs r2, 0xC1 - lsls r2, 2 - adds r1, r2 - b _080EE8C6 - .align 2, 0 -_080EE894: .4byte 0x02000000 -_080EE898: - movs r0, 0x9 - bl sub_80EEFBC - movs r0, 0 - bl sub_80F3294 - ldr r0, _080EE8B0 @ =sub_80EE58C - bl sub_80EBDBC - bl sub_80EED9C - b _080EE8E8 - .align 2, 0 -_080EE8B0: .4byte sub_80EE58C -_080EE8B4: - bl sub_80F70FC -_080EE8B8: - lsls r0, 24 - cmp r0, 0 - bne _080EE8E8 -_080EE8BE: - ldr r1, _080EE8D0 @ =0x02000000 - movs r5, 0xC1 - lsls r5, 2 - adds r1, r5 -_080EE8C6: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080EE8E8 - .align 2, 0 -_080EE8D0: .4byte 0x02000000 -_080EE8D4: - bl sub_8055870 - cmp r0, 0 - bne _080EE8E8 - ldr r0, _080EE8F0 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r0, r1 - movs r1, 0x8 - strh r1, [r0] -_080EE8E8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EE8F0: .4byte 0x02000000 - thumb_func_end sub_80EE658 - - thumb_func_start sub_80EE8F4 -sub_80EE8F4: @ 80EE8F4 - push {r4,lr} - sub sp, 0x4 - ldr r0, _080EE910 @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r4, r0, r1 - ldrh r2, [r4] - cmp r2, 0x1 - beq _080EE932 - cmp r2, 0x1 - bgt _080EE914 - cmp r2, 0 - beq _080EE91A - b _080EE95E - .align 2, 0 -_080EE910: .4byte 0x02000000 -_080EE914: - cmp r2, 0x2 - beq _080EE958 - b _080EE95E -_080EE91A: - movs r1, 0xC2 - lsls r1, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _080EE94C -_080EE932: - ldr r0, _080EE954 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE95E - bl sub_80F3130 - movs r0, 0x2 - bl sub_80F2D6C - bl sub_80F6FFC -_080EE94C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _080EE95E - .align 2, 0 -_080EE954: .4byte gPaletteFade -_080EE958: - ldr r0, _080EE968 @ =sub_80EC00C - bl sub_80EBDBC -_080EE95E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080EE968: .4byte sub_80EC00C - thumb_func_end sub_80EE8F4 - - thumb_func_start sub_80EE96C -sub_80EE96C: @ 80EE96C - push {r4,r5,lr} - sub sp, 0x4 - ldr r0, _080EE99C @ =0x02000000 - movs r1, 0xC1 - lsls r1, 2 - adds r5, r0, r1 - ldrh r4, [r5] - cmp r4, 0 - bne _080EE9A0 - movs r0, 0x6F - bl PlaySE - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _080EE9B4 - .align 2, 0 -_080EE99C: .4byte 0x02000000 -_080EE9A0: - ldr r0, _080EE9BC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080EE9B4 - bl sub_80F5BDC - bl sub_805469C -_080EE9B4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080EE9BC: .4byte gPaletteFade - thumb_func_end sub_80EE96C - - thumb_func_start sub_80EE9C0 -sub_80EE9C0: @ 80EE9C0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - bl sub_80F1E84 - ldr r1, _080EE9FC @ =0x02000000 - ldr r2, _080EEA00 @ =0x00006e14 - adds r0, r1, r2 - movs r2, 0 - strb r4, [r0] - ldr r3, _080EEA04 @ =0x00006e15 - adds r0, r1, r3 - strb r5, [r0] - adds r3, 0x1 - adds r0, r1, r3 - strb r2, [r0] - ldr r0, _080EEA08 @ =0x00006e17 - adds r1, r0 - strb r6, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080EE9FC: .4byte 0x02000000 -_080EEA00: .4byte 0x00006e14 -_080EEA04: .4byte 0x00006e15 -_080EEA08: .4byte 0x00006e17 - thumb_func_end sub_80EE9C0 - thumb_func_start sub_80EEA0C sub_80EEA0C: @ 80EEA0C push {r4,lr} diff --git a/ld_script.txt b/ld_script.txt index 75117faa6..8c44371f3 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -185,8 +185,9 @@ SECTIONS { src/bike.o(.text); asm/easy_chat.o(.text); src/easy_chat.o(.text); + src/pokenav_before.o(.text); asm/pokenav.o(.text); - src/pokenav.o(.text); + src/pokenav_after.o(.text); asm/pokenav.o(.text_80F708C); src/mon_markings.o(.text); src/mauville_old_man.o(.text); diff --git a/src/pokenav.c b/src/pokenav_after.c index 84ed7b14b..84ed7b14b 100644 --- a/src/pokenav.c +++ b/src/pokenav_after.c diff --git a/src/pokenav_before.c b/src/pokenav_before.c new file mode 100644 index 000000000..e782adf7c --- /dev/null +++ b/src/pokenav_before.c @@ -0,0 +1,2442 @@ +#include "global.h" +#include "main.h" +#include "pokenav.h" +#include "battle.h" +#include "data2.h" +#include "de_rom_8040FE0.h" +#include "string_util.h" +#include "rom4.h" +#include "palette.h" +#include "task.h" +#include "unknown_task.h" +#include "sound.h" +#include "region_map.h" +#include "songs.h" +#include "flags.h" + +struct UnknownPokenav0 { + /* 0x0000 */ u8 fill0000[0x0300]; + /* 0x0300 */ void (*var300)(void); + /* 0x0304 */ u16 var304; + /* 0x0306 */ u16 var306; + /* 0x0308 */ u32 var308; + /* 0x030C */ u8 fill030C[0x6a9f]; + /* 0x6dab */ u8 var6dab; + /* 0x6dac */ u8 var6dac; + /* 0x6dad */ u8 var6dad; + /* 0x6dae */ u8 var6dae; + /* 0x6daf */ u8 fill6daf[0x3]; + /* 0x6db2 */ u8 var6db2[5]; + /* 0x6db7 */ u8 fill6db7[0x25]; + /* 0x6ddc */ s8 var6ddc; + /* 0x6ddd */ u8 fill6ddd[0x13]; + /* 0x6df0 */ s8 var6df0; + /* 0x6df1 */ u8 fill6df1[0xB]; + /* 0x6dfc */ u8 var6dfc; + /* 0x6dfd */ u8 fill6dfd[0x17]; + /* 0x6e14 */ u8 var6e14; + /* 0x6e15 */ u8 var6e15; + /* 0x6e16 */ u8 var6e16; + /* 0x6e17 */ u8 var6e17; + /* 0x6e18 */ u8 fill6e18[0x78]; + /* 0x6e90 */ u8 var6e90; + /* 0x6e91 */ u8 fill6e91[0x4]; + /* 0x6e95 */ u8 var6e95; + /* 0x6e96 */ u8 var6e96[0x814]; + /* 0x76AA */ u8 var76aa; + /* 0x76AB */ u8 fill76AB[0x10BD]; + /* 0x8768 */ u32 var8768; + /* 0x876C */ u8 fill876C[0x2]; + /* 0x876E */ u8 var876E; + /* 0x876F */ u8 fill876F[0x5]; + /* 0x8774 */ s16 var8774; + /* 0x8776 */ u8 fill8776[0x62]; + /* 0x87D8 */ u8 var87D8; + /* 0x87D9 */ u8 fill87D9[0x3]; + /* 0x87DC */ s16 var87DC; + /* 0x87DE */ u8 fill87DE[0x4a]; + /* 0x8828 */ u8 var8828; + /* 0x8829 */ u8 fill8829[0x07bf]; + /* 0x8FE8 */ s8 var8fe8; + /* 0x8FE9 */ u8 fill8FE9[0x16]; + /* 0x8FFF */ u8 var8fff[5]; + /* 0x9004 */ u8 fill9004[0x340]; + /* 0x9344 */ u8 var9344; + /* 0x9345 */ u8 fill9345[0x3b8b]; + /* 0xced0 */ u32 varCED0; + /* 0xced4 */ u8 fillCED4[0x284]; + /* 0xD158 */ u16 varD158; + /* 0xD15A */ u8 fillD15A[0x8]; + /* 0xD162 */ u8 varD162; +}; + + +extern u8 ewram[]; +#define ewram0 (*(struct UnknownPokenav0*)(ewram + 0)) + +extern void sub_80F1A90(); +extern bool8 sub_80F1AC4(); +extern void sub_80F36F0(); +extern bool8 sub_80F3724(); +extern void sub_80EBC10(); +extern void sub_80EBDBC(void (*func)(void)); +extern void sub_80EBBE8(); +extern bool8 sub_80F26BC(void); +extern void sub_80EBDD8(); +extern void sub_80EBD90(); +extern void sub_80EBD18(); +extern void sub_80F1A74(); +extern void sub_80F1FF0(); +extern void sub_80FB260(); +extern void sub_80EFE7C(); +extern void sub_80F5BF0(); +extern void sub_80F6F64(); +extern void _call_via_r0(void (*func)(void)); +extern void sub_80F19FC(); + +void sub_80EBA5C() { + switch (gMain.state) { + default: + gMain.state = 0; + case 0: + ewram0.var6dac = is_c1_link_related_active(); + if (!ewram0.var6dac) { + ewram0.var6dab = 0; + gMain.state++; + SetMainCallback2(&sub_80EBBE8); + break; + } + break; + case 1: + SetVBlankCallback(NULL); + break; + case 2: + ResetPaletteFade(); + break; + case 3: + ResetSpriteData(); + break; + case 4: + FreeAllSpritePalettes(); + break; + case 5: + ResetTasks(); + break; + case 6: + remove_some_task(); + break; + case 7: + sub_80F1A90(); + gMain.state++; + case 8: + if (sub_80F1AC4()) return; + break; + case 9: + sub_80F2688(); + gMain.state++; + + case 0xA: + if (sub_80F26BC()) return; + break; + case 0xB: + sub_80F36F0(); + gMain.state++; + case 0xC: + if (sub_80F3724()) return; + break; + case 0xD: + sub_80EBC10(); + sub_80EBDBC(&sub_80EBDD8); + break; + case 0xE: + ewram0.var6dab = 1; + PlaySE(SE_PN_ON); + SetMainCallback2(&sub_80EBD90); + SetVBlankCallback(&sub_80EBD18); + sub_80F1A74(); + break; + } + gMain.state++; +} + +void sub_80EBBE8() { + u8 var1; + if (!ewram0.var6dab) { + var1 = ewram0.var6dab; + do { + sub_80EBA5C(); + var1 = ewram0.var6dab; + } while (!var1); + } +} + +u16 gKeyRepeatStartDelay; +void sub_80EBCA8(); + +void sub_80EBC10() { + u16 i; + u16 *var1; + gKeyRepeatStartDelay = 0x14; + ewram0.var8828 = CalculatePlayerPartyCount(); + ewram0.var6ddc = 0; + ewram0.var9344 = 0; + ewram0.var8768 = 0; + ewram0.varCED0 = 0; + for (i = 0; i <= 4; ++i) { + ewram0.var8fff[i] = 0; + var1 = (u16 *)ewram; + var1[i*2 + 0x4820] = 0x9B; + var1[i*2 + 0x4821] = 0x5B; + } + ewram0.var6e95 = 0; + sub_80EBCA8(); +} + +void sub_80EBCA8() { + ewram0.var6db2[0] = 1; + ewram0.var6db2[1] = 2; + ewram0.var6db2[2] = 3; + if (FlagGet(SYS_RIBBON_GET)) { + ewram0.var6db2[3] = 4; + } + else { + ewram0.var6db2[3] = 0; + } + ewram0.var6db2[4] = 5; +} + +void sub_80EBD18() { + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F1FF0(); +} + +void sub_80EBD30() { + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + UpdateRegionMapVideoRegs(); + sub_80EFE7C(); +} + +void sub_80EBD4C() { + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F5BF0(); + sub_8089668(); +} + +void sub_80EBD68() { + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); + sub_80F6F64(); +} + +void sub_80EBD80() { + LoadOam(); + ProcessSpriteCopyRequests(); +} + +void sub_80EBD90() { + _call_via_r0(ewram0.var300); + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + UpdatePaletteFade(); + sub_80F19FC(); +} + +void sub_80EBDBC(void (*func)(void)) { + ewram0.var300 = func; + ewram0.var304 = 0; +} + +void sub_80F3FF0(); +bool8 sub_80F4024(); +void sub_80F2598(); +void sub_80EEE20(); +bool8 sub_80EEE54(); +void sub_80EEE08(); +void sub_80EF248(); +bool8 sub_80EF284(); +void sub_80F1B8C(); +bool8 sub_80F1BC8(u32 unk); +void sub_80EED2C(); +void sub_80F1DF0(); +bool8 sub_80F1E50(); +void sub_80EF428(); +void sub_80EC268(); + +void sub_80EBDD8() { + switch (ewram0.var304) { + case 0: + SetVBlankCallback(NULL); + REG_DISPCNT = 0; + ewram0.var6dad = ewram0.var6ddc; + ewram0.var6dae = 5; + ewram0.var304++; + break; + case 1: + sub_80F3FF0(); + ewram0.var304++; + case 2: + if (sub_80F4024()) return; + ewram0.var304++; + break; + case 3: + sub_80F2598(); + ewram0.var304++; + break; + case 4: + sub_80EEE20(); + ewram0.var304++; + case 5: + if (sub_80EEE54()) return; + sub_80EEE08(); + ewram0.var304++; + return; + case 6: + sub_80EF248(0); + ewram0.var304++; + case 7: + if (sub_80EF284(0)) return; + ewram0.var304++; + break; + case 8: + sub_80F1B8C(0); + ewram0.var304++; + case 9: + if (sub_80F1BC8(0)) return; + ewram0.var304++; + break; + case 10: + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 11: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + ewram0.var304++; + return; + case 12: + sub_80EED2C(0); + ewram0.var304++; + return; + case 13: + if (gPaletteFade.active) return; + ewram0.var304++; + return; + case 14: + sub_80F2C80(0); + ewram0.var304++; + case 15: + if (sub_80F2CBC(0)) return; + ewram0.var304++; + break; + case 16: + sub_80F1DF0(); + ewram0.var304++; + return; + case 17: + if (!sub_80F1E50()) { + sub_80EF428(0, 0); + sub_80EBDBC(&sub_80EC268); + } + return; + + } + +} + +bool8 sub_80EEF78(); +void sub_80EED1C(); + +void sub_80EC00C() { + switch (ewram0.var304) { + case 0: + if (!sub_80EEF78()) { + SetVBlankCallback(&sub_80EBD80); + sub_80EED1C(); + ewram0.var6dad = ewram0.var6ddc; + ewram0.var6dae = 5; + sub_80EEE08(); + ewram0.var304++; + } + break; + case 1: + sub_80EF248(0); + ewram0.var304++; + case 2: + if (sub_80EF284(0)) return; + ewram0.var304++; + break; + case 3: + sub_80F1B8C(0); + ewram0.var304++; + case 4: + if (sub_80F1BC8(0)) 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: + if (gPaletteFade.active) return; + ewram0.var304++; + return; + case 9: + sub_80F2598(); + ewram0.var304++; + break; + case 10: + sub_80F2C80(0); + ewram0.var304++; + case 11: + if (sub_80F2CBC(0)) return; + ewram0.var304++; + return; + case 12: + sub_80F1DF0(); + ewram0.var304++; + return; + case 13: + if (sub_80F1E50()) return; + sub_80EF428(0, ewram0.var6dad); + sub_80EBDBC(&sub_80EC268); + } +} + +void sub_80F2D04(u32); +void sub_80EE9C0(u8, u8, u8); +bool8 sub_80EEA0C(); + +void sub_80EC210() { + switch (ewram0.var304) { + case 0: + sub_80F2D04(1); + sub_80EE9C0(0, ewram0.var6ddc, 0); + ewram0.var304++; + break; + case 1: + if (sub_80EEA0C()) return; + sub_80EBDBC(&sub_80EC268); + } +} + +bool8 sub_80EEC10(); +bool8 sub_80F6250(); +void sub_80EED9C(); +void sub_80F6208(); +void sub_80EDB88(); +void sub_80EC4A0(); +void sub_80EC81C(); +void sub_80F208C(); +void sub_80EE96C(); +void sub_80F6C20(); +void sub_80EE3D8(); + +void sub_80EC268() { + u8 var1; + switch (ewram0.var304) { + case 0: + if (sub_80EEC10() != 0) { + PlaySE(0x5); + sub_80EF428(0, ewram0.var6dad); + sub_80EED9C(); + break; + } + else { + if (gMain.newKeys & A_BUTTON) { + ewram0.var6ddc = ewram0.var6dad; + switch (ewram0.var6db2[ewram0.var6ddc] - 1) { + case 0: + PlaySE(5); + sub_80EBDBC(&sub_80EC4A0); + break; + case 1: + PlaySE(5); + sub_80EBDBC(&sub_80EC81C); + break; + case 4: + ewram0.var304 = 1; + break; + case 3: + ewram0.var304 = 2; + break; + case 2: + ewram0.var304 = 6; + break; + } + } + else if (gMain.newKeys & B_BUTTON) { + ewram0.var304 = 1; + } + break; + } + case 1: + sub_80F208C(); + sub_80EBDBC(&sub_80EE96C); + break; + case 2: + sub_80F6208(); + ewram0.var304++; + case 3: + if (sub_80F6250()) return; + ewram0.var304++; + break; + case 4: + if (sub_8055870()) return; + if (ewram0.var8fe8 != 0) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EDB88); + break; + } + else { + PlaySE(0x20); + sub_80EF428(0, 5); + ewram0.var304 = 0xFF; + break; + } + case 6: + sub_80F6C20(); + if (ewram0.varD158 != 0) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EE3D8); + break; + } + else { + PlaySE(0x20); + sub_80EF428(0, 6); + ewram0.var304 = 0xFF; + break; + } + case 0xFF: + if ((var1 = sub_80EEC10()) != 0) { + PlaySE(0x5); + sub_80EF428(0, ewram0.var6dad); + ewram0.var304 = 0; + sub_80EED9C(); + } + else { + if (!(gMain.newKeys & (A_BUTTON | B_BUTTON))) return; + sub_80EF428(0, ewram0.var6dad); + ewram0.var304 = var1; + break; + } + } +} + +void sub_80F1E84(); +bool8 sub_80F1F10(); +void sub_80EEFBC(u32); +bool8 sub_80EEF34(); +void sub_80EED0C(); +void sub_80F2620(); +void sub_80EF814(); +void sub_80EF840(); +bool8 sub_80EF874(); +void sub_80F2DD8(); +void sub_80EC67C(); + +void sub_80EC4A0() { + u32 var1; + u32 var2; + switch (ewram0.var304) { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0.var304++; + break; + case 1: + if (!sub_80F1F10()) { + if (gSaveBlock2.regionMapZoom) { + var1 = 0x7; + } + else var1 = 0x8; + sub_80EEFBC(var1); + ewram0.var304++; + } + break; + case 2: + if (!(var2 = sub_80EEF34())) { + BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var2); + ewram0.var304++; + } + break; + case 3: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + ewram0.var304++; + break; + case 4: + sub_80F2620(); + ewram0.var304++; + break; + case 5: + sub_80EF814(); + ewram0.var304++; + break; + case 6: + sub_80EF840(); + ewram0.var304++; + case 7: + if (sub_80EF874()) return; + ewram0.var304++; + break; + case 8: + sub_80F2C80(0x4); + ewram0.var304++; + case 9: + if (sub_80F2CBC(0x4)) return; + ewram0.var304++; + break; + case 0xA: + sub_80F2DD8(); + SetVBlankCallback(&sub_80EBD30); + ewram0.var304++; + break; + case 0xB: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xC: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + ewram0.var304++; + break; + case 0xD: + sub_80EED2C(0x1); + ewram0.var304++; + break; + case 0xE: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80EC67C); + } +} + +void sub_80EF9F8(); +void sub_80EED9C(); +bool8 sub_80EFBDC(u32); +void sub_80EFBB0(); +void sub_80F2DF4(); + +void sub_80EC67C() { + u32 var1; + u32 var2; + switch (ewram0.var304) { + case 0: + switch (sub_80FAB60()) { + case 1: + sub_80EED9C(); + break; + case 3: + sub_80EF9F8(); + break; + case 4: + PlaySE(0x5); + ewram0.var304 = 1; + break; + case 5: + PlaySE(0x5); + ewram0.var304 = 4; + break; + } + break; + case 1: + if (!ewram0.var6e90) { + sub_80FAEC4(); + ewram0.var304++; + break; + } + if (sub_80EFBDC(1)) return; + sub_80FAEC4(); + ewram0.var304++; + break; + case 2: + if ((var2 = sub_80FAFC0())) return; + if (!ewram0.var6e90) { + sub_80EFBB0(); + ewram0.var304 = var2; + break; + } + ewram0.var304++; + break; + case 3: + if ((var1 = sub_80EFBDC(0))) return; + sub_80EFBB0(); + ewram0.var304 = var1; + break; + case 4: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 5: + if (gPaletteFade.active) return; + sub_80F2DF4(); + sub_80F2D04(0x4); + gSaveBlock2.regionMapZoom = (ewram0.var6e90 == 1) ? 1 : 0; + sub_80EBDBC(&sub_80EC00C); + } +} + +void sub_80EC86C(); + +void sub_80EC81C() { + switch (ewram0.var304) { + case 0: + sub_80F2D04(0); + sub_80EE9C0(1, 0, 1); + ewram0.var304++; + break; + case 1: + if (sub_80EEA0C()) return; + sub_80EBDBC(&sub_80EC86C); + } +} + +bool8 sub_80EEC90(); +void sub_80ED620(); +void sub_80EC960(); +bool8 sub_80F1E6C(); + +void sub_80EC86C() { + switch (ewram0.var304) { + case 0: + if (sub_80EEC90()) { + PlaySE(0x5); + sub_80EF428(1, ewram0.var6dad); + sub_80EED9C(); + break; + } + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + ewram0.var6df0 = ewram0.var6dad; + switch (ewram0.var6df0) { + case 0: + sub_80EBDBC(&sub_80ED620); + break; + case 1: + sub_80EBDBC(&sub_80EC960); + break; + case 2: + sub_80EBDBC(&sub_80EC210); + break; + } + break; + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + ewram0.var6df0 = 0x2; + ewram0.var6dad = 0x2; + ewram0.var304++; + break; + } + break; + case 1: + if (sub_80F1E6C()) return; + sub_80EBDBC(&sub_80EC210); + } +} + +void sub_80ECC08(); + +void sub_80EC960() { + switch (ewram0.var304) { + case 0: + sub_80EE9C0(2, 0, 5); + ewram0.var304++; + break; + case 1: + if (sub_80EEA0C()) return; + sub_80EBDBC(&sub_80ECC08); + } +} + +void sub_80EC9A8() { + switch (ewram0.var304) { + case 0: + sub_80F2D04(5); + sub_80EE9C0(1, ewram0.var6df0, 0xC); + ewram0.var304++; + break; + case 1: + if (sub_80EEA0C()) return; + sub_80EBDBC(&sub_80EC86C); + 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); + } +} + +void sub_80ED01C(); + +void sub_80ECC08() { + switch (ewram0.var304) { + case 0: + if (sub_80EEC90()) { + PlaySE(0x5); + sub_80EF428(2, ewram0.var6dad); + sub_80EED9C(); + break; + } + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + switch ((s8)ewram0.var6dad) { + case 0: + ewram0.var87D8 = 22; + break; + case 1: + ewram0.var87D8 = 23; + break; + case 2: + ewram0.var87D8 = 24; + break; + case 3: + ewram0.var87D8 = 33; + break; + case 4: + ewram0.var87D8 = 47; + break; + case 5: + sub_80EBDBC(&sub_80EC9A8); + return; + } + ewram0.var6dfc = ewram0.var6dad; + ewram0.var76aa = 1; + sub_80EBDBC(&sub_80ED01C); + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + ewram0.var6dad = 0x5; + ewram0.var304++; + } + break; + case 1: + if (sub_80F1E6C()) return;; + sub_80EBDBC(&sub_80EC9A8); + break; + } +} + +void sub_80F3130(); +void sub_80F2D6C(u32); + +void sub_80ECD80() { + u16 var1; + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + ewram0.var304++; + break; + case 2: + if (sub_80EEF78()) return; + SetVBlankCallback(&sub_80EBD80); + ewram0.var304++; + break; + case 3: + sub_80EED1C(); + sub_80F3130(); + ewram0.var304++; + break; + case 4: + sub_80F2D6C(0x1); + ewram0.var304++; + break; + case 5: + sub_80F2D6C(0x5); + ewram0.var304++; + break; + case 6: + ewram0.var6dad = ewram0.var6dfc; + ewram0.var6dae = 0x6; + sub_80EEE08(); + ewram0.var304++; + break; + case 7: + sub_80EF248(0x2); + ewram0.var304++; + case 8: + if (sub_80EF284(0x2)) return; + ewram0.var304++; + break; + case 9: + sub_80F1B8C(0x2); + ewram0.var304++; + case 0xA: + if (sub_80F1BC8(0x2)) return; + ewram0.var304++; + break; + case 0xB: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xC: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 0xD: + sub_80EED2C(0); + ewram0.var304++; + break; + case 0xE: + sub_80F2598(); + ewram0.var304++; + break; + case 0xF: + if (gPaletteFade.active) return; + ewram0.var304++; + break; + case 0x10: + sub_80F2C80(0x1); + ewram0.var304++; + case 0x11: + if ((var1 = sub_80F2CBC(0x1))) return; + ewram0.var306 = var1; + ewram0.var304++; + break; + case 0x12: + sub_80F2C80(0x5); + ewram0.var304++; + case 0x13: + if (sub_80F2CBC(0x5)) return; + sub_80F1DF0(); + ewram0.var304++; + break; + case 0x14: + if (sub_80F1E50()) return; + sub_80EF428(2, ewram0.var6dad); + 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; + } +} + +u8 sub_80F5DD4(); +void ShowMapNamePopUpWindow(); +void sub_80ED4D8(); +bool8 sub_80F0718(); +bool8 sub_80F3264(); + +void sub_80ED31C() { + switch (ewram0.var304) { + case 0: + switch (sub_80F5DD4()) { + case 1: + PlaySE(0x5); + ShowMapNamePopUpWindow(); + break; + case 2: + PlaySE(0x5); + ewram0.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80ED4D8); + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80ECD80); + } + break; + } + break; + case 1: + if (sub_80F0718()) return; + ShowMapNamePopUpWindow(); + sub_80F3264(); + ewram0.var304++; + break; + case 2: + if (sub_8055870()) return; + ewram0.var304 = 0; + 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); + } +} + +void sub_80F4CF0(); +void sub_80EFF34(); +bool8 sub_80EFF68(); +void sub_80F35B4(); +void sub_80ED858(); + +void sub_80ED4D8() { + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3130(); + ewram0.var304++; + break; + case 2: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 3: + sub_80F4CF0(); + ewram0.var304++; + break; + case 4: + sub_80EFF34(); + ewram0.var304++; + case 5: + if (sub_80EFF68()) return; + ewram0.var304++; + break; + case 6: + sub_80F35B4(); + sub_80EEFBC(0x2); + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(sub_80EBD4C); + ewram0.var304++; + break; + case 7: + sub_80EED2C(0x2); + ewram0.var304++; + break; + case 8: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80ED858); + 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; + } + +} + +#if 0 + +void sub_80F4F78(); +void sub_80F0174(u32); +bool8 sub_80F4FB4(); +void sub_80F3668(); +bool8 sub_80F7500(); +void sub_80F3698(); +bool8 sub_80F5038(); +void sub_80F2F48(); +void sub_80F3CE8(); +void sub_80F3614(); +void sub_80F357C(); + +void sub_80ED858() { + u8 var1; + switch (ewram0.var304) { + case 0: + sub_80F4F78(); + sub_80F5B38(); + ewram0.var304 = 0x1; + break; + case 1: + if (sub_80F5B50()) return; + ewram0.var304 = 0x2; + break; + case 2: + sub_80F0174(0x1); + ewram0.var304 = 0x3; + break; + case 3: + if (sub_80F4FB4()) return; + sub_80F3C94(); + sub_80F3D00(); + ewram0.var304 = 0x4; + break; + case 4: + break; +// if (!(gMain.heldKeys & 0x40) && !(gMain.heldKeys & 0x80) && (gMain.newKeys & B_BUTTON)) { +// PlaySE(0x5); +// sub_80F4FDC(); +// move_anim_execute(); +// ewram0.var304 = 0x9; +// } +// else if (!ewram0.var87CB && !(gMain.heldKeys & 0x80) && (gMain.newKeys & B_BUTTON)) { +// PlaySE(0x5); +// sub_80F4FDC(); +// move_anim_execute(); +// ewram0.var304 = 0x9; +// } +// else if (ewram0.var87DC) { +// if (gMain.heldKeys & 0x80) +// +// } + case 5: + if (gpu_sync_bg_show()) return; + sub_80F3D00(); + ewram0.var304 = 0x6; + break; + case 6: + if (sub_8055870()) return; + ewram0.var304 = 0x4; + break; + case 7: + sub_80EEFBC(0x3); + sub_80F3668(); + ewram0.var304 = 0x8; + break; + case 8: + if (sub_80F7500()) return; + sub_80EEFBC(0x2); + sub_80F3698(); + ewram0.var304 = 0x4; + break; + case 9: + if (!(var1 = sub_80F5038())) { + sub_80F0174(0); + sub_80F2F48(); + BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var1); + ewram0.var304 = 0xB; + } + break; + case 0xA: + if (gPaletteFade.active) return; + sub_80F3CE8(); + sub_80F5BDC(); + if (!ewram0.var76aa) { + sub_80F357C(); + sub_80F2D6C(0x1); + sub_80F2D6C(0x6); + sub_80EBDBC(&sub_80ECA10); + } + else { + sub_80F3614(); + sub_80EBDBC(&sub_80ED3D0); + } + break; + } + +} +#else +__attribute__((naked)) +void sub_80ED858() { + asm_unified("push {r4,r5,lr}\n\ + sub sp, 0x4\n\ + ldr r1, _080ED878 @ =0x02000000\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r1, r2\n\ + ldrh r0, [r0]\n\ + adds r5, r1, 0\n\ + cmp r0, 0xB\n\ + bls _080ED86E\n\ + b _080EDB7A\n\ +_080ED86E:\n\ + lsls r0, 2\n\ + ldr r1, _080ED87C @ =_080ED880\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ +_080ED878: .4byte 0x02000000\n\ +_080ED87C: .4byte _080ED880\n\ + .align 2, 0\n\ +_080ED880:\n\ + .4byte _080ED8B0\n\ + .4byte _080ED8CC\n\ + .4byte _080ED8EC\n\ + .4byte _080ED904\n\ + .4byte _080ED91A\n\ + .4byte _080EDA68\n\ + .4byte _080EDA8C\n\ + .4byte _080EDAA4\n\ + .4byte _080EDAC0\n\ + .4byte _080EDAE8\n\ + .4byte _080EDB7A\n\ + .4byte _080EDB28\n\ +_080ED8B0:\n\ + bl sub_80F4F78\n\ + bl sub_80F5B38\n\ + ldr r0, _080ED8C8 @ =0x02000000\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ + movs r1, 0x1\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080ED8C8: .4byte 0x02000000\n\ +_080ED8CC:\n\ + bl sub_80F5B50\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080ED8D8\n\ + b _080EDB7A\n\ +_080ED8D8:\n\ + ldr r0, _080ED8E8 @ =0x02000000\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + movs r1, 0x2\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080ED8E8: .4byte 0x02000000\n\ +_080ED8EC:\n\ + movs r0, 0x1\n\ + bl sub_80F0174\n\ + ldr r0, _080ED900 @ =0x02000000\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r2\n\ + movs r1, 0x3\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080ED900: .4byte 0x02000000\n\ +_080ED904:\n\ + bl sub_80F4FB4\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080ED910\n\ + b _080EDB7A\n\ +_080ED910:\n\ + bl sub_80F3C94\n\ + bl sub_80F3D00\n\ + b _080EDAD4\n\ +_080ED91A:\n\ + ldr r2, _080ED960 @ =gMain\n\ + ldrh r1, [r2, 0x2C]\n\ + movs r0, 0x40\n\ + ands r0, r1\n\ + adds r3, r2, 0\n\ + cmp r0, 0\n\ + beq _080ED970\n\ + ldr r1, _080ED964 @ =0x000087cb\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED970\n\ + ldr r2, _080ED968 @ =0x000076aa\n\ + adds r0, r5, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED948\n\ + ldr r4, _080ED96C @ =0x000087dc\n\ + adds r0, r5, r4\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + beq _080ED970\n\ +_080ED948:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + b _080ED9B8\n\ + .align 2, 0\n\ +_080ED960: .4byte gMain\n\ +_080ED964: .4byte 0x000087cb\n\ +_080ED968: .4byte 0x000076aa\n\ +_080ED96C: .4byte 0x000087dc\n\ +_080ED970:\n\ + ldrh r1, [r3, 0x2C]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _080ED9CC\n\ + ldr r4, _080ED9C0 @ =0x000087cb\n\ + adds r0, r5, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED9CC\n\ + ldr r1, _080ED9C4 @ =0x000076aa\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080ED9A2\n\ + ldr r2, _080ED9C8 @ =0x000087dc\n\ + adds r0, r5, r2\n\ + subs r4, 0x57\n\ + adds r1, r5, r4\n\ + movs r4, 0\n\ + ldrsh r2, [r0, r4]\n\ + movs r4, 0\n\ + ldrsh r0, [r1, r4]\n\ + cmp r2, r0\n\ + bge _080ED9CC\n\ +_080ED9A2:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0\n\ + bl sub_80F5060\n\ + bl move_anim_execute\n\ + movs r0, 0xC1\n\ + lsls r0, 2\n\ + adds r1, r5, r0\n\ +_080ED9B8:\n\ + movs r0, 0x5\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080ED9C0: .4byte 0x000087cb\n\ +_080ED9C4: .4byte 0x000076aa\n\ +_080ED9C8: .4byte 0x000087dc\n\ +_080ED9CC:\n\ + ldrh r2, [r3, 0x2E]\n\ + movs r0, 0x2\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _080ED9F8\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + bl sub_80F4FDC\n\ + bl move_anim_execute\n\ + ldr r0, _080ED9F4 @ =0x02000000\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + movs r1, 0x9\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080ED9F4: .4byte 0x02000000\n\ +_080ED9F8:\n\ + movs r0, 0x1\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + bne _080EDA02\n\ + b _080EDB7A\n\ +_080EDA02:\n\ + adds r4, r5, 0\n\ + ldr r2, _080EDA38 @ =0x000076aa\n\ + adds r0, r4, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080EDA44\n\ + ldr r1, _080EDA3C @ =0x000087dc\n\ + adds r0, r4, r1\n\ + movs r2, 0\n\ + ldrsh r1, [r0, r2]\n\ + ldr r2, _080EDA40 @ =0x000087da\n\ + adds r0, r4, r2\n\ + movs r2, 0\n\ + ldrsh r0, [r0, r2]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + beq _080EDA26\n\ + b _080EDB7A\n\ +_080EDA26:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0xC1\n\ + lsls r0, 2\n\ + adds r1, r4, r0\n\ + movs r0, 0x9\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDA38: .4byte 0x000076aa\n\ +_080EDA3C: .4byte 0x000087dc\n\ +_080EDA40: .4byte 0x000087da\n\ +_080EDA44:\n\ + ldr r1, _080EDA64 @ =0x00006dac\n\ + adds r0, r5, r1\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080EDA50\n\ + b _080EDB7A\n\ +_080EDA50:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + movs r0, 0x7\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDA64: .4byte 0x00006dac\n\ +_080EDA68:\n\ + bl gpu_sync_bg_show\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _080EDA74\n\ + b _080EDB7A\n\ +_080EDA74:\n\ + bl sub_80F3D00\n\ + ldr r0, _080EDA88 @ =0x02000000\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ + movs r1, 0x6\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDA88: .4byte 0x02000000\n\ +_080EDA8C:\n\ + bl sub_8055870\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + ldr r0, _080EDAA0 @ =0x02000000\n\ + movs r1, 0xC1\n\ + lsls r1, 2\n\ + adds r0, r1\n\ + b _080EDADC\n\ + .align 2, 0\n\ +_080EDAA0: .4byte 0x02000000\n\ +_080EDAA4:\n\ + movs r0, 0x3\n\ + bl sub_80EEFBC\n\ + bl sub_80F3668\n\ + ldr r0, _080EDABC @ =0x02000000\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r0, r2\n\ + movs r1, 0x8\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDABC: .4byte 0x02000000\n\ +_080EDAC0:\n\ + bl sub_80F7500\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + movs r0, 0x2\n\ + bl sub_80EEFBC\n\ + bl sub_80F3698\n\ +_080EDAD4:\n\ + ldr r0, _080EDAE4 @ =0x02000000\n\ + movs r4, 0xC1\n\ + lsls r4, 2\n\ + adds r0, r4\n\ +_080EDADC:\n\ + movs r1, 0x4\n\ + strh r1, [r0]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDAE4: .4byte 0x02000000\n\ +_080EDAE8:\n\ + bl sub_80F5038\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + cmp r4, 0\n\ + bne _080EDB7A\n\ + movs r0, 0\n\ + bl sub_80F0174\n\ + bl sub_80F2F48\n\ + ldr r5, _080EDB24 @ =0x02000000\n\ + movs r1, 0xC2\n\ + lsls r1, 2\n\ + adds r0, r5, r1\n\ + ldr r0, [r0]\n\ + movs r1, 0x1\n\ + negs r1, r1\n\ + str r4, [sp]\n\ + movs r2, 0\n\ + movs r3, 0x10\n\ + bl BeginNormalPaletteFade\n\ + movs r2, 0xC1\n\ + lsls r2, 2\n\ + adds r1, r5, r2\n\ + movs r0, 0xB\n\ + strh r0, [r1]\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDB24: .4byte 0x02000000\n\ +_080EDB28:\n\ + ldr r0, _080EDB60 @ =gPaletteFade\n\ + ldrb r1, [r0, 0x7]\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _080EDB7A\n\ + bl sub_80F3CE8\n\ + bl sub_80F5BDC\n\ + ldr r0, _080EDB64 @ =0x02000000\n\ + ldr r4, _080EDB68 @ =0x000076aa\n\ + adds r0, r4\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080EDB70\n\ + bl sub_80F357C\n\ + movs r0, 0x1\n\ + bl sub_80F2D6C\n\ + movs r0, 0x6\n\ + bl sub_80F2D6C\n\ + ldr r0, _080EDB6C @ =sub_80ECA10\n\ + bl sub_80EBDBC\n\ + b _080EDB7A\n\ + .align 2, 0\n\ +_080EDB60: .4byte gPaletteFade\n\ +_080EDB64: .4byte 0x02000000\n\ +_080EDB68: .4byte 0x000076aa\n\ +_080EDB6C: .4byte sub_80ECA10\n\ +_080EDB70:\n\ + bl sub_80F3614\n\ + ldr r0, _080EDB84 @ =sub_80ED3D0\n\ + bl sub_80EBDBC\n\ +_080EDB7A:\n\ + add sp, 0x4\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080EDB84: .4byte sub_80ED3D0\n"); +} +#endif + +void sub_80F638C(); +bool8 sub_80F63D0(); +void sub_80EDDBC(); + +void sub_80EDB88() { + u8 var1; + switch (ewram0.var304) { + case 0: + sub_80F1E84(); + sub_80F2D04(0); + ewram0.var304++; + break; + case 1: + if (sub_80F1F10()) return; + sub_80EEFBC(0x4); + 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(0); + sub_80EED0C(); + sub_80EF814(); + ewram0.var304++; + break; + case 4: + sub_80F2620(); + ewram0.var304++; + break; + case 5: + sub_80F638C(); + ewram0.var304++; + case 6: + if (!sub_80F63D0()) { + ewram0.var304 += 0x2; + 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(0x1); + ewram0.var304++; + case 0xA: + if (sub_80F02A0()) return; + ewram0.var304++; + break; + case 0xB: + sub_80F2C80(0x2); + ewram0.var304++; + case 0xC: + if (sub_80F2CBC(0x2)) return; + ewram0.var304++; + break; + case 0xD: + sub_80F3008(0x1); + ewram0.var304++; + break; + case 0xE: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 0xF: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 0x10: + sub_80EED2C(0x4); + ewram0.var304++; + break; + case 0x11: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80EDDBC); + break; + } +} + +void sub_80EDE70(); +void sub_80EDEE4(); + +void sub_80EDDBC() { + switch (ewram0.var304) { + case 0: + switch (sub_80F5DD4()) { + case 1: + PlaySE(0x5); + ShowMapNamePopUpWindow(); + break; + case 2: + PlaySE(0x5); + ewram0.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EDEE4); + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EDE70); + } + break; + } + break; + case 1: + if (sub_80F0718()) return; + ShowMapNamePopUpWindow(); + sub_80F3264(); + ewram0.var304++; + break; + case 2: + if (sub_8055870()) return; + ewram0.var304 = 0; + break; + + } +} + +void sub_80EDE70() { + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + sub_80F3130(); + sub_80F2D6C(0x2); + ewram0.var304++; + break; + case 2: + sub_80EBDBC(&sub_80EC00C); + break; + } + +} + +void sub_80F66E0(); +bool8 sub_80F1080(); +void sub_80EEFBC(); +void sub_80F38B8(); +bool8 sub_80F38EC(); +void sub_80EE06C(); + +void sub_80EDEE4() { + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3130(); + ewram0.var304++; + break; + case 2: + sub_80F66E0(); + sub_80EEE08(); + ewram0.var304++; + break; + case 3: + if (sub_80F1080()) return; + ewram0.var304++; + break; + case 4: + sub_80EEFBC(0x5); + sub_80F38B8(); + ewram0.var304++; + case 5: + if (sub_80F38EC()) return; + ewram0.var304++; + break; + case 6: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 7: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 8: + sub_80EED2C(0x3); + ewram0.var304++; + break; + case 9: + if (gPaletteFade.active) return; + ewram0.var304++; + break; + case 0xA: + if (sub_80F170C()) return; + sub_80EBDBC(&sub_80EE06C); + break; + } +} + +void sub_80F15A8(); +void sub_80F6A4C(); +bool8 sub_80F6AF0(); +void sub_80F3B00(); +bool8 sub_80F3B58(); +void sub_80F1494(); +u8 sub_80F68E8(); +void sub_80F3B94(); +bool8 sub_80F3BD4(); +void sub_80EE294(); + +void sub_80EE06C() { + u32 var1; + u16 var2; + switch (ewram0.var304) { + case 0: + sub_80F15A8(); + ewram0.var304++; + break; + case 1: + if (gMain.newAndRepeatedKeys & 0x40) { + if (ewram0.var87DC) { + PlaySE(0x5); + sub_80F6A4C(-1); + ewram0.var304++; + } + else goto label1; + } + else goto label1; + break; +label1: + if (gMain.newAndRepeatedKeys & 0x80) { + if (ewram0.var87DC < ewram0.var8774) { + PlaySE(0x5); + sub_80F6A4C(1); + ewram0.var304++; + } + else goto label2; + } + else goto label2; + break; +label2: + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + sub_80EEFBC(0xB); + ewram0.var304 = 0x4; + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EE294); + } + break; + case 2: + if (sub_80F6AF0()) return; + ewram0.var304++; + break; + case 3: + var1 = sub_8055870(); + if (var1) return; + ewram0.var304 = var1; + break; + case 4: + sub_80F3B00(); + ewram0.var304++; + break; + case 5: + if (sub_80F3B58()) return; + sub_80F1494(); + ewram0.var304++; + sub_80EED9C(); + break; + case 6: + switch (sub_80F68E8()) { + case 1: + PlaySE(0x5); + sub_80F3B94(); + ewram0.var304 = 0x7; + break; + default: + case 0: + if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80F3B94(); + ewram0.var304 = 0x8; + } + break; + } + break; + case 7: + if (sub_80F3BD4()) return; + ewram0.var304 = 0x4; + break; + case 8: + var2 = sub_80F3BD4(); + if (var2) return; + sub_80EEFBC(0x5); + ewram0.var304 = var2; + break; + } +} + +void sub_80F3C2C(); + +void sub_80EE294() { + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + SetVBlankCallback(NULL); + sub_80EED0C(); + sub_80F3C2C(); + sub_80EEE08(); + ewram0.var304++; + break; + case 2: + sub_80F6134(); + sub_80F0264(0x1); + ewram0.var304++; + case 3: + if (sub_80F02A0()) return; + ewram0.var304++; + break; + case 4: + sub_80EEFBC(0x4); + sub_80F3008(0x1); + SetVBlankCallback(&sub_80EBD18); + ewram0.var304++; + break; + case 5: + if (sub_8055870()) return; + ewram0.var304++; + break; + case 6: + BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0); + ewram0.var304++; + break; + case 7: + sub_80EED2C(0x4); + ewram0.var304++; + break; + case 8: + if (gPaletteFade.active) return; + sub_80EBDBC(&sub_80EDDBC); + 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; + } +} + +void sub_80F0FFC(); +void sub_80EE658(); +void sub_80EE8F4(); + +void sub_80EE58C() { + switch (ewram0.var304) { + case 0: + switch (sub_80F5DD4()) { + case 1: + PlaySE(0x5); + sub_80F0FFC(ewram0.var876E); + break; + case 2: + PlaySE(0x5); + ewram0.var304++; + break; + default: + if (gMain.newKeys & A_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EE658); + } + else if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80EBDBC(&sub_80EE8F4); + } + break; + } + break; + case 1: + if (sub_80F0718()) return; + sub_80F0FFC(ewram0.var876E); + sub_80F3264(); + ewram0.var304++; + break; + case 2: + if (sub_8055870()) return; + ewram0.var304 = 0; + break; + } +} + +void sub_80F3294(); +void sub_80F0B24(); +bool8 sub_80F0B44(); +void sub_80F0F64(); +bool8 sub_80F0FEC(); +void sub_80F6FB8(); +void sub_80F6DB8(); +void sub_80F0CD8(); +bool8 sub_80F6E9C(); +bool8 sub_80F0D5C(); +bool8 sub_80F6ED4(); +bool8 sub_80F0EF4(); +void sub_80F2FB0(); +void sub_80F0FA0(); +void sub_80F0C28(); +bool8 sub_80F0C48(); +bool8 sub_80F70FC(); +void sub_80F708C(u32); +void sub_80F4394(); +void sub_80F0EC0(); +void sub_80F700C(); +void sub_80F42C4(); + +void sub_80EE658() { + switch (ewram0.var304) { + case 0: + sub_80F3294(0x1); + sub_80EEFBC(0xA); + sub_80F0B24(); + ewram0.var304++; + break; + case 1: + if (sub_80F0B44()) return; + ewram0.var304++; + break; + case 2: + sub_80F0F64(); + ewram0.var304++; + break; + case 3: + if (sub_80F0FEC()) return; + sub_80F6FB8(0x1); + ewram0.var304++; + break; + case 4: + sub_80F6DB8(); + ewram0.var304++; + break; + case 5: + sub_80F700C((u8 *)(ewram + 0x8788), *(u16 *)(ewram + 0x8788 - 0x1A)); + sub_80F42C4((u8 *)(ewram + 0x8788)); + ewram0.var304++; + break; + case 6: + sub_80F0CD8(); + ewram0.var304++; + case 7: + if (sub_80F6E9C()) return; + if (sub_80F0D5C()) return; + ewram0.var304++; + break; + case 8: + if (gMain.heldKeys & 0x40) { + if (ewram0.var87DC) { + PlaySE(0x5); + sub_80F708C(-1); + ewram0.var304 = 0x10; + } + else goto label1; + } + else goto label1; + break; +label1: + if (gMain.heldKeys & 0x80) { + if (ewram0.var87DC < ewram0.var8774) { + PlaySE(0x5); + sub_80F708C(1); + ewram0.var304 = 0x10; + } + else goto label2; + } + else goto label2; + break; +label2: + if (gMain.newKeys & B_BUTTON) { + PlaySE(0x5); + sub_80F4394(); + sub_80F0EC0(); + ewram0.var304++; + } + break; + case 9: + if (sub_80F6ED4()) return; + if (sub_80F0EF4()) return; + sub_80F6FB8(0); + sub_80F2FB0(); + ewram0.var304++; + break; + case 0xA: + sub_80F6134(); + ewram0.var304++; + break; + case 0xB: + sub_80F0FA0(); + ewram0.var304++; + break; + case 0xC: + if (sub_80F0FEC()) return; + ewram0.var304++; + break; + case 0xD: + sub_80F0C28(); + ewram0.var304++; + break; + case 0xE: + if (sub_80F0C48()) return; + ewram0.var304++; + break; + case 0xF: + sub_80EEFBC(0x9); + sub_80F3294(0); + sub_80EBDBC(&sub_80EE58C); + sub_80EED9C(); + break; + case 0x10: + if (sub_80F70FC()) return; + ewram0.var304++; + break; + case 0x11: + if (sub_8055870()) return; + ewram0.var304 = 0x8; + break; + } +} + +void sub_80F6FFC(); + +void sub_80EE8F4() { + switch (ewram0.var304) { + case 0: + BeginNormalPaletteFade(ewram0.var308, -1, 0, 0x10, 0); + ewram0.var304++; + break; + case 1: + if (gPaletteFade.active) return; + sub_80F3130(); + sub_80F2D6C(0x2); + sub_80F6FFC(); + ewram0.var304++; + break; + case 2: + sub_80EBDBC(&sub_80EC00C); + break; + } +} + +void sub_80EE96C() { + u16 var1 = ewram0.var304; + if (!var1) { + PlaySE(0x6F); + BeginNormalPaletteFade(-1, 0, 0, 0x10, var1); + ewram0.var304++; + } + else { + if (gPaletteFade.active) return; + sub_80F5BDC(); + sub_805469C(); + } +} + +void sub_80EE9C0(u8 param1, u8 param2, u8 param3) { + sub_80F1E84(); + ewram0.var6e14 = param1; + ewram0.var6e15 = param2; + ewram0.var6e16 = 0; + ewram0.var6e17 = param3; +} |