summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s9263
-rwxr-xr-xinclude/ewram.h2
-rw-r--r--include/pokenav.h60
-rw-r--r--include/region_map.h8
-rw-r--r--ld_script.txt3
-rw-r--r--src/field/region_map.c168
-rw-r--r--src/field/use_pokeblock.c2
-rw-r--r--src/pokenav_after.c (renamed from src/field/pokenav.c)2
-rw-r--r--src/pokenav_before.c5004
-rw-r--r--sym_bss.txt2
10 files changed, 5150 insertions, 9364 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index b7ff9a032..cbae6d0cc 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,9269 +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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
- thumb_func_end sub_80EBD90
-
- thumb_func_start sub_80EBDBC
-sub_80EBDBC: @ 80EBDBC
- ldr r2, _080EBDD4 @ =gSharedMem
- 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 gSharedMem
- thumb_func_end sub_80EBDBC
-
- thumb_func_start sub_80EBDD8
-sub_80EBDD8: @ 80EBDD8
- push {lr}
- sub sp, 0x4
- ldr r1, _080EBDF8 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EBE78: .4byte 0x00006ddc
-_080EBE7C: .4byte 0x00006dae
-_080EBE80:
- bl sub_80F3FF0
- ldr r1, _080EBEA8 @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBEA8: .4byte gSharedMem
-_080EBEAC:
- bl sub_80F2598
- ldr r1, _080EBEBC @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBEBC: .4byte gSharedMem
-_080EBEC0:
- bl sub_80EEE20
- ldr r1, _080EBEEC @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBEEC: .4byte gSharedMem
-_080EBEF0:
- movs r0, 0
- bl sub_80EF248
- ldr r1, _080EBF14 @ =gSharedMem
- 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 gSharedMem
-_080EBF18:
- movs r0, 0
- bl sub_80F1B8C
- ldr r1, _080EBF44 @ =gSharedMem
- 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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBF44: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBF70: .4byte gSharedMem
-_080EBF74:
- movs r0, 0
- bl sub_80EED2C
- ldr r1, _080EBF84 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBF84: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBFCC: .4byte gSharedMem
-_080EBFD0:
- bl sub_80F1DF0
-_080EBFD4:
- ldr r1, _080EBFE4 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EC0B4: .4byte 0x00006ddc
-_080EC0B8: .4byte 0x00006dad
-_080EC0BC: .4byte 0x00006dae
-_080EC0C0:
- movs r0, 0
- bl sub_80EF248
- ldr r1, _080EC0EC @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC0EC: .4byte gSharedMem
-_080EC0F0:
- movs r0, 0
- bl sub_80F1B8C
- ldr r1, _080EC11C @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC11C: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC164: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC190: .4byte gSharedMem
-_080EC194:
- movs r0, 0
- bl sub_80F2C80
- ldr r1, _080EC1C0 @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC1C0: .4byte gSharedMem
-_080EC1C4:
- bl sub_80F1DF0
-_080EC1C8:
- ldr r1, _080EC1D8 @ =gSharedMem
- 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 gSharedMem
-_080EC1DC:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080EC1FA
- ldr r0, _080EC204 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC368: .4byte gSharedMem
-_080EC36C:
- ldr r0, _080EC37C @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC37C: .4byte gSharedMem
-_080EC380:
- ldr r0, _080EC390 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC390: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC53C: .4byte gSaveBlock2
-_080EC540: .4byte gSharedMem
-_080EC544:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EC552
- b _080EC66A
-_080EC552:
- ldr r4, _080EC574 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC5A4: .4byte gSharedMem
-_080EC5A8:
- bl sub_80EF814
- b _080EC644
-_080EC5AE:
- bl sub_80EF840
- ldr r1, _080EC5CC @ =gSharedMem
- 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 gSharedMem
-_080EC5D0:
- movs r0, 0x4
- bl sub_80F2C80
- ldr r1, _080EC5F4 @ =gSharedMem
- 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 gSharedMem
-_080EC5F8:
- bl sub_80F2DD8
- ldr r0, _080EC60C @ =sub_80EBD30
- bl SetVBlankCallback
- ldr r1, _080EC610 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC60C: .4byte sub_80EBD30
-_080EC610: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- b _080EC800
- .align 2, 0
-_080EC6FC: .4byte gSharedMem
-_080EC700:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC714 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0]
- b _080EC800
- .align 2, 0
-_080EC714: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- strh r4, [r0]
- b _080EC800
- .align 2, 0
-_080EC79C: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080ECAB8: .4byte 0x00006df0
-_080ECABC: .4byte 0x00006dad
-_080ECAC0: .4byte 0x00006dae
-_080ECAC4:
- movs r0, 0x1
- bl sub_80EF248
- ldr r1, _080ECAF0 @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECAF0: .4byte gSharedMem
-_080ECAF4:
- movs r0, 0x1
- bl sub_80F1B8C
- ldr r1, _080ECB20 @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECB20: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECB68: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECBB8: .4byte gSharedMem
-_080ECBBC:
- bl sub_80F1DF0
-_080ECBC0:
- ldr r1, _080ECBD0 @ =gSharedMem
- 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 gSharedMem
-_080ECBD4:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080ECBF2
- ldr r0, _080ECBFC @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- ldr r3, _080ECCAC @ =0x000087d8
- adds r0, r3
- movs r1, 0x16
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCA8: .4byte gSharedMem
-_080ECCAC: .4byte 0x000087d8
-_080ECCB0:
- ldr r0, _080ECCBC @ =gSharedMem
- ldr r1, _080ECCC0 @ =0x000087d8
- adds r0, r1
- movs r1, 0x17
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCBC: .4byte gSharedMem
-_080ECCC0: .4byte 0x000087d8
-_080ECCC4:
- ldr r0, _080ECCD0 @ =gSharedMem
- ldr r2, _080ECCD4 @ =0x000087d8
- adds r0, r2
- movs r1, 0x18
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCD0: .4byte gSharedMem
-_080ECCD4: .4byte 0x000087d8
-_080ECCD8:
- ldr r0, _080ECCE4 @ =gSharedMem
- ldr r3, _080ECCE8 @ =0x000087d8
- adds r0, r3
- movs r1, 0x21
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCE4: .4byte gSharedMem
-_080ECCE8: .4byte 0x000087d8
-_080ECCEC:
- ldr r0, _080ECCF8 @ =gSharedMem
- ldr r1, _080ECCFC @ =0x000087d8
- adds r0, r1
- movs r1, 0x2F
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCF8: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECFDC
- .align 2, 0
-_080ECE60: .4byte gSharedMem
-_080ECE64:
- movs r0, 0x1
- bl sub_80F2D6C
- ldr r1, _080ECE74 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ECFDC
- .align 2, 0
-_080ECE74: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080ECED4:
- movs r0, 0x2
- bl sub_80F1B8C
- ldr r1, _080ECF00 @ =gSharedMem
- 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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ECFDC
- .align 2, 0
-_080ECF00: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECFDC
- .align 2, 0
-_080ECF54: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080ECFAC: .4byte 0x00000306
-_080ECFB0:
- movs r0, 0x5
- bl sub_80F2C80
- ldr r1, _080ECFE4 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080ECFE8:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080ED006
- ldr r0, _080ED010 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED0B0: .4byte gSharedMem
-_080ED0B4:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080ED0C0
- b _080ED308
-_080ED0C0:
- movs r0, 0
- bl sub_80EEFBC
- ldr r1, _080ED0D0 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED0D0: .4byte gSharedMem
-_080ED0D4:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080ED0E2
- b _080ED308
-_080ED0E2:
- ldr r4, _080ED104 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED130: .4byte gPaletteFade
-_080ED134: .4byte gSharedMem
-_080ED138:
- bl sub_80F2620
- ldr r1, _080ED148 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED148: .4byte gSharedMem
-_080ED14C:
- bl sub_80F4D44
- ldr r1, _080ED178 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080ED17C:
- ldr r1, _080ED188 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED188: .4byte gSharedMem
-_080ED18C:
- bl sub_8055870
- cmp r0, 0
- beq _080ED196
- b _080ED308
-_080ED196:
- ldr r1, _080ED1A8 @ =gSharedMem
- 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 gSharedMem
-_080ED1AC:
- bl sub_8055870
- cmp r0, 0
- beq _080ED1B6
- b _080ED308
-_080ED1B6:
- ldr r1, _080ED1C0 @ =gSharedMem
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED1C0: .4byte gSharedMem
-_080ED1C4:
- movs r0, 0
- bl sub_80F0264
- ldr r1, _080ED1F0 @ =gSharedMem
- 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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ED27C
- .align 2, 0
-_080ED1F0: .4byte gSharedMem
-_080ED1F4:
- movs r0, 0
- bl sub_80F3008
- ldr r1, _080ED204 @ =gSharedMem
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED204: .4byte gSharedMem
-_080ED208:
- bl sub_8055870
- cmp r0, 0
- beq _080ED212
- b _080ED308
-_080ED212:
- ldr r1, _080ED21C @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED21C: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED25C: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080ED2C8: .4byte 0x00000306
-_080ED2CC:
- ldr r4, _080ED310 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080ED458:
- bl sub_8055870
- cmp r0, 0
- bne _080ED4C6
- b _080ED49E
-_080ED462:
- movs r0, 0
- bl sub_80F3008
- ldr r4, _080ED490 @ =gSharedMem
- 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 gSharedMem
-_080ED494: .4byte sub_80EBD18
-_080ED498:
- movs r0, 0x4
- bl sub_80EED2C
-_080ED49E:
- ldr r1, _080ED4B0 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ED5EE
- .align 2, 0
-_080ED578: .4byte gSharedMem
-_080ED57C:
- bl sub_80F4CF0
- b _080ED5E6
-_080ED582:
- bl sub_80EFF34
- ldr r1, _080ED5A0 @ =gSharedMem
- 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 gSharedMem
-_080ED5A4:
- bl sub_80F35B4
- movs r0, 0x2
- bl sub_80EEFBC
- ldr r4, _080ED5D8 @ =gSharedMem
- 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 gSharedMem
-_080ED5DC: .4byte sub_80EBD4C
-_080ED5E0:
- movs r0, 0x2
- bl sub_80EED2C
-_080ED5E6:
- ldr r1, _080ED5F8 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED6A0: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080ED76C:
- bl sub_8055870
- cmp r0, 0
- bne _080ED846
- ldr r1, _080ED780 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED780: .4byte gSharedMem
-_080ED784:
- bl sub_8055870
- b _080ED808
-_080ED78A:
- bl sub_80F33A8
- ldr r4, _080ED7B8 @ =gSharedMem
- 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 gSharedMem
-_080ED7BC: .4byte sub_80EBD4C
-_080ED7C0:
- movs r0, 0x2
- bl sub_80EED2C
- ldr r1, _080ED7D0 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED7D0: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080ED820:
- movs r0, 0x6
- bl sub_80F2C80
- ldr r1, _080ED850 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED8C8: .4byte gSharedMem
-_080ED8CC:
- bl sub_80F5B50
- lsls r0, 24
- cmp r0, 0
- beq _080ED8D8
- b _080EDB7A
-_080ED8D8:
- ldr r0, _080ED8E8 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED8E8: .4byte gSharedMem
-_080ED8EC:
- movs r0, 0x1
- bl sub_80F0174
- ldr r0, _080ED900 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED900: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x9
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED9F4: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
- movs r1, 0x6
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDA88: .4byte gSharedMem
-_080EDA8C:
- bl sub_8055870
- cmp r0, 0
- bne _080EDB7A
- ldr r0, _080EDAA0 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- b _080EDADC
- .align 2, 0
-_080EDAA0: .4byte gSharedMem
-_080EDAA4:
- movs r0, 0x3
- bl sub_80EEFBC
- bl sub_80F3668
- ldr r0, _080EDABC @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x8
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDABC: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
-_080EDADC:
- movs r1, 0x4
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDAE4: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDC20: .4byte gSharedMem
-_080EDC24:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EDC32
- b _080EDDAA
-_080EDC32:
- ldr r4, _080EDC54 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDC8C: .4byte gSharedMem
-_080EDC90:
- bl sub_80F638C
- ldr r1, _080EDCBC @ =gSharedMem
- 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 @ =gSharedMem
- 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 gSharedMem
-_080EDCC0:
- bl sub_8055870
- cmp r0, 0
- bne _080EDDAA
- ldr r1, _080EDCD8 @ =gSharedMem
- 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 gSharedMem
-_080EDCDC:
- bl sub_8055870
- cmp r0, 0
- bne _080EDDAA
- b _080EDD82
-_080EDCE6:
- movs r0, 0x1
- bl sub_80F0264
- ldr r1, _080EDD08 @ =gSharedMem
- 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 gSharedMem
-_080EDD0C:
- movs r0, 0x2
- bl sub_80F2C80
- ldr r1, _080EDD30 @ =gSharedMem
- 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 gSharedMem
-_080EDD34:
- movs r0, 0x1
- bl sub_80F3008
- ldr r1, _080EDD44 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDD44: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDF78: .4byte gPaletteFade
-_080EDF7C: .4byte gSharedMem
-_080EDF80:
- bl sub_80F66E0
- bl sub_80EEE08
- ldr r1, _080EDF94 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE042
- .align 2, 0
-_080EDF94: .4byte gSharedMem
-_080EDF98:
- bl sub_80F1080
- lsls r0, 24
- cmp r0, 0
- bne _080EE060
- ldr r1, _080EDFAC @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDFAC: .4byte gSharedMem
-_080EDFB0:
- movs r0, 0x5
- bl sub_80EEFBC
- bl sub_80F38B8
- ldr r1, _080EDFDC @ =gSharedMem
- 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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDFDC: .4byte gSharedMem
-_080EDFE0:
- bl sub_8055870
- cmp r0, 0
- bne _080EE060
- ldr r1, _080EDFF4 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE042
- .align 2, 0
-_080EDFF4: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EE02C: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r5
- b _080EE1C4
- .align 2, 0
-_080EE0C8: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- b _080EE262
- .align 2, 0
-_080EE160: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE1C4
- .align 2, 0
-_080EE198: .4byte gSharedMem
-_080EE19C:
- bl sub_8055870
- adds r1, r0, 0
- cmp r1, 0
- bne _080EE288
- ldr r0, _080EE1B4 @ =gSharedMem
- movs r5, 0xC1
- lsls r5, 2
- adds r0, r5
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE1B4: .4byte gSharedMem
-_080EE1B8:
- bl sub_80F3B00
- ldr r1, _080EE1CC @ =gSharedMem
- 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 gSharedMem
-_080EE1D0:
- bl sub_80F3B58
- lsls r0, 24
- cmp r0, 0
- bne _080EE288
- bl sub_80F1494
- ldr r1, _080EE1F4 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r5, 0xC1
- lsls r5, 2
- adds r0, r5
- movs r1, 0x7
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE220: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EE250:
- bl sub_80F3BD4
- lsls r0, 24
- cmp r0, 0
- bne _080EE288
- ldr r0, _080EE268 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
-_080EE262:
- movs r1, 0x4
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE268: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
- thumb_func_end sub_80EE06C
-
- thumb_func_start sub_80EE294
-sub_80EE294: @ 80EE294
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EE2B4 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EE34C:
- movs r0, 0x4
- bl sub_80EEFBC
- movs r0, 0x1
- bl sub_80F3008
- ldr r0, _080EE368 @ =sub_80EBD18
- bl SetVBlankCallback
- ldr r1, _080EE36C @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE3A8
- .align 2, 0
-_080EE368: .4byte sub_80EBD18
-_080EE36C: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EE4DC:
- movs r0, 0x3
- bl sub_80F2C80
- ldr r1, _080EE500 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EE548: .4byte sub_80EBD68
-_080EE54C:
- movs r0, 0x5
- bl sub_80EED2C
-_080EE552:
- ldr r1, _080EE564 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE6F0: .4byte gSharedMem
-_080EE6F4:
- bl sub_80F0F64
- ldr r1, _080EE704 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE704: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE72C: .4byte gSharedMem
-_080EE730:
- ldr r4, _080EE750 @ =gSharedMem + 0x8788
- 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 gSharedMem + 0x8788
-_080EE754: .4byte 0xffff7b7c
-_080EE758:
- bl sub_80F0CD8
- ldr r1, _080EE77C @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE81C: .4byte gSharedMem
-_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 @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE850: .4byte gSharedMem
-_080EE854:
- bl sub_80F0FA0
- ldr r1, _080EE864 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE864: .4byte gSharedMem
-_080EE868:
- bl sub_80F0FEC
- b _080EE8B8
-_080EE86E:
- bl sub_80F0C28
- ldr r1, _080EE87C @ =gSharedMem
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE87C: .4byte gSharedMem
-_080EE880:
- bl sub_80F0C48
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- ldr r1, _080EE894 @ =gSharedMem
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE894: .4byte gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_080EE8D4:
- bl sub_8055870
- cmp r0, 0
- bne _080EE8E8
- ldr r0, _080EE8F0 @ =gSharedMem
- 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 gSharedMem
- thumb_func_end sub_80EE658
-
- thumb_func_start sub_80EE8F4
-sub_80EE8F4: @ 80EE8F4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080EE910 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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 @ =gSharedMem
- 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 gSharedMem
-_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}
- ldr r1, _080EEA28 @ =gSharedMem
- ldr r2, _080EEA2C @ =0x00006e16
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x8
- bls _080EEA1E
- b _080EEBFA
-_080EEA1E:
- lsls r0, 2
- ldr r1, _080EEA30 @ =_080EEA34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEA28: .4byte gSharedMem
-_080EEA2C: .4byte 0x00006e16
-_080EEA30: .4byte _080EEA34
- .align 2, 0
-_080EEA34:
- .4byte _080EEA58
- .4byte _080EEA98
- .4byte _080EEAAE
- .4byte _080EEAD4
- .4byte _080EEB3E
- .4byte _080EEB68
- .4byte _080EEB88
- .4byte _080EEBAC
- .4byte _080EEBE4
-_080EEA58:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EEA64
- b _080EEC08
-_080EEA64:
- ldr r1, _080EEA7C @ =gSharedMem
- ldr r4, _080EEA80 @ =0x00006e17
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0xC
- beq _080EEA88
- ldr r0, _080EEA84 @ =0x00006e16
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEA7C: .4byte gSharedMem
-_080EEA80: .4byte 0x00006e17
-_080EEA84: .4byte 0x00006e16
-_080EEA88:
- ldr r2, _080EEA94 @ =0x00006e16
- adds r1, r2
- movs r0, 0x3
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEA94: .4byte 0x00006e16
-_080EEA98:
- ldr r4, _080EEAC8 @ =gSharedMem
- ldr r1, _080EEACC @ =0x00006e17
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F2C80
- ldr r2, _080EEAD0 @ =0x00006e16
- adds r4, r2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080EEAAE:
- ldr r4, _080EEAC8 @ =gSharedMem
- ldr r1, _080EEACC @ =0x00006e17
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- beq _080EEAC2
- b _080EEC08
-_080EEAC2:
- ldr r2, _080EEAD0 @ =0x00006e16
- adds r1, r4, r2
- b _080EEB76
- .align 2, 0
-_080EEAC8: .4byte gSharedMem
-_080EEACC: .4byte 0x00006e17
-_080EEAD0: .4byte 0x00006e16
-_080EEAD4:
- adds r2, r3, 0
- ldr r4, _080EEAF8 @ =0x00006e15
- adds r0, r2, r4
- ldrb r1, [r0]
- subs r4, 0x68
- adds r0, r2, r4
- strb r1, [r0]
- ldr r1, _080EEAFC @ =0x00006e14
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080EEB14
- cmp r0, 0x1
- bgt _080EEB00
- cmp r0, 0
- beq _080EEB06
- b _080EEB28
- .align 2, 0
-_080EEAF8: .4byte 0x00006e15
-_080EEAFC: .4byte 0x00006e14
-_080EEB00:
- cmp r0, 0x2
- beq _080EEB20
- b _080EEB28
-_080EEB06:
- ldr r4, _080EEB10 @ =0x00006dae
- adds r1, r2, r4
- movs r0, 0x5
- b _080EEB26
- .align 2, 0
-_080EEB10: .4byte 0x00006dae
-_080EEB14:
- ldr r0, _080EEB1C @ =0x00006dae
- adds r1, r2, r0
- movs r0, 0x3
- b _080EEB26
- .align 2, 0
-_080EEB1C: .4byte 0x00006dae
-_080EEB20:
- ldr r2, _080EEB58 @ =0x00006dae
- adds r1, r3, r2
- movs r0, 0x6
-_080EEB26:
- strb r0, [r1]
-_080EEB28:
- ldr r4, _080EEB5C @ =gSharedMem
- ldr r1, _080EEB60 @ =0x00006e14
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F1B8C
- ldr r2, _080EEB64 @ =0x00006e16
- adds r4, r2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080EEB3E:
- ldr r4, _080EEB5C @ =gSharedMem
- ldr r1, _080EEB60 @ =0x00006e14
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r2, _080EEB64 @ =0x00006e16
- adds r1, r4, r2
- b _080EEB76
- .align 2, 0
-_080EEB58: .4byte 0x00006dae
-_080EEB5C: .4byte gSharedMem
-_080EEB60: .4byte 0x00006e14
-_080EEB64: .4byte 0x00006e16
-_080EEB68:
- bl sub_8055870
- cmp r0, 0
- bne _080EEC08
- ldr r1, _080EEB80 @ =gSharedMem
- ldr r4, _080EEB84 @ =0x00006e16
- adds r1, r4
-_080EEB76:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEB80: .4byte gSharedMem
-_080EEB84: .4byte 0x00006e16
-_080EEB88:
- bl sub_80F1DF0
- ldr r4, _080EEBA0 @ =gSharedMem
- ldr r1, _080EEBA4 @ =0x00006e14
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80EF490
- ldr r2, _080EEBA8 @ =0x00006e16
- adds r4, r2
- b _080EEBCC
- .align 2, 0
-_080EEBA0: .4byte gSharedMem
-_080EEBA4: .4byte 0x00006e14
-_080EEBA8: .4byte 0x00006e16
-_080EEBAC:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r4, _080EEBD4 @ =gSharedMem
- ldr r1, _080EEBD8 @ =0x00006e14
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080EEBDC @ =0x00006dad
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80EF428
- ldr r0, _080EEBE0 @ =0x00006e16
- adds r4, r0
-_080EEBCC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080EEC08
- .align 2, 0
-_080EEBD4: .4byte gSharedMem
-_080EEBD8: .4byte 0x00006e14
-_080EEBDC: .4byte 0x00006dad
-_080EEBE0: .4byte 0x00006e16
-_080EEBE4:
- bl sub_80EF4F8
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r1, _080EEC00 @ =gSharedMem
- ldr r2, _080EEC04 @ =0x00006e16
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EEBFA:
- movs r0, 0
- b _080EEC0A
- .align 2, 0
-_080EEC00: .4byte gSharedMem
-_080EEC04: .4byte 0x00006e16
-_080EEC08:
- movs r0, 0x1
-_080EEC0A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEA0C
-
- thumb_func_start sub_80EEC10
-sub_80EEC10: @ 80EEC10
- push {r4,lr}
- ldr r0, _080EEC48 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080EEC50
- ldr r1, _080EEC4C @ =gSharedMem + 0x6DAD
- adds r3, r1, 0x1
- adds r2, r1, 0x5
-_080EEC24:
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080EEC36
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r1]
-_080EEC36:
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EEC24
- movs r0, 0x1
- b _080EEC8A
- .align 2, 0
-_080EEC48: .4byte gMain
-_080EEC4C: .4byte gSharedMem + 0x6DAD
-_080EEC50:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EEC88
- ldr r1, _080EEC84 @ =gSharedMem + 0x6DAD
- movs r4, 0
- movs r2, 0x1
- ldrsb r2, [r1, r2]
- adds r3, r1, 0x5
-_080EEC62:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r2
- blt _080EEC72
- strb r4, [r1]
-_080EEC72:
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EEC62
- movs r0, 0x1
- b _080EEC8A
- .align 2, 0
-_080EEC84: .4byte gSharedMem + 0x6DAD
-_080EEC88:
- movs r0, 0
-_080EEC8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEC10
-
- thumb_func_start sub_80EEC90
-sub_80EEC90: @ 80EEC90
- push {r4,lr}
- ldr r0, _080EECC0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080EECD0
- ldr r2, _080EECC4 @ =gSharedMem
- ldr r0, _080EECC8 @ =0x00006dad
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080EECF8
- ldr r3, _080EECCC @ =0x00006dae
- adds r0, r2, r3
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r1]
- b _080EECF8
- .align 2, 0
-_080EECC0: .4byte gMain
-_080EECC4: .4byte gSharedMem
-_080EECC8: .4byte 0x00006dad
-_080EECCC: .4byte 0x00006dae
-_080EECD0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EED04
- ldr r0, _080EECFC @ =gSharedMem
- ldr r4, _080EED00 @ =0x00006dad
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r1, 0x1
- strb r1, [r2]
- adds r4, 0x1
- adds r0, r4
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080EECF8
- strb r3, [r2]
-_080EECF8:
- movs r0, 0x1
- b _080EED06
- .align 2, 0
-_080EECFC: .4byte gSharedMem
-_080EED00: .4byte 0x00006dad
-_080EED04:
- movs r0, 0
-_080EED06:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEC90
-
- thumb_func_start sub_80EED0C
-sub_80EED0C: @ 80EED0C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_80EED0C
-
- thumb_func_start sub_80EED1C
-sub_80EED1C: @ 80EED1C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x92
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_80EED1C
-
- thumb_func_start sub_80EED2C
-sub_80EED2C: @ 80EED2C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080EED98
- lsls r0, 2
- ldr r1, _080EED40 @ =_080EED44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EED40: .4byte _080EED44
- .align 2, 0
-_080EED44:
- .4byte _080EED5C
- .4byte _080EED66
- .4byte _080EED7E
- .4byte _080EED74
- .4byte _080EED74
- .4byte _080EED8C
-_080EED5C:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- b _080EED94
-_080EED66:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080EED70 @ =0x00001741
- b _080EED94
- .align 2, 0
-_080EED70: .4byte 0x00001741
-_080EED74:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- b _080EED94
-_080EED7E:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080EED88 @ =0x00007b40
- b _080EED94
- .align 2, 0
-_080EED88: .4byte 0x00007b40
-_080EED8C:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFD
- lsls r2, 6
-_080EED94:
- adds r0, r2, 0
- strh r0, [r1]
-_080EED98:
- pop {r0}
- bx r0
- thumb_func_end sub_80EED2C
-
- thumb_func_start sub_80EED9C
-sub_80EED9C: @ 80EED9C
- push {lr}
- ldr r2, _080EEDB8 @ =gUnknown_03000744
- ldr r0, _080EEDBC @ =gSharedMem
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- ldr r1, _080EEDC0 @ =sub_80EEDC4
- str r1, [r0]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080EEDB8: .4byte gUnknown_03000744
-_080EEDBC: .4byte gSharedMem
-_080EEDC0: .4byte sub_80EEDC4
- thumb_func_end sub_80EED9C
-
- thumb_func_start sub_80EEDC4
-sub_80EEDC4: @ 80EEDC4
- push {lr}
- bl sub_8055870
- cmp r0, 0x1
- beq _080EEDDC
- ldr r0, _080EEDE0 @ =gSharedMem
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- ldr r1, _080EEDE4 @ =gUnknown_03000744
- ldr r1, [r1]
- str r1, [r0]
-_080EEDDC:
- pop {r0}
- bx r0
- .align 2, 0
-_080EEDE0: .4byte gSharedMem
-_080EEDE4: .4byte gUnknown_03000744
- thumb_func_end sub_80EEDC4
-
- thumb_func_start sub_80EEDE8
-sub_80EEDE8: @ 80EEDE8
- ldr r0, _080EEE04 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080EEE04: .4byte REG_BG0HOFS
- thumb_func_end sub_80EEDE8
-
- thumb_func_start sub_80EEE08
-sub_80EEE08: @ 80EEE08
- ldr r0, _080EEE18 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EEE1C @ =0x0000d160
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080EEE18: .4byte gUnknown_083DFEC4
-_080EEE1C: .4byte 0x0000d160
- thumb_func_end sub_80EEE08
-
- thumb_func_start sub_80EEE20
-sub_80EEE20: @ 80EEE20
- push {lr}
- ldr r0, _080EEE48 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EEE4C @ =0x0000d160
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EEE50 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EEE42
-_080EEE38:
- bl sub_80EEE54
- lsls r0, 24
- cmp r0, 0
- bne _080EEE38
-_080EEE42:
- pop {r0}
- bx r0
- .align 2, 0
-_080EEE48: .4byte gUnknown_083DFEC4
-_080EEE4C: .4byte 0x0000d160
-_080EEE50: .4byte 0x00006dac
- thumb_func_end sub_80EEE20
-
- thumb_func_start sub_80EEE54
-sub_80EEE54: @ 80EEE54
- push {lr}
- ldr r1, _080EEE70 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080EEE74 @ =0x0000d160
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080EEF02
- lsls r0, 2
- ldr r1, _080EEE78 @ =_080EEE7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEE70: .4byte gUnknown_083DFEC4
-_080EEE74: .4byte 0x0000d160
-_080EEE78: .4byte _080EEE7C
- .align 2, 0
-_080EEE7C:
- .4byte _080EEE90
- .4byte _080EEEA4
- .4byte _080EEEB8
- .4byte _080EEEC8
- .4byte _080EEEDC
-_080EEE90:
- ldr r0, _080EEE9C @ =gPokenavHoennMapMisc_Gfx
- ldr r1, _080EEEA0 @ =0x0600c000
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEE9C: .4byte gPokenavHoennMapMisc_Gfx
-_080EEEA0: .4byte 0x0600c000
-_080EEEA4:
- ldr r0, _080EEEB0 @ =gUnknown_08E99FB0
- ldr r1, _080EEEB4 @ =0x0600d800
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEEB0: .4byte gUnknown_08E99FB0
-_080EEEB4: .4byte 0x0600d800
-_080EEEB8:
- ldr r0, _080EEEC4 @ =gPokenavHoennMap1_Pal
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _080EEF18
- .align 2, 0
-_080EEEC4: .4byte gPokenavHoennMap1_Pal
-_080EEEC8:
- movs r0, 0
- bl sub_80EF58C
- movs r0, 0x1
- bl sub_80EF58C
- movs r0, 0x2
- bl sub_80EF58C
- b _080EEF18
-_080EEEDC:
- ldr r2, [r2]
- movs r3, 0xC3
- lsls r3, 2
- adds r0, r2, r3
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080EEF08 @ =REG_BG1HOFS
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080EEF0C @ =REG_BG1CNT
- ldr r3, _080EEF10 @ =0x00001b0c
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080EEF14 @ =0x0000d160
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EEF02:
- movs r0, 0
- b _080EEF28
- .align 2, 0
-_080EEF08: .4byte REG_BG1HOFS
-_080EEF0C: .4byte REG_BG1CNT
-_080EEF10: .4byte 0x00001b0c
-_080EEF14: .4byte 0x0000d160
-_080EEF18:
- ldr r0, _080EEF2C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EEF30 @ =0x0000d160
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080EEF28:
- pop {r1}
- bx r1
- .align 2, 0
-_080EEF2C: .4byte gUnknown_083DFEC4
-_080EEF30: .4byte 0x0000d160
- thumb_func_end sub_80EEE54
-
- thumb_func_start sub_80EEF34
-sub_80EEF34: @ 80EEF34
- push {r4,lr}
- movs r3, 0x1
- ldr r0, _080EEF50 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0x20
- bne _080EEF54
- movs r0, 0
- b _080EEF6E
- .align 2, 0
-_080EEF50: .4byte gUnknown_083DFEC4
-_080EEF54:
- adds r0, r1, 0x2
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080EEF66
- movs r0, 0x20
- strh r0, [r2]
- movs r3, 0
-_080EEF66:
- ldr r1, _080EEF74 @ =REG_BG1VOFS
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r3, 0
-_080EEF6E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EEF74: .4byte REG_BG1VOFS
- thumb_func_end sub_80EEF34
-
- thumb_func_start sub_80EEF78
-sub_80EEF78: @ 80EEF78
- push {r4,lr}
- movs r3, 0x1
- ldr r0, _080EEF94 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _080EEF98
- movs r0, 0
- b _080EEFB0
- .align 2, 0
-_080EEF94: .4byte gUnknown_083DFEC4
-_080EEF98:
- subs r0, r1, 0x2
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _080EEFA8
- movs r0, 0
- strh r0, [r2]
- movs r3, 0
-_080EEFA8:
- ldr r1, _080EEFB8 @ =REG_BG1VOFS
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r3, 0
-_080EEFB0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EEFB8: .4byte REG_BG1VOFS
- thumb_func_end sub_80EEF78
-
- thumb_func_start sub_80EEFBC
-sub_80EEFBC: @ 80EEFBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080EEFF4 @ =0x0600d800
- ldr r3, _080EEFF8 @ =gUnknown_08E9A100
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0
- movs r2, 0x16
- bl sub_809D104
- cmp r4, 0xB
- bls _080EEFE8
- b _080EF234
-_080EEFE8:
- lsls r0, r4, 2
- ldr r1, _080EEFFC @ =_080EF000
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEFF4: .4byte 0x0600d800
-_080EEFF8: .4byte gUnknown_08E9A100
-_080EEFFC: .4byte _080EF000
- .align 2, 0
-_080EF000:
- .4byte _080EF030
- .4byte _080EF234
- .4byte _080EF08C
- .4byte _080EF100
- .4byte _080EF13C
- .4byte _080EF1D4
- .4byte _080EF234
- .4byte _080EF178
- .4byte _080EF190
- .4byte _080EF1D4
- .4byte _080EF218
- .4byte _080EF06C
-_080EF030:
- ldr r6, _080EF064 @ =0x0600d800
- ldr r0, _080EF068 @ =gUnknown_08E9A100
- mov r8, r0
- movs r0, 0x11
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- movs r5, 0x2
- str r5, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r4, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0xA
- b _080EF204
- .align 2, 0
-_080EF064: .4byte 0x0600d800
-_080EF068: .4byte gUnknown_08E9A100
-_080EF06C:
- ldr r0, _080EF084 @ =0x0600d800
- ldr r3, _080EF088 @ =gUnknown_08E9A100
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x8
- b _080EF0EE
- .align 2, 0
-_080EF084: .4byte 0x0600d800
-_080EF088: .4byte gUnknown_08E9A100
-_080EF08C:
- ldr r0, _080EF0C8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF0CC @ =0x00006dac
- adds r0, r1
- ldrb r7, [r0]
- cmp r7, 0
- bne _080EF0D8
- ldr r5, _080EF0D0 @ =0x0600d800
- ldr r6, _080EF0D4 @ =gUnknown_08E9A100
- movs r0, 0xA
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- str r7, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- b _080EF1C2
- .align 2, 0
-_080EF0C8: .4byte gUnknown_083DFEC4
-_080EF0CC: .4byte 0x00006dac
-_080EF0D0: .4byte 0x0600d800
-_080EF0D4: .4byte gUnknown_08E9A100
-_080EF0D8:
- ldr r0, _080EF0F8 @ =0x0600d800
- ldr r3, _080EF0FC @ =gUnknown_08E9A100
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0xA
-_080EF0EE:
- movs r2, 0x16
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF0F8: .4byte 0x0600d800
-_080EF0FC: .4byte gUnknown_08E9A100
-_080EF100:
- ldr r6, _080EF134 @ =0x0600d800
- ldr r0, _080EF138 @ =gUnknown_08E9A100
- mov r8, r0
- movs r5, 0
- str r5, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- movs r4, 0x2
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r5, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0xA
- b _080EF204
- .align 2, 0
-_080EF134: .4byte 0x0600d800
-_080EF138: .4byte gUnknown_08E9A100
-_080EF13C:
- ldr r5, _080EF170 @ =0x0600d800
- ldr r6, _080EF174 @ =gUnknown_08E9A100
- movs r0, 0x14
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- b _080EF1C2
- .align 2, 0
-_080EF170: .4byte 0x0600d800
-_080EF174: .4byte gUnknown_08E9A100
-_080EF178:
- ldr r5, _080EF188 @ =0x0600d800
- ldr r6, _080EF18C @ =gUnknown_08E9A100
- movs r1, 0xA
- str r1, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- b _080EF1A0
- .align 2, 0
-_080EF188: .4byte 0x0600d800
-_080EF18C: .4byte gUnknown_08E9A100
-_080EF190:
- ldr r5, _080EF1CC @ =0x0600d800
- ldr r6, _080EF1D0 @ =gUnknown_08E9A100
- movs r0, 0x14
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
-_080EF1A0:
- movs r4, 0x2
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x7
-_080EF1C2:
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF1CC: .4byte 0x0600d800
-_080EF1D0: .4byte gUnknown_08E9A100
-_080EF1D4:
- ldr r6, _080EF210 @ =0x0600d800
- ldr r1, _080EF214 @ =gUnknown_08E9A100
- mov r8, r1
- movs r5, 0
- str r5, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r5, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x8
-_080EF204:
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF210: .4byte 0x0600d800
-_080EF214: .4byte gUnknown_08E9A100
-_080EF218:
- ldr r0, _080EF240 @ =0x0600d800
- ldr r3, _080EF244 @ =gUnknown_08E9A100
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x8
- movs r2, 0x16
- bl sub_809D104
-_080EF234:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF240: .4byte 0x0600d800
-_080EF244: .4byte gUnknown_08E9A100
- thumb_func_end sub_80EEFBC
-
- thumb_func_start sub_80EF248
-sub_80EF248: @ 80EF248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080EF278 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF27C @ =0x0000d160
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EF280 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF270
-_080EF264:
- adds r0, r4, 0
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- bne _080EF264
-_080EF270:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF278: .4byte gUnknown_083DFEC4
-_080EF27C: .4byte 0x0000d160
-_080EF280: .4byte 0x00006dac
- thumb_func_end sub_80EF248
-
- thumb_func_start sub_80EF284
-sub_80EF284: @ 80EF284
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080EF2A8 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r3, _080EF2AC @ =0x0000d160
- adds r0, r3
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080EF29C
- b _080EF3F6
-_080EF29C:
- lsls r0, 2
- ldr r1, _080EF2B0 @ =_080EF2B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EF2A8: .4byte gUnknown_083DFEC4
-_080EF2AC: .4byte 0x0000d160
-_080EF2B0: .4byte _080EF2B4
- .align 2, 0
-_080EF2B4:
- .4byte _080EF2E4
- .4byte _080EF2EA
- .4byte _080EF2F8
- .4byte _080EF304
- .4byte _080EF310
- .4byte _080EF330
- .4byte _080EF344
- .4byte _080EF368
- .4byte _080EF37C
- .4byte _080EF390
- .4byte _080EF3A4
- .4byte _080EF3CC
-_080EF2E4:
- bl sub_80EEDE8
- b _080EF40C
-_080EF2EA:
- ldr r0, _080EF2F4 @ =gWindowConfig_81E7224
- bl SetUpWindowConfig
- b _080EF40C
- .align 2, 0
-_080EF2F4: .4byte gWindowConfig_81E7224
-_080EF2F8:
- ldr r0, _080EF300 @ =gWindowConfig_81E7224
- bl MultistepInitMenuWindowBegin
- b _080EF40C
- .align 2, 0
-_080EF300: .4byte gWindowConfig_81E7224
-_080EF304:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080EF30E
- b _080EF40C
-_080EF30E:
- b _080EF41A
-_080EF310:
- ldr r1, _080EF320 @ =gUnknown_083DFEEC
- ldr r2, _080EF324 @ =0x06005000
- ldr r0, _080EF328 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080EF32C @ =0x80000050
- b _080EF350
- .align 2, 0
-_080EF320: .4byte gUnknown_083DFEEC
-_080EF324: .4byte 0x06005000
-_080EF328: .4byte 0x040000d4
-_080EF32C: .4byte 0x80000050
-_080EF330:
- ldr r0, _080EF33C @ =gUnknown_083DFF8C
- ldr r1, _080EF340 @ =0x0600f800
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF33C: .4byte gUnknown_083DFF8C
-_080EF340: .4byte 0x0600f800
-_080EF344:
- ldr r1, _080EF358 @ =gUnknown_083E005C
- ldr r2, _080EF35C @ =0x06008000
- ldr r0, _080EF360 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080EF364 @ =0x80000010
-_080EF350:
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080EF40C
- .align 2, 0
-_080EF358: .4byte gUnknown_083E005C
-_080EF35C: .4byte 0x06008000
-_080EF360: .4byte 0x040000d4
-_080EF364: .4byte 0x80000010
-_080EF368:
- ldr r0, _080EF374 @ =gUnknown_083E007C
- ldr r1, _080EF378 @ =0x0600e000
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF374: .4byte gUnknown_083E007C
-_080EF378: .4byte 0x0600e000
-_080EF37C:
- ldr r0, _080EF388 @ =gPokenavOutlineTilemap
- ldr r1, _080EF38C @ =0x0600e800
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF388: .4byte gPokenavOutlineTilemap
-_080EF38C: .4byte 0x0600e800
-_080EF390:
- ldr r0, _080EF39C @ =gPokenavOutlineTiles
- ldr r1, _080EF3A0 @ =0x06008020
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF39C: .4byte gPokenavOutlineTiles
-_080EF3A0: .4byte 0x06008020
-_080EF3A4:
- adds r0, r2, 0
- bl sub_80EF54C
- ldr r0, _080EF3C4 @ =gUnknown_083DFECC
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080EF3C8 @ =gPokenavOutlinePalette
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- bl sub_80EF7D4
- b _080EF40C
- .align 2, 0
-_080EF3C4: .4byte gUnknown_083DFECC
-_080EF3C8: .4byte gPokenavOutlinePalette
-_080EF3CC:
- ldr r1, _080EF3FC @ =REG_BG0CNT
- ldr r2, _080EF400 @ =0x00001f01
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080EF404 @ =0x00001d0a
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0xFF
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x42
- movs r0, 0
- strh r0, [r1]
- ldr r1, [r3]
- ldr r3, _080EF408 @ =0x0000d160
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF3F6:
- movs r0, 0
- b _080EF41C
- .align 2, 0
-_080EF3FC: .4byte REG_BG0CNT
-_080EF400: .4byte 0x00001f01
-_080EF404: .4byte 0x00001d0a
-_080EF408: .4byte 0x0000d160
-_080EF40C:
- ldr r0, _080EF420 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080EF424 @ =0x0000d160
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF41A:
- movs r0, 0x1
-_080EF41C:
- pop {r1}
- bx r1
- .align 2, 0
-_080EF420: .4byte gUnknown_083DFEC4
-_080EF424: .4byte 0x0000d160
- thumb_func_end sub_80EF284
-
- thumb_func_start sub_80EF428
-sub_80EF428: @ 80EF428
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- movs r1, 0
- cmp r0, 0x1
- beq _080EF454
- cmp r0, 0x1
- bgt _080EF444
- cmp r0, 0
- beq _080EF44A
- b _080EF464
-_080EF444:
- cmp r3, 0x2
- beq _080EF45C
- b _080EF464
-_080EF44A:
- ldr r1, _080EF450 @ =gUnknown_083E31B0
- b _080EF45E
- .align 2, 0
-_080EF450: .4byte gUnknown_083E31B0
-_080EF454:
- ldr r1, _080EF458 @ =gUnknown_083E31CC
- b _080EF45E
- .align 2, 0
-_080EF458: .4byte gUnknown_083E31CC
-_080EF45C:
- ldr r1, _080EF488 @ =gUnknown_083E31D8
-_080EF45E:
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
-_080EF464:
- ldr r0, _080EF48C @ =gUnknown_083DFEC8
- ldr r4, [r0]
- movs r0, 0x80
- lsls r0, 4
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0xC0
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x11
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF488: .4byte gUnknown_083E31D8
-_080EF48C: .4byte gUnknown_083DFEC8
- thumb_func_end sub_80EF428
-
- thumb_func_start sub_80EF490
-sub_80EF490: @ 80EF490
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _080EF49C
- movs r2, 0x1
-_080EF49C:
- ldr r0, _080EF4C4 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- lsls r1, r2, 4
- subs r1, r2
- lsls r2, r1, 1
- ldr r4, _080EF4C8 @ =0x0000ce4e
- adds r0, r3, r4
- strh r2, [r0]
- ldr r2, _080EF4CC @ =0x0000ce4c
- adds r0, r3, r2
- ldrh r2, [r0]
- lsls r1, 17
- lsrs r0, r1, 16
- cmp r2, r0
- bcs _080EF4D0
- adds r4, 0x2
- adds r1, r3, r4
- movs r0, 0x2
- b _080EF4EA
- .align 2, 0
-_080EF4C4: .4byte gUnknown_083DFEC4
-_080EF4C8: .4byte 0x0000ce4e
-_080EF4CC: .4byte 0x0000ce4c
-_080EF4D0:
- cmp r2, r0
- bls _080EF4E4
- ldr r0, _080EF4DC @ =0x0000ce50
- adds r1, r3, r0
- ldr r0, _080EF4E0 @ =0x0000fffe
- b _080EF4EA
- .align 2, 0
-_080EF4DC: .4byte 0x0000ce50
-_080EF4E0: .4byte 0x0000fffe
-_080EF4E4:
- ldr r2, _080EF4F4 @ =0x0000ce50
- adds r1, r3, r2
- movs r0, 0
-_080EF4EA:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF4F4: .4byte 0x0000ce50
- thumb_func_end sub_80EF490
-
- thumb_func_start sub_80EF4F8
-sub_80EF4F8: @ 80EF4F8
- push {r4,lr}
- ldr r0, _080EF530 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080EF534 @ =0x0000ce4c
- adds r2, r1, r0
- ldr r3, _080EF538 @ =0x0000ce4e
- adds r0, r1, r3
- ldrh r3, [r2]
- ldrh r0, [r0]
- cmp r3, r0
- beq _080EF544
- ldr r4, _080EF53C @ =0x0000ce50
- adds r0, r1, r4
- ldrh r0, [r0]
- adds r0, r3, r0
- strh r0, [r2]
- ldr r3, _080EF540 @ =0x0000ce52
- adds r0, r1, r3
- ldrh r1, [r2]
- lsls r1, 1
- adds r0, r1
- movs r1, 0x31
- movs r2, 0x4
- bl LoadPalette
- movs r0, 0x1
- b _080EF546
- .align 2, 0
-_080EF530: .4byte gUnknown_083DFEC4
-_080EF534: .4byte 0x0000ce4c
-_080EF538: .4byte 0x0000ce4e
-_080EF53C: .4byte 0x0000ce50
-_080EF540: .4byte 0x0000ce52
-_080EF544:
- movs r0, 0
-_080EF546:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EF4F8
-
- thumb_func_start sub_80EF54C
-sub_80EF54C: @ 80EF54C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _080EF558
- movs r2, 0x1
-_080EF558:
- ldr r0, _080EF580 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 1
- ldr r3, _080EF584 @ =0x0000ce4c
- adds r2, r0, r3
- strh r1, [r2]
- ldrh r1, [r2]
- lsls r1, 1
- ldr r2, _080EF588 @ =0x0000ce52
- adds r1, r2
- adds r0, r1
- movs r1, 0x31
- movs r2, 0x4
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_080EF580: .4byte gUnknown_083DFEC4
-_080EF584: .4byte 0x0000ce4c
-_080EF588: .4byte 0x0000ce52
- thumb_func_end sub_80EF54C
-
- thumb_func_start sub_80EF58C
-sub_80EF58C: @ 80EF58C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080EF5D0
- cmp r0, 0x1
- bgt _080EF5A4
- cmp r0, 0
- beq _080EF5AA
- b _080EF610
-_080EF5A4:
- cmp r1, 0x2
- beq _080EF5F8
- b _080EF610
-_080EF5AA:
- movs r1, 0
- ldr r0, _080EF5C8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080EF5CC @ =0x0000ce52
- adds r2, r0, r3
- movs r3, 0
-_080EF5B6:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3D
- bls _080EF5B6
- b _080EF610
- .align 2, 0
-_080EF5C8: .4byte gUnknown_083DFEC4
-_080EF5CC: .4byte 0x0000ce52
-_080EF5D0:
- ldr r0, _080EF5EC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF5F0 @ =0x0000ce52
- adds r2, r0, r1
- ldr r1, _080EF5F4 @ =gUnknown_083E003C
- adds r0, r1, 0x2
- adds r1, 0x6
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0x2
- bl sub_80EF624
- b _080EF610
- .align 2, 0
-_080EF5EC: .4byte gUnknown_083DFEC4
-_080EF5F0: .4byte 0x0000ce52
-_080EF5F4: .4byte gUnknown_083E003C
-_080EF5F8:
- ldr r0, _080EF618 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r3, _080EF61C @ =0x0000ce8e
- adds r2, r0, r3
- ldr r1, _080EF620 @ =gUnknown_083E003C
- adds r0, r1, 0x6
- adds r1, 0xE
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0x2
- bl sub_80EF624
-_080EF610:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080EF618: .4byte gUnknown_083DFEC4
-_080EF61C: .4byte 0x0000ce8e
-_080EF620: .4byte gUnknown_083E003C
- thumb_func_end sub_80EF58C
-
- thumb_func_start sub_80EF624
-sub_80EF624: @ 80EF624
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x58]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- lsls r0, r3, 16
- ldr r1, [sp, 0x10]
- cmp r1, r3
- bcs _080EF72E
- subs r2, 0x1
- str r2, [sp, 0x20]
- str r0, [sp, 0x2C]
-_080EF654:
- ldr r2, [sp]
- ldrh r1, [r2]
- movs r0, 0x1F
- ands r0, r1
- lsls r7, r0, 8
- lsls r1, 16
- lsrs r0, r1, 21
- movs r2, 0x1F
- ands r0, r2
- lsls r6, r0, 8
- lsrs r1, 26
- ands r1, r2
- lsls r5, r1, 8
- ldr r0, [sp, 0x4]
- ldrh r1, [r0]
- movs r0, 0x1F
- ands r0, r1
- lsls r0, 8
- str r0, [sp, 0x14]
- lsls r1, 16
- lsrs r0, r1, 21
- ands r0, r2
- lsls r0, 8
- str r0, [sp, 0x18]
- lsrs r1, 26
- ands r1, r2
- lsls r1, 8
- str r1, [sp, 0x1C]
- ldr r1, [sp, 0x14]
- subs r0, r1, r7
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r10, r0
- ldr r2, [sp, 0x18]
- subs r0, r2, r6
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r9, r0
- ldr r1, [sp, 0x1C]
- subs r0, r1, r5
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r8, r0
- adds r3, r4, 0
- movs r4, 0
- ldr r2, [sp]
- adds r2, 0x2
- str r2, [sp, 0x30]
- ldr r0, [sp, 0x4]
- adds r0, 0x2
- str r0, [sp, 0x34]
- adds r1, r3, 0x2
- str r1, [sp, 0x24]
- ldr r2, [sp, 0x10]
- adds r2, 0x1
- str r2, [sp, 0x28]
- ldr r0, [sp, 0x20]
- cmp r4, r0
- bge _080EF700
- ldr r1, [sp, 0xC]
- lsls r1, 1
- mov r12, r1
-_080EF6D6:
- lsls r0, r7, 8
- lsrs r2, r0, 16
- lsls r0, r6, 8
- lsrs r1, r0, 16
- lsls r0, r5, 8
- lsrs r0, 16
- lsls r0, 10
- lsls r1, 5
- orrs r0, r1
- orrs r2, r0
- strh r2, [r3]
- add r3, r12
- add r7, r10
- add r6, r9
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r2, [sp, 0x20]
- cmp r4, r2
- blt _080EF6D6
-_080EF700:
- ldr r4, [sp, 0x14]
- lsrs r2, r4, 8
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 2
- ldr r4, [sp, 0x18]
- lsrs r1, r4, 3
- orrs r0, r1
- orrs r2, r0
- strh r2, [r3]
- ldr r0, [sp, 0x30]
- str r0, [sp]
- ldr r1, [sp, 0x34]
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x24]
- ldr r2, [sp, 0x28]
- lsls r0, r2, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x2C]
- lsrs r0, r1, 16
- ldr r2, [sp, 0x10]
- cmp r2, r0
- bcc _080EF654
-_080EF72E:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EF624
-
- thumb_func_start sub_80EF740
-sub_80EF740: @ 80EF740
- push {lr}
- ldr r0, _080EF770 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080EF774 @ =0x00006da0
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2]
- cmp r0, 0
- beq _080EF762
- ldr r2, _080EF778 @ =0x00006da2
- adds r1, r3, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF762:
- ldr r0, _080EF77C @ =REG_BG3HOFS
- ldr r2, _080EF778 @ =0x00006da2
- adds r1, r3, r2
- ldrh r1, [r1]
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080EF770: .4byte gUnknown_083DFEC4
-_080EF774: .4byte 0x00006da0
-_080EF778: .4byte 0x00006da2
-_080EF77C: .4byte REG_BG3HOFS
- thumb_func_end sub_80EF740
-
- thumb_func_start sub_80EF780
-sub_80EF780: @ 80EF780
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080EF7B0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080EF7AA
- ldr r0, _080EF7B4 @ =gUnknown_083DFEC4
- ldr r3, [r0]
- ldr r0, _080EF7B8 @ =0x00006da2
- adds r2, r3, r0
- ldrh r0, [r2]
- movs r1, 0x7
- ands r1, r0
- cmp r1, 0
- beq _080EF7BC
-_080EF7AA:
- bl sub_80EF740
- b _080EF7C8
- .align 2, 0
-_080EF7B0: .4byte gTasks
-_080EF7B4: .4byte gUnknown_083DFEC4
-_080EF7B8: .4byte 0x00006da2
-_080EF7BC:
- strh r1, [r2]
- ldr r2, _080EF7CC @ =0x00006da0
- adds r0, r3, r2
- strh r1, [r0]
- ldr r0, _080EF7D0 @ =REG_BG3HOFS
- strh r1, [r0]
-_080EF7C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF7CC: .4byte 0x00006da0
-_080EF7D0: .4byte REG_BG3HOFS
- thumb_func_end sub_80EF780
-
- thumb_func_start sub_80EF7D4
-sub_80EF7D4: @ 80EF7D4
- push {r4,lr}
- ldr r0, _080EF800 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080EF804 @ =0x00006da2
- adds r0, r4, r1
- movs r1, 0
- strh r1, [r0]
- ldr r2, _080EF808 @ =0x00006da0
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _080EF80C @ =sub_80EF780
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080EF810 @ =0x00006da4
- adds r4, r1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF800: .4byte gUnknown_083DFEC4
-_080EF804: .4byte 0x00006da2
-_080EF808: .4byte 0x00006da0
-_080EF80C: .4byte sub_80EF780
-_080EF810: .4byte 0x00006da4
- thumb_func_end sub_80EF7D4
-
- thumb_func_start sub_80EF814
-sub_80EF814: @ 80EF814
- push {lr}
- ldr r0, _080EF834 @ =sub_80EF780
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080EF830
- ldr r0, _080EF838 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF83C @ =0x00006da4
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
-_080EF830:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF834: .4byte sub_80EF780
-_080EF838: .4byte gUnknown_083DFEC4
-_080EF83C: .4byte 0x00006da4
- thumb_func_end sub_80EF814
-
- thumb_func_start sub_80EF840
-sub_80EF840: @ 80EF840
- push {lr}
- ldr r0, _080EF868 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF86C @ =0x0000d160
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EF870 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF862
-_080EF858:
- bl sub_80EF874
- lsls r0, 24
- cmp r0, 0
- bne _080EF858
-_080EF862:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF868: .4byte gUnknown_083DFEC4
-_080EF86C: .4byte 0x0000d160
-_080EF870: .4byte 0x00006dac
- thumb_func_end sub_80EF840
-
- thumb_func_start sub_80EF874
-sub_80EF874: @ 80EF874
- push {lr}
- ldr r0, _080EF890 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EF894 @ =0x0000d160
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xB
- bls _080EF886
- b _080EF9D8
-_080EF886:
- lsls r0, 2
- ldr r1, _080EF898 @ =_080EF89C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EF890: .4byte gUnknown_083DFEC4
-_080EF894: .4byte 0x0000d160
-_080EF898: .4byte _080EF89C
- .align 2, 0
-_080EF89C:
- .4byte _080EF8CC
- .4byte _080EF8D2
- .4byte _080EF8E0
- .4byte _080EF8EC
- .4byte _080EF8F6
- .4byte _080EF8FC
- .4byte _080EF920
- .4byte _080EF92C
- .4byte _080EF940
- .4byte _080EF954
- .4byte _080EF960
- .4byte _080EF972
-_080EF8CC:
- bl sub_80EEDE8
- b _080EF9DC
-_080EF8D2:
- ldr r0, _080EF8DC @ =gWindowConfig_81E7224
- bl SetUpWindowConfig
- b _080EF9DC
- .align 2, 0
-_080EF8DC: .4byte gWindowConfig_81E7224
-_080EF8E0:
- ldr r0, _080EF8E8 @ =gWindowConfig_81E7224
- bl MultistepInitMenuWindowBegin
- b _080EF9DC
- .align 2, 0
-_080EF8E8: .4byte gWindowConfig_81E7224
-_080EF8EC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _080EF9DC
- b _080EF9EA
-_080EF8F6:
- bl MenuZeroFillScreen
- b _080EF9DC
-_080EF8FC:
- ldr r0, _080EF914 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080EF918 @ =0x00006e18
- adds r0, r2
- ldr r1, _080EF91C @ =gSaveBlock2
- ldrb r1, [r1, 0x15]
- lsrs r1, 3
- movs r2, 0x1
- ands r1, r2
- bl sub_80FA904
- b _080EF9DC
- .align 2, 0
-_080EF914: .4byte gUnknown_083DFEC4
-_080EF918: .4byte 0x00006e18
-_080EF91C: .4byte gSaveBlock2
-_080EF920:
- bl sub_80FA940
- lsls r0, 24
- cmp r0, 0
- beq _080EF9DC
- b _080EF9EA
-_080EF92C:
- ldr r0, _080EF938 @ =gPokenavHoennMapSquares_Gfx
- ldr r1, _080EF93C @ =0x06005000
- bl LZ77UnCompVram
- b _080EF9DC
- .align 2, 0
-_080EF938: .4byte gPokenavHoennMapSquares_Gfx
-_080EF93C: .4byte 0x06005000
-_080EF940:
- ldr r0, _080EF950 @ =gPokenavHoennMapSquares_Pal
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- bl sub_80EFC3C
- b _080EF9DC
- .align 2, 0
-_080EF950: .4byte gPokenavHoennMapSquares_Pal
-_080EF954:
- bl sub_80EFC64
- lsls r0, 24
- cmp r0, 0
- beq _080EF9DC
- b _080EF9EA
-_080EF960:
- movs r0, 0xD
- movs r1, 0x3
- movs r2, 0x1D
- movs r3, 0x11
- bl MenuDrawTextWindow
- bl sub_80EF9F8
- b _080EF9DC
-_080EF972:
- ldr r0, _080EF990 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EF994 @ =0x00006e90
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF9A0
- ldr r2, _080EF998 @ =0x00007698
- adds r0, r1, r2
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080EF99C @ =REG_BG0VOFS
- strh r1, [r0]
- b _080EF9B0
- .align 2, 0
-_080EF990: .4byte gUnknown_083DFEC4
-_080EF994: .4byte 0x00006e90
-_080EF998: .4byte 0x00007698
-_080EF99C: .4byte REG_BG0VOFS
-_080EF9A0:
- ldr r0, _080EF9C8 @ =0x00007698
- adds r1, r0
- movs r2, 0
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r0, _080EF9CC @ =REG_BG0VOFS
- strh r2, [r0]
-_080EF9B0:
- ldr r2, _080EF9D0 @ =REG_BG0CNT
- ldrh r0, [r2]
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080EF9D4 @ =REG_BLDCNT
- movs r0, 0
- strh r0, [r1]
- b _080EF9DC
- .align 2, 0
-_080EF9C8: .4byte 0x00007698
-_080EF9CC: .4byte REG_BG0VOFS
-_080EF9D0: .4byte REG_BG0CNT
-_080EF9D4: .4byte REG_BLDCNT
-_080EF9D8:
- movs r0, 0
- b _080EF9EC
-_080EF9DC:
- ldr r0, _080EF9F0 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EF9F4 @ =0x0000d160
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF9EA:
- movs r0, 0x1
-_080EF9EC:
- pop {r1}
- bx r1
- .align 2, 0
-_080EF9F0: .4byte gUnknown_083DFEC4
-_080EF9F4: .4byte 0x0000d160
- thumb_func_end sub_80EF874
-
- thumb_func_start sub_80EF9F8
-sub_80EF9F8: @ 80EF9F8
- push {r4-r6,lr}
- sub sp, 0x14
- movs r5, 0x4
- ldr r0, _080EFA18 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFA1C @ =0x00006e2e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080EFA0E
- b _080EFB6A
-_080EFA0E:
- lsls r0, 2
- ldr r1, _080EFA20 @ =_080EFA24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EFA18: .4byte gUnknown_083DFEC4
-_080EFA1C: .4byte 0x00006e2e
-_080EFA20: .4byte _080EFA24
- .align 2, 0
-_080EFA24:
- .4byte _080EFB6A
- .4byte _080EFA38
- .4byte _080EFAC0
- .4byte _080EFB4C
- .4byte _080EFA38
-_080EFA38:
- ldr r0, _080EFA64 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080EFA68 @ =0x00006e18
- adds r0, r2
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080EFA6C @ =gLinkOpen
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080EFA70
- bl sub_80F1A80
- b _080EFB82
- .align 2, 0
-_080EFA64: .4byte gUnknown_083DFEC4
-_080EFA68: .4byte 0x00006e18
-_080EFA6C: .4byte gLinkOpen
-_080EFA70:
- movs r4, 0
- b _080EFA92
-_080EFA74:
- lsls r2, r5, 19
- lsrs r2, 16
- movs r0, 0x1
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080EFA92:
- cmp r4, 0x3
- bhi _080EFB6A
- ldr r0, _080EFAB8 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EFABC @ =0x00006e2c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r1, [r1]
- lsls r2, r4, 24
- lsrs r2, 24
- bl GetLandmarkName
- adds r1, r0, 0
- cmp r1, 0
- bne _080EFA74
- b _080EFB6A
- .align 2, 0
-_080EFAB8: .4byte gUnknown_083DFEC4
-_080EFABC: .4byte 0x00006e2c
-_080EFAC0:
- ldr r0, _080EFB38 @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080EFB3C @ =0x00006e18
- adds r0, r4, r1
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, _080EFB40 @ =0x00006e2c
- adds r0, r4, r2
- ldrh r1, [r0]
- adds r2, 0x3
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 2
- lsls r1, 3
- adds r0, r1
- ldr r1, _080EFB44 @ =0x0000cdcc
- adds r4, r1
- adds r6, r4, r0
- ldr r0, [r6]
- cmp r0, 0
- beq _080EFB6A
- lsls r4, r5, 24
- lsrs r4, 24
- movs r0, 0xE
- adds r1, r4, 0
- movs r2, 0xF
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
- movs r0, 0x1A
- adds r1, r4, 0
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080EFB48 @ =0x0600f800
- ldr r3, [r6]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x10
- movs r2, 0x6
- bl sub_8095C8C
- adds r0, r5, 0
- adds r0, 0xB
- b _080EFB66
- .align 2, 0
-_080EFB38: .4byte gUnknown_083DFEC4
-_080EFB3C: .4byte 0x00006e18
-_080EFB40: .4byte 0x00006e2c
-_080EFB44: .4byte 0x0000cdcc
-_080EFB48: .4byte 0x0600f800
-_080EFB4C:
- ldr r0, _080EFB98 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080EFB9C @ =0x00006e18
- adds r0, r2
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
-_080EFB66:
- lsls r0, 16
- lsrs r5, r0, 16
-_080EFB6A:
- movs r0, 0
- cmp r0, 0
- bne _080EFB82
- cmp r5, 0xF
- bhi _080EFB82
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
-_080EFB82:
- ldr r0, _080EFB98 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFBA0 @ =0x00006e2e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080EFBA4
- bl sub_80EFD74
- b _080EFBA8
- .align 2, 0
-_080EFB98: .4byte gUnknown_083DFEC4
-_080EFB9C: .4byte 0x00006e18
-_080EFBA0: .4byte 0x00006e2e
-_080EFBA4:
- bl sub_80EFDA0
-_080EFBA8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80EF9F8
-
- thumb_func_start sub_80EFBB0
-sub_80EFBB0: @ 80EFBB0
- push {lr}
- ldr r0, _080EFBC8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFBCC @ =0x00006e90
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EFBD0
- movs r0, 0x8
- bl sub_80EEFBC
- b _080EFBD6
- .align 2, 0
-_080EFBC8: .4byte gUnknown_083DFEC4
-_080EFBCC: .4byte 0x00006e90
-_080EFBD0:
- movs r0, 0x7
- bl sub_80EEFBC
-_080EFBD6:
- pop {r0}
- bx r0
- thumb_func_end sub_80EFBB0
-
- thumb_func_start sub_80EFBDC
-sub_80EFBDC: @ 80EFBDC
- push {r4,lr}
- lsls r0, 24
- movs r4, 0x1
- ldr r2, _080EFBFC @ =gUnknown_083DFEC4
- ldr r1, [r2]
- ldr r3, _080EFC00 @ =0x00007698
- adds r1, r3
- ldrh r3, [r1]
- cmp r0, 0
- beq _080EFC08
- cmp r3, 0xA8
- bls _080EFC04
- adds r0, r3, 0
- subs r0, 0x8
- b _080EFC10
- .align 2, 0
-_080EFBFC: .4byte gUnknown_083DFEC4
-_080EFC00: .4byte 0x00007698
-_080EFC04:
- movs r3, 0xA0
- b _080EFC1A
-_080EFC08:
- cmp r3, 0xF7
- bhi _080EFC16
- adds r0, r3, 0
- adds r0, 0x8
-_080EFC10:
- lsls r0, 16
- lsrs r3, r0, 16
- b _080EFC1C
-_080EFC16:
- movs r3, 0x80
- lsls r3, 1
-_080EFC1A:
- movs r4, 0
-_080EFC1C:
- ldr r0, [r2]
- ldr r1, _080EFC34 @ =0x00007698
- adds r0, r1
- strh r3, [r0]
- ldr r1, _080EFC38 @ =REG_BG0VOFS
- movs r0, 0xFF
- ands r3, r0
- strh r3, [r1]
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EFC34: .4byte 0x00007698
-_080EFC38: .4byte REG_BG0VOFS
- thumb_func_end sub_80EFBDC
-
- thumb_func_start sub_80EFC3C
-sub_80EFC3C: @ 80EFC3C
- push {lr}
- ldr r0, _080EFC58 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080EFC5C @ =0x0000bc9a
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _080EFC60 @ =0x0000bc9b
- adds r0, r1
- strb r2, [r0]
- bl sub_80EFD3C
- pop {r0}
- bx r0
- .align 2, 0
-_080EFC58: .4byte gUnknown_083DFEC4
-_080EFC5C: .4byte 0x0000bc9a
-_080EFC60: .4byte 0x0000bc9b
- thumb_func_end sub_80EFC3C
-
- thumb_func_start sub_80EFC64
-sub_80EFC64: @ 80EFC64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r4, _080EFCD0 @ =gUnknown_083DFEC4
- ldr r2, [r4]
- ldr r0, _080EFCD4 @ =0x0000bc9a
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xF
- bhi _080EFD2C
- ldrb r1, [r1]
- mov r8, r1
- ldr r1, _080EFCD8 @ =0x0000bc9b
- adds r0, r2, r1
- ldrb r7, [r0]
- movs r2, 0
- ldr r0, _080EFCDC @ =gPokenavCityMaps
- mov r9, r0
- adds r3, r4, 0
-_080EFC8E:
- lsls r0, r2, 2
- mov r4, r8
- lsls r1, r4, 3
- adds r6, r0, r1
- mov r1, r9
- adds r0, r6, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080EFCE8
- movs r0, 0xC8
- adds r5, r7, 0
- muls r5, r0
- ldr r4, _080EFCE0 @ =0x0000bc9c
- adds r5, r4
- ldr r4, [r3]
- adds r5, r4, r5
- adds r0, r1, 0
- adds r1, r5, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl LZ77UnCompVram
- ldr r0, _080EFCE4 @ =0x0000cdcc
- adds r4, r0
- adds r4, r6
- str r5, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- b _080EFCF2
- .align 2, 0
-_080EFCD0: .4byte gUnknown_083DFEC4
-_080EFCD4: .4byte 0x0000bc9a
-_080EFCD8: .4byte 0x0000bc9b
-_080EFCDC: .4byte gPokenavCityMaps
-_080EFCE0: .4byte 0x0000bc9c
-_080EFCE4: .4byte 0x0000cdcc
-_080EFCE8:
- ldr r0, [r3]
- ldr r4, _080EFD1C @ =0x0000cdcc
- adds r0, r4
- adds r0, r6
- str r1, [r0]
-_080EFCF2:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080EFC8E
- ldr r0, _080EFD20 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080EFD24 @ =0x0000bc9a
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _080EFD2C
- ldr r1, _080EFD28 @ =0x0000bc9b
- adds r0, r2, r1
- strb r7, [r0]
- movs r0, 0x1
- b _080EFD2E
- .align 2, 0
-_080EFD1C: .4byte 0x0000cdcc
-_080EFD20: .4byte gUnknown_083DFEC4
-_080EFD24: .4byte 0x0000bc9a
-_080EFD28: .4byte 0x0000bc9b
-_080EFD2C:
- movs r0, 0
-_080EFD2E:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80EFC64
-
- thumb_func_start sub_80EFD3C
-sub_80EFD3C: @ 80EFD3C
- ldr r0, _080EFD60 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EFD64 @ =0x0000769e
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r0, _080EFD68 @ =0x0000769c
- adds r3, r1, r0
- movs r0, 0x2F
- strb r0, [r3]
- ldr r3, _080EFD6C @ =0x0000769d
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080EFD70 @ =0x0000769a
- adds r1, r0
- strh r2, [r1]
- bx lr
- .align 2, 0
-_080EFD60: .4byte gUnknown_083DFEC4
-_080EFD64: .4byte 0x0000769e
-_080EFD68: .4byte 0x0000769c
-_080EFD6C: .4byte 0x0000769d
-_080EFD70: .4byte 0x0000769a
- thumb_func_end sub_80EFD3C
-
- thumb_func_start sub_80EFD74
-sub_80EFD74: @ 80EFD74
- push {lr}
- ldr r0, _080EFD94 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080EFD98 @ =0x0000769e
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080EFD9C @ =0x0000769d
- adds r2, r0
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080EFD90
- movs r0, 0x2
- strb r0, [r2]
-_080EFD90:
- pop {r0}
- bx r0
- .align 2, 0
-_080EFD94: .4byte gUnknown_083DFEC4
-_080EFD98: .4byte 0x0000769e
-_080EFD9C: .4byte 0x0000769d
- thumb_func_end sub_80EFD74
-
- thumb_func_start sub_80EFDA0
-sub_80EFDA0: @ 80EFDA0
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080EFDD4 @ =0x0600f800
- ldr r3, _080EFDD8 @ =gUnknown_08E9AC2C
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r2, 0xF
- str r2, [sp, 0x8]
- movs r1, 0x1
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0xE
- movs r2, 0x10
- bl sub_8095C8C
- ldr r0, _080EFDDC @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFDE0 @ =0x0000769e
- adds r0, r1
- strb r4, [r0]
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EFDD4: .4byte 0x0600f800
-_080EFDD8: .4byte gUnknown_08E9AC2C
-_080EFDDC: .4byte gUnknown_083DFEC4
-_080EFDE0: .4byte 0x0000769e
- thumb_func_end sub_80EFDA0
-
- thumb_func_start sub_80EFDE4
-sub_80EFDE4: @ 80EFDE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EFE68 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r2, _080EFE6C @ =0x0000769c
- adds r0, r1, r2
- ldrb r2, [r0]
- movs r0, 0x3C
- subs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080EFE06
- movs r4, 0xF
-_080EFE06:
- ldr r3, _080EFE70 @ =0x0000769e
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EFE58
- ldr r0, _080EFE74 @ =0x0600f800
- mov r8, r0
- ldr r3, _080EFE78 @ =gUnknown_08E9ABB4
- mov r9, r3
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r7, 0x1
- str r7, [sp, 0xC]
- movs r6, 0x3C
- str r6, [sp, 0x10]
- movs r1, 0xE
- movs r2, 0x10
- bl sub_8095C8C
- cmp r4, 0xE
- bhi _080EFE58
- adds r1, r4, 0
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r0, 0xF
- subs r0, r4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r0, r8
- movs r2, 0x10
- mov r3, r9
- bl sub_8095C8C
-_080EFE58:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EFE68: .4byte gUnknown_083DFEC4
-_080EFE6C: .4byte 0x0000769c
-_080EFE70: .4byte 0x0000769e
-_080EFE74: .4byte 0x0600f800
-_080EFE78: .4byte gUnknown_08E9ABB4
- thumb_func_end sub_80EFDE4
-
- thumb_func_start sub_80EFE7C
-sub_80EFE7C: @ 80EFE7C
- push {r4,lr}
- ldr r0, _080EFE98 @ =gUnknown_083DFEC4
- ldr r2, [r0]
- ldr r0, _080EFE9C @ =0x0000769d
- adds r4, r2, r0
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _080EFF08
- cmp r1, 0x1
- bgt _080EFEA0
- cmp r1, 0
- beq _080EFEA6
- b _080EFF2E
- .align 2, 0
-_080EFE98: .4byte gUnknown_083DFEC4
-_080EFE9C: .4byte 0x0000769d
-_080EFEA0:
- cmp r1, 0x2
- beq _080EFF24
- b _080EFF2E
-_080EFEA6:
- ldr r0, _080EFED4 @ =0x0000769c
- adds r4, r2, r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _080EFEBA
- strb r1, [r4]
-_080EFEBA:
- ldr r1, _080EFED8 @ =0x0000769e
- adds r0, r2, r1
- ldrb r0, [r0]
- bl sub_80EFDE4
- ldrb r0, [r4]
- cmp r0, 0xF
- beq _080EFEE4
- cmp r0, 0xF
- bgt _080EFEDC
- cmp r0, 0
- beq _080EFEE4
- b _080EFF2E
- .align 2, 0
-_080EFED4: .4byte 0x0000769c
-_080EFED8: .4byte 0x0000769e
-_080EFEDC:
- cmp r0, 0x1E
- beq _080EFEE4
- cmp r0, 0x2D
- bne _080EFF2E
-_080EFEE4:
- ldr r0, _080EFEFC @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080EFF00 @ =0x0000769d
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, _080EFF04 @ =0x0000769a
- adds r1, r0
- strh r3, [r1]
- b _080EFF2E
- .align 2, 0
-_080EFEFC: .4byte gUnknown_083DFEC4
-_080EFF00: .4byte 0x0000769d
-_080EFF04: .4byte 0x0000769a
-_080EFF08:
- ldr r0, _080EFF20 @ =0x0000769a
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _080EFF2E
- movs r0, 0
- strh r0, [r1]
- b _080EFF2C
- .align 2, 0
-_080EFF20: .4byte 0x0000769a
-_080EFF24:
- movs r0, 0x1
- bl sub_80EFDE4
- movs r0, 0x1
-_080EFF2C:
- strb r0, [r4]
-_080EFF2E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80EFE7C
-
- thumb_func_start sub_80EFF34
-sub_80EFF34: @ 80EFF34
- push {lr}
- ldr r0, _080EFF5C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFF60 @ =0x0000d160
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EFF64 @ =0x00006dac
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EFF56
-_080EFF4C:
- bl sub_80EFF68
- lsls r0, 24
- cmp r0, 0
- bne _080EFF4C
-_080EFF56:
- pop {r0}
- bx r0
- .align 2, 0
-_080EFF5C: .4byte gUnknown_083DFEC4
-_080EFF60: .4byte 0x0000d160
-_080EFF64: .4byte 0x00006dac
- thumb_func_end sub_80EFF34
-
- thumb_func_start sub_80EFF68
-sub_80EFF68: @ 80EFF68
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080EFF88 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080EFF8C @ =0x0000d160
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xD
- bls _080EFF7C
- b _080F0150
-_080EFF7C:
- lsls r0, 2
- ldr r1, _080EFF90 @ =_080EFF94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EFF88: .4byte gUnknown_083DFEC4
-_080EFF8C: .4byte 0x0000d160
-_080EFF90: .4byte _080EFF94
- .align 2, 0
-_080EFF94:
- .4byte _080EFFCC
- .4byte _080EFFE8
- .4byte _080EFFF4
- .4byte _080F0000
- .4byte _080F000C
- .4byte _080F0012
- .4byte _080F0018
- .4byte _080F0028
- .4byte _080F003C
- .4byte _080F005C
- .4byte _080F0098
- .4byte _080F00AC
- .4byte _080F00F8
- .4byte _080F0118
-_080EFFCC:
- bl sub_80EEDE8
- ldr r0, _080EFFE0 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080EFFE4 @ =0x0000d162
- adds r0, r2
- movs r1, 0xB
- strb r1, [r0]
- b _080F0154
- .align 2, 0
-_080EFFE0: .4byte gUnknown_083DFEC4
-_080EFFE4: .4byte 0x0000d162
-_080EFFE8:
- ldr r0, _080EFFF0 @ =gWindowConfig_81E7080
- bl SetUpWindowConfig
- b _080F0154
- .align 2, 0
-_080EFFF0: .4byte gWindowConfig_81E7080
-_080EFFF4:
- ldr r0, _080EFFFC @ =gWindowConfig_81E7080
- bl MultistepInitMenuWindowBegin
- b _080F0154
- .align 2, 0
-_080EFFFC: .4byte gWindowConfig_81E7080
-_080F0000:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F000A
- b _080F0154
-_080F000A:
- b _080F0162
-_080F000C:
- bl MenuZeroFillScreen
- b _080F0154
-_080F0012:
- bl sub_80F1614
- b _080F0154
-_080F0018:
- movs r0, 0
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- bne _080F0026
- b _080F0154
-_080F0026:
- b _080F0162
-_080F0028:
- ldr r0, _080F0034 @ =gPokenavConditionView_Gfx
- ldr r1, _080F0038 @ =0x06005000
- bl LZ77UnCompVram
- b _080F0154
- .align 2, 0
-_080F0034: .4byte gPokenavConditionView_Gfx
-_080F0038: .4byte 0x06005000
-_080F003C:
- ldr r0, _080F0050 @ =gUnknown_08E9AC4C
- ldr r1, _080F0054 @ =0x0600f000
- bl LZ77UnCompVram
- ldr r0, _080F0058 @ =gPokenavConditionMenu2_Pal
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _080F0154
- .align 2, 0
-_080F0050: .4byte gUnknown_08E9AC4C
-_080F0054: .4byte 0x0600f000
-_080F0058: .4byte gPokenavConditionMenu2_Pal
-_080F005C:
- ldr r0, _080F0088 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F008C @ =0x000076aa
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0154
- ldr r0, _080F0090 @ =0x0600f000
- ldr r3, _080F0094 @ =gUnknown_083E01AC
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x9
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8095C8C
- b _080F0154
- .align 2, 0
-_080F0088: .4byte gUnknown_083DFEC4
-_080F008C: .4byte 0x000076aa
-_080F0090: .4byte 0x0600f000
-_080F0094: .4byte gUnknown_083E01AC
-_080F0098:
- ldr r0, _080F00A4 @ =gUnknown_08E9FEB4
- ldr r1, _080F00A8 @ =0x0600b800
- bl LZ77UnCompVram
- b _080F0154
- .align 2, 0
-_080F00A4: .4byte gUnknown_08E9FEB4
-_080F00A8: .4byte 0x0600b800
-_080F00AC:
- ldr r0, _080F00EC @ =gUnknown_083E0254
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F00F0 @ =gUnknownPalette_81E6692
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F00F4 @ =gPokenavConditionMenu2_Pal + 0x2
- adds r0, r4, 0
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0xE
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0x1C
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- bl sub_80F01A4
- b _080F0154
- .align 2, 0
-_080F00EC: .4byte gUnknown_083E0254
-_080F00F0: .4byte gUnknownPalette_81E6692
-_080F00F4: .4byte gPokenavConditionMenu2_Pal + 0x2
-_080F00F8:
- ldr r0, _080F0110 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F0114 @ =0x00008fe9
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- b _080F0154
- .align 2, 0
-_080F0110: .4byte gUnknown_083DFEC4
-_080F0114: .4byte 0x00008fe9
-_080F0118:
- ldr r1, _080F013C @ =REG_BG3CNT
- ldr r2, _080F0140 @ =0x00001e03
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080F0144 @ =0x00001702
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- ldr r2, _080F0148 @ =0x00000844
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F014C @ =0x0000040b
- adds r0, r2, 0
- strh r0, [r1]
- b _080F0154
- .align 2, 0
-_080F013C: .4byte REG_BG3CNT
-_080F0140: .4byte 0x00001e03
-_080F0144: .4byte 0x00001702
-_080F0148: .4byte 0x00000844
-_080F014C: .4byte 0x0000040b
-_080F0150:
- movs r0, 0
- b _080F0164
-_080F0154:
- ldr r0, _080F016C @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F0170 @ =0x0000d160
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0162:
- movs r0, 0x1
-_080F0164:
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F016C: .4byte gUnknown_083DFEC4
-_080F0170: .4byte 0x0000d160
- thumb_func_end sub_80EFF68
-
- thumb_func_start sub_80F0174
-sub_80F0174: @ 80F0174
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080F018E
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 3
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- b _080F019A
-_080F018E:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F01A0 @ =0x0000fbff
- ands r0, r1
- strh r0, [r2]
-_080F019A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F01A0: .4byte 0x0000fbff
- thumb_func_end sub_80F0174
-
- thumb_func_start sub_80F01A4
-sub_80F01A4: @ 80F01A4
- ldr r1, _080F01CC @ =REG_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x9B
- strh r0, [r1]
- ldr r0, _080F01D0 @ =REG_WIN0V
- ldr r2, _080F01D4 @ =0x00003879
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080F01D8 @ =REG_WININ
- ldr r2, _080F01DC @ =0x00003f3f
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1B
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080F01CC: .4byte REG_WIN0H
-_080F01D0: .4byte REG_WIN0V
-_080F01D4: .4byte 0x00003879
-_080F01D8: .4byte REG_WININ
-_080F01DC: .4byte 0x00003f3f
- thumb_func_end sub_80F01A4
-
- thumb_func_start sub_80F01E0
-sub_80F01E0: @ 80F01E0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080F0248 @ =gUnknown_083DFEC4
- lsls r0, r4, 6
- ldr r2, _080F024C @ =0x00008829
- adds r0, r2
- ldr r5, [r1]
- adds r0, r5, r0
- movs r1, 0xD
- movs r2, 0x1
- bl MenuPrint
- ldr r1, _080F0250 @ =0x000076aa
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0242
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r2, _080F0254 @ =0x000088e9
- adds r0, r2
- adds r0, r5, r0
- movs r1, 0xD
- movs r2, 0x3
- bl MenuPrint
- ldr r0, _080F0258 @ =0x00008788
- adds r4, r5, r0
- ldr r1, _080F025C @ =0x000087dc
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r5, r0
- ldr r1, _080F0260 @ =0x0000893e
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 18
- lsrs r1, 23
- adds r0, r4, 0
- bl sub_80F443C
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x6
- bl MenuPrint
-_080F0242:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0248: .4byte gUnknown_083DFEC4
-_080F024C: .4byte 0x00008829
-_080F0250: .4byte 0x000076aa
-_080F0254: .4byte 0x000088e9
-_080F0258: .4byte 0x00008788
-_080F025C: .4byte 0x000087dc
-_080F0260: .4byte 0x0000893e
- thumb_func_end sub_80F01E0
-
- thumb_func_start sub_80F0264
-sub_80F0264: @ 80F0264
- push {lr}
- ldr r1, _080F0290 @ =gUnknown_083DFEC4
- ldr r2, [r1]
- ldr r1, _080F0294 @ =0x00000306
- adds r3, r2, r1
- movs r1, 0
- strh r1, [r3]
- ldr r3, _080F0298 @ =0x000087ca
- adds r1, r2, r3
- strb r0, [r1]
- ldr r0, _080F029C @ =0x00006dac
- adds r2, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080F028C
-_080F0282:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080F0282
-_080F028C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F0290: .4byte gUnknown_083DFEC4
-_080F0294: .4byte 0x00000306
-_080F0298: .4byte 0x000087ca
-_080F029C: .4byte 0x00006dac
- thumb_func_end sub_80F0264
-
- thumb_func_start sub_80F02A0
-sub_80F02A0: @ 80F02A0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- ldr r1, _080F02C4 @ =gUnknown_083DFEC4
- ldr r0, [r1]
- ldr r2, _080F02C8 @ =0x00000306
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xE
- bls _080F02BA
- b _080F05FA
-_080F02BA:
- lsls r0, 2
- ldr r1, _080F02CC @ =_080F02D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F02C4: .4byte gUnknown_083DFEC4
-_080F02C8: .4byte 0x00000306
-_080F02CC: .4byte _080F02D0
- .align 2, 0
-_080F02D0:
- .4byte _080F030C
- .4byte _080F0344
- .4byte _080F0350
- .4byte _080F035C
- .4byte _080F0368
- .4byte _080F036E
- .4byte _080F0380
- .4byte _080F0394
- .4byte _080F04BC
- .4byte _080F053C
- .4byte _080F0550
- .4byte _080F0574
- .4byte _080F057A
- .4byte _080F0586
- .4byte _080F05BC
-_080F030C:
- bl sub_80EEDE8
- ldr r0, _080F0334 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- movs r2, 0
- ldr r3, _080F0338 @ =0x000087ca
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0322
- movs r2, 0x1
-_080F0322:
- ldr r3, _080F033C @ =0x000087c8
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080F0340 @ =0x0000d162
- adds r1, r0
- movs r0, 0xB
- strb r0, [r1]
- b _080F0618
- .align 2, 0
-_080F0334: .4byte gUnknown_083DFEC4
-_080F0338: .4byte 0x000087ca
-_080F033C: .4byte 0x000087c8
-_080F0340: .4byte 0x0000d162
-_080F0344:
- ldr r0, _080F034C @ =gWindowConfig_81E70D4
- bl SetUpWindowConfig
- b _080F0618
- .align 2, 0
-_080F034C: .4byte gWindowConfig_81E70D4
-_080F0350:
- ldr r0, _080F0358 @ =gWindowConfig_81E70D4
- bl MultistepInitMenuWindowBegin
- b _080F0618
- .align 2, 0
-_080F0358: .4byte gWindowConfig_81E70D4
-_080F035C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F0366
- b _080F0618
-_080F0366:
- b _080F0626
-_080F0368:
- bl MenuZeroFillScreen
- b _080F0618
-_080F036E:
- ldr r0, _080F0378 @ =gUnknown_08E9FC64
- ldr r1, _080F037C @ =0x0600e800
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F0378: .4byte gUnknown_08E9FC64
-_080F037C: .4byte 0x0600e800
-_080F0380:
- ldr r0, _080F038C @ =gPokenavConditionSearch2_Gfx
- ldr r1, _080F0390 @ =0x06008000
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F038C: .4byte gPokenavConditionSearch2_Gfx
-_080F0390: .4byte 0x06008000
-_080F0394:
- ldr r6, _080F03FC @ =gUnknown_083E02B4
- adds r0, r6, 0
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F0400 @ =gUnknown_083E0334
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F0404 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _080F0408 @ =0x000087ca
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F0418
- ldr r4, _080F040C @ =gPokenavConditionSearch2_Pal
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F0410 @ =gPlttBufferUnfaded
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F0414 @ =gUnknownPalette_81E6692
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0xA
- adds r0, r4, 0
- movs r1, 0xBF
- b _080F04A8
- .align 2, 0
-_080F03FC: .4byte gUnknown_083E02B4
-_080F0400: .4byte gUnknown_083E0334
-_080F0404: .4byte gUnknown_083DFEC4
-_080F0408: .4byte 0x000087ca
-_080F040C: .4byte gPokenavConditionSearch2_Pal
-_080F0410: .4byte gPlttBufferUnfaded
-_080F0414: .4byte gUnknownPalette_81E6692
-_080F0418:
- cmp r0, 0x1
- bne _080F0464
- ldr r4, _080F0458 @ =gUnknown_083E0274
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F045C @ =gPlttBufferUnfaded
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F0460 @ =gUnknownPalette_81E6692
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0xA
- adds r0, r4, 0
- movs r1, 0xBF
- b _080F04A8
- .align 2, 0
-_080F0458: .4byte gUnknown_083E0274
-_080F045C: .4byte gPlttBufferUnfaded
-_080F0460: .4byte gUnknownPalette_81E6692
-_080F0464:
- ldr r4, _080F04B0 @ =gUnknown_08E9F9E8
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F04B4 @ =gPlttBufferUnfaded
- adds r5, r4, 0
- adds r5, 0xA
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F04B8 @ =gUnknown_083E0314
- movs r1, 0x50
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0x5F
-_080F04A8:
- movs r2, 0x2
- bl LoadPalette
- b _080F0618
- .align 2, 0
-_080F04B0: .4byte gUnknown_08E9F9E8
-_080F04B4: .4byte gPlttBufferUnfaded
-_080F04B8: .4byte gUnknown_083E0314
-_080F04BC:
- ldr r0, _080F04E8 @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r2, _080F04EC @ =0x000087ca
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080F04F8
- ldr r0, _080F04F0 @ =0x0600e800
- ldr r3, _080F04F4 @ =gUnknown_08E9FD1C
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x9
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8095C8C
- b _080F0618
- .align 2, 0
-_080F04E8: .4byte gUnknown_083DFEC4
-_080F04EC: .4byte 0x000087ca
-_080F04F0: .4byte 0x0600e800
-_080F04F4: .4byte gUnknown_08E9FD1C
-_080F04F8:
- ldr r3, _080F0530 @ =0x0600e800
- mov r8, r3
- ldr r3, _080F0534 @ =gUnknown_08E9FE54
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0xC
- str r5, [sp, 0x8]
- movs r6, 0xA
- str r6, [sp, 0xC]
- str r5, [sp, 0x10]
- mov r0, r8
- movs r1, 0
- movs r2, 0x4
- bl sub_8095C8C
- ldr r3, _080F0538 @ =gUnknown_08E9FD64
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r6, [sp, 0xC]
- str r5, [sp, 0x10]
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl sub_8095C8C
- b _080F0618
- .align 2, 0
-_080F0530: .4byte 0x0600e800
-_080F0534: .4byte gUnknown_08E9FE54
-_080F0538: .4byte gUnknown_08E9FD64
-_080F053C:
- ldr r0, _080F0548 @ =gUnknown_083E0354
- ldr r1, _080F054C @ =0x06005000
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F0548: .4byte gUnknown_083E0354
-_080F054C: .4byte 0x06005000
-_080F0550:
- ldr r2, _080F0568 @ =0x0600f800
- add r1, sp, 0x14
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F056C @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080F0570 @ =0x81000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080F0618
- .align 2, 0
-_080F0568: .4byte 0x0600f800
-_080F056C: .4byte 0x040000d4
-_080F0570: .4byte 0x81000400
-_080F0574:
- bl sub_80F0900
- b _080F0618
-_080F057A:
- bl sub_80F0944
- lsls r0, 24
- cmp r0, 0
- beq _080F0618
- b _080F0626
-_080F0586:
- ldr r0, _080F059C @ =gUnknown_083DFEC4
- ldr r4, [r0]
- ldr r1, _080F05A0 @ =0x000087ca
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080F05A4
- bl ShowMapNamePopUpWindow
- b _080F0618
- .align 2, 0
-_080F059C: .4byte gUnknown_083DFEC4
-_080F05A0: .4byte 0x000087ca
-_080F05A4:
- movs r0, 0
- bl sub_80F081C
- ldr r2, _080F05B8 @ =0x0000876e
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_80F0FFC
- b _080F0618
- .align 2, 0
-_080F05B8: .4byte 0x0000876e
-_080F05BC:
- ldr r1, _080F0600 @ =REG_BG2CNT
- ldr r3, _080F0604 @ =0x00001d0a
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0xF9
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0x6
- adds r3, 0xFE
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x16
- movs r0, 0xF8
- strh r0, [r1]
- ldr r1, [r2]
- ldr r0, _080F0608 @ =0x00008776
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0xF8
- strh r0, [r2]
- ldr r2, _080F060C @ =0x00008778
- adds r0, r1, r2
- strh r3, [r0]
- ldr r0, _080F0610 @ =REG_BLDCNT
- strh r3, [r0]
- ldr r3, _080F0614 @ =0x0000d160
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F05FA:
- movs r0, 0
- b _080F0628
- .align 2, 0
-_080F0600: .4byte REG_BG2CNT
-_080F0604: .4byte 0x00001d0a
-_080F0608: .4byte 0x00008776
-_080F060C: .4byte 0x00008778
-_080F0610: .4byte REG_BLDCNT
-_080F0614: .4byte 0x0000d160
-_080F0618:
- ldr r0, _080F0634 @ =gUnknown_083DFEC4
- ldr r1, [r0]
- ldr r0, _080F0638 @ =0x00000306
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0626:
- movs r0, 0x1
-_080F0628:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0634: .4byte gUnknown_083DFEC4
-_080F0638: .4byte 0x00000306
- thumb_func_end sub_80F02A0
-
thumb_func_start sub_80F063C
sub_80F063C: @ 80F063C
push {r4-r7,lr}
diff --git a/include/ewram.h b/include/ewram.h
index e4ad98aeb..06ea513a3 100755
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -26,6 +26,8 @@ extern u8 gSharedMem[];
#define eVoidSharedArr2 (u32)(ewram_addr) // ew(ram)
#define ewram0_8 ((struct UnkStruct2000000 *)(gSharedMem + 0x0))
#define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20))
+#define ewram0_10 (*(struct UnknownPokenav0*)(gSharedMem + 0))
+#define ewram0_11 (*(struct UnknownPokenav0_1*)(gSharedMem + 0))
#define ewram4 (*(struct UnknownStruct8 *)(gSharedMem + 0x4))
#define ewram520 ((struct UnknownStruct7 *)(gSharedMem + 0x00520))
#define ewram520_2 (u8 *)(ewram_addr + 0x520)
diff --git a/include/pokenav.h b/include/pokenav.h
index 70cc4135f..f77f93e2d 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -1,6 +1,8 @@
#ifndef GUARD_POKENAV_H
#define GUARD_POKENAV_H
+#include "region_map.h"
+
struct UnkPokenavStruct_Sub {
/*0x0*/ u16 unk0;
/*0x2*/ u8 filler2[6];
@@ -30,28 +32,61 @@ struct UnkPokenavStruct_Sub2 {
/*0x26*/ u16 unk26;
};
+struct UnkPokenavStruct_Sub3 {
+ /*0x00*/s16 unk0;
+};
+
struct UnkUsePokeblockSub {
/*0*/ u8 fil0[2];
/*2*/ u8 partyIdx:5;
+ /*2*/ u16 unk2:9;
};
struct UnkPokenavStruct {
- /*0x0000*/ u8 filler0000[0x30c];
- /*0x0000*/ u16 unk030C;
- /*0x0000*/ u8 filler030E[0x6a9e];
+ /*0x0000*/ u8 filler0000[0x306];
+ /*0x0306*/ u16 unk306;
+ /*0x0306*/ u8 filler0308[0x4];
+ /*0x030C*/ union { // TODO: what?
+ u16 val;
+ struct UnkPokenavStruct_Sub3 unk030C;
+ } unk030C;
+ /*0x0310*/ u8 filler030E[0x6a90];
+ /*0x6DA0*/ u16 unk6DA0;
+ /*0x6DA2*/ u16 unk6DA2;
+ /*0x6DA4*/ u16 taskId6DA4;
+ /*0x6DA6*/ u8 filler6DA6[0x6];
/*0x6DAC*/ u8 unk6DAC;
- /*0x6DAD*/ u8 filler6DAD[0x8fd];
+ /*0x6DAD*/ u8 filler6DAD[0x6B];
+ /*0x6E18*/ struct RegionMap regionMap;
+ /*0x7698*/ u16 unk7698;
+ /*0x769A*/ u16 unk769A;
+ /*0x769C*/ u8 unk769C;
+ /*0x769D*/ u8 unk769D;
+ /*0x769E*/ u8 unk769E;
+ /*0x769F*/ u8 filler769F[0xB];
/*0x76AA*/ u8 unk76AA;
/*0x76AB*/ u8 filler76AB[0x10bd];
/*0x8768*/ struct UnkPokenavStruct_Sub2 *unk8768;
- /*0x876C*/ u8 filler876C[0x6e];
+ /*0x876C*/ u8 filler876C[0x2];
+ /*0x876E*/ u8 unk876E;
+ /*0x876F*/ u8 filler876F[0x7];
+ /*0x8776*/ u16 unk8776;
+ /*0x8778*/ u16 unk8778;
+ /*0x877A*/ u8 filler877A[0xE];
+ /*0x8788*/ u8 unk8788[0x40];
+ /*0x87C8*/ u8 unk87C8;
+ /*0x87C9*/ u8 filler87C9;
+ /*0x87CA*/ u8 unk87CA;
+ /*0x87CB*/ u8 filler87CB[0xF];
/*0x87DA*/ s16 unk87DA;
/*0x87DC*/ s16 unk87DC;
/*0x87DE*/ s16 unk87DE;
/*0x87E0*/ void *unk87E0;
/*0x87E4*/ u8 filler87E4[0x44];
/*0x8828*/ u8 unk8828;
- /*0x8829*/ u8 filler8829[0x113];
+ /*0x8829*/ u8 unk8829[3][64];
+ /*0x88E9*/ u8 unk88E9[3][24];
+ /*0x8931*/ u8 unk8931[11];
/*0x893C*/ struct UnkUsePokeblockSub unk893c[0x1ab];
/*0x8fe8*/ u8 fil8fe8[1];
/*0x8fe9*/ s8 unk8fe9;
@@ -61,11 +96,20 @@ struct UnkPokenavStruct {
/*0x9004*/ u8 unk9004[3][20];
/*0x9040*/ u8 unk9040[0x304];
/*0x9344*/ u8 unk9344;
- /*0x9345*/ u8 filler9345[0x3ba3];
+ /*0x9345*/ u8 filler9345[0x2955];
+ /*0xBC9A*/ u8 unkBC9A;
+ /*0xBC9B*/ u8 unkBC9B;
+ /*0xBC9C*/ u8 unkBC9C[22][200];
+ /*0xCDCC*/ const u8 *unkCDCC[16][2];
+ /*0xCE4C*/ u16 unkCE4C;
+ /*0xCE4E*/ u16 unkCE4E;
+ /*0xCE50*/ u16 unkCE50;
+ /*0xCE52*/ u16 palettesCE52[30];
+ /*0xCE8E*/ u16 palettesCE8E[0x2D];
/*0xCEE8*/ struct UnkPokenavStruct_Sub unkCEE8[78];
/*0xD158*/ u16 unkD158;
/*0xD15A*/ u8 fillerD15A[6];
- /*0xD162*/ u16 unkD160;
+ /*0xD160*/ u16 unkD160;
/*0xD162*/ u8 unkD162[2];
/*0xD164*/ struct UnkPokenavStruct_Sub1 unkD164;
};
diff --git a/include/region_map.h b/include/region_map.h
index 3d970fa0a..4061c5e3d 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -3,8 +3,8 @@
struct RegionMap
{
- u8 mapSecName[0x14];
- u16 mapSecId;
+ u8 mapSectionName[20];
+ u16 mapSectionId;
u8 unk16;
u8 everGrandeCityArea;
u8 (*inputCallback)(void);
@@ -62,10 +62,10 @@ void sub_80FAEC4(void);
u8 sub_80FAFC0(void);
void UpdateRegionMapVideoRegs(void);
void sub_80FB2A4(s16, s16);
-u16 sub_80FBA04(u16 mapSecId);
+u16 sub_80FBA04(u16 mapSectionId);
void CreateRegionMapCursor(u16, u16);
void CreateRegionMapPlayerIcon(u16, u16);
-const u8 *GetMapSectionName(u8 *dest, u16 mapSecId, u16 length);
+const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length);
const u8 *CopyMapName(u8 *dest, u16 b);
const u8 *CopyLocationName(u8 *dest, u16 b);
diff --git a/ld_script.txt b/ld_script.txt
index 1c798f94c..b22462cb7 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -168,8 +168,9 @@ SECTIONS {
src/field/bike.o(.text);
asm/easy_chat.o(.text);
src/field/easy_chat.o(.text);
+ src/pokenav_before.o(.text);
asm/pokenav.o(.text);
- src/field/pokenav.o(.text);
+ src/pokenav_after.o(.text);
asm/pokenav.o(.text_80F708C);
src/pokemon/mon_markings.o(.text);
src/field/mauville_man.o(.text);
diff --git a/src/field/region_map.c b/src/field/region_map.c
index d643c373d..973e7decc 100644
--- a/src/field/region_map.c
+++ b/src/field/region_map.c
@@ -337,9 +337,9 @@ bool8 sub_80FA940(void)
InitializeCursorPosition();
gRegionMap->unk74 = gRegionMap->cursorPosX;
gRegionMap->unk76 = gRegionMap->cursorPosY;
- gRegionMap->unk16 = sub_80FB758(gRegionMap->mapSecId);
- gRegionMap->mapSecId = sub_80FB9C0(gRegionMap->mapSecId);
- GetMapSectionName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16);
+ gRegionMap->unk16 = sub_80FB758(gRegionMap->mapSectionId);
+ gRegionMap->mapSectionId = sub_80FB9C0(gRegionMap->mapSectionId);
+ GetMapSectionName(gRegionMap->mapSectionName, gRegionMap->mapSectionId, 16);
break;
case 6:
if (gRegionMap->zoomed == FALSE)
@@ -434,7 +434,7 @@ static u8 sub_80FAB78(void)
static u8 _swiopen(void)
{
- u16 mapSecId;
+ u16 mapSectionId;
if (gRegionMap->unk7A != 0)
return INPUT_EVENT_2;
@@ -451,12 +451,12 @@ static u8 _swiopen(void)
if (gRegionMap->cursorDeltaY < 0)
gRegionMap->cursorPosY--;
- mapSecId = GetRegionMapSectionAt(gRegionMap->cursorPosX, gRegionMap->cursorPosY);
- gRegionMap->unk16 = sub_80FB758(mapSecId);
- if (mapSecId != gRegionMap->mapSecId)
+ mapSectionId = GetRegionMapSectionAt(gRegionMap->cursorPosX, gRegionMap->cursorPosY);
+ gRegionMap->unk16 = sub_80FB758(mapSectionId);
+ if (mapSectionId != gRegionMap->mapSectionId)
{
- gRegionMap->mapSecId = mapSecId;
- GetMapSectionName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16);
+ gRegionMap->mapSectionId = mapSectionId;
+ GetMapSectionName(gRegionMap->mapSectionName, gRegionMap->mapSectionId, 16);
}
sub_80FBA18();
gRegionMap->inputCallback = sub_80FAB78;
@@ -516,16 +516,16 @@ static u8 sub_80FADE4(void)
if (r3 != gRegionMap->unk64 || r1 != gRegionMap->unk66)
{
- u16 mapSecId;
+ u16 mapSectionId;
gRegionMap->unk64 = r3;
gRegionMap->unk66 = r1;
- mapSecId = GetRegionMapSectionAt(r3, r1);
- gRegionMap->unk16 = sub_80FB758(mapSecId);
- if (mapSecId != gRegionMap->mapSecId)
+ mapSectionId = GetRegionMapSectionAt(r3, r1);
+ gRegionMap->unk16 = sub_80FB758(mapSectionId);
+ if (mapSectionId != gRegionMap->mapSectionId)
{
- gRegionMap->mapSecId = mapSecId;
- GetMapSectionName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16);
+ gRegionMap->mapSectionId = mapSectionId;
+ GetMapSectionName(gRegionMap->mapSectionName, gRegionMap->mapSectionId, 16);
}
sub_80FBA18();
}
@@ -723,19 +723,19 @@ static void InitializeCursorPosition(void)
case 2:
case 4:
case 5:
- gRegionMap->mapSecId = gMapHeader.regionMapSectionId;
+ gRegionMap->mapSectionId = gMapHeader.regionMapSectionId;
gRegionMap->playerIsInCave = FALSE;
mapWidth = gMapHeader.mapData->width;
mapHeight = gMapHeader.mapData->height;
x = gSaveBlock1.pos.x;
y = gSaveBlock1.pos.y;
- if (gRegionMap->mapSecId == MAPSEC_UNDERWATER6)
+ if (gRegionMap->mapSectionId == MAPSEC_UNDERWATER6)
gRegionMap->playerIsInCave = TRUE;
break;
case 3:
case 6:
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.warp4.mapGroup, gSaveBlock1.warp4.mapNum);
- gRegionMap->mapSecId = mapHeader->regionMapSectionId;
+ gRegionMap->mapSectionId = mapHeader->regionMapSectionId;
gRegionMap->playerIsInCave = TRUE;
mapWidth = mapHeader->mapData->width;
mapHeight = mapHeader->mapData->height;
@@ -744,7 +744,7 @@ static void InitializeCursorPosition(void)
break;
case 8:
mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1.warp2.mapGroup, gSaveBlock1.warp2.mapNum);
- gRegionMap->mapSecId = mapHeader->regionMapSectionId;
+ gRegionMap->mapSectionId = mapHeader->regionMapSectionId;
gRegionMap->playerIsInCave = TRUE;
mapWidth = mapHeader->mapData->width;
mapHeight = mapHeader->mapData->height;
@@ -755,8 +755,8 @@ static void InitializeCursorPosition(void)
{
struct WarpData *r4;
- gRegionMap->mapSecId = gMapHeader.regionMapSectionId;
- if (gRegionMap->mapSecId != MAPSEC_UNK_0x57)
+ gRegionMap->mapSectionId = gMapHeader.regionMapSectionId;
+ if (gRegionMap->mapSectionId != MAPSEC_UNK_0x57)
{
r4 = &gSaveBlock1.warp4;
mapHeader = Overworld_GetMapHeaderByGroupAndId(r4->mapGroup, r4->mapNum);
@@ -765,7 +765,7 @@ static void InitializeCursorPosition(void)
{
r4 = &gSaveBlock1.warp2;
mapHeader = Overworld_GetMapHeaderByGroupAndId(r4->mapGroup, r4->mapNum);
- gRegionMap->mapSecId = mapHeader->regionMapSectionId;
+ gRegionMap->mapSectionId = mapHeader->regionMapSectionId;
}
gRegionMap->playerIsInCave = FALSE;
mapWidth = mapHeader->mapData->width;
@@ -778,21 +778,21 @@ static void InitializeCursorPosition(void)
r9 = x;
- r1 = mapWidth / gRegionMapLocations[gRegionMap->mapSecId].width;
+ r1 = mapWidth / gRegionMapLocations[gRegionMap->mapSectionId].width;
if (r1 == 0)
r1 = 1;
x /= r1;
- if (x >= gRegionMapLocations[gRegionMap->mapSecId].width)
- x = gRegionMapLocations[gRegionMap->mapSecId].width - 1;
+ if (x >= gRegionMapLocations[gRegionMap->mapSectionId].width)
+ x = gRegionMapLocations[gRegionMap->mapSectionId].width - 1;
- r1 = mapHeight / gRegionMapLocations[gRegionMap->mapSecId].height;
+ r1 = mapHeight / gRegionMapLocations[gRegionMap->mapSectionId].height;
if (r1 == 0)
r1 = 1;
y /= r1;
- if (y >= gRegionMapLocations[gRegionMap->mapSecId].height)
- y = gRegionMapLocations[gRegionMap->mapSecId].height - 1;
+ if (y >= gRegionMapLocations[gRegionMap->mapSectionId].height)
+ y = gRegionMapLocations[gRegionMap->mapSectionId].height - 1;
- switch (gRegionMap->mapSecId)
+ switch (gRegionMap->mapSectionId)
{
case MAPSEC_ROUTE_114:
if (y != 0)
@@ -821,8 +821,8 @@ static void InitializeCursorPosition(void)
x++;
break;
}
- gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSecId].x + x + MAPCURSOR_X_MIN;
- gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSecId].y + y + MAPCURSOR_Y_MIN;
+ gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
+ gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
}
static void sub_80FB600(void)
@@ -837,16 +837,16 @@ static void sub_80FB600(void)
switch (GetSSTidalLocation(&mapGroup, &mapNum, &sp2, &sp4))
{
case 1:
- gRegionMap->mapSecId = MAPSEC_SLATEPORT_CITY;
+ gRegionMap->mapSectionId = MAPSEC_SLATEPORT_CITY;
break;
case 2:
- gRegionMap->mapSecId = MAPSEC_LILYCOVE_CITY;
+ gRegionMap->mapSectionId = MAPSEC_LILYCOVE_CITY;
break;
case 3:
- gRegionMap->mapSecId = MAPSEC_ROUTE_124;
+ gRegionMap->mapSectionId = MAPSEC_ROUTE_124;
break;
case 4:
- gRegionMap->mapSecId = MAPSEC_ROUTE_131;
+ gRegionMap->mapSectionId = MAPSEC_ROUTE_131;
break;
default:
case 0:
@@ -854,31 +854,31 @@ static void sub_80FB600(void)
struct MapHeader *mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
u16 r1;
- gRegionMap->mapSecId = mapHeader->regionMapSectionId;
- r1 = mapHeader->mapData->width / gRegionMapLocations[gRegionMap->mapSecId].width;
+ gRegionMap->mapSectionId = mapHeader->regionMapSectionId;
+ r1 = mapHeader->mapData->width / gRegionMapLocations[gRegionMap->mapSectionId].width;
if (r1 == 0)
r1 = 1;
x = sp2 / r1;
- if (x >= gRegionMapLocations[gRegionMap->mapSecId].width)
- x = gRegionMapLocations[gRegionMap->mapSecId].width - 1;
+ if (x >= gRegionMapLocations[gRegionMap->mapSectionId].width)
+ x = gRegionMapLocations[gRegionMap->mapSectionId].width - 1;
- r1 = mapHeader->mapData->height / gRegionMapLocations[gRegionMap->mapSecId].height;
+ r1 = mapHeader->mapData->height / gRegionMapLocations[gRegionMap->mapSectionId].height;
if (r1 == 0)
r1 = 1;
y = sp4 / r1;
- if (y >= gRegionMapLocations[gRegionMap->mapSecId].height)
- y = gRegionMapLocations[gRegionMap->mapSecId].height - 1;
+ if (y >= gRegionMapLocations[gRegionMap->mapSectionId].height)
+ y = gRegionMapLocations[gRegionMap->mapSectionId].height - 1;
}
break;
}
gRegionMap->playerIsInCave = FALSE;
- gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSecId].x + x + MAPCURSOR_X_MIN;
- gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSecId].y + y + MAPCURSOR_Y_MIN;
+ gRegionMap->cursorPosX = gRegionMapLocations[gRegionMap->mapSectionId].x + x + MAPCURSOR_X_MIN;
+ gRegionMap->cursorPosY = gRegionMapLocations[gRegionMap->mapSectionId].y + y + MAPCURSOR_Y_MIN;
}
-static u16 sub_80FB758(u16 mapSecId)
+static u16 sub_80FB758(u16 mapSectionId)
{
- switch (mapSecId)
+ switch (mapSectionId)
{
case MAPSEC_NONE:
return 0;
@@ -929,21 +929,21 @@ u16 GetRegionMapSectionAt_(u16 x, u16 y)
return GetRegionMapSectionAt(x, y);
}
-static u16 sub_80FB9C0(u16 mapSecId)
+static u16 sub_80FB9C0(u16 mapSectionId)
{
u16 i;
for (i = 0; gUnknown_083E7684[i][0] != MAPSEC_NONE; i++)
{
- if (gUnknown_083E7684[i][0] == mapSecId)
+ if (gUnknown_083E7684[i][0] == mapSectionId)
return gUnknown_083E7684[i][1];
}
- return mapSecId;
+ return mapSectionId;
}
-u16 sub_80FBA04(u16 mapSecId)
+u16 sub_80FBA04(u16 mapSectionId)
{
- return sub_80FB9C0(mapSecId);
+ return sub_80FB9C0(mapSectionId);
}
static void sub_80FBA18(void)
@@ -952,7 +952,7 @@ static void sub_80FBA18(void)
u16 y;
u16 i;
- if (gRegionMap->mapSecId == MAPSEC_NONE)
+ if (gRegionMap->mapSectionId == MAPSEC_NONE)
{
gRegionMap->everGrandeCityArea = 0;
return;
@@ -987,7 +987,7 @@ static void sub_80FBA18(void)
else
{
x--;
- if (GetRegionMapSectionAt(x, y) == gRegionMap->mapSecId)
+ if (GetRegionMapSectionAt(x, y) == gRegionMap->mapSectionId)
i++;
}
}
@@ -1006,7 +1006,7 @@ static bool8 sub_80FBAA0(u16 a)
for (x = MAPCURSOR_X_MIN; x <= MAPCURSOR_X_MAX; x++)
{
- if (GetRegionMapSectionAt(x, y) == gRegionMap->mapSecId)
+ if (GetRegionMapSectionAt(x, y) == gRegionMap->mapSectionId)
return TRUE;
}
return FALSE;
@@ -1303,44 +1303,44 @@ void sub_80FBF94(void)
gRegionMap->blinkPlayerIcon = TRUE;
}
-const u8 *GetMapSectionName(u8 *dest, u16 mapSecId, u16 length)
+const u8 *GetMapSectionName(u8 *dest, u16 mapSectionId, u16 length)
{
- if (mapSecId == MAPSEC_SECRET_BASE)
+ if (mapSectionId == MAPSEC_SECRET_BASE)
return GetSecretBaseMapName(dest);
- if (mapSecId < MAPSEC_NONE)
- return StringCopy(dest, gRegionMapLocations[mapSecId].regionMapSectionId);
+ if (mapSectionId < MAPSEC_NONE)
+ return StringCopy(dest, gRegionMapLocations[mapSectionId].regionMapSectionId);
if (length == 0)
length = 18;
return StringFill(dest, CHAR_SPACE, length);
}
-const u8 *CopyMapName(u8 *dest, u16 mapSecId)
+const u8 *CopyMapName(u8 *dest, u16 mapSectionId)
{
- switch (mapSecId)
+ switch (mapSectionId)
{
case MAPSEC_UNK_0x57:
return StringCopy(dest, gOtherText_Ferry);
case MAPSEC_SECRET_BASE:
return StringCopy(dest, gOtherText_SecretBase);
default:
- return GetMapSectionName(dest, mapSecId, 0);
+ return GetMapSectionName(dest, mapSectionId, 0);
}
}
-const u8 *CopyLocationName(u8 *dest, u16 mapSecId)
+const u8 *CopyLocationName(u8 *dest, u16 mapSectionId)
{
- if (mapSecId == MAPSEC_EVIL_TEAM_HIDEOUT)
+ if (mapSectionId == MAPSEC_EVIL_TEAM_HIDEOUT)
return StringCopy(dest, gOtherText_Hideout);
else
- return CopyMapName(dest, mapSecId);
+ return CopyMapName(dest, mapSectionId);
}
-static void GetRegionMapLocationPosition(u16 mapSecId, u16 *x, u16 *y, u16 *width, u16 *height)
+static void GetRegionMapLocationPosition(u16 mapSectionId, u16 *x, u16 *y, u16 *width, u16 *height)
{
- *x = gRegionMapLocations[mapSecId].x;
- *y = gRegionMapLocations[mapSecId].y;
- *width = gRegionMapLocations[mapSecId].width;
- *height = gRegionMapLocations[mapSecId].height;
+ *x = gRegionMapLocations[mapSectionId].x;
+ *y = gRegionMapLocations[mapSectionId].y;
+ *width = gRegionMapLocations[mapSectionId].width;
+ *height = gRegionMapLocations[mapSectionId].height;
}
struct UnknownStruct3
@@ -1414,7 +1414,7 @@ static const u8 sUnknown_083E7920[][3] =
struct UnknownStruct4
{
const u8 *const *unk0;
- u16 mapSecId;
+ u16 mapSectionId;
u16 flag;
};
@@ -1433,7 +1433,7 @@ static const struct SpritePalette sFlyTargetIconSpritePalette = {sFlyTargetIcons
// Fly targets that are not cities or towns
static const u16 sSpecialFlyAreas[][2] =
{
- // flag, mapSecId
+ // flag, mapSectionId
{0x848, MAPSEC_BATTLE_TOWER},
{0xFFFF, MAPSEC_NONE},
};
@@ -1550,7 +1550,7 @@ void CB2_InitFlyRegionMap(void)
InitRegionMap(&ewram0_3.regionMap, 0);
CreateRegionMapCursor(0, 0);
CreateRegionMapPlayerIcon(1, 1);
- ewram0_3.unk6 = ewram0_3.regionMap.mapSecId;
+ ewram0_3.unk6 = ewram0_3.regionMap.mapSectionId;
StringFill(ewramBlankMapName, CHAR_SPACE, 12);
PrintFlyTargetName();
break;
@@ -1615,12 +1615,12 @@ static void PrintFlyTargetName(void)
{
const struct UnknownStruct4 *r4 = &sUnknown_083E79C0[i];
- if (ewram0_3.regionMap.mapSecId == r4->mapSecId)
+ if (ewram0_3.regionMap.mapSectionId == r4->mapSectionId)
{
if (FlagGet(r4->flag))
{
MenuDrawTextWindow(16, 14, 29, 19);
- MenuPrint(ewram0_3.regionMap.mapSecName, 17, 15);
+ MenuPrint(ewram0_3.regionMap.mapSectionName, 17, 15);
MenuPrint_RightAligned(r4->unk0[ewram0_3.regionMap.everGrandeCityArea], 29, 17);
return;
}
@@ -1632,7 +1632,7 @@ static void PrintFlyTargetName(void)
if (zero == 0)
{
MenuDrawTextWindow(16, 16, 29, 19);
- MenuPrint(ewram0_3.regionMap.mapSecName, 17, 17);
+ MenuPrint(ewram0_3.regionMap.mapSectionName, 17, 17);
MenuZeroFillWindowRect(16, 14, 29, 15);
}
}
@@ -1712,10 +1712,10 @@ static void CreateSpecialAreaFlyTargetIcons(void)
if (FlagGet(sSpecialFlyAreas[i][0]))
{
- u16 mapSecId = sSpecialFlyAreas[i][1];
+ u16 mapSectionId = sSpecialFlyAreas[i][1];
u8 spriteId;
- GetRegionMapLocationPosition(mapSecId, &x, &y, &width, &height);
+ GetRegionMapLocationPosition(mapSectionId, &x, &y, &width, &height);
x = (x + 1) * 8;
y = (y + 2) * 8;
spriteId = CreateSprite(&gFlyTargetSpriteTemplate, x, y, 10);
@@ -1724,7 +1724,7 @@ static void CreateSpecialAreaFlyTargetIcons(void)
gSprites[spriteId].oam.size = 1;
gSprites[spriteId].callback = SpriteCB_FlyTargetIcons;
StartSpriteAnim(&gSprites[spriteId], 6);
- gSprites[spriteId].data0 = mapSecId;
+ gSprites[spriteId].data0 = mapSectionId;
}
}
}
@@ -1732,8 +1732,8 @@ static void CreateSpecialAreaFlyTargetIcons(void)
static void SpriteCB_FlyTargetIcons(struct Sprite *sprite)
{
- // Blink if our mapSecId is the one selected on the map
- if (ewram0_3.regionMap.mapSecId == sprite->data0)
+ // Blink if our mapSectionId is the one selected on the map
+ if (ewram0_3.regionMap.mapSectionId == sprite->data0)
{
// Toggle visibility every 16 frames
sprite->data1++;
@@ -1810,7 +1810,7 @@ static void sub_80FC69C(void)
FreeRegionMapIconResources();
if (ewramA6E != 0)
{
- switch (ewram0_3.regionMap.mapSecId)
+ switch (ewram0_3.regionMap.mapSectionId)
{
case MAPSEC_SOUTHERN_ISLAND:
sub_8053538(22);
@@ -1825,10 +1825,10 @@ static void sub_80FC69C(void)
sub_8053538((FlagGet(0x854) && ewram0_3.regionMap.everGrandeCityArea == 0) ? 20 : 11);
break;
default:
- if (sUnknown_083E7920[ewram0_3.regionMap.mapSecId][2] != 0)
- sub_8053538(sUnknown_083E7920[ewram0_3.regionMap.mapSecId][2]);
+ if (sUnknown_083E7920[ewram0_3.regionMap.mapSectionId][2] != 0)
+ sub_8053538(sUnknown_083E7920[ewram0_3.regionMap.mapSectionId][2]);
else
- warp1_set_2(sUnknown_083E7920[ewram0_3.regionMap.mapSecId][0], sUnknown_083E7920[ewram0_3.regionMap.mapSecId][1], -1);
+ warp1_set_2(sUnknown_083E7920[ewram0_3.regionMap.mapSectionId][0], sUnknown_083E7920[ewram0_3.regionMap.mapSectionId][1], -1);
break;
}
sub_80865BC();
diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c
index 5fbecec0d..54ed89ef2 100644
--- a/src/field/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -244,7 +244,7 @@ static void sub_8136294(void)
case 6:
gUnknown_083DFEC4->unk76AA = 0;
gUnknown_083DFEC4->unk87E0 = NULL;
- gUnknown_083DFEC4->unk030C = 0x20;
+ gUnknown_083DFEC4->unk030C.val = 0x20;
gUnknown_02039304->unk50++;
break;
case 7:
diff --git a/src/field/pokenav.c b/src/pokenav_after.c
index 21d7bb4e3..84ed7b14b 100644
--- a/src/field/pokenav.c
+++ b/src/pokenav_after.c
@@ -38,5 +38,3 @@ void sub_80F700C(u8 *arg0, u16 arg1) {
ptr[2] = 0x80;
ptr[3] = 0xFF;
}
-
-IWRAM_DATA MainCallback gUnknown_03000744;
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
new file mode 100644
index 000000000..5cd1c8942
--- /dev/null
+++ b/src/pokenav_before.c
@@ -0,0 +1,5004 @@
+#include "global.h"
+#include "main.h"
+#include "pokenav.h"
+#include "ewram.h"
+#include "battle.h"
+#include "data2.h"
+#include "de_rom_8040FE0.h"
+#include "flags.h"
+#include "landmark.h"
+#include "link.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "region_map.h"
+#include "songs.h"
+#include "string_util.h"
+#include "sound.h"
+#include "task.h"
+#include "text.h"
+#include "unknown_task.h"
+
+extern u8 ewram[];
+
+struct UnknownPokenav0 {
+ /* 0x0000 */ u8 var0[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[0x55];
+ /* 0x87CB */ u8 var87CB;
+ /* 0x87CC */ u8 fill87CC[0xC];
+ /* 0x87D8 */ u8 var87D8;
+ /* 0x87D9 */ u8 fill87D9[0x1];
+ /* 0x87DA */ s16 var87DA;
+ /* 0x87DC */ s16 var87DC;
+ /* 0x87DE */ u8 fill87DE[0x4a];
+ /* 0x8828 */ u8 playerPartyCount;
+ /* 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;
+};
+
+struct UnknownPokenav0_1 {
+ u8 fill6dad[0x6dad];
+ s8 var6dad;
+ s8 var6dae;
+};
+
+IWRAM_DATA void (*gUnknown_03000744)(void);
+
+extern const u8 gUnknown_083E0314[];
+extern const u16 gUnknown_08E9F9E8[];
+extern const u16 gUnknown_083E0274[];
+extern const u8 gUnknown_08E9FC64[];
+extern const u8 gUnknown_083E0354[];
+extern const u8 gUnknown_08E9FD64[];
+extern const u8 gUnknown_08E9FE54[];
+extern const u8 gUnknown_08E9FD1C[];
+extern const u16 gPokenavConditionSearch2_Pal[];
+extern const u8 gUnknown_083E0334[];
+extern const u16 gUnknown_083E02B4[];
+extern const u8 gPokenavConditionSearch2_Gfx[];
+extern const u8 gUnknownPalette_81E6692[];
+extern const u8 gUnknown_083E0254[];
+extern const u8 gUnknown_08E9FEB4[];
+extern const u8 gUnknown_083E01AC[];
+extern const u8 gUnknown_08E9AC4C[];
+extern const u8 gPokenavConditionMenu2_Pal[];
+extern const u8 gPokenavConditionView_Gfx[];
+extern const u8 gUnknown_08E9ABB4[];
+extern const u8 gUnknown_08E9AC2C[];
+extern const u8 *const gPokenavCityMaps[][2];
+extern const u8 gPokenavHoennMapSquares_Pal[];
+extern const u8 gPokenavHoennMapSquares_Gfx[];
+extern const u16 gUnknown_083E003C[];
+extern const u8 *const gUnknown_083E31B0[];
+extern const u8 *const gUnknown_083E31CC[];
+extern const u8 *const gUnknown_083E31D8[];
+extern u8 *gUnknown_083DFEC8;
+extern const u8 gUnknown_083DFEEC[];
+extern const u8 gUnknown_083E005C[];
+extern const u8 gUnknown_083E007C[];
+extern const u8 gPokenavOutlineTilemap[];
+extern const u8 gPokenavOutlineTiles[];
+extern const u8 gPokenavOutlinePalette[];
+extern const u8 gUnknown_083DFECC[];
+extern const u8 gUnknown_083DFF8C[];
+extern const u8 gPokenavHoennMapMisc_Gfx[];
+extern const u8 gUnknown_08E99FB0[];
+extern const u8 gUnknown_08E9A100[];
+extern const u16 gPokenavHoennMap1_Pal[];
+
+static void sub_80EBCA8();
+static void sub_80EEE20();
+static bool8 sub_80EEE54();
+static void sub_80EEE08();
+static void sub_80EED2C(u8);
+static void sub_80EC268();
+static void sub_80EED1C();
+static void sub_80EE9C0(u8, u8, u8);
+static bool8 sub_80EEA0C();
+static bool8 sub_80EEC10();
+static void sub_80EED9C();
+static void sub_80EDB88();
+static void sub_80EC4A0();
+static void sub_80EC81C();
+static void sub_80EE96C();
+static void sub_80EE3D8();
+static bool8 sub_80EEF34();
+static void sub_80EED0C();
+static void sub_80EC67C();
+static void sub_80EC86C();
+static bool8 sub_80EEC90();
+static void sub_80ED620();
+static void sub_80EC960();
+static void sub_80ED01C();
+static void sub_80ECC08();
+static void sub_80ED31C();
+static void sub_80ED4D8();
+static void sub_80ED858();
+static void sub_80EDDBC();
+static void sub_80EDE70();
+static void sub_80EDEE4();
+static void sub_80EE06C();
+static void sub_80EE294();
+static void sub_80EE58C();
+static void sub_80EE658();
+static void sub_80EE8F4();
+static void sub_80EEDC4();
+
+extern bool8 sub_80F0944(void);
+extern void sub_80F081C();
+extern void sub_80F0900(void);
+extern void sub_80F443C(u8 *, u16);
+extern bool8 sub_80F162C(u8);
+extern void sub_80F01E0(u16);
+extern void sub_80F01A4(void);
+extern void sub_80F1614(void);
+extern void sub_80EFD3C(void);
+extern void sub_8095C8C();
+extern void sub_80EFDA0(void);
+extern void sub_80EFD74(void);
+extern void sub_80F1A80(void);
+extern bool8 sub_80EFC64(void);
+extern void sub_80EFC3C(void);
+extern void sub_80EF624(const u16 *, const u16 *, u8, u8, u16 *);
+extern void sub_80EF7D4(void);
+extern void sub_80EF54C(u8);
+extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16);
+extern void sub_80EF58C(u8);
+extern void sub_80F6FFC();
+extern void sub_80F3294();
+extern void sub_80F0B24();
+extern bool8 sub_80F0B44();
+extern void sub_80F0F64();
+extern bool8 sub_80F0FEC();
+extern void sub_80F6FB8();
+extern void sub_80F6DB8();
+extern void sub_80F0CD8();
+extern bool8 sub_80F6E9C();
+extern bool8 sub_80F0D5C();
+extern bool8 sub_80F6ED4();
+extern bool8 sub_80F0EF4();
+extern void sub_80F2FB0();
+extern void sub_80F0FA0();
+extern void sub_80F0C28();
+extern bool8 sub_80F0C48();
+extern bool8 sub_80F70FC();
+extern void sub_80F708C(u32);
+extern void sub_80F4394();
+extern void sub_80F0EC0();
+extern void sub_80F700C();
+extern void sub_80F42C4();
+extern void sub_80F0FFC();
+extern void sub_80F6F10();
+extern void sub_80F3C2C();
+extern void sub_80F15A8();
+extern void sub_80F6A4C();
+extern bool8 sub_80F6AF0();
+extern void sub_80F3B00();
+extern bool8 sub_80F3B58();
+extern void sub_80F1494();
+extern u8 sub_80F68E8();
+extern void sub_80F3B94();
+extern bool8 sub_80F3BD4();
+extern void sub_80F66E0();
+extern bool8 sub_80F1080();
+extern void sub_80F38B8();
+extern bool8 sub_80F38EC();
+extern void sub_80F638C();
+extern bool8 sub_80F63D0();
+extern void sub_80F4CF0();
+extern void sub_80EFF34();
+extern bool8 sub_80EFF68();
+extern void sub_80F35B4();
+extern void sub_80F6134();
+extern u8 sub_80F5DD4();
+extern void ShowMapNamePopUpWindow();
+extern bool8 sub_80F0718();
+extern bool8 sub_80F3264();
+extern void sub_80F4D44();
+extern bool8 sub_80F4D88();
+extern void sub_80F0264(u8);
+extern bool8 sub_80F02A0();
+extern void sub_80F3008();
+extern void sub_80F3130();
+extern void sub_80F2D6C(u32);
+extern bool8 sub_80F1E6C();
+extern void sub_80EF9F8(void);
+extern bool8 sub_80EFBDC(bool8);
+extern void sub_80EFBB0(void);
+extern void sub_80F2DF4();
+extern void sub_80F1E84();
+extern bool8 sub_80F1F10();
+extern void sub_80EEFBC(u8);
+extern void sub_80F2620();
+extern void sub_80EF814(void);
+extern void sub_80EF840(void);
+extern bool8 sub_80EF874(void);
+extern void sub_80F2DD8();
+extern bool8 sub_80F6250();
+extern void sub_80F6208();
+extern void sub_80F208C();
+extern void sub_80F6C20();
+extern void sub_80F3FF0();
+extern bool8 sub_80F4024();
+extern void sub_80F2598();
+extern void sub_80EF248(u8);
+extern bool8 sub_80EF284(u8);
+extern void sub_80F1B8C();
+extern bool8 sub_80F1BC8(u32 unk);
+extern void sub_80F1DF0();
+extern bool8 sub_80F1E50();
+extern void sub_80EF428(u8, u8);
+extern bool8 sub_80EEF78();
+extern void sub_80F1A90();
+extern void sub_80F2D04(u32);
+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(void);
+extern void sub_80F5BF0();
+extern void sub_80F6F64();
+extern void sub_80F19FC();
+
+extern u16 gKeyRepeatStartDelay;
+
+
+void sub_80EBA5C() {
+ switch (gMain.state) {
+ default:
+ gMain.state = 0;
+ case 0:
+ ewram0_10.var6dac = is_c1_link_related_active();
+ if (!ewram0_10.var6dac) {
+ ewram0_10.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 10:
+ if (sub_80F26BC()) return;
+ break;
+ case 11:
+ sub_80F36F0();
+ gMain.state++;
+ case 12:
+ if (sub_80F3724()) return;
+ break;
+ case 13:
+ sub_80EBC10();
+ sub_80EBDBC(&sub_80EBDD8);
+ break;
+ case 14:
+ ewram0_10.var6dab = 1;
+ PlaySE(SE_PN_ON);
+ SetMainCallback2(&sub_80EBD90);
+ SetVBlankCallback(&sub_80EBD18);
+ sub_80F1A74();
+ break;
+ }
+
+ gMain.state++;
+}
+
+void sub_80EBBE8() {
+ u8 var1;
+ if (!ewram0_10.var6dab) {
+ var1 = ewram0_10.var6dab;
+ do {
+ sub_80EBA5C();
+ var1 = ewram0_10.var6dab;
+ } while (!var1);
+ }
+}
+
+void sub_80EBC10() {
+ u16 i;
+ u16 *var1;
+
+ gKeyRepeatStartDelay = 0x14;
+ ewram0_10.playerPartyCount = CalculatePlayerPartyCount();
+ ewram0_10.var6ddc = 0;
+ ewram0_10.var9344 = 0;
+ ewram0_10.var8768 = 0;
+ ewram0_10.varCED0 = 0;
+
+ for (i = 0; i < 5; ++i) {
+ ewram0_10.var8fff[i] = 0;
+ var1 = (u16 *)ewram0_10.var0;
+ var1[i*2 + 0x4820] = 0x9B;
+ var1[i*2 + 0x4821] = 0x5B;
+ }
+
+ ewram0_10.var6e95 = 0;
+ sub_80EBCA8();
+}
+
+void sub_80EBCA8() {
+ ewram0_10.var6db2[0] = 1;
+ ewram0_10.var6db2[1] = 2;
+ ewram0_10.var6db2[2] = 3;
+
+ if (FlagGet(SYS_RIBBON_GET)) {
+ ewram0_10.var6db2[3] = 4;
+ }
+ else {
+ ewram0_10.var6db2[3] = 0;
+ }
+
+ ewram0_10.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() {
+ ewram0_10.var300();
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTasks();
+ UpdatePaletteFade();
+ sub_80F19FC();
+}
+
+void sub_80EBDBC(void (*func)(void)) {
+ ewram0_10.var300 = func;
+ ewram0_10.var304 = 0;
+}
+
+void sub_80EBDD8() {
+ switch (ewram0_10.var304) {
+ case 0:
+ SetVBlankCallback(NULL);
+ REG_DISPCNT = 0;
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80F3FF0();
+ ewram0_10.var304++;
+ case 2:
+ if (sub_80F4024()) return;
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEE20();
+ ewram0_10.var304++;
+ case 5:
+ if (sub_80EEE54()) return;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ return;
+ case 6:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ case 7:
+ if (sub_80EF284(0)) return;
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ case 9:
+ if (sub_80F1BC8(0)) return;
+ ewram0_10.var304++;
+ break;
+ case 10:
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ ewram0_10.var304++;
+ return;
+ case 12:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ return;
+ case 13:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ return;
+ case 14:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ case 15:
+ if (sub_80F2CBC(0)) return;
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ return;
+ case 17:
+ if (!sub_80F1E50()) {
+ sub_80EF428(0, 0);
+ sub_80EBDBC(&sub_80EC268);
+ }
+ return;
+
+ }
+
+}
+
+void sub_80EC00C() {
+ switch (ewram0_10.var304) {
+ case 0:
+ if (!sub_80EEF78()) {
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6ddc;
+ ewram0_10.var6dae = 5;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ sub_80EF248(0);
+ ewram0_10.var304++;
+ case 2:
+ if (sub_80EF284(0)) return;
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0);
+ ewram0_10.var304++;
+ case 4:
+ if (sub_80F1BC8(0)) return;
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ return;
+ case 9:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F2C80(0);
+ ewram0_10.var304++;
+ case 11:
+ if (sub_80F2CBC(0)) return;
+ ewram0_10.var304++;
+ return;
+ case 12:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ return;
+ case 13:
+ if (sub_80F1E50()) return;
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC268);
+ }
+}
+
+void sub_80EC210() {
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F2D04(1);
+ sub_80EE9C0(0, ewram0_10.var6ddc, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80EEA0C()) return;
+ sub_80EBDBC(&sub_80EC268);
+ }
+}
+
+void sub_80EC268() {
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ if (sub_80EEC10() != 0) {
+ PlaySE(0x5);
+ sub_80EF428(0, ewram0_10.var6dad);
+ sub_80EED9C();
+ break;
+ }
+ else {
+ if (gMain.newKeys & A_BUTTON) {
+ ewram0_10.var6ddc = ewram0_10.var6dad;
+ switch (ewram0_10.var6db2[ewram0_10.var6ddc] - 1) {
+ case 0:
+ PlaySE(5);
+ sub_80EBDBC(&sub_80EC4A0);
+ break;
+ case 1:
+ PlaySE(5);
+ sub_80EBDBC(&sub_80EC81C);
+ break;
+ case 4:
+ ewram0_10.var304 = 1;
+ break;
+ case 3:
+ ewram0_10.var304 = 2;
+ break;
+ case 2:
+ ewram0_10.var304 = 6;
+ break;
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON) {
+ ewram0_10.var304 = 1;
+ }
+ break;
+ }
+ case 1:
+ sub_80F208C();
+ sub_80EBDBC(&sub_80EE96C);
+ break;
+ case 2:
+ sub_80F6208();
+ ewram0_10.var304++;
+ case 3:
+ if (sub_80F6250()) return;
+ ewram0_10.var304++;
+ break;
+ case 4:
+ if (sub_8055870()) return;
+ if (ewram0_10.var8fe8 != 0) {
+ PlaySE(0x5);
+ sub_80EBDBC(&sub_80EDB88);
+ break;
+ }
+ else {
+ PlaySE(0x20);
+ sub_80EF428(0, 5);
+ ewram0_10.var304 = 0xFF;
+ break;
+ }
+ case 6:
+ sub_80F6C20();
+ if (ewram0_10.varD158 != 0) {
+ PlaySE(0x5);
+ sub_80EBDBC(&sub_80EE3D8);
+ break;
+ }
+ else {
+ PlaySE(0x20);
+ sub_80EF428(0, 6);
+ ewram0_10.var304 = 0xFF;
+ break;
+ }
+ case 0xFF:
+ if ((var1 = sub_80EEC10()) != 0) {
+ PlaySE(0x5);
+ sub_80EF428(0, ewram0_10.var6dad);
+ ewram0_10.var304 = 0;
+ sub_80EED9C();
+ }
+ else {
+ if (!(gMain.newKeys & (A_BUTTON | B_BUTTON))) return;
+ sub_80EF428(0, ewram0_10.var6dad);
+ ewram0_10.var304 = var1;
+ break;
+ }
+ }
+}
+
+void sub_80EC4A0() {
+ u32 var1;
+ u32 var2;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10()) {
+ if (gSaveBlock2.regionMapZoom) {
+ var1 = 0x7;
+ }
+ else var1 = 0x8;
+ sub_80EEFBC(var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 2:
+ if (!(var2 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var2);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80EF814();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EF840();
+ ewram0_10.var304++;
+ case 7:
+ if (sub_80EF874()) return;
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2C80(0x4);
+ ewram0_10.var304++;
+ case 9:
+ if (sub_80F2CBC(0x4)) return;
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2DD8();
+ SetVBlankCallback(&sub_80EBD30);
+ ewram0_10.var304++;
+ break;
+ case 0xB:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ sub_80EED2C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 0xE:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EC67C);
+ }
+}
+
+void sub_80EC67C() {
+ u32 var1;
+ u32 var2;
+ switch (ewram0_10.var304) {
+ case 0:
+ switch (sub_80FAB60()) {
+ case 1:
+ sub_80EED9C();
+ break;
+ case 3:
+ sub_80EF9F8();
+ break;
+ case 4:
+ PlaySE(0x5);
+ ewram0_10.var304 = 1;
+ break;
+ case 5:
+ PlaySE(0x5);
+ ewram0_10.var304 = 4;
+ break;
+ }
+ break;
+ case 1:
+ if (!ewram0_10.var6e90) {
+ sub_80FAEC4();
+ ewram0_10.var304++;
+ break;
+ }
+ if (sub_80EFBDC(1)) return;
+ sub_80FAEC4();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if ((var2 = sub_80FAFC0())) return;
+ if (!ewram0_10.var6e90) {
+ sub_80EFBB0();
+ ewram0_10.var304 = var2;
+ break;
+ }
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if ((var1 = sub_80EFBDC(0))) return;
+ sub_80EFBB0();
+ ewram0_10.var304 = var1;
+ break;
+ case 4:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (gPaletteFade.active) return;
+ sub_80F2DF4();
+ sub_80F2D04(0x4);
+ gSaveBlock2.regionMapZoom = (ewram0_10.var6e90 == 1) ? 1 : 0;
+ sub_80EBDBC(&sub_80EC00C);
+ }
+}
+
+void sub_80EC81C() {
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F2D04(0);
+ sub_80EE9C0(1, 0, 1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80EEA0C()) return;
+ sub_80EBDBC(&sub_80EC86C);
+ }
+}
+
+void sub_80EC86C() {
+ switch (ewram0_10.var304) {
+ case 0:
+ if (sub_80EEC90()) {
+ PlaySE(0x5);
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EED9C();
+ break;
+ }
+ if (gMain.newKeys & A_BUTTON) {
+ PlaySE(0x5);
+ ewram0_10.var6df0 = ewram0_10.var6dad;
+ switch (ewram0_10.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_10.var6df0 = 0x2;
+ ewram0_10.var6dad = 0x2;
+ ewram0_10.var304++;
+ break;
+ }
+ break;
+ case 1:
+ if (sub_80F1E6C()) return;
+ sub_80EBDBC(&sub_80EC210);
+ }
+}
+
+void sub_80EC960() {
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80EE9C0(2, 0, 5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80EEA0C()) return;
+ sub_80EBDBC(&sub_80ECC08);
+ }
+}
+
+void sub_80EC9A8() {
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F2D04(5);
+ sub_80EE9C0(1, ewram0_10.var6df0, 0xC);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80EEA0C()) return;
+ sub_80EBDBC(&sub_80EC86C);
+ sub_80EF428(1, ewram0_10.var6dad);
+ }
+}
+
+void sub_80ECA10() {
+ switch (ewram0_10.var304) {
+ case 0:
+ if (sub_80EEF78()) return;
+ SetVBlankCallback(&sub_80EBD80);
+ sub_80EED1C();
+ ewram0_10.var6dad = ewram0_10.var6df0;
+ ewram0_10.var6dae = 0x3;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80EF248(0x1);
+ ewram0_10.var304++;
+ case 2:
+ if (sub_80EF284(0x1)) return;
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F1B8C(0x1);
+ ewram0_10.var304++;
+ case 4:
+ if (sub_80F1BC8(0x1)) return;
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ break;
+ case 0xA:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+
+ case 0xB:
+ if (sub_80F2CBC(0x1)) return;
+ ewram0_10.var304++;
+ break;
+ case 0xC:
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 0xD:
+ if (sub_80F1E50()) return;
+ sub_80EF428(1, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80EC86C);
+ }
+}
+
+void sub_80ECC08() {
+ switch (ewram0_10.var304) {
+ case 0:
+ if (sub_80EEC90()) {
+ PlaySE(0x5);
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EED9C();
+ break;
+ }
+
+ if (gMain.newKeys & A_BUTTON) {
+ PlaySE(0x5);
+ switch ((s8)ewram0_10.var6dad) {
+ case 0:
+ ewram0_10.var87D8 = 22;
+ break;
+ case 1:
+ ewram0_10.var87D8 = 23;
+ break;
+ case 2:
+ ewram0_10.var87D8 = 24;
+ break;
+ case 3:
+ ewram0_10.var87D8 = 33;
+ break;
+ case 4:
+ ewram0_10.var87D8 = 47;
+ break;
+ case 5:
+ sub_80EBDBC(&sub_80EC9A8);
+ return;
+ }
+
+ ewram0_10.var6dfc = ewram0_10.var6dad;
+ ewram0_10.var76aa = 1;
+ sub_80EBDBC(&sub_80ED01C);
+ }
+ else if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ ewram0_10.var6dad = 0x5;
+ ewram0_10.var304++;
+ }
+ break;
+ case 1:
+ if (sub_80F1E6C()) return;;
+ sub_80EBDBC(&sub_80EC9A8);
+ break;
+ }
+}
+
+void sub_80ECD80() {
+ u16 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (sub_80EEF78()) return;
+ SetVBlankCallback(&sub_80EBD80);
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80EED1C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2D6C(0x1);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F2D6C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 6:
+ ewram0_10.var6dad = ewram0_10.var6dfc;
+ ewram0_10.var6dae = 0x6;
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EF248(0x2);
+ ewram0_10.var304++;
+ case 8:
+ if (sub_80EF284(0x2)) return;
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F1B8C(0x2);
+ ewram0_10.var304++;
+ case 10:
+ if (sub_80F1BC8(0x2)) return;
+ ewram0_10.var304++;
+ break;
+ case 11:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 12:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80EED2C(0);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80F2598();
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ case 17:
+ if ((var1 = sub_80F2CBC(0x1))) return;
+ ewram0_10.var306 = var1;
+ ewram0_10.var304++;
+ break;
+ case 18:
+ sub_80F2C80(0x5);
+ ewram0_10.var304++;
+ case 19:
+ if (sub_80F2CBC(0x5)) return;
+ sub_80F1DF0();
+ ewram0_10.var304++;
+ break;
+ case 20:
+ if (sub_80F1E50()) return;
+ sub_80EF428(2, ewram0_10.var6dad);
+ sub_80EBDBC(&sub_80ECC08);
+ }
+}
+
+void sub_80ED01C() {
+ u16 var1;
+ u16 var3;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ sub_80F2D04(0x5);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if ((var1 = sub_80EEF34())) return;
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F4D44();
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F4D88()) {
+ ewram0_10.var304 += 2;
+ break;
+ }
+ ewram0_10.var304++;
+ break;
+ case 7:
+ if (sub_8055870()) return;
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ case 10:
+ if (sub_80F02A0()) return;
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F3008(0);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 13:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 15:
+ if (gPaletteFade.active) return;
+ ewram0_10.var306 = (u8)(gPaletteFade.active << 24);
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ case 17:
+ if ((var3 = sub_80F2CBC(0x1))) return;
+ ewram0_10.var306 = var3;
+ ewram0_10.var304++;
+ break;
+ case 18:
+ sub_80F2C80(ewram0_10.var6dfc + 7);
+ ewram0_10.var304++;
+ case 19:
+ if (sub_80F2CBC(ewram0_10.var6dfc + 7)) return;
+ sub_80EBDBC(&sub_80ED31C);
+ break;
+ }
+}
+
+void sub_80ED31C() {
+ switch (ewram0_10.var304) {
+ case 0:
+ switch (sub_80F5DD4()) {
+ case 1:
+ PlaySE(0x5);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(0x5);
+ ewram0_10.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_10.var304++;
+ break;
+ case 2:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0;
+ break;
+ }
+}
+
+void sub_80ED3D0() {
+ switch (ewram0_10.var304) {
+ case 0:
+ SetVBlankCallback(NULL);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ sub_80EED0C();
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80EEFBC(0);
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F0264(0);
+ ewram0_10.var304++;
+ case 4:
+ if (sub_80F02A0()) return;
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F3008(0);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80ED31C);
+ }
+}
+
+void sub_80ED4D8() {
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 3:
+ sub_80F4CF0();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ case 5:
+ if (sub_80EFF68()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F35B4();
+ sub_80EEFBC(0x2);
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80ED858);
+ break;
+ }
+}
+
+void sub_80ED620() {
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0x1);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0x1);
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (!(var1 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var76aa = (u8)(gPaletteFade.active << 24);
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ ewram0_10.varD162 = 0x2;
+ sub_80F4BD0();
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80EFF34();
+ ewram0_10.var304++;
+ case 7:
+ if (sub_80EFF68()) return;
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F33A8();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD4C);
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80EED2C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F2C80(0x1);
+ ewram0_10.var304++;
+ case 14:
+ if (sub_80F2CBC(0x1)) return;
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80F2C80(0x6);
+ ewram0_10.var304++;
+ case 16:
+ 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_80F4FDC();
+
+void sub_80ED858() {
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F4F78();
+ sub_80F5B38();
+ ewram0_10.var304 = 0x1;
+ break;
+ case 1:
+ if (sub_80F5B50()) return;
+ ewram0_10.var304 = 0x2;
+ break;
+ case 2:
+ sub_80F0174(0x1);
+ ewram0_10.var304 = 0x3;
+ break;
+ case 3:
+ if (sub_80F4FB4()) return;
+ sub_80F3C94();
+ sub_80F3D00();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 4:
+ if ( (gMain.heldKeys & 0x40) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var87DC)) ) {
+ PlaySE(0x5);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else if ( (gMain.heldKeys & 0x80) && (ewram0_10.var87CB) && (!(ewram0_10.var76aa) || (ewram0_10.var76aa >= ewram0_10.var87DC)) ) {
+ PlaySE(0x5);
+ sub_80F5060(0);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (ewram0_10.var76aa) {
+ if (ewram0_10.var6dac) {
+ PlaySE(0x5);
+ ewram0_10.var304 = 0x7;
+ }
+ }
+ else if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(0x5);
+ ewram0_10.var304 = 0x9;
+ }
+ }
+
+/*
+ if (gMain.heldKeys & 0x40) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!ewram0_10.var87DC) goto label1;
+ }
+ PlaySE(0x5);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
+label1:
+ if (gMain.heldKeys & 0x80) {
+ if (ewram0_10.var87CB) {
+ if (ewram0_10.var76aa) {
+ if (!(ewram0_10.var76aa < ewram0_10.var87DC)) goto label2;
+ }
+ PlaySE(0x5);
+ sub_80F5060(0x1);
+ move_anim_execute();
+ ewram0_10.var304 = 0x5;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
+label2:
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80F4FDC();
+ move_anim_execute();
+ ewram0_10.var304 = 0x9;
+ }
+ else if (gMain.newKeys & A_BUTTON) {
+ if (!ewram0_10.var76aa) {
+ if ((ewram0_10.var87DC == ewram0_10.var87DA - 1)) {
+ PlaySE(0x5);
+ ewram0_10.var304 = 0x9;
+ }
+ }
+ else {
+ PlaySE(0x5);
+ ewram0_10.var304 = 0x9;
+ }
+ }
+*/
+ break;
+
+ case 5:
+ if (gpu_sync_bg_show()) return;
+ sub_80F3D00();
+ ewram0_10.var304 = 0x6;
+ break;
+ case 6:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0x4;
+ break;
+ case 7:
+ sub_80EEFBC(0x3);
+ sub_80F3668();
+ ewram0_10.var304 = 0x8;
+ break;
+ case 8:
+ if (sub_80F7500()) return;
+ sub_80EEFBC(0x2);
+ sub_80F3698();
+ ewram0_10.var304 = 0x4;
+ break;
+ case 9:
+ if (!(var1 = sub_80F5038())) {
+ sub_80F0174(0);
+ sub_80F2F48();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304 = 0xB;
+ }
+ break;
+ case 0xA:
+ if (gPaletteFade.active) return;
+ sub_80F3CE8();
+ sub_80F5BDC();
+ if (!ewram0_10.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 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\n\
+_080ED8EC:\n\
+ movs r0, 0x1\n\
+ bl sub_80F0174\n\
+ ldr r0, _080ED900 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\n\
+_080EDA8C:\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EDB7A\n\
+ ldr r0, _080EDAA0 @ =gSharedMem\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ b _080EDADC\n\
+ .align 2, 0\n\
+_080EDAA0: .4byte gSharedMem\n\
+_080EDAA4:\n\
+ movs r0, 0x3\n\
+ bl sub_80EEFBC\n\
+ bl sub_80F3668\n\
+ ldr r0, _080EDABC @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\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 @ =gSharedMem\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 gSharedMem\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_80EDB88() {
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0x4);
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (!(var1 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(0);
+ sub_80EED0C();
+ sub_80EF814();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F638C();
+ ewram0_10.var304++;
+ case 6:
+ if (!sub_80F63D0()) {
+ ewram0_10.var304 += 0x2;
+ break;
+ }
+ ewram0_10.var304++;
+ break;
+ case 7:
+ if (sub_8055870()) return;
+ ewram0_10.var304--;
+ break;
+ case 8:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 10:
+ if (sub_80F02A0()) return;
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F2C80(0x2);
+ ewram0_10.var304++;
+ case 12:
+ if (sub_80F2CBC(0x2)) return;
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F3008(0x1);
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 15:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 16:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
+}
+
+void sub_80EDDBC() {
+ switch (ewram0_10.var304) {
+ case 0:
+ switch (sub_80F5DD4()) {
+ case 1:
+ PlaySE(0x5);
+ ShowMapNamePopUpWindow();
+ break;
+ case 2:
+ PlaySE(0x5);
+ ewram0_10.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_10.var304++;
+ break;
+ case 2:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0;
+ break;
+
+ }
+}
+
+void sub_80EDE70() {
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
+
+}
+
+void sub_80EDEE4() {
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3130();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80F66E0();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (sub_80F1080()) return;
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x5);
+ sub_80F38B8();
+ ewram0_10.var304++;
+ case 5:
+ if (sub_80F38EC()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 7:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ sub_80EED2C(0x3);
+ ewram0_10.var304++;
+ break;
+ case 9:
+ if (gPaletteFade.active) return;
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (sub_80F170C()) return;
+ sub_80EBDBC(&sub_80EE06C);
+ break;
+ }
+}
+
+void sub_80EE06C() {
+ u32 var1;
+ u16 var2;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F15A8();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gMain.newAndRepeatedKeys & 0x40) {
+ if (ewram0_10.var87DC) {
+ PlaySE(0x5);
+ sub_80F6A4C(-1);
+ ewram0_10.var304++;
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
+label1:
+ if (gMain.newAndRepeatedKeys & 0x80) {
+ if (ewram0_10.var87DC < ewram0_10.var8774) {
+ PlaySE(0x5);
+ sub_80F6A4C(1);
+ ewram0_10.var304++;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
+label2:
+ if (gMain.newKeys & A_BUTTON) {
+ PlaySE(0x5);
+ sub_80EEFBC(0xB);
+ ewram0_10.var304 = 0x4;
+ }
+ else if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80EBDBC(&sub_80EE294);
+ }
+ break;
+ case 2:
+ if (sub_80F6AF0()) return;
+ ewram0_10.var304++;
+ break;
+ case 3:
+ var1 = sub_8055870();
+ if (var1) return;
+ ewram0_10.var304 = var1;
+ break;
+ case 4:
+ sub_80F3B00();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_80F3B58()) return;
+ sub_80F1494();
+ ewram0_10.var304++;
+ sub_80EED9C();
+ break;
+ case 6:
+ switch (sub_80F68E8()) {
+ case 1:
+ PlaySE(0x5);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x7;
+ break;
+ default:
+ case 0:
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80F3B94();
+ ewram0_10.var304 = 0x8;
+ }
+ break;
+ }
+ break;
+ case 7:
+ if (sub_80F3BD4()) return;
+ ewram0_10.var304 = 0x4;
+ break;
+ case 8:
+ var2 = sub_80F3BD4();
+ if (var2) return;
+ sub_80EEFBC(0x5);
+ ewram0_10.var304 = var2;
+ break;
+ }
+}
+
+void sub_80EE294() {
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80F3C2C();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80F6134();
+ sub_80F0264(0x1);
+ ewram0_10.var304++;
+ case 3:
+ if (sub_80F02A0()) return;
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80EEFBC(0x4);
+ sub_80F3008(0x1);
+ SetVBlankCallback(&sub_80EBD18);
+ ewram0_10.var304++;
+ break;
+ case 5:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 6:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80EED2C(0x4);
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EDDBC);
+ break;
+ }
+}
+
+void sub_80EE3D8() {
+ u8 var1;
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80F1F10()) return;
+ sub_80EEFBC(0x9);
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (!(var1 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x0, 0x10, var1);
+ ewram0_10.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ sub_80EF814();
+ sub_80EEE08();
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F0264(0x2);
+ ewram0_10.var304++;
+ case 6:
+ if (sub_80F02A0()) return;
+ ewram0_10.var304++;
+ break;
+ case 7:
+ sub_80F2C80(0x3);
+ ewram0_10.var304++;
+ case 8:
+ if (sub_80F2CBC(0x3)) return;
+ ewram0_10.var304++;
+ break;
+ case 9:
+ sub_80F3008(0x2);
+ ewram0_10.var304++;
+ break;
+ case 10:
+ if (sub_8055870()) return;
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F6F10();
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0x10, 0, 0);
+ SetVBlankCallback(&sub_80EBD68);
+ ewram0_10.var304++;
+ break;
+ case 12:
+ sub_80EED2C(0x5);
+ ewram0_10.var304++;
+ break;
+ case 13:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EE58C);
+ break;
+ }
+}
+
+void sub_80EE58C() {
+ switch (ewram0_10.var304) {
+ case 0:
+ switch (sub_80F5DD4()) {
+ case 1:
+ PlaySE(0x5);
+ sub_80F0FFC(ewram0_10.var876E);
+ break;
+ case 2:
+ PlaySE(0x5);
+ ewram0_10.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_10.var876E);
+ sub_80F3264();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0;
+ break;
+ }
+}
+
+void sub_80EE658() {
+ switch (ewram0_10.var304) {
+ case 0:
+ sub_80F3294(0x1);
+ sub_80EEFBC(0xA);
+ sub_80F0B24();
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (sub_80F0B44()) return;
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80F0F64();
+ ewram0_10.var304++;
+ break;
+ case 3:
+ if (sub_80F0FEC()) return;
+ sub_80F6FB8(0x1);
+ ewram0_10.var304++;
+ break;
+ case 4:
+ sub_80F6DB8();
+ ewram0_10.var304++;
+ break;
+ case 5:
+ sub_80F700C((u8 *)(gSharedMem + 0x8788), *(u16 *)(gSharedMem + 0x8788 - 0x1A));
+ sub_80F42C4((u8 *)(gSharedMem + 0x8788));
+ ewram0_10.var304++;
+ break;
+ case 6:
+ sub_80F0CD8();
+ ewram0_10.var304++;
+ case 7:
+ if (sub_80F6E9C()) return;
+ if (sub_80F0D5C()) return;
+ ewram0_10.var304++;
+ break;
+ case 8:
+ if (gMain.heldKeys & 0x40) {
+ if (ewram0_10.var87DC) {
+ PlaySE(0x5);
+ sub_80F708C(-1);
+ ewram0_10.var304 = 0x10;
+ }
+ else goto label1;
+ }
+ else goto label1;
+ break;
+label1:
+ if (gMain.heldKeys & 0x80) {
+ if (ewram0_10.var87DC < ewram0_10.var8774) {
+ PlaySE(0x5);
+ sub_80F708C(1);
+ ewram0_10.var304 = 0x10;
+ }
+ else goto label2;
+ }
+ else goto label2;
+ break;
+label2:
+ if (gMain.newKeys & B_BUTTON) {
+ PlaySE(0x5);
+ sub_80F4394();
+ sub_80F0EC0();
+ ewram0_10.var304++;
+ }
+ break;
+ case 9:
+ if (sub_80F6ED4()) return;
+ if (sub_80F0EF4()) return;
+ sub_80F6FB8(0);
+ sub_80F2FB0();
+ ewram0_10.var304++;
+ break;
+ case 10:
+ sub_80F6134();
+ ewram0_10.var304++;
+ break;
+ case 11:
+ sub_80F0FA0();
+ ewram0_10.var304++;
+ break;
+ case 12:
+ if (sub_80F0FEC()) return;
+ ewram0_10.var304++;
+ break;
+ case 13:
+ sub_80F0C28();
+ ewram0_10.var304++;
+ break;
+ case 14:
+ if (sub_80F0C48()) return;
+ ewram0_10.var304++;
+ break;
+ case 15:
+ sub_80EEFBC(0x9);
+ sub_80F3294(0);
+ sub_80EBDBC(&sub_80EE58C);
+ sub_80EED9C();
+ break;
+ case 16:
+ if (sub_80F70FC()) return;
+ ewram0_10.var304++;
+ break;
+ case 17:
+ if (sub_8055870()) return;
+ ewram0_10.var304 = 0x8;
+ break;
+ }
+}
+
+void sub_80EE8F4() {
+ switch (ewram0_10.var304) {
+ case 0:
+ BeginNormalPaletteFade(ewram0_10.var308, -1, 0, 0x10, 0);
+ ewram0_10.var304++;
+ break;
+ case 1:
+ if (gPaletteFade.active) return;
+ sub_80F3130();
+ sub_80F2D6C(0x2);
+ sub_80F6FFC();
+ ewram0_10.var304++;
+ break;
+ case 2:
+ sub_80EBDBC(&sub_80EC00C);
+ break;
+ }
+}
+
+void sub_80EE96C() {
+ u16 var1 = ewram0_10.var304;
+ if (!var1) {
+ PlaySE(0x6F);
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, var1);
+ ewram0_10.var304++;
+ }
+ else {
+ if (gPaletteFade.active) return;
+ sub_80F5BDC();
+ sub_805469C();
+ }
+}
+
+void sub_80EE9C0(u8 param1, u8 param2, u8 param3) {
+ sub_80F1E84();
+ ewram0_10.var6e14 = param1;
+ ewram0_10.var6e15 = param2;
+ ewram0_10.var6e16 = 0;
+ ewram0_10.var6e17 = param3;
+}
+
+#if 0
+bool8 sub_80EEA0C() {
+ switch (ewram0_10.var6e16) {
+ case 0:
+ if (sub_80F1F10()) return 1;
+ if (ewram0_10.var6e17 != 0xC) {
+ ewram0_10.var6e16 = 0x1;
+ return 1;
+ }
+ else {
+ ewram0_10.var6e16 = 0x3;
+ return 1;
+ }
+ case 1:
+ sub_80F2C80(ewram0_10.var6e17);
+ ewram0_10.var6e16++;
+ case 2:
+ if (sub_80F2CBC(ewram0_10.var6e17)) return 1;
+ ewram0_10.var6e16++;
+ case 3:
+
+ }
+}
+#else
+__attribute__((naked))
+bool8 sub_80EEA0C() {
+ asm_unified(
+ "push {r4,lr}\n\
+ ldr r1, _080EEA28 @ =gSharedMem\n\
+ ldr r2, _080EEA2C @ =0x00006e16\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ adds r3, r1, 0\n\
+ cmp r0, 0x8\n\
+ bls _080EEA1E\n\
+ b _080EEBFA\n\
+_080EEA1E:\n\
+ lsls r0, 2\n\
+ ldr r1, _080EEA30 @ =_080EEA34\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080EEA28: .4byte gSharedMem\n\
+_080EEA2C: .4byte 0x00006e16\n\
+_080EEA30: .4byte _080EEA34\n\
+ .align 2, 0\n\
+_080EEA34:\n\
+ .4byte _080EEA58\n\
+ .4byte _080EEA98\n\
+ .4byte _080EEAAE\n\
+ .4byte _080EEAD4\n\
+ .4byte _080EEB3E\n\
+ .4byte _080EEB68\n\
+ .4byte _080EEB88\n\
+ .4byte _080EEBAC\n\
+ .4byte _080EEBE4\n\
+_080EEA58:\n\
+ bl sub_80F1F10\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEA64\n\
+ b _080EEC08\n\
+_080EEA64:\n\
+ ldr r1, _080EEA7C @ =gSharedMem\n\
+ ldr r4, _080EEA80 @ =0x00006e17\n\
+ adds r0, r1, r4\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xC\n\
+ beq _080EEA88\n\
+ ldr r0, _080EEA84 @ =0x00006e16\n\
+ adds r1, r0\n\
+ movs r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
+_080EEA7C: .4byte gSharedMem\n\
+_080EEA80: .4byte 0x00006e17\n\
+_080EEA84: .4byte 0x00006e16\n\
+_080EEA88:\n\
+ ldr r2, _080EEA94 @ =0x00006e16\n\
+ adds r1, r2\n\
+ movs r0, 0x3\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
+_080EEA94: .4byte 0x00006e16\n\
+_080EEA98:\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2C80\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+_080EEAAE:\n\
+ ldr r4, _080EEAC8 @ =gSharedMem\n\
+ ldr r1, _080EEACC @ =0x00006e17\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F2CBC\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EEAC2\n\
+ b _080EEC08\n\
+_080EEAC2:\n\
+ ldr r2, _080EEAD0 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
+_080EEAC8: .4byte gSharedMem\n\
+_080EEACC: .4byte 0x00006e17\n\
+_080EEAD0: .4byte 0x00006e16\n\
+_080EEAD4:\n\
+ adds r2, r3, 0\n\
+ ldr r4, _080EEAF8 @ =0x00006e15\n\
+ adds r0, r2, r4\n\
+ ldrb r1, [r0]\n\
+ subs r4, 0x68\n\
+ adds r0, r2, r4\n\
+ strb r1, [r0]\n\
+ ldr r1, _080EEAFC @ =0x00006e14\n\
+ adds r0, r2, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ beq _080EEB14\n\
+ cmp r0, 0x1\n\
+ bgt _080EEB00\n\
+ cmp r0, 0\n\
+ beq _080EEB06\n\
+ b _080EEB28\n\
+ .align 2, 0\n\
+_080EEAF8: .4byte 0x00006e15\n\
+_080EEAFC: .4byte 0x00006e14\n\
+_080EEB00:\n\
+ cmp r0, 0x2\n\
+ beq _080EEB20\n\
+ b _080EEB28\n\
+_080EEB06:\n\
+ ldr r4, _080EEB10 @ =0x00006dae\n\
+ adds r1, r2, r4\n\
+ movs r0, 0x5\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
+_080EEB10: .4byte 0x00006dae\n\
+_080EEB14:\n\
+ ldr r0, _080EEB1C @ =0x00006dae\n\
+ adds r1, r2, r0\n\
+ movs r0, 0x3\n\
+ b _080EEB26\n\
+ .align 2, 0\n\
+_080EEB1C: .4byte 0x00006dae\n\
+_080EEB20:\n\
+ ldr r2, _080EEB58 @ =0x00006dae\n\
+ adds r1, r3, r2\n\
+ movs r0, 0x6\n\
+_080EEB26:\n\
+ strb r0, [r1]\n\
+_080EEB28:\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1B8C\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r4, r2\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+_080EEB3E:\n\
+ ldr r4, _080EEB5C @ =gSharedMem\n\
+ ldr r1, _080EEB60 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F1BC8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r2, _080EEB64 @ =0x00006e16\n\
+ adds r1, r4, r2\n\
+ b _080EEB76\n\
+ .align 2, 0\n\
+_080EEB58: .4byte 0x00006dae\n\
+_080EEB5C: .4byte gSharedMem\n\
+_080EEB60: .4byte 0x00006e14\n\
+_080EEB64: .4byte 0x00006e16\n\
+_080EEB68:\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEB80 @ =gSharedMem\n\
+ ldr r4, _080EEB84 @ =0x00006e16\n\
+ adds r1, r4\n\
+_080EEB76:\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
+_080EEB80: .4byte gSharedMem\n\
+_080EEB84: .4byte 0x00006e16\n\
+_080EEB88:\n\
+ bl sub_80F1DF0\n\
+ ldr r4, _080EEBA0 @ =gSharedMem\n\
+ ldr r1, _080EEBA4 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ bl sub_80EF490\n\
+ ldr r2, _080EEBA8 @ =0x00006e16\n\
+ adds r4, r2\n\
+ b _080EEBCC\n\
+ .align 2, 0\n\
+_080EEBA0: .4byte gSharedMem\n\
+_080EEBA4: .4byte 0x00006e14\n\
+_080EEBA8: .4byte 0x00006e16\n\
+_080EEBAC:\n\
+ bl sub_80F1E50\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r4, _080EEBD4 @ =gSharedMem\n\
+ ldr r1, _080EEBD8 @ =0x00006e14\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ ldr r2, _080EEBDC @ =0x00006dad\n\
+ adds r1, r4, r2\n\
+ ldrb r1, [r1]\n\
+ bl sub_80EF428\n\
+ ldr r0, _080EEBE0 @ =0x00006e16\n\
+ adds r4, r0\n\
+_080EEBCC:\n\
+ ldrb r0, [r4]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4]\n\
+ b _080EEC08\n\
+ .align 2, 0\n\
+_080EEBD4: .4byte gSharedMem\n\
+_080EEBD8: .4byte 0x00006e14\n\
+_080EEBDC: .4byte 0x00006dad\n\
+_080EEBE0: .4byte 0x00006e16\n\
+_080EEBE4:\n\
+ bl sub_80EF4F8\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EEC08\n\
+ ldr r1, _080EEC00 @ =gSharedMem\n\
+ ldr r2, _080EEC04 @ =0x00006e16\n\
+ adds r1, r2\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+_080EEBFA:\n\
+ movs r0, 0\n\
+ b _080EEC0A\n\
+ .align 2, 0\n\
+_080EEC00: .4byte gSharedMem\n\
+_080EEC04: .4byte 0x00006e16\n\
+_080EEC08:\n\
+ movs r0, 0x1\n\
+_080EEC0A:\n\
+ pop {r4}\n\
+ pop {r1}\n\
+ bx r1\n"
+
+ );
+}
+#endif
+
+// var6dad and var6dae must be s8 in this func
+bool8 sub_80EEC10() {
+ if (gMain.newKeys & 0x40) {
+ do {
+ if (--ewram0_11.var6dad < 0) {
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ }
+
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return 1;
+ }
+ if (gMain.newKeys & 0x80) {
+ do {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
+ ewram0_11.var6dad = 0;
+ }
+ } while (!ewram0_10.var6db2[ewram0_11.var6dad]);
+ return 1;
+ }
+ return 0;
+}
+
+bool8 sub_80EEC90() {
+ if (gMain.newKeys & 0x40) {
+ if (--ewram0_11.var6dad < 0) {
+ ewram0_11.var6dad = ewram0_11.var6dae - 1;
+ }
+ return 1;
+ }
+ if (gMain.newKeys & 0x80) {
+ if (++ewram0_11.var6dad >= ewram0_11.var6dae) {
+ ewram0_11.var6dad = 0;
+ }
+ return 1;
+ }
+ return 0;
+}
+
+void sub_80EED0C() {
+ REG_DISPCNT = 512;
+}
+
+void sub_80EED1C() {
+ REG_DISPCNT = 0x92 << 5;
+}
+
+void sub_80EED2C(u8 param1) {
+ switch (param1) {
+ case 0:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 1:
+ REG_DISPCNT = 0x1741;
+ break;
+ case 3:
+ case 4:
+ REG_DISPCNT = 0xFA << 5;
+ break;
+ case 2:
+ REG_DISPCNT = 0x7b40;
+ break;
+ case 5:
+ REG_DISPCNT = 0xFD << 6;
+ break;
+ }
+}
+
+void sub_80EED9C(void) {
+ gUnknown_03000744 = ewram0_10.var300;
+ ewram0_10.var300 = &sub_80EEDC4;
+ ewram0_10.var300();
+}
+
+void sub_80EEDC4(void) {
+ if (sub_8055870() != 0x1) {
+ ewram0_10.var300 = gUnknown_03000744;
+ }
+}
+
+void sub_80EEDE8(void) {
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ REG_BG2VOFS = 0;
+ REG_BG2HOFS = 0;
+ REG_BG3HOFS = 0;
+ REG_BG3VOFS = 0;
+}
+
+void sub_80EEE08(void) {
+ gUnknown_083DFEC4->unkD160 = 0;
+}
+
+void sub_80EEE20(void) {
+ gUnknown_083DFEC4->unkD160 = 0;
+ if (!gUnknown_083DFEC4->unk6DAC) {
+ while (sub_80EEE54());
+ }
+}
+
+bool8 sub_80EEE54(void) {
+ switch (gUnknown_083DFEC4->unkD160) {
+ case 0:
+ LZ77UnCompVram(gPokenavHoennMapMisc_Gfx, (void *)VRAM + 0xC000);
+ break;
+ case 1:
+ LZ77UnCompVram(gUnknown_08E99FB0, (void *)VRAM + 0xD800);
+ break;
+ case 2:
+ LoadPalette(gPokenavHoennMap1_Pal, 0x10, 0x20);
+ break;
+ case 3:
+ sub_80EF58C(0);
+ sub_80EF58C(1);
+ sub_80EF58C(2);
+ break;
+ case 4:
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ REG_BG1HOFS = 0;
+ REG_BG1VOFS = 0;
+ REG_BG1CNT = 0x1B0C;
+ gUnknown_083DFEC4->unkD160++;
+ default:
+ return 0;
+ }
+ gUnknown_083DFEC4->unkD160++;
+ return 1;
+}
+
+bool8 sub_80EEF34(void) {
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 32)
+ {
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 += 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 > 31)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 32;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
+}
+
+bool8 sub_80EEF78(void)
+{
+ bool8 retVal = TRUE;
+
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 == 0)
+ {
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 -= 2;
+ if (gUnknown_083DFEC4->unk030C.unk030C.unk0 <= 0)
+ {
+ gUnknown_083DFEC4->unk030C.unk030C.unk0 = 0;
+ retVal = FALSE;
+ }
+
+ REG_BG1VOFS = gUnknown_083DFEC4->unk030C.unk030C.unk0;
+ return retVal;
+}
+
+void sub_80EEFBC(u8 a)
+{
+ u8 var1;
+
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 0, 17, 2);
+
+ switch (a)
+ {
+ case 0:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 17, 0, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 11:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 2:
+ var1 = gUnknown_083DFEC4->unk6DAC;
+ if (!var1)
+ {
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, var1, 6, 7, 2);
+ }
+ else
+ {
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ }
+ break;
+ case 3:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 4:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 10, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 7:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 10, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 8:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 20, 4, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 7, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 5:
+ case 9:
+ sub_809D104((void *)VRAM + 0xD800, 0, 22, gUnknown_08E9A100, 0, 2, 10, 2);
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ case 10:
+ sub_809D104((void *)VRAM + 0xD800, 8, 22, gUnknown_08E9A100, 0, 6, 7, 2);
+ break;
+ }
+}
+
+void sub_80EF248(u8 a)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
+
+ if (!gUnknown_083DFEC4->unk6DAC)
+ {
+ while (sub_80EF284(a));
+ }
+}
+
+bool8 sub_80EF284(u8 a)
+{
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ DmaCopy16Defvars(3, gUnknown_083DFEEC, (void *)VRAM + 0x5000, 0xA0);
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_083DFF8C, (void *)VRAM + 0xF800);
+ break;
+ case 6:
+ DmaCopy16Defvars(3, gUnknown_083E005C, (void *)VRAM + 0x8000, 0x20);
+ break;
+ case 7:
+ LZ77UnCompVram(gUnknown_083E007C, (void *)VRAM + 0xE000);
+ break;
+ case 8:
+ LZ77UnCompVram(gPokenavOutlineTilemap, (void *)VRAM + 0xE800);
+ break;
+ case 9:
+ LZ77UnCompVram(gPokenavOutlineTiles, (void *)VRAM + 0x8020);
+ break;
+ case 10:
+ sub_80EF54C(a);
+ LoadPalette(gUnknown_083DFECC, 0xF0, 0x20);
+ LoadPalette(gPokenavOutlinePalette, 0x40, 0x20);
+ sub_80EF7D4();
+ break;
+ case 11:
+ REG_BG0CNT = 0x1F01;
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1C0B;
+ REG_BLDCNT = 0;
+
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
+}
+
+void sub_80EF428(u8 a, u8 b)
+{
+ u8 *tileBuffer;
+ const u8 *pcText = 0;
+
+ switch (a)
+ {
+ case 0:
+ pcText = gUnknown_083E31B0[b];
+ break;
+ case 1:
+ pcText = gUnknown_083E31CC[b];
+ break;
+ case 2:
+ pcText = gUnknown_083E31D8[b];
+ break;
+ }
+
+ tileBuffer = gUnknown_083DFEC8;
+ sub_8072C74(&tileBuffer[0x800], pcText, 0xC0, 2);
+ MenuPrint(&tileBuffer[0x800], 3, 17);
+}
+
+void sub_80EF490(u8 a)
+{
+ u16 var1, var2;
+
+ if (a == 2)
+ {
+ a = 1;
+ }
+
+ gUnknown_083DFEC4->unkCE4E = a * 30;
+ var1 = gUnknown_083DFEC4->unkCE4C;
+ var2 = a * 30;
+ if (var1 < var2)
+ {
+ gUnknown_083DFEC4->unkCE50 = 2;
+ }
+ else if (var1 > var2)
+ {
+ gUnknown_083DFEC4->unkCE50 = -2;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unkCE50 = 0;
+ }
+}
+
+bool8 sub_80EF4F8(void)
+{
+ u16 *palettes;
+
+ if (gUnknown_083DFEC4->unkCE4C == gUnknown_083DFEC4->unkCE4E)
+ {
+ return FALSE;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unkCE4C = gUnknown_083DFEC4->unkCE50 + gUnknown_083DFEC4->unkCE4C;
+
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ LoadPalette(&palettes[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+ return TRUE;
+ }
+
+}
+
+void sub_80EF54C(u8 a)
+{
+ if (a == 2)
+ {
+ a = 1;
+ }
+
+ gUnknown_083DFEC4->unkCE4C = a * 30;
+ LoadPalette(&gUnknown_083DFEC4->palettesCE52[gUnknown_083DFEC4->unkCE4C], 0x31, 4);
+}
+
+void sub_80EF58C(u8 a)
+{
+ u16 i;
+ u16 * palettes;
+ const u16 *var1;
+
+ switch (a)
+ {
+ case 0:
+ for (i = 0; i < 62; i++)
+ {
+ gUnknown_083DFEC4->palettesCE52[i] = 0;
+ }
+ break;
+ case 1:
+ palettes = gUnknown_083DFEC4->palettesCE52;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[1], &var1[3], 16, 2, palettes);
+ break;
+ case 2:
+ palettes = gUnknown_083DFEC4->palettesCE8E;
+ var1 = gUnknown_083E003C;
+ sub_80EF624(&var1[3], &var1[7], 16, 2, palettes);
+ break;
+ }
+}
+
+#ifdef NONMATCHING
+void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
+{
+ u16 red1, green1, blue1;
+ u16 red2, green2, blue2;
+ s32 redDiv, greenDiv, blueDiv;
+ u16 *palettes2;
+ u16 i, j;
+
+ i = 0;
+ while (i < d)
+ {
+ red1 = (*a & 0x1F) << 8;
+ green1 = ((*a >> 5) & 0x1F) << 8;
+ blue1 = ((*a >> 10) & 0x1F) << 8;
+
+ red2 = (*b & 0x1F) << 8;
+ green2 = ((*b >> 5) & 0x1F) << 8;
+ blue2 = ((*b >> 10) & 0x1F) << 8;
+
+ redDiv = (red2 - red1) / c;
+ greenDiv = (green2 - green1) / c;
+ blueDiv = (blue2 - blue1) / c;
+
+ palettes2 = palettes;
+ for (j = 0; j < c - 1; j++)
+ {
+ *palettes2 = (((blue1 << 8) >> 16) << 10) | (((green1 << 8) >> 16) << 5) | ((red1 << 8) >> 16);
+ palettes2 += d;
+ red1 += redDiv;
+ green1 += greenDiv;
+ blue1 += blueDiv;
+ }
+
+ *palettes2 = (red2 >> 8) | (blue2 << 2) | (green2 >> 3);
+ palettes++;
+
+ a++;
+ b++;
+ i++;
+ }
+}
+#else
+__attribute__((naked))
+void sub_80EF624(const u16 *a, const u16 *b, u8 c, u8 d, u16 *palettes)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x38\n\
+ str r0, [sp]\n\
+ str r1, [sp, 0x4]\n\
+ ldr r4, [sp, 0x58]\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp, 0x8]\n\
+ lsls r3, 24\n\
+ lsrs r3, 24\n\
+ str r3, [sp, 0xC]\n\
+ movs r0, 0\n\
+ str r0, [sp, 0x10]\n\
+ lsls r0, r3, 16\n\
+ ldr r1, [sp, 0x10]\n\
+ cmp r1, r3\n\
+ bcs _080EF72E\n\
+ subs r2, 0x1\n\
+ str r2, [sp, 0x20]\n\
+ str r0, [sp, 0x2C]\n\
+_080EF654:\n\
+ ldr r2, [sp]\n\
+ ldrh r1, [r2]\n\
+ movs r0, 0x1F\n\
+ ands r0, r1\n\
+ lsls r7, r0, 8\n\
+ lsls r1, 16\n\
+ lsrs r0, r1, 21\n\
+ movs r2, 0x1F\n\
+ ands r0, r2\n\
+ lsls r6, r0, 8\n\
+ lsrs r1, 26\n\
+ ands r1, r2\n\
+ lsls r5, r1, 8\n\
+ ldr r0, [sp, 0x4]\n\
+ ldrh r1, [r0]\n\
+ movs r0, 0x1F\n\
+ ands r0, r1\n\
+ lsls r0, 8\n\
+ str r0, [sp, 0x14]\n\
+ lsls r1, 16\n\
+ lsrs r0, r1, 21\n\
+ ands r0, r2\n\
+ lsls r0, 8\n\
+ str r0, [sp, 0x18]\n\
+ lsrs r1, 26\n\
+ ands r1, r2\n\
+ lsls r1, 8\n\
+ str r1, [sp, 0x1C]\n\
+ ldr r1, [sp, 0x14]\n\
+ subs r0, r1, r7\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r10, r0\n\
+ ldr r2, [sp, 0x18]\n\
+ subs r0, r2, r6\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r9, r0\n\
+ ldr r1, [sp, 0x1C]\n\
+ subs r0, r1, r5\n\
+ ldr r1, [sp, 0x8]\n\
+ bl __divsi3\n\
+ mov r8, r0\n\
+ adds r3, r4, 0\n\
+ movs r4, 0\n\
+ ldr r2, [sp]\n\
+ adds r2, 0x2\n\
+ str r2, [sp, 0x30]\n\
+ ldr r0, [sp, 0x4]\n\
+ adds r0, 0x2\n\
+ str r0, [sp, 0x34]\n\
+ adds r1, r3, 0x2\n\
+ str r1, [sp, 0x24]\n\
+ ldr r2, [sp, 0x10]\n\
+ adds r2, 0x1\n\
+ str r2, [sp, 0x28]\n\
+ ldr r0, [sp, 0x20]\n\
+ cmp r4, r0\n\
+ bge _080EF700\n\
+ ldr r1, [sp, 0xC]\n\
+ lsls r1, 1\n\
+ mov r12, r1\n\
+_080EF6D6:\n\
+ lsls r0, r7, 8\n\
+ lsrs r2, r0, 16\n\
+ lsls r0, r6, 8\n\
+ lsrs r1, r0, 16\n\
+ lsls r0, r5, 8\n\
+ lsrs r0, 16\n\
+ lsls r0, 10\n\
+ lsls r1, 5\n\
+ orrs r0, r1\n\
+ orrs r2, r0\n\
+ strh r2, [r3]\n\
+ add r3, r12\n\
+ add r7, r10\n\
+ add r6, r9\n\
+ add r5, r8\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ ldr r2, [sp, 0x20]\n\
+ cmp r4, r2\n\
+ blt _080EF6D6\n\
+_080EF700:\n\
+ ldr r4, [sp, 0x14]\n\
+ lsrs r2, r4, 8\n\
+ ldr r1, [sp, 0x1C]\n\
+ lsls r0, r1, 2\n\
+ ldr r4, [sp, 0x18]\n\
+ lsrs r1, r4, 3\n\
+ orrs r0, r1\n\
+ orrs r2, r0\n\
+ strh r2, [r3]\n\
+ ldr r0, [sp, 0x30]\n\
+ str r0, [sp]\n\
+ ldr r1, [sp, 0x34]\n\
+ str r1, [sp, 0x4]\n\
+ ldr r4, [sp, 0x24]\n\
+ ldr r2, [sp, 0x28]\n\
+ lsls r0, r2, 16\n\
+ lsrs r0, 16\n\
+ str r0, [sp, 0x10]\n\
+ ldr r1, [sp, 0x2C]\n\
+ lsrs r0, r1, 16\n\
+ ldr r2, [sp, 0x10]\n\
+ cmp r2, r0\n\
+ bcc _080EF654\n\
+_080EF72E:\n\
+ add sp, 0x38\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80EF740(void)
+{
+ gUnknown_083DFEC4->unk6DA0 = (gUnknown_083DFEC4->unk6DA0 + 1) & 1;
+ if (gUnknown_083DFEC4->unk6DA0)
+ {
+ gUnknown_083DFEC4->unk6DA2++;
+ }
+
+ REG_BG3HOFS = gUnknown_083DFEC4->unk6DA2;
+}
+
+void sub_80EF780(u8 taskId)
+{
+ if (gTasks[taskId].data[0] == 0 || (gUnknown_083DFEC4->unk6DA2 & 0x7) != 0)
+ {
+ sub_80EF740();
+ }
+ else
+ {
+ u16 value = gUnknown_083DFEC4->unk6DA2 & 0x7;
+ gUnknown_083DFEC4->unk6DA2 = value;
+ gUnknown_083DFEC4->unk6DA0 = value;
+ REG_BG3HOFS = value;
+ }
+}
+
+void sub_80EF7D4(void)
+{
+ gUnknown_083DFEC4->unk6DA2 = 0;
+ gUnknown_083DFEC4->unk6DA0 = 0;
+ gUnknown_083DFEC4->taskId6DA4 = CreateTask(sub_80EF780, 80);
+}
+
+void sub_80EF814(void)
+{
+ if (FuncIsActiveTask(sub_80EF780))
+ {
+ DestroyTask(gUnknown_083DFEC4->taskId6DA4);
+ }
+}
+
+void sub_80EF840(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
+
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EF874() != 0);
+ }
+}
+
+// The only non-matching part is the gSaveBlock2.regionMapZoom access.
+#ifdef NONMATCHING
+bool8 sub_80EF874(void)
+{
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7224);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7224);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80FA904(&gUnknown_083DFEC4->regionMap, gSaveBlock2.regionMapZoom);
+ break;
+ case 6:
+ if (sub_80FA940())
+ {
+ return TRUE;
+ }
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavHoennMapSquares_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LoadPalette(gPokenavHoennMapSquares_Pal, 0x30, 0x20);
+ sub_80EFC3C();
+ break;
+ case 9:
+ if (sub_80EFC64())
+ {
+ return TRUE;
+ }
+ break;
+ case 10:
+ MenuDrawTextWindow(13, 3, 29, 17);
+ sub_80EF9F8();
+ break;
+ case 11:
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ {
+ gUnknown_083DFEC4->unk7698 = 160;
+ REG_BG0VOFS = 160;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unk7698 = 256;
+ REG_BG0VOFS = 0;
+ }
+
+ REG_BG0CNT = REG_BG0CNT;
+ REG_BG0CNT |= 1;
+ REG_BLDCNT = 0;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
+}
+#else
+asm(".include \"constants/gba_constants.inc\"\n");
+
+__attribute__((naked))
+bool8 sub_80EF874(void)
+{
+ asm(".syntax unified\n\
+ push {lr}\n\
+ ldr r0, _080EF890 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080EF894 @ =0x0000d160\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0xB\n\
+ bls _080EF886\n\
+ b _080EF9D8\n\
+_080EF886:\n\
+ lsls r0, 2\n\
+ ldr r1, _080EF898 @ =_080EF89C\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080EF890: .4byte gUnknown_083DFEC4\n\
+_080EF894: .4byte 0x0000d160\n\
+_080EF898: .4byte _080EF89C\n\
+ .align 2, 0\n\
+_080EF89C:\n\
+ .4byte _080EF8CC\n\
+ .4byte _080EF8D2\n\
+ .4byte _080EF8E0\n\
+ .4byte _080EF8EC\n\
+ .4byte _080EF8F6\n\
+ .4byte _080EF8FC\n\
+ .4byte _080EF920\n\
+ .4byte _080EF92C\n\
+ .4byte _080EF940\n\
+ .4byte _080EF954\n\
+ .4byte _080EF960\n\
+ .4byte _080EF972\n\
+_080EF8CC:\n\
+ bl sub_80EEDE8\n\
+ b _080EF9DC\n\
+_080EF8D2:\n\
+ ldr r0, _080EF8DC @ =gWindowConfig_81E7224\n\
+ bl SetUpWindowConfig\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF8DC: .4byte gWindowConfig_81E7224\n\
+_080EF8E0:\n\
+ ldr r0, _080EF8E8 @ =gWindowConfig_81E7224\n\
+ bl MultistepInitMenuWindowBegin\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF8E8: .4byte gWindowConfig_81E7224\n\
+_080EF8EC:\n\
+ bl MultistepInitMenuWindowContinue\n\
+ cmp r0, 0\n\
+ bne _080EF9DC\n\
+ b _080EF9EA\n\
+_080EF8F6:\n\
+ bl MenuZeroFillScreen\n\
+ b _080EF9DC\n\
+_080EF8FC:\n\
+ ldr r0, _080EF914 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r2, _080EF918 @ =0x00006e18\n\
+ adds r0, r2\n\
+ ldr r1, _080EF91C @ =gSaveBlock2\n\
+ ldrb r1, [r1, 0x15]\n\
+ lsrs r1, 3\n\
+ movs r2, 0x1\n\
+ ands r1, r2\n\
+ bl sub_80FA904\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF914: .4byte gUnknown_083DFEC4\n\
+_080EF918: .4byte 0x00006e18\n\
+_080EF91C: .4byte gSaveBlock2\n\
+_080EF920:\n\
+ bl sub_80FA940\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EF9DC\n\
+ b _080EF9EA\n\
+_080EF92C:\n\
+ ldr r0, _080EF938 @ =gPokenavHoennMapSquares_Gfx\n\
+ ldr r1, _080EF93C @ =0x06005000\n\
+ bl LZ77UnCompVram\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF938: .4byte gPokenavHoennMapSquares_Gfx\n\
+_080EF93C: .4byte 0x06005000\n\
+_080EF940:\n\
+ ldr r0, _080EF950 @ =gPokenavHoennMapSquares_Pal\n\
+ movs r1, 0x30\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ bl sub_80EFC3C\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF950: .4byte gPokenavHoennMapSquares_Pal\n\
+_080EF954:\n\
+ bl sub_80EFC64\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EF9DC\n\
+ b _080EF9EA\n\
+_080EF960:\n\
+ movs r0, 0xD\n\
+ movs r1, 0x3\n\
+ movs r2, 0x1D\n\
+ movs r3, 0x11\n\
+ bl MenuDrawTextWindow\n\
+ bl sub_80EF9F8\n\
+ b _080EF9DC\n\
+_080EF972:\n\
+ ldr r0, _080EF990 @ =gUnknown_083DFEC4\n\
+ ldr r1, [r0]\n\
+ ldr r2, _080EF994 @ =0x00006e90\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080EF9A0\n\
+ ldr r2, _080EF998 @ =0x00007698\n\
+ adds r0, r1, r2\n\
+ movs r1, 0xA0\n\
+ strh r1, [r0]\n\
+ ldr r0, _080EF99C @ =REG_BG0VOFS\n\
+ strh r1, [r0]\n\
+ b _080EF9B0\n\
+ .align 2, 0\n\
+_080EF990: .4byte gUnknown_083DFEC4\n\
+_080EF994: .4byte 0x00006e90\n\
+_080EF998: .4byte 0x00007698\n\
+_080EF99C: .4byte REG_BG0VOFS\n\
+_080EF9A0:\n\
+ ldr r0, _080EF9C8 @ =0x00007698\n\
+ adds r1, r0\n\
+ movs r2, 0\n\
+ movs r0, 0x80\n\
+ lsls r0, 1\n\
+ strh r0, [r1]\n\
+ ldr r0, _080EF9CC @ =REG_BG0VOFS\n\
+ strh r2, [r0]\n\
+_080EF9B0:\n\
+ ldr r2, _080EF9D0 @ =REG_BG0CNT\n\
+ ldrh r0, [r2]\n\
+ strh r0, [r2]\n\
+ ldrh r0, [r2]\n\
+ movs r1, 0x1\n\
+ orrs r0, r1\n\
+ strh r0, [r2]\n\
+ ldr r1, _080EF9D4 @ =REG_BLDCNT\n\
+ movs r0, 0\n\
+ strh r0, [r1]\n\
+ b _080EF9DC\n\
+ .align 2, 0\n\
+_080EF9C8: .4byte 0x00007698\n\
+_080EF9CC: .4byte REG_BG0VOFS\n\
+_080EF9D0: .4byte REG_BG0CNT\n\
+_080EF9D4: .4byte REG_BLDCNT\n\
+_080EF9D8:\n\
+ movs r0, 0\n\
+ b _080EF9EC\n\
+_080EF9DC:\n\
+ ldr r0, _080EF9F0 @ =gUnknown_083DFEC4\n\
+ ldr r1, [r0]\n\
+ ldr r2, _080EF9F4 @ =0x0000d160\n\
+ adds r1, r2\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+_080EF9EA:\n\
+ movs r0, 0x1\n\
+_080EF9EC:\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080EF9F0: .4byte gUnknown_083DFEC4\n\
+_080EF9F4: .4byte 0x0000d160\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+#ifdef NONMATCHING
+void sub_80EF9F8(void)
+{
+ s32 zero;
+ u16 i;
+ u8 *mapSectionName;
+ u32 offset;
+ u16 mapSectionId;
+ u8 b;
+ u8 **pointer;
+ u16 var1 = 4;
+
+
+ switch (gUnknown_083DFEC4->regionMap.unk16)
+ {
+ case 1:
+ case 4:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, var1 * 8, 0x78, 1);
+ var1 += 2;
+
+ if (gLinkOpen == TRUE)
+ {
+ sub_80F1A80();
+ }
+ else
+ {
+ i = 0;
+ while (i < 4 && (mapSectionName = GetLandmarkName(gUnknown_083DFEC4->regionMap.mapSectionId, gUnknown_083DFEC4->regionMap.everGrandeCityArea, i)) != NULL)
+ {
+ sub_8072A18(mapSectionName, 0x70, var1 * 8, 0x78, 1);
+ var1 += 2;
+ i++;
+ }
+
+ // This check is always true, but somehow the compiler still performed it.
+ asm("mov %0, #0\n":"=r"(zero)); // zero = 0
+ if (!zero && var1 < 16)
+ {
+ MenuFillWindowRectWithBlankTile(14, var1, 28, 15);
+ }
+ }
+ break;
+ case 2:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, var1 * 8, 0x78, 1);
+ var1 += 2;
+
+ mapSectionId = gUnknown_083DFEC4->regionMap.mapSectionId;
+ b = gUnknown_083DFEC4->regionMap.everGrandeCityArea;
+ offset = (b << 2) + (mapSectionId << 3);
+ pointer = (u8 **)((u8 *)&gUnknown_083DFEC4->unkCDCC + offset);
+ if (*pointer != NULL)
+ {
+ MenuFillWindowRectWithBlankTile(14, var1, 15, 15);
+ MenuFillWindowRectWithBlankTile(26, var1, 28, 15);
+
+ sub_8095C8C((void *)VRAM + 0xF800, 16, 6, *pointer, 0, 0, 10, 10, 10);
+
+ var1 += 11;
+ }
+
+ // This check is always true, but somehow the compiler still performed it.
+ asm("mov %0, #0\n":"=r"(zero)); // zero = 0
+ if (!zero && var1 < 16)
+ {
+ MenuFillWindowRectWithBlankTile(14, var1, 28, 15);
+ }
+ break;
+ case 3:
+ sub_8072A18(gUnknown_083DFEC4->regionMap.mapSectionName, 0x70, var1 * 8, 0x78, 1);
+ var1 += 2;
+
+ // This check is always true, but somehow the compiler still performed it.
+ asm("mov %0, #0\n":"=r"(zero)); // zero = 0
+ if (!zero && var1 < 16)
+ {
+ MenuFillWindowRectWithBlankTile(14, var1, 28, 15);
+ }
+ break;
+ case 0:
+ default:
+ // This check is always true, but somehow the compiler still performed it.
+ asm("mov %0, #0\n":"=r"(zero)); // zero = 0
+ if (!zero && var1 < 16)
+ {
+ MenuFillWindowRectWithBlankTile(14, var1, 28, 15);
+ }
+ break;
+ }
+
+ if (gUnknown_083DFEC4->regionMap.unk16 == 2)
+ {
+ sub_80EFD74();
+ }
+ else
+ {
+ sub_80EFDA0();
+ }
+}
+#else
+__attribute__((naked))
+void sub_80EF9F8(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ sub sp, 0x14\n\
+ movs r5, 0x4\n\
+ ldr r0, _080EFA18 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080EFA1C @ =0x00006e2e\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x4\n\
+ bls _080EFA0E\n\
+ b _080EFB6A\n\
+_080EFA0E:\n\
+ lsls r0, 2\n\
+ ldr r1, _080EFA20 @ =_080EFA24\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080EFA18: .4byte gUnknown_083DFEC4\n\
+_080EFA1C: .4byte 0x00006e2e\n\
+_080EFA20: .4byte _080EFA24\n\
+ .align 2, 0\n\
+_080EFA24:\n\
+ .4byte _080EFB6A\n\
+ .4byte _080EFA38\n\
+ .4byte _080EFAC0\n\
+ .4byte _080EFB4C\n\
+ .4byte _080EFA38\n\
+_080EFA38:\n\
+ ldr r0, _080EFA64 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r2, _080EFA68 @ =0x00006e18\n\
+ adds r0, r2\n\
+ lsls r2, r5, 19\n\
+ lsrs r2, 16\n\
+ movs r1, 0x1\n\
+ str r1, [sp]\n\
+ movs r1, 0x70\n\
+ movs r3, 0x78\n\
+ bl sub_8072A18\n\
+ adds r0, r5, 0x2\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r0, _080EFA6C @ =gLinkOpen\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ bne _080EFA70\n\
+ bl sub_80F1A80\n\
+ b _080EFB82\n\
+ .align 2, 0\n\
+_080EFA64: .4byte gUnknown_083DFEC4\n\
+_080EFA68: .4byte 0x00006e18\n\
+_080EFA6C: .4byte gLinkOpen\n\
+_080EFA70:\n\
+ movs r4, 0\n\
+ b _080EFA92\n\
+_080EFA74:\n\
+ lsls r2, r5, 19\n\
+ lsrs r2, 16\n\
+ movs r0, 0x1\n\
+ str r0, [sp]\n\
+ adds r0, r1, 0\n\
+ movs r1, 0x70\n\
+ movs r3, 0x78\n\
+ bl sub_8072A18\n\
+ adds r0, r5, 0x2\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+_080EFA92:\n\
+ cmp r4, 0x3\n\
+ bhi _080EFB6A\n\
+ ldr r0, _080EFAB8 @ =gUnknown_083DFEC4\n\
+ ldr r1, [r0]\n\
+ ldr r2, _080EFABC @ =0x00006e2c\n\
+ adds r0, r1, r2\n\
+ ldrb r0, [r0]\n\
+ adds r2, 0x3\n\
+ adds r1, r2\n\
+ ldrb r1, [r1]\n\
+ lsls r2, r4, 24\n\
+ lsrs r2, 24\n\
+ bl GetLandmarkName\n\
+ adds r1, r0, 0\n\
+ cmp r1, 0\n\
+ bne _080EFA74\n\
+ b _080EFB6A\n\
+ .align 2, 0\n\
+_080EFAB8: .4byte gUnknown_083DFEC4\n\
+_080EFABC: .4byte 0x00006e2c\n\
+_080EFAC0:\n\
+ ldr r0, _080EFB38 @ =gUnknown_083DFEC4\n\
+ ldr r4, [r0]\n\
+ ldr r1, _080EFB3C @ =0x00006e18\n\
+ adds r0, r4, r1\n\
+ lsls r2, r5, 19\n\
+ lsrs r2, 16\n\
+ movs r1, 0x1\n\
+ str r1, [sp]\n\
+ movs r1, 0x70\n\
+ movs r3, 0x78\n\
+ bl sub_8072A18\n\
+ adds r0, r5, 0x2\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ ldr r2, _080EFB40 @ =0x00006e2c\n\
+ adds r0, r4, r2\n\
+ ldrh r1, [r0]\n\
+ adds r2, 0x3\n\
+ adds r0, r4, r2\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 2\n\
+ lsls r1, 3\n\
+ adds r0, r1\n\
+ ldr r1, _080EFB44 @ =0x0000cdcc\n\
+ adds r4, r1\n\
+ adds r6, r4, r0\n\
+ ldr r0, [r6]\n\
+ cmp r0, 0\n\
+ beq _080EFB6A\n\
+ lsls r4, r5, 24\n\
+ lsrs r4, 24\n\
+ movs r0, 0xE\n\
+ adds r1, r4, 0\n\
+ movs r2, 0xF\n\
+ movs r3, 0xF\n\
+ bl MenuFillWindowRectWithBlankTile\n\
+ movs r0, 0x1A\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x1C\n\
+ movs r3, 0xF\n\
+ bl MenuFillWindowRectWithBlankTile\n\
+ ldr r0, _080EFB48 @ =0x0600f800\n\
+ ldr r3, [r6]\n\
+ movs r1, 0\n\
+ str r1, [sp]\n\
+ str r1, [sp, 0x4]\n\
+ movs r1, 0xA\n\
+ str r1, [sp, 0x8]\n\
+ str r1, [sp, 0xC]\n\
+ str r1, [sp, 0x10]\n\
+ movs r1, 0x10\n\
+ movs r2, 0x6\n\
+ bl sub_8095C8C\n\
+ adds r0, r5, 0\n\
+ adds r0, 0xB\n\
+ b _080EFB66\n\
+ .align 2, 0\n\
+_080EFB38: .4byte gUnknown_083DFEC4\n\
+_080EFB3C: .4byte 0x00006e18\n\
+_080EFB40: .4byte 0x00006e2c\n\
+_080EFB44: .4byte 0x0000cdcc\n\
+_080EFB48: .4byte 0x0600f800\n\
+_080EFB4C:\n\
+ ldr r0, _080EFB98 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r2, _080EFB9C @ =0x00006e18\n\
+ adds r0, r2\n\
+ lsls r2, r5, 19\n\
+ lsrs r2, 16\n\
+ movs r1, 0x1\n\
+ str r1, [sp]\n\
+ movs r1, 0x70\n\
+ movs r3, 0x78\n\
+ bl sub_8072A18\n\
+ adds r0, r5, 0x2\n\
+_080EFB66:\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+_080EFB6A:\n\
+ movs r0, 0\n\
+ cmp r0, 0\n\
+ bne _080EFB82\n\
+ cmp r5, 0xF\n\
+ bhi _080EFB82\n\
+ lsls r1, r5, 24\n\
+ lsrs r1, 24\n\
+ movs r0, 0xE\n\
+ movs r2, 0x1C\n\
+ movs r3, 0xF\n\
+ bl MenuFillWindowRectWithBlankTile\n\
+_080EFB82:\n\
+ ldr r0, _080EFB98 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080EFBA0 @ =0x00006e2e\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x2\n\
+ bne _080EFBA4\n\
+ bl sub_80EFD74\n\
+ b _080EFBA8\n\
+ .align 2, 0\n\
+_080EFB98: .4byte gUnknown_083DFEC4\n\
+_080EFB9C: .4byte 0x00006e18\n\
+_080EFBA0: .4byte 0x00006e2e\n\
+_080EFBA4:\n\
+ bl sub_80EFDA0\n\
+_080EFBA8:\n\
+ add sp, 0x14\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80EFBB0(void)
+{
+ if (!gUnknown_083DFEC4->regionMap.zoomed)
+ {
+ sub_80EEFBC(8);
+ }
+ else
+ {
+ sub_80EEFBC(7);
+ }
+}
+
+bool8 sub_80EFBDC(bool8 a)
+{
+ bool8 retVal = TRUE;
+ u16 var1 = gUnknown_083DFEC4->unk7698;
+
+ if (a)
+ {
+ if (var1 > 168)
+ {
+ var1 = var1 - 8;
+ }
+ else
+ {
+ var1 = 160;
+ retVal = FALSE;
+ }
+ }
+ else
+ {
+ if (var1 < 248)
+ {
+ var1 = var1 + 8;
+ }
+ else
+ {
+ var1 = 256;
+ retVal = FALSE;
+ }
+ }
+
+ gUnknown_083DFEC4->unk7698 = var1;
+ REG_BG0VOFS = var1 & 0xFF;
+
+ return retVal;
+}
+
+void sub_80EFC3C(void)
+{
+ gUnknown_083DFEC4->unkBC9A = 0;
+ gUnknown_083DFEC4->unkBC9B = 0;
+ sub_80EFD3C();
+}
+
+#ifdef NONMATCHING // "var1 = gUnknown_083DFEC4->unkBC9A;" is the only thing that doesnt' match.
+bool8 sub_80EFC64(void)
+{
+ u16 i;
+ u16 var1;
+ u16 var2;
+
+ if (gUnknown_083DFEC4->unkBC9A < 16)
+ {
+ var1 = gUnknown_083DFEC4->unkBC9A;
+ var2 = gUnknown_083DFEC4->unkBC9B;
+ for (i = 0; i < 2; i++)
+ {
+ if (gPokenavCityMaps[var1][i] != 0)
+ {
+ LZ77UnCompVram(gPokenavCityMaps[var1][i], gUnknown_083DFEC4->unkBC9C[var2]);
+ gUnknown_083DFEC4->unkCDCC[var1][i] = gUnknown_083DFEC4->unkBC9C[var2];
+ var2++;
+ }
+ else
+ {
+ gUnknown_083DFEC4->unkCDCC[var1][i] = NULL;
+ }
+ }
+
+ gUnknown_083DFEC4->unkBC9A++;
+ if (gUnknown_083DFEC4->unkBC9A < 16)
+ {
+ gUnknown_083DFEC4->unkBC9B = var2;
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+#else
+__attribute__((naked))
+bool8 sub_80EFC64(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ sub sp, 0x8\n\
+ ldr r4, _080EFCD0 @ =gUnknown_083DFEC4\n\
+ ldr r2, [r4]\n\
+ ldr r0, _080EFCD4 @ =0x0000bc9a\n\
+ adds r1, r2, r0\n\
+ ldrb r0, [r1]\n\
+ cmp r0, 0xF\n\
+ bhi _080EFD2C\n\
+ ldrb r1, [r1]\n\
+ mov r8, r1\n\
+ ldr r1, _080EFCD8 @ =0x0000bc9b\n\
+ adds r0, r2, r1\n\
+ ldrb r7, [r0]\n\
+ movs r2, 0\n\
+ ldr r0, _080EFCDC @ =gPokenavCityMaps\n\
+ mov r9, r0\n\
+ adds r3, r4, 0\n\
+_080EFC8E:\n\
+ lsls r0, r2, 2\n\
+ mov r4, r8\n\
+ lsls r1, r4, 3\n\
+ adds r6, r0, r1\n\
+ mov r1, r9\n\
+ adds r0, r6, r1\n\
+ ldr r1, [r0]\n\
+ cmp r1, 0\n\
+ beq _080EFCE8\n\
+ movs r0, 0xC8\n\
+ adds r5, r7, 0\n\
+ muls r5, r0\n\
+ ldr r4, _080EFCE0 @ =0x0000bc9c\n\
+ adds r5, r4\n\
+ ldr r4, [r3]\n\
+ adds r5, r4, r5\n\
+ adds r0, r1, 0\n\
+ adds r1, r5, 0\n\
+ str r2, [sp]\n\
+ str r3, [sp, 0x4]\n\
+ bl LZ77UnCompVram\n\
+ ldr r0, _080EFCE4 @ =0x0000cdcc\n\
+ adds r4, r0\n\
+ adds r4, r6\n\
+ str r5, [r4]\n\
+ adds r0, r7, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r7, r0, 16\n\
+ ldr r2, [sp]\n\
+ ldr r3, [sp, 0x4]\n\
+ b _080EFCF2\n\
+ .align 2, 0\n\
+_080EFCD0: .4byte gUnknown_083DFEC4\n\
+_080EFCD4: .4byte 0x0000bc9a\n\
+_080EFCD8: .4byte 0x0000bc9b\n\
+_080EFCDC: .4byte gPokenavCityMaps\n\
+_080EFCE0: .4byte 0x0000bc9c\n\
+_080EFCE4: .4byte 0x0000cdcc\n\
+_080EFCE8:\n\
+ ldr r0, [r3]\n\
+ ldr r4, _080EFD1C @ =0x0000cdcc\n\
+ adds r0, r4\n\
+ adds r0, r6\n\
+ str r1, [r0]\n\
+_080EFCF2:\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r2, r0, 16\n\
+ cmp r2, 0x1\n\
+ bls _080EFC8E\n\
+ ldr r0, _080EFD20 @ =gUnknown_083DFEC4\n\
+ ldr r2, [r0]\n\
+ ldr r0, _080EFD24 @ =0x0000bc9a\n\
+ adds r1, r2, r0\n\
+ ldrb r0, [r1]\n\
+ adds r0, 0x1\n\
+ strb r0, [r1]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0xF\n\
+ bhi _080EFD2C\n\
+ ldr r1, _080EFD28 @ =0x0000bc9b\n\
+ adds r0, r2, r1\n\
+ strb r7, [r0]\n\
+ movs r0, 0x1\n\
+ b _080EFD2E\n\
+ .align 2, 0\n\
+_080EFD1C: .4byte 0x0000cdcc\n\
+_080EFD20: .4byte gUnknown_083DFEC4\n\
+_080EFD24: .4byte 0x0000bc9a\n\
+_080EFD28: .4byte 0x0000bc9b\n\
+_080EFD2C:\n\
+ movs r0, 0\n\
+_080EFD2E:\n\
+ add sp, 0x8\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
+
+void sub_80EFD3C(void)
+{
+ gUnknown_083DFEC4->unk769E = 0;
+ gUnknown_083DFEC4->unk769C = 47;
+ gUnknown_083DFEC4->unk769D = 0;
+ gUnknown_083DFEC4->unk769A = 0;
+}
+
+void sub_80EFD74(void)
+{
+ gUnknown_083DFEC4->unk769E = 1;
+
+ if (gUnknown_083DFEC4->unk769D == 1)
+ {
+ gUnknown_083DFEC4->unk769D = 2;
+ }
+}
+
+void sub_80EFDA0(void)
+{
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9AC2C, 0, 0, 15, 1, 15);
+ gUnknown_083DFEC4->unk769E = 0;
+}
+
+void sub_80EFDE4(u8 param0)
+{
+ u16 var1 = 60 - gUnknown_083DFEC4->unk769C;
+
+ if (var1 > 15)
+ {
+ var1 = 15;
+ }
+
+ if (gUnknown_083DFEC4->unk769E != 0)
+ {
+ sub_8095C8C((void *)VRAM + 0xF800, 14, 16, gUnknown_08E9ABB4, gUnknown_083DFEC4->unk769C, 0, var1, 1, 60);
+
+ if (var1 < 15)
+ {
+ u16 var2 = var1 + 14;
+
+ sub_8095C8C((void *)VRAM + 0xF800, var2, 16, gUnknown_08E9ABB4, 0, 0, (u16)(15 - var1), 1, 60);
+ }
+ }
+}
+
+void sub_80EFE7C(void)
+{
+ u16 var1;
+ u8 var2 = gUnknown_083DFEC4->unk769D;
+
+ switch (var2)
+ {
+ case 0:
+ var1 = ++gUnknown_083DFEC4->unk769C;
+
+ if (var1 > 59)
+ {
+ gUnknown_083DFEC4->unk769C = var2;
+ }
+
+ sub_80EFDE4(gUnknown_083DFEC4->unk769E);
+
+ switch (gUnknown_083DFEC4->unk769C)
+ {
+ case 0:
+ case 15:
+ case 30:
+ case 45:
+ gUnknown_083DFEC4->unk769D = 1;
+ gUnknown_083DFEC4->unk769A = 0;
+ break;
+ }
+ break;
+ case 1:
+ var1 = ++gUnknown_083DFEC4->unk769A;
+ if (var1 > 120)
+ {
+ gUnknown_083DFEC4->unk769A = 0;
+ gUnknown_083DFEC4->unk769D = 0;
+ }
+ break;
+ case 2:
+ sub_80EFDE4(1);
+ gUnknown_083DFEC4->unk769D = 1;
+ break;
+ }
+}
+
+void sub_80EFF34(void)
+{
+ gUnknown_083DFEC4->unkD160 = 0;
+
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80EFF68());
+ }
+}
+
+bool8 sub_80EFF68(void)
+{
+ switch (gUnknown_083DFEC4->unkD160)
+ {
+ case 0:
+ sub_80EEDE8();
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E7080);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E7080);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ sub_80F1614();
+ break;
+ case 6:
+ if (sub_80F162C(0))
+ {
+ return TRUE;
+ }
+ break;
+ case 7:
+ LZ77UnCompVram(gPokenavConditionView_Gfx, (void *)VRAM + 0x5000);
+ break;
+ case 8:
+ LZ77UnCompVram(gUnknown_08E9AC4C, (void *)VRAM + 0xF000);
+ LoadPalette(gPokenavConditionMenu2_Pal, 0x20, 0x20);
+ break;
+ case 9:
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ {
+ sub_8095C8C((void *)VRAM + 0xF000, 0, 5, gUnknown_083E01AC, 0, 0, 9, 4, 9);
+ }
+ break;
+ case 10:
+ LZ77UnCompVram(gUnknown_08E9FEB4, (void *)VRAM + 0xB800);
+ break;
+ case 11:
+ LoadPalette(gUnknown_083E0254, 0x30, 0x20);
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gPokenavConditionMenu2_Pal[2], 0xB1, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[16], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionMenu2_Pal[30], 0xBF, 0x2);
+ sub_80F01A4();
+ break;
+ case 12:
+ sub_80F01E0((u16)gUnknown_083DFEC4->unk8fe9);
+ break;
+ case 13:
+ REG_BG3CNT = 0x1E03;
+ REG_BG2CNT = 0x1702;
+ REG_BLDCNT = 0x844;
+ REG_BLDALPHA = 0x40B;
+ break;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unkD160++;
+ return TRUE;
+}
+
+void sub_80F0174(bool8 a)
+{
+ if (a)
+ {
+ REG_DISPCNT |= DISPCNT_BG2_ON;
+ }
+ else
+ {
+ REG_DISPCNT &= ~DISPCNT_BG2_ON;
+ }
+}
+
+void sub_80F01A4(void)
+{
+ REG_WIN0H = WIN_RANGE(0, 240);
+ REG_WIN1H = WIN_RANGE(0, 155);
+ REG_WIN0V = WIN_RANGE(56, 121);
+ REG_WIN1V = WIN_RANGE(56, 121);
+ REG_WININ = 0x3F3F;
+ REG_WINOUT = 0x001B;
+}
+
+void sub_80F01E0(u16 a)
+{
+ MenuPrint(gUnknown_083DFEC4->unk8829[a], 13, 1);
+
+ if (gUnknown_083DFEC4->unk76AA == 1)
+ {
+ MenuPrint(gUnknown_083DFEC4->unk88E9[a], 13, 3);
+ sub_80F443C(gUnknown_083DFEC4->unk8788, gUnknown_083DFEC4->unk893c[gUnknown_083DFEC4->unk87DC].unk2);
+ MenuPrint(gUnknown_083DFEC4->unk8788, 1, 6);
+ }
+}
+
+void sub_80F0264(u8 a)
+{
+ gUnknown_083DFEC4->unk306 = 0;
+ gUnknown_083DFEC4->unk87CA = a;
+
+ if (gUnknown_083DFEC4->unk6DAC == 0)
+ {
+ while (sub_80F02A0());
+ }
+}
+
+#ifdef NONMATCHING // small nonmatching part is in the third else clause in case 7.
+bool8 sub_80F02A0(void)
+{
+ const u16 *pointer;
+
+ switch (gUnknown_083DFEC4->unk306)
+ {
+ case 0:
+ sub_80EEDE8();
+
+ gUnknown_083DFEC4->unk87C8 = gUnknown_083DFEC4->unk87CA == 1;
+ gUnknown_083DFEC4->unkD162[0] = 11;
+ break;
+ case 1:
+ SetUpWindowConfig(&gWindowConfig_81E70D4);
+ break;
+ case 2:
+ MultistepInitMenuWindowBegin(&gWindowConfig_81E70D4);
+ break;
+ case 3:
+ if (!MultistepInitMenuWindowContinue())
+ {
+ return TRUE;
+ }
+ break;
+ case 4:
+ MenuZeroFillScreen();
+ break;
+ case 5:
+ LZ77UnCompVram(gUnknown_08E9FC64, (void *)VRAM + 0xE800);
+ break;
+ case 6:
+ LZ77UnCompVram(gPokenavConditionSearch2_Gfx, (void *)VRAM + 0x8000);
+ break;
+ case 7:
+ LoadPalette(gUnknown_083E02B4, 0xB0, 0x20);
+ LoadPalette(gUnknown_083E02B4, 0xF0, 0x20);
+ LoadPalette(gUnknown_083E0334, 0x40, 0x20);
+
+ if (gUnknown_083DFEC4->unk87CA == 0)
+ {
+ LoadPalette(gPokenavConditionSearch2_Pal, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gPokenavConditionSearch2_Pal[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gPokenavConditionSearch2_Pal[5], 0xBF, 0x2);
+ }
+ else if (gUnknown_083DFEC4->unk87CA == 1)
+ {
+ LoadPalette(gUnknown_083E0274, 0x30, 0x20);
+ gPlttBufferUnfaded[0] = gUnknown_083E0274[5];
+ LoadPalette(gUnknownPalette_81E6692, 0xB0, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(&gUnknown_083E0274[5], 0xBF, 0x2);
+ }
+ else
+ {
+ LoadPalette(gUnknown_08E9F9E8, 0x30, 0x20);
+ pointer = &gUnknown_08E9F9E8[5];
+ gPlttBufferUnfaded[0] = gUnknown_08E9F9E8[5];
+ LoadPalette(gUnknown_083E0314, 0x50, 0x20);
+ LoadPalette(&gUnknown_083E02B4[1], 0xB1, 0x2);
+ LoadPalette(&gUnknown_083E02B4[8], 0xB5, 0x2);
+ LoadPalette(pointer, 0xBF, 0x2);
+ LoadPalette(pointer, 0x5F, 0x2);
+ }
+ break;
+ case 8:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 5, gUnknown_08E9FD1C, 0, 0, 9, 4, 9);
+ }
+ else
+ {
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 4, gUnknown_08E9FE54, 0, 0, 12, 10, 12);
+ sub_8095C8C((void *)VRAM + 0xE800, 0, 8, gUnknown_08E9FD64, 0, 0, 12, 10, 12);
+ }
+ break;
+ case 9:
+ LZ77UnCompVram(gUnknown_083E0354, (void *)VRAM + 0x5000);
+ break;
+ case 10:
+ DmaClear16(3, (void *)VRAM + 0xF800, 0x800);
+ break;
+ case 11:
+ sub_80F0900();
+ break;
+ case 12:
+ if (sub_80F0944())
+ {
+ return TRUE;
+ }
+ break;
+ case 13:
+ if (gUnknown_083DFEC4->unk87CA != 2)
+ {
+ ShowMapNamePopUpWindow();
+ }
+ else
+ {
+ sub_80F081C(0);
+ sub_80F0FFC(gUnknown_083DFEC4->unk876E);
+ }
+ break;
+ case 14:
+ REG_BG2CNT = 0x1D0A;
+ REG_BG3CNT = 0x1E03;
+ REG_BG0CNT = 0x1F01;
+ REG_BG3VOFS = 0xF8;
+
+ gUnknown_083DFEC4->unk8776 = 0xF8;
+ gUnknown_083DFEC4->unk8778 = 0;
+
+ REG_BLDCNT = 0;
+ gUnknown_083DFEC4->unkD160++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+
+ gUnknown_083DFEC4->unk306++;
+ return TRUE;
+}
+#else
+__attribute__((naked))
+bool8 sub_80F02A0(void)
+{
+ asm(".syntax unified\n\
+ push {r4-r6,lr}\n\
+ mov r6, r8\n\
+ push {r6}\n\
+ sub sp, 0x18\n\
+ ldr r1, _080F02C4 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r1]\n\
+ ldr r2, _080F02C8 @ =0x00000306\n\
+ adds r0, r2\n\
+ ldrh r0, [r0]\n\
+ adds r2, r1, 0\n\
+ cmp r0, 0xE\n\
+ bls _080F02BA\n\
+ b _080F05FA\n\
+_080F02BA:\n\
+ lsls r0, 2\n\
+ ldr r1, _080F02CC @ =_080F02D0\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080F02C4: .4byte gUnknown_083DFEC4\n\
+_080F02C8: .4byte 0x00000306\n\
+_080F02CC: .4byte _080F02D0\n\
+ .align 2, 0\n\
+_080F02D0:\n\
+ .4byte _080F030C\n\
+ .4byte _080F0344\n\
+ .4byte _080F0350\n\
+ .4byte _080F035C\n\
+ .4byte _080F0368\n\
+ .4byte _080F036E\n\
+ .4byte _080F0380\n\
+ .4byte _080F0394\n\
+ .4byte _080F04BC\n\
+ .4byte _080F053C\n\
+ .4byte _080F0550\n\
+ .4byte _080F0574\n\
+ .4byte _080F057A\n\
+ .4byte _080F0586\n\
+ .4byte _080F05BC\n\
+_080F030C:\n\
+ bl sub_80EEDE8\n\
+ ldr r0, _080F0334 @ =gUnknown_083DFEC4\n\
+ ldr r1, [r0]\n\
+ movs r2, 0\n\
+ ldr r3, _080F0338 @ =0x000087ca\n\
+ adds r0, r1, r3\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x1\n\
+ bne _080F0322\n\
+ movs r2, 0x1\n\
+_080F0322:\n\
+ ldr r3, _080F033C @ =0x000087c8\n\
+ adds r0, r1, r3\n\
+ strb r2, [r0]\n\
+ ldr r0, _080F0340 @ =0x0000d162\n\
+ adds r1, r0\n\
+ movs r0, 0xB\n\
+ strb r0, [r1]\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0334: .4byte gUnknown_083DFEC4\n\
+_080F0338: .4byte 0x000087ca\n\
+_080F033C: .4byte 0x000087c8\n\
+_080F0340: .4byte 0x0000d162\n\
+_080F0344:\n\
+ ldr r0, _080F034C @ =gWindowConfig_81E70D4\n\
+ bl SetUpWindowConfig\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F034C: .4byte gWindowConfig_81E70D4\n\
+_080F0350:\n\
+ ldr r0, _080F0358 @ =gWindowConfig_81E70D4\n\
+ bl MultistepInitMenuWindowBegin\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0358: .4byte gWindowConfig_81E70D4\n\
+_080F035C:\n\
+ bl MultistepInitMenuWindowContinue\n\
+ cmp r0, 0\n\
+ beq _080F0366\n\
+ b _080F0618\n\
+_080F0366:\n\
+ b _080F0626\n\
+_080F0368:\n\
+ bl MenuZeroFillScreen\n\
+ b _080F0618\n\
+_080F036E:\n\
+ ldr r0, _080F0378 @ =gUnknown_08E9FC64\n\
+ ldr r1, _080F037C @ =0x0600e800\n\
+ bl LZ77UnCompVram\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0378: .4byte gUnknown_08E9FC64\n\
+_080F037C: .4byte 0x0600e800\n\
+_080F0380:\n\
+ ldr r0, _080F038C @ =gPokenavConditionSearch2_Gfx\n\
+ ldr r1, _080F0390 @ =0x06008000\n\
+ bl LZ77UnCompVram\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F038C: .4byte gPokenavConditionSearch2_Gfx\n\
+_080F0390: .4byte 0x06008000\n\
+_080F0394:\n\
+ ldr r6, _080F03FC @ =gUnknown_083E02B4\n\
+ adds r0, r6, 0\n\
+ movs r1, 0xB0\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0\n\
+ movs r1, 0xF0\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ ldr r0, _080F0400 @ =gUnknown_083E0334\n\
+ movs r1, 0x40\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ ldr r0, _080F0404 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r1, _080F0408 @ =0x000087ca\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080F0418\n\
+ ldr r4, _080F040C @ =gPokenavConditionSearch2_Pal\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x30\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ ldr r1, _080F0410 @ =gPlttBufferUnfaded\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r1]\n\
+ ldr r0, _080F0414 @ =gUnknownPalette_81E6692\n\
+ movs r1, 0xB0\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0x2\n\
+ movs r1, 0xB1\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0\n\
+ adds r0, 0x10\n\
+ movs r1, 0xB5\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r4, 0xA\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xBF\n\
+ b _080F04A8\n\
+ .align 2, 0\n\
+_080F03FC: .4byte gUnknown_083E02B4\n\
+_080F0400: .4byte gUnknown_083E0334\n\
+_080F0404: .4byte gUnknown_083DFEC4\n\
+_080F0408: .4byte 0x000087ca\n\
+_080F040C: .4byte gPokenavConditionSearch2_Pal\n\
+_080F0410: .4byte gPlttBufferUnfaded\n\
+_080F0414: .4byte gUnknownPalette_81E6692\n\
+_080F0418:\n\
+ cmp r0, 0x1\n\
+ bne _080F0464\n\
+ ldr r4, _080F0458 @ =gUnknown_083E0274\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x30\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ ldr r1, _080F045C @ =gPlttBufferUnfaded\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r1]\n\
+ ldr r0, _080F0460 @ =gUnknownPalette_81E6692\n\
+ movs r1, 0xB0\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0x2\n\
+ movs r1, 0xB1\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0\n\
+ adds r0, 0x10\n\
+ movs r1, 0xB5\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r4, 0xA\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xBF\n\
+ b _080F04A8\n\
+ .align 2, 0\n\
+_080F0458: .4byte gUnknown_083E0274\n\
+_080F045C: .4byte gPlttBufferUnfaded\n\
+_080F0460: .4byte gUnknownPalette_81E6692\n\
+_080F0464:\n\
+ ldr r4, _080F04B0 @ =gUnknown_08E9F9E8\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x30\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ ldr r1, _080F04B4 @ =gPlttBufferUnfaded\n\
+ adds r5, r4, 0\n\
+ adds r5, 0xA\n\
+ ldrh r0, [r4, 0xA]\n\
+ strh r0, [r1]\n\
+ ldr r0, _080F04B8 @ =gUnknown_083E0314\n\
+ movs r1, 0x50\n\
+ movs r2, 0x20\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0x2\n\
+ movs r1, 0xB1\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r0, r6, 0\n\
+ adds r0, 0x10\n\
+ movs r1, 0xB5\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r0, r5, 0\n\
+ movs r1, 0xBF\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ adds r0, r5, 0\n\
+ movs r1, 0x5F\n\
+_080F04A8:\n\
+ movs r2, 0x2\n\
+ bl LoadPalette\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F04B0: .4byte gUnknown_08E9F9E8\n\
+_080F04B4: .4byte gPlttBufferUnfaded\n\
+_080F04B8: .4byte gUnknown_083E0314\n\
+_080F04BC:\n\
+ ldr r0, _080F04E8 @ =gUnknown_083DFEC4\n\
+ ldr r0, [r0]\n\
+ ldr r2, _080F04EC @ =0x000087ca\n\
+ adds r0, r2\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x2\n\
+ beq _080F04F8\n\
+ ldr r0, _080F04F0 @ =0x0600e800\n\
+ ldr r3, _080F04F4 @ =gUnknown_08E9FD1C\n\
+ movs r1, 0\n\
+ str r1, [sp]\n\
+ str r1, [sp, 0x4]\n\
+ movs r2, 0x9\n\
+ str r2, [sp, 0x8]\n\
+ movs r1, 0x4\n\
+ str r1, [sp, 0xC]\n\
+ str r2, [sp, 0x10]\n\
+ movs r1, 0\n\
+ movs r2, 0x5\n\
+ bl sub_8095C8C\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F04E8: .4byte gUnknown_083DFEC4\n\
+_080F04EC: .4byte 0x000087ca\n\
+_080F04F0: .4byte 0x0600e800\n\
+_080F04F4: .4byte gUnknown_08E9FD1C\n\
+_080F04F8:\n\
+ ldr r3, _080F0530 @ =0x0600e800\n\
+ mov r8, r3\n\
+ ldr r3, _080F0534 @ =gUnknown_08E9FE54\n\
+ movs r4, 0\n\
+ str r4, [sp]\n\
+ str r4, [sp, 0x4]\n\
+ movs r5, 0xC\n\
+ str r5, [sp, 0x8]\n\
+ movs r6, 0xA\n\
+ str r6, [sp, 0xC]\n\
+ str r5, [sp, 0x10]\n\
+ mov r0, r8\n\
+ movs r1, 0\n\
+ movs r2, 0x4\n\
+ bl sub_8095C8C\n\
+ ldr r3, _080F0538 @ =gUnknown_08E9FD64\n\
+ str r4, [sp]\n\
+ str r4, [sp, 0x4]\n\
+ str r5, [sp, 0x8]\n\
+ str r6, [sp, 0xC]\n\
+ str r5, [sp, 0x10]\n\
+ mov r0, r8\n\
+ movs r1, 0\n\
+ movs r2, 0x8\n\
+ bl sub_8095C8C\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0530: .4byte 0x0600e800\n\
+_080F0534: .4byte gUnknown_08E9FE54\n\
+_080F0538: .4byte gUnknown_08E9FD64\n\
+_080F053C:\n\
+ ldr r0, _080F0548 @ =gUnknown_083E0354\n\
+ ldr r1, _080F054C @ =0x06005000\n\
+ bl LZ77UnCompVram\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0548: .4byte gUnknown_083E0354\n\
+_080F054C: .4byte 0x06005000\n\
+_080F0550:\n\
+ ldr r2, _080F0568 @ =0x0600f800\n\
+ add r1, sp, 0x14\n\
+ movs r0, 0\n\
+ strh r0, [r1]\n\
+ ldr r0, _080F056C @ =0x040000d4\n\
+ str r1, [r0]\n\
+ str r2, [r0, 0x4]\n\
+ ldr r1, _080F0570 @ =0x81000400\n\
+ str r1, [r0, 0x8]\n\
+ ldr r0, [r0, 0x8]\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F0568: .4byte 0x0600f800\n\
+_080F056C: .4byte 0x040000d4\n\
+_080F0570: .4byte 0x81000400\n\
+_080F0574:\n\
+ bl sub_80F0900\n\
+ b _080F0618\n\
+_080F057A:\n\
+ bl sub_80F0944\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080F0618\n\
+ b _080F0626\n\
+_080F0586:\n\
+ ldr r0, _080F059C @ =gUnknown_083DFEC4\n\
+ ldr r4, [r0]\n\
+ ldr r1, _080F05A0 @ =0x000087ca\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x2\n\
+ beq _080F05A4\n\
+ bl ShowMapNamePopUpWindow\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F059C: .4byte gUnknown_083DFEC4\n\
+_080F05A0: .4byte 0x000087ca\n\
+_080F05A4:\n\
+ movs r0, 0\n\
+ bl sub_80F081C\n\
+ ldr r2, _080F05B8 @ =0x0000876e\n\
+ adds r0, r4, r2\n\
+ ldrb r0, [r0]\n\
+ bl sub_80F0FFC\n\
+ b _080F0618\n\
+ .align 2, 0\n\
+_080F05B8: .4byte 0x0000876e\n\
+_080F05BC:\n\
+ ldr r1, _080F0600 @ =REG_BG2CNT\n\
+ ldr r3, _080F0604 @ =0x00001d0a\n\
+ adds r0, r3, 0\n\
+ strh r0, [r1]\n\
+ adds r1, 0x2\n\
+ adds r3, 0xF9\n\
+ adds r0, r3, 0\n\
+ strh r0, [r1]\n\
+ subs r1, 0x6\n\
+ adds r3, 0xFE\n\
+ adds r0, r3, 0\n\
+ strh r0, [r1]\n\
+ adds r1, 0x16\n\
+ movs r0, 0xF8\n\
+ strh r0, [r1]\n\
+ ldr r1, [r2]\n\
+ ldr r0, _080F0608 @ =0x00008776\n\
+ adds r2, r1, r0\n\
+ movs r3, 0\n\
+ movs r0, 0xF8\n\
+ strh r0, [r2]\n\
+ ldr r2, _080F060C @ =0x00008778\n\
+ adds r0, r1, r2\n\
+ strh r3, [r0]\n\
+ ldr r0, _080F0610 @ =REG_BLDCNT\n\
+ strh r3, [r0]\n\
+ ldr r3, _080F0614 @ =0x0000d160\n\
+ adds r1, r3\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+_080F05FA:\n\
+ movs r0, 0\n\
+ b _080F0628\n\
+ .align 2, 0\n\
+_080F0600: .4byte REG_BG2CNT\n\
+_080F0604: .4byte 0x00001d0a\n\
+_080F0608: .4byte 0x00008776\n\
+_080F060C: .4byte 0x00008778\n\
+_080F0610: .4byte REG_BLDCNT\n\
+_080F0614: .4byte 0x0000d160\n\
+_080F0618:\n\
+ ldr r0, _080F0634 @ =gUnknown_083DFEC4\n\
+ ldr r1, [r0]\n\
+ ldr r0, _080F0638 @ =0x00000306\n\
+ adds r1, r0\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+_080F0626:\n\
+ movs r0, 0x1\n\
+_080F0628:\n\
+ add sp, 0x18\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r6}\n\
+ pop {r1}\n\
+ bx r1\n\
+ .align 2, 0\n\
+_080F0634: .4byte gUnknown_083DFEC4\n\
+_080F0638: .4byte 0x00000306\n\
+ .syntax divided\n");
+}
+#endif // NONMATCHING
diff --git a/sym_bss.txt b/sym_bss.txt
index 4f6d9c95b..6587c2c39 100644
--- a/sym_bss.txt
+++ b/sym_bss.txt
@@ -26,7 +26,7 @@
.include "src/field/tv.o"
.include "src/battle/battle_anim_80CA710.o"
.include "src/field/easy_chat.o"
- .include "src/field/pokenav.o"
+ .include "src/pokenav_before.o"
.include "src/field/mauville_man.o"
.include "src/field/menu_helpers.o"
.include "src/scene/contest_painting.o"