mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-09 19:07:50 -05:00
23096 lines
400 KiB
ArmAsm
23096 lines
400 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_80EBA5C
|
|
sub_80EBA5C: @ 80EBA5C
|
|
push {lr}
|
|
ldr r0, _080EBA74 @ =gMain
|
|
ldr r2, _080EBA78 @ =0x0000043c
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xE
|
|
bhi _080EBABC
|
|
lsls r0, 2
|
|
ldr r1, _080EBA7C @ =_080EBA80
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EBA74: .4byte gMain
|
|
_080EBA78: .4byte 0x0000043c
|
|
_080EBA7C: .4byte _080EBA80
|
|
.align 2, 0
|
|
_080EBA80:
|
|
.4byte _080EBAC0
|
|
.4byte _080EBB08
|
|
.4byte _080EBB10
|
|
.4byte _080EBB16
|
|
.4byte _080EBB1C
|
|
.4byte _080EBB22
|
|
.4byte _080EBB28
|
|
.4byte _080EBB2E
|
|
.4byte _080EBB3E
|
|
.4byte _080EBB4C
|
|
.4byte _080EBB5C
|
|
.4byte _080EBB6C
|
|
.4byte _080EBB7C
|
|
.4byte _080EBB90
|
|
.4byte _080EBBA0
|
|
_080EBABC:
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
_080EBAC0:
|
|
bl is_c1_link_related_active
|
|
ldr r3, _080EBAF0 @ =0x02000000
|
|
ldr r2, _080EBAF4 @ =0x00006dac
|
|
adds r1, r3, r2
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _080EBBC0
|
|
ldr r1, _080EBAF8 @ =0x00006dab
|
|
adds r0, r3, r1
|
|
strb r2, [r0]
|
|
ldr r1, _080EBAFC @ =gMain
|
|
ldr r2, _080EBB00 @ =0x0000043c
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, _080EBB04 @ =sub_80EBBE8
|
|
bl SetMainCallback2
|
|
b _080EBBC0
|
|
.align 2, 0
|
|
_080EBAF0: .4byte 0x02000000
|
|
_080EBAF4: .4byte 0x00006dac
|
|
_080EBAF8: .4byte 0x00006dab
|
|
_080EBAFC: .4byte gMain
|
|
_080EBB00: .4byte 0x0000043c
|
|
_080EBB04: .4byte sub_80EBBE8
|
|
_080EBB08:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
b _080EBBC0
|
|
_080EBB10:
|
|
bl ResetPaletteFade
|
|
b _080EBBC0
|
|
_080EBB16:
|
|
bl ResetSpriteData
|
|
b _080EBBC0
|
|
_080EBB1C:
|
|
bl FreeAllSpritePalettes
|
|
b _080EBBC0
|
|
_080EBB22:
|
|
bl ResetTasks
|
|
b _080EBBC0
|
|
_080EBB28:
|
|
bl remove_some_task
|
|
b _080EBBC0
|
|
_080EBB2E:
|
|
bl sub_80F1A90
|
|
ldr r1, _080EBB44 @ =gMain
|
|
ldr r0, _080EBB48 @ =0x0000043c
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080EBB3E:
|
|
bl sub_80F1AC4
|
|
b _080EBB80
|
|
.align 2, 0
|
|
_080EBB44: .4byte gMain
|
|
_080EBB48: .4byte 0x0000043c
|
|
_080EBB4C:
|
|
bl sub_80F2688
|
|
ldr r1, _080EBB64 @ =gMain
|
|
ldr r2, _080EBB68 @ =0x0000043c
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080EBB5C:
|
|
bl sub_80F26BC
|
|
b _080EBB80
|
|
.align 2, 0
|
|
_080EBB64: .4byte gMain
|
|
_080EBB68: .4byte 0x0000043c
|
|
_080EBB6C:
|
|
bl sub_80F36F0
|
|
ldr r1, _080EBB88 @ =gMain
|
|
ldr r0, _080EBB8C @ =0x0000043c
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080EBB7C:
|
|
bl sub_80F3724
|
|
_080EBB80:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EBBCC
|
|
b _080EBBC0
|
|
.align 2, 0
|
|
_080EBB88: .4byte gMain
|
|
_080EBB8C: .4byte 0x0000043c
|
|
_080EBB90:
|
|
bl sub_80EBC10
|
|
ldr r0, _080EBB9C @ =sub_80EBDD8
|
|
bl sub_80EBDBC
|
|
b _080EBBC0
|
|
.align 2, 0
|
|
_080EBB9C: .4byte sub_80EBDD8
|
|
_080EBBA0:
|
|
ldr r0, _080EBBD0 @ =0x02000000
|
|
ldr r1, _080EBBD4 @ =0x00006dab
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
movs r0, 0x6E
|
|
bl PlaySE
|
|
ldr r0, _080EBBD8 @ =sub_80EBD90
|
|
bl SetMainCallback2
|
|
ldr r0, _080EBBDC @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
bl sub_80F1A74
|
|
_080EBBC0:
|
|
ldr r1, _080EBBE0 @ =gMain
|
|
ldr r2, _080EBBE4 @ =0x0000043c
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080EBBCC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EBBD0: .4byte 0x02000000
|
|
_080EBBD4: .4byte 0x00006dab
|
|
_080EBBD8: .4byte sub_80EBD90
|
|
_080EBBDC: .4byte sub_80EBD18
|
|
_080EBBE0: .4byte gMain
|
|
_080EBBE4: .4byte 0x0000043c
|
|
thumb_func_end sub_80EBA5C
|
|
|
|
thumb_func_start sub_80EBBE8
|
|
sub_80EBBE8: @ 80EBBE8
|
|
push {r4,lr}
|
|
ldr r0, _080EBC08 @ =0x02000000
|
|
ldr r2, _080EBC0C @ =0x00006dab
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080EBC02
|
|
adds r4, r1, 0
|
|
_080EBBF8:
|
|
bl sub_80EBA5C
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _080EBBF8
|
|
_080EBC02:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EBC08: .4byte 0x02000000
|
|
_080EBC0C: .4byte 0x00006dab
|
|
thumb_func_end sub_80EBBE8
|
|
|
|
thumb_func_start sub_80EBC10
|
|
sub_80EBC10: @ 80EBC10
|
|
push {r4-r7,lr}
|
|
ldr r1, _080EBC7C @ =gKeyRepeatStartDelay
|
|
movs r0, 0x14
|
|
strh r0, [r1]
|
|
bl CalculatePlayerPartyCount
|
|
ldr r2, _080EBC80 @ =0x02000000
|
|
ldr r1, _080EBC84 @ =0x00008828
|
|
adds r3, r2, r1
|
|
movs r1, 0
|
|
strb r0, [r3]
|
|
ldr r3, _080EBC88 @ =0x00006ddc
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
ldr r3, _080EBC8C @ =0x00009344
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
ldr r3, _080EBC90 @ =0x00008768
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
ldr r3, _080EBC94 @ =0x0000ced0
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
movs r3, 0
|
|
ldr r0, _080EBC98 @ =0x00008fff
|
|
adds r7, r2, r0
|
|
mov r12, r2
|
|
movs r6, 0
|
|
ldr r5, _080EBC9C @ =0x00009040
|
|
movs r4, 0x9B
|
|
_080EBC4C:
|
|
adds r0, r3, r7
|
|
strb r6, [r0]
|
|
lsls r1, r3, 2
|
|
adds r1, r2
|
|
adds r0, r1, r5
|
|
strh r4, [r0]
|
|
ldr r0, _080EBCA0 @ =0x00009042
|
|
adds r1, r0
|
|
movs r0, 0x5B
|
|
strh r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x4
|
|
bls _080EBC4C
|
|
ldr r1, _080EBCA4 @ =0x00006e95
|
|
add r1, r12
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bl sub_80EBCA8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EBC7C: .4byte gKeyRepeatStartDelay
|
|
_080EBC80: .4byte 0x02000000
|
|
_080EBC84: .4byte 0x00008828
|
|
_080EBC88: .4byte 0x00006ddc
|
|
_080EBC8C: .4byte 0x00009344
|
|
_080EBC90: .4byte 0x00008768
|
|
_080EBC94: .4byte 0x0000ced0
|
|
_080EBC98: .4byte 0x00008fff
|
|
_080EBC9C: .4byte 0x00009040
|
|
_080EBCA0: .4byte 0x00009042
|
|
_080EBCA4: .4byte 0x00006e95
|
|
thumb_func_end sub_80EBC10
|
|
|
|
thumb_func_start sub_80EBCA8
|
|
sub_80EBCA8: @ 80EBCA8
|
|
push {r4,lr}
|
|
ldr r4, _080EBCDC @ =0x02000000
|
|
ldr r0, _080EBCE0 @ =0x00006db2
|
|
adds r1, r4, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, _080EBCE4 @ =0x00006db3
|
|
adds r1, r4, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldr r0, _080EBCE8 @ =0x00006db4
|
|
adds r1, r4, r0
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
ldr r0, _080EBCEC @ =0x0000083b
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080EBCF4
|
|
ldr r0, _080EBCF0 @ =0x00006db5
|
|
adds r1, r4, r0
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
b _080EBCFA
|
|
.align 2, 0
|
|
_080EBCDC: .4byte 0x02000000
|
|
_080EBCE0: .4byte 0x00006db2
|
|
_080EBCE4: .4byte 0x00006db3
|
|
_080EBCE8: .4byte 0x00006db4
|
|
_080EBCEC: .4byte 0x0000083b
|
|
_080EBCF0: .4byte 0x00006db5
|
|
_080EBCF4:
|
|
ldr r1, _080EBD0C @ =0x00006db5
|
|
adds r0, r4, r1
|
|
strb r2, [r0]
|
|
_080EBCFA:
|
|
ldr r0, _080EBD10 @ =0x02000000
|
|
ldr r1, _080EBD14 @ =0x00006db6
|
|
adds r0, r1
|
|
movs r1, 0x5
|
|
strb r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EBD0C: .4byte 0x00006db5
|
|
_080EBD10: .4byte 0x02000000
|
|
_080EBD14: .4byte 0x00006db6
|
|
thumb_func_end sub_80EBCA8
|
|
|
|
thumb_func_start sub_80EBD18
|
|
sub_80EBD18: @ 80EBD18
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
bl sub_80F1FF0
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EBD18
|
|
|
|
thumb_func_start sub_80EBD30
|
|
sub_80EBD30: @ 80EBD30
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
bl sub_80FB260
|
|
bl sub_80EFE7C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EBD30
|
|
|
|
thumb_func_start sub_80EBD4C
|
|
sub_80EBD4C: @ 80EBD4C
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
bl sub_80F5BF0
|
|
bl sub_8089668
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EBD4C
|
|
|
|
thumb_func_start sub_80EBD68
|
|
sub_80EBD68: @ 80EBD68
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
bl sub_80F6F64
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EBD68
|
|
|
|
thumb_func_start sub_80EBD80
|
|
sub_80EBD80: @ 80EBD80
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EBD80
|
|
|
|
thumb_func_start sub_80EBD90
|
|
sub_80EBD90: @ 80EBD90
|
|
push {lr}
|
|
ldr r0, _080EBDB8 @ =0x02000000
|
|
movs r1, 0xC0
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl RunTasks
|
|
bl UpdatePaletteFade
|
|
bl sub_80F19FC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EBDB8: .4byte 0x02000000
|
|
thumb_func_end sub_80EBD90
|
|
|
|
thumb_func_start sub_80EBDBC
|
|
sub_80EBDBC: @ 80EBDBC
|
|
ldr r2, _080EBDD4 @ =0x02000000
|
|
movs r3, 0xC0
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080EBDD4: .4byte 0x02000000
|
|
thumb_func_end sub_80EBDBC
|
|
|
|
thumb_func_start sub_80EBDD8
|
|
sub_80EBDD8: @ 80EBDD8
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EBDF8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x11
|
|
bls _080EBDEE
|
|
b _080EC000
|
|
_080EBDEE:
|
|
lsls r0, 2
|
|
ldr r1, _080EBDFC @ =_080EBE00
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EBDF8: .4byte 0x02000000
|
|
_080EBDFC: .4byte _080EBE00
|
|
.align 2, 0
|
|
_080EBE00:
|
|
.4byte _080EBE48
|
|
.4byte _080EBE80
|
|
.4byte _080EBE92
|
|
.4byte _080EBEAC
|
|
.4byte _080EBEC0
|
|
.4byte _080EBED2
|
|
.4byte _080EBEF0
|
|
.4byte _080EBF04
|
|
.4byte _080EBF18
|
|
.4byte _080EBF2C
|
|
.4byte _080EBF48
|
|
.4byte _080EBF54
|
|
.4byte _080EBF74
|
|
.4byte _080EBF88
|
|
.4byte _080EBFA0
|
|
.4byte _080EBFB4
|
|
.4byte _080EBFD0
|
|
.4byte _080EBFE8
|
|
_080EBE48:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
movs r1, 0x80
|
|
lsls r1, 19
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _080EBE74 @ =0x02000000
|
|
ldr r3, _080EBE78 @ =0x00006ddc
|
|
adds r0, r1, r3
|
|
ldrb r2, [r0]
|
|
subs r3, 0x2F
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
ldr r0, _080EBE7C @ =0x00006dae
|
|
adds r2, r1, r0
|
|
movs r0, 0x5
|
|
strb r0, [r2]
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBE74: .4byte 0x02000000
|
|
_080EBE78: .4byte 0x00006ddc
|
|
_080EBE7C: .4byte 0x00006dae
|
|
_080EBE80:
|
|
bl sub_80F3FF0
|
|
ldr r1, _080EBEA8 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EBE92:
|
|
bl sub_80F4024
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EBE9E
|
|
b _080EC000
|
|
_080EBE9E:
|
|
ldr r1, _080EBEA8 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBEA8: .4byte 0x02000000
|
|
_080EBEAC:
|
|
bl sub_80F2598
|
|
ldr r1, _080EBEBC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBEBC: .4byte 0x02000000
|
|
_080EBEC0:
|
|
bl sub_80EEE20
|
|
ldr r1, _080EBEEC @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EBED2:
|
|
bl sub_80EEE54
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EBEDE
|
|
b _080EC000
|
|
_080EBEDE:
|
|
bl sub_80EEE08
|
|
ldr r1, _080EBEEC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBEEC: .4byte 0x02000000
|
|
_080EBEF0:
|
|
movs r0, 0
|
|
bl sub_80EF248
|
|
ldr r1, _080EBF14 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EBF04:
|
|
movs r0, 0
|
|
bl sub_80EF284
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EBF12
|
|
b _080EC000
|
|
_080EBF12:
|
|
b _080EBFD4
|
|
.align 2, 0
|
|
_080EBF14: .4byte 0x02000000
|
|
_080EBF18:
|
|
movs r0, 0
|
|
bl sub_80F1B8C
|
|
ldr r1, _080EBF44 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EBF2C:
|
|
movs r0, 0
|
|
bl sub_80F1BC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC000
|
|
ldr r1, _080EBF44 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBF44: .4byte 0x02000000
|
|
_080EBF48:
|
|
ldr r0, _080EBF50 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
b _080EBFD4
|
|
.align 2, 0
|
|
_080EBF50: .4byte sub_80EBD18
|
|
_080EBF54:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _080EBF70 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBF70: .4byte 0x02000000
|
|
_080EBF74:
|
|
movs r0, 0
|
|
bl sub_80EED2C
|
|
ldr r1, _080EBF84 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBF84: .4byte 0x02000000
|
|
_080EBF88:
|
|
ldr r0, _080EBF9C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBF9C: .4byte gPaletteFade
|
|
_080EBFA0:
|
|
movs r0, 0
|
|
bl sub_80F2C80
|
|
ldr r1, _080EBFCC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EBFB4:
|
|
movs r0, 0
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC000
|
|
ldr r1, _080EBFCC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EBFDC
|
|
.align 2, 0
|
|
_080EBFCC: .4byte 0x02000000
|
|
_080EBFD0:
|
|
bl sub_80F1DF0
|
|
_080EBFD4:
|
|
ldr r1, _080EBFE4 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
_080EBFDC:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EC000
|
|
.align 2, 0
|
|
_080EBFE4: .4byte 0x02000000
|
|
_080EBFE8:
|
|
bl sub_80F1E50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC000
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80EF428
|
|
ldr r0, _080EC008 @ =sub_80EC268
|
|
bl sub_80EBDBC
|
|
_080EC000:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC008: .4byte sub_80EC268
|
|
thumb_func_end sub_80EBDD8
|
|
|
|
thumb_func_start sub_80EC00C
|
|
sub_80EC00C: @ 80EC00C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EC02C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xD
|
|
bls _080EC022
|
|
b _080EC1FA
|
|
_080EC022:
|
|
lsls r0, 2
|
|
ldr r1, _080EC030 @ =_080EC034
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EC02C: .4byte 0x02000000
|
|
_080EC030: .4byte _080EC034
|
|
.align 2, 0
|
|
_080EC034:
|
|
.4byte _080EC06C
|
|
.4byte _080EC0C0
|
|
.4byte _080EC0D4
|
|
.4byte _080EC0F0
|
|
.4byte _080EC104
|
|
.4byte _080EC120
|
|
.4byte _080EC12A
|
|
.4byte _080EC154
|
|
.4byte _080EC168
|
|
.4byte _080EC180
|
|
.4byte _080EC194
|
|
.4byte _080EC1A8
|
|
.4byte _080EC1C4
|
|
.4byte _080EC1DC
|
|
_080EC06C:
|
|
bl sub_80EEF78
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC078
|
|
b _080EC1FA
|
|
_080EC078:
|
|
ldr r0, _080EC0AC @ =sub_80EBD80
|
|
bl SetVBlankCallback
|
|
bl sub_80EED1C
|
|
ldr r4, _080EC0B0 @ =0x02000000
|
|
ldr r1, _080EC0B4 @ =0x00006ddc
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
ldr r2, _080EC0B8 @ =0x00006dad
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldr r0, _080EC0BC @ =0x00006dae
|
|
adds r1, r4, r0
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
bl sub_80EEE08
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r1
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EC1FA
|
|
.align 2, 0
|
|
_080EC0AC: .4byte sub_80EBD80
|
|
_080EC0B0: .4byte 0x02000000
|
|
_080EC0B4: .4byte 0x00006ddc
|
|
_080EC0B8: .4byte 0x00006dad
|
|
_080EC0BC: .4byte 0x00006dae
|
|
_080EC0C0:
|
|
movs r0, 0
|
|
bl sub_80EF248
|
|
ldr r1, _080EC0EC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EC0D4:
|
|
movs r0, 0
|
|
bl sub_80EF284
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC0E2
|
|
b _080EC1FA
|
|
_080EC0E2:
|
|
ldr r1, _080EC0EC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC0EC: .4byte 0x02000000
|
|
_080EC0F0:
|
|
movs r0, 0
|
|
bl sub_80F1B8C
|
|
ldr r1, _080EC11C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EC104:
|
|
movs r0, 0
|
|
bl sub_80F1BC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC112
|
|
b _080EC1FA
|
|
_080EC112:
|
|
ldr r1, _080EC11C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC11C: .4byte 0x02000000
|
|
_080EC120:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EC1FA
|
|
b _080EC1C8
|
|
_080EC12A:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080EC150 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC150: .4byte sub_80EBD18
|
|
_080EC154:
|
|
movs r0, 0
|
|
bl sub_80EED2C
|
|
ldr r1, _080EC164 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC164: .4byte 0x02000000
|
|
_080EC168:
|
|
ldr r0, _080EC17C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC1FA
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC17C: .4byte gPaletteFade
|
|
_080EC180:
|
|
bl sub_80F2598
|
|
ldr r1, _080EC190 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC190: .4byte 0x02000000
|
|
_080EC194:
|
|
movs r0, 0
|
|
bl sub_80F2C80
|
|
ldr r1, _080EC1C0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EC1A8:
|
|
movs r0, 0
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC1FA
|
|
ldr r1, _080EC1C0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EC1D0
|
|
.align 2, 0
|
|
_080EC1C0: .4byte 0x02000000
|
|
_080EC1C4:
|
|
bl sub_80F1DF0
|
|
_080EC1C8:
|
|
ldr r1, _080EC1D8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
_080EC1D0:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EC1FA
|
|
.align 2, 0
|
|
_080EC1D8: .4byte 0x02000000
|
|
_080EC1DC:
|
|
bl sub_80F1E50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC1FA
|
|
ldr r0, _080EC204 @ =0x02000000
|
|
ldr r1, _080EC208 @ =0x00006dad
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80EF428
|
|
ldr r0, _080EC20C @ =sub_80EC268
|
|
bl sub_80EBDBC
|
|
_080EC1FA:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC204: .4byte 0x02000000
|
|
_080EC208: .4byte 0x00006dad
|
|
_080EC20C: .4byte sub_80EC268
|
|
thumb_func_end sub_80EC00C
|
|
|
|
thumb_func_start sub_80EC210
|
|
sub_80EC210: @ 80EC210
|
|
push {r4,r5,lr}
|
|
ldr r5, _080EC228 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r4, r5, r0
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080EC22C
|
|
cmp r0, 0x1
|
|
beq _080EC24C
|
|
b _080EC25C
|
|
.align 2, 0
|
|
_080EC228: .4byte 0x02000000
|
|
_080EC22C:
|
|
movs r0, 0x1
|
|
bl sub_80F2D04
|
|
ldr r1, _080EC248 @ =0x00006ddc
|
|
adds r0, r5, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
movs r2, 0
|
|
bl sub_80EE9C0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EC25C
|
|
.align 2, 0
|
|
_080EC248: .4byte 0x00006ddc
|
|
_080EC24C:
|
|
bl sub_80EEA0C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC25C
|
|
ldr r0, _080EC264 @ =sub_80EC268
|
|
bl sub_80EBDBC
|
|
_080EC25C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC264: .4byte sub_80EC268
|
|
thumb_func_end sub_80EC210
|
|
|
|
thumb_func_start sub_80EC268
|
|
sub_80EC268: @ 80EC268
|
|
push {r4-r6,lr}
|
|
ldr r4, _080EC290 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r6, r4, r0
|
|
ldrh r0, [r6]
|
|
cmp r0, 0x3
|
|
bne _080EC27A
|
|
b _080EC3BE
|
|
_080EC27A:
|
|
cmp r0, 0x3
|
|
bgt _080EC294
|
|
cmp r0, 0x1
|
|
bne _080EC284
|
|
b _080EC3A2
|
|
_080EC284:
|
|
cmp r0, 0x1
|
|
ble _080EC28A
|
|
b _080EC3B4
|
|
_080EC28A:
|
|
cmp r0, 0
|
|
beq _080EC2AE
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC290: .4byte 0x02000000
|
|
_080EC294:
|
|
cmp r0, 0x6
|
|
bne _080EC29A
|
|
b _080EC414
|
|
_080EC29A:
|
|
cmp r0, 0x6
|
|
bgt _080EC2A6
|
|
cmp r0, 0x4
|
|
bne _080EC2A4
|
|
b _080EC3DC
|
|
_080EC2A4:
|
|
b _080EC492
|
|
_080EC2A6:
|
|
cmp r0, 0xFF
|
|
bne _080EC2AC
|
|
b _080EC44C
|
|
_080EC2AC:
|
|
b _080EC492
|
|
_080EC2AE:
|
|
bl sub_80EEC10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC2D4
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080EC2D0 @ =0x00006dad
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80EF428
|
|
bl sub_80EED9C
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC2D0: .4byte 0x00006dad
|
|
_080EC2D4:
|
|
ldr r0, _080EC310 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r2, 0x1
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EC394
|
|
ldr r2, _080EC314 @ =0x00006dad
|
|
adds r0, r4, r2
|
|
ldrb r1, [r0]
|
|
adds r2, 0x2F
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
subs r2, 0x2A
|
|
adds r1, r4, r2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, 0x4
|
|
bls _080EC304
|
|
b _080EC492
|
|
_080EC304:
|
|
lsls r0, 2
|
|
ldr r1, _080EC318 @ =_080EC31C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EC310: .4byte gMain
|
|
_080EC314: .4byte 0x00006dad
|
|
_080EC318: .4byte _080EC31C
|
|
.align 2, 0
|
|
_080EC31C:
|
|
.4byte _080EC330
|
|
.4byte _080EC344
|
|
.4byte _080EC380
|
|
.4byte _080EC36C
|
|
.4byte _080EC358
|
|
_080EC330:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC340 @ =sub_80EC4A0
|
|
bl sub_80EBDBC
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC340: .4byte sub_80EC4A0
|
|
_080EC344:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC354 @ =sub_80EC81C
|
|
bl sub_80EBDBC
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC354: .4byte sub_80EC81C
|
|
_080EC358:
|
|
ldr r0, _080EC368 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC368: .4byte 0x02000000
|
|
_080EC36C:
|
|
ldr r0, _080EC37C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x2
|
|
strh r1, [r0]
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC37C: .4byte 0x02000000
|
|
_080EC380:
|
|
ldr r0, _080EC390 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x6
|
|
strh r1, [r0]
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC390: .4byte 0x02000000
|
|
_080EC394:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC39E
|
|
b _080EC492
|
|
_080EC39E:
|
|
strh r2, [r6]
|
|
b _080EC492
|
|
_080EC3A2:
|
|
bl sub_80F208C
|
|
ldr r0, _080EC3B0 @ =sub_80EE96C
|
|
bl sub_80EBDBC
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC3B0: .4byte sub_80EE96C
|
|
_080EC3B4:
|
|
bl sub_80F6208
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
_080EC3BE:
|
|
bl sub_80F6250
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC492
|
|
ldr r1, _080EC3D8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC3D8: .4byte 0x02000000
|
|
_080EC3DC:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EC492
|
|
ldr r1, _080EC400 @ =0x00008fe8
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _080EC408
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC404 @ =sub_80EDB88
|
|
bl sub_80EBDBC
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC400: .4byte 0x00008fe8
|
|
_080EC404: .4byte sub_80EDB88
|
|
_080EC408:
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
movs r0, 0
|
|
movs r1, 0x5
|
|
b _080EC442
|
|
_080EC414:
|
|
bl sub_80F6C20
|
|
ldr r2, _080EC430 @ =0x0000d158
|
|
adds r0, r4, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _080EC438
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC434 @ =sub_80EE3D8
|
|
bl sub_80EBDBC
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC430: .4byte 0x0000d158
|
|
_080EC434: .4byte sub_80EE3D8
|
|
_080EC438:
|
|
movs r0, 0x20
|
|
bl PlaySE
|
|
movs r0, 0
|
|
movs r1, 0x6
|
|
_080EC442:
|
|
bl sub_80EF428
|
|
movs r0, 0xFF
|
|
strh r0, [r6]
|
|
b _080EC492
|
|
_080EC44C:
|
|
bl sub_80EEC10
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _080EC478
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080EC474 @ =0x00006dad
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80EF428
|
|
movs r0, 0
|
|
strh r0, [r6]
|
|
bl sub_80EED9C
|
|
b _080EC492
|
|
.align 2, 0
|
|
_080EC474: .4byte 0x00006dad
|
|
_080EC478:
|
|
ldr r0, _080EC498 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EC492
|
|
ldr r2, _080EC49C @ =0x00006dad
|
|
adds r0, r4, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80EF428
|
|
strh r5, [r6]
|
|
_080EC492:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC498: .4byte gMain
|
|
_080EC49C: .4byte 0x00006dad
|
|
thumb_func_end sub_80EC268
|
|
|
|
thumb_func_start sub_80EC4A0
|
|
sub_80EC4A0: @ 80EC4A0
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EC4C0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xE
|
|
bls _080EC4B6
|
|
b _080EC66A
|
|
_080EC4B6:
|
|
lsls r0, 2
|
|
ldr r1, _080EC4C4 @ =_080EC4C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EC4C0: .4byte 0x02000000
|
|
_080EC4C4: .4byte _080EC4C8
|
|
.align 2, 0
|
|
_080EC4C8:
|
|
.4byte _080EC504
|
|
.4byte _080EC510
|
|
.4byte _080EC544
|
|
.4byte _080EC578
|
|
.4byte _080EC594
|
|
.4byte _080EC5A8
|
|
.4byte _080EC5AE
|
|
.4byte _080EC5C0
|
|
.4byte _080EC5D0
|
|
.4byte _080EC5E4
|
|
.4byte _080EC5F8
|
|
.4byte _080EC614
|
|
.4byte _080EC61E
|
|
.4byte _080EC63E
|
|
.4byte _080EC658
|
|
_080EC504:
|
|
bl sub_80F1E84
|
|
movs r0, 0
|
|
bl sub_80F2D04
|
|
b _080EC644
|
|
_080EC510:
|
|
bl sub_80F1F10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC51C
|
|
b _080EC66A
|
|
_080EC51C:
|
|
ldr r0, _080EC53C @ =gSaveBlock2
|
|
ldrb r1, [r0, 0x15]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
cmp r0, 0
|
|
beq _080EC52C
|
|
movs r1, 0x7
|
|
_080EC52C:
|
|
adds r0, r1, 0
|
|
bl sub_80EEFBC
|
|
ldr r1, _080EC540 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EC64C
|
|
.align 2, 0
|
|
_080EC53C: .4byte gSaveBlock2
|
|
_080EC540: .4byte 0x02000000
|
|
_080EC544:
|
|
bl sub_80EEF34
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080EC552
|
|
b _080EC66A
|
|
_080EC552:
|
|
ldr r4, _080EC574 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EC64C
|
|
.align 2, 0
|
|
_080EC574: .4byte 0x02000000
|
|
_080EC578:
|
|
ldr r0, _080EC590 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC66A
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
b _080EC644
|
|
.align 2, 0
|
|
_080EC590: .4byte gPaletteFade
|
|
_080EC594:
|
|
bl sub_80F2620
|
|
ldr r1, _080EC5A4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EC64C
|
|
.align 2, 0
|
|
_080EC5A4: .4byte 0x02000000
|
|
_080EC5A8:
|
|
bl sub_80EF814
|
|
b _080EC644
|
|
_080EC5AE:
|
|
bl sub_80EF840
|
|
ldr r1, _080EC5CC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EC5C0:
|
|
bl sub_80EF874
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC66A
|
|
b _080EC644
|
|
.align 2, 0
|
|
_080EC5CC: .4byte 0x02000000
|
|
_080EC5D0:
|
|
movs r0, 0x4
|
|
bl sub_80F2C80
|
|
ldr r1, _080EC5F4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EC5E4:
|
|
movs r0, 0x4
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC66A
|
|
b _080EC644
|
|
.align 2, 0
|
|
_080EC5F4: .4byte 0x02000000
|
|
_080EC5F8:
|
|
bl sub_80F2DD8
|
|
ldr r0, _080EC60C @ =sub_80EBD30
|
|
bl SetVBlankCallback
|
|
ldr r1, _080EC610 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EC64C
|
|
.align 2, 0
|
|
_080EC60C: .4byte sub_80EBD30
|
|
_080EC610: .4byte 0x02000000
|
|
_080EC614:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EC66A
|
|
b _080EC644
|
|
_080EC61E:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EC64C
|
|
_080EC63E:
|
|
movs r0, 0x1
|
|
bl sub_80EED2C
|
|
_080EC644:
|
|
ldr r1, _080EC654 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080EC64C:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EC66A
|
|
.align 2, 0
|
|
_080EC654: .4byte 0x02000000
|
|
_080EC658:
|
|
ldr r0, _080EC674 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC66A
|
|
ldr r0, _080EC678 @ =sub_80EC67C
|
|
bl sub_80EBDBC
|
|
_080EC66A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC674: .4byte gPaletteFade
|
|
_080EC678: .4byte sub_80EC67C
|
|
thumb_func_end sub_80EC4A0
|
|
|
|
thumb_func_start sub_80EC67C
|
|
sub_80EC67C: @ 80EC67C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EC69C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x5
|
|
bls _080EC692
|
|
b _080EC800
|
|
_080EC692:
|
|
lsls r0, 2
|
|
ldr r1, _080EC6A0 @ =_080EC6A4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EC69C: .4byte 0x02000000
|
|
_080EC6A0: .4byte _080EC6A4
|
|
.align 2, 0
|
|
_080EC6A4:
|
|
.4byte _080EC6BC
|
|
.4byte _080EC718
|
|
.4byte _080EC746
|
|
.4byte _080EC77C
|
|
.4byte _080EC7A0
|
|
.4byte _080EC7C4
|
|
_080EC6BC:
|
|
bl sub_80FAB60
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
beq _080EC6E2
|
|
cmp r0, 0x3
|
|
bgt _080EC6D2
|
|
cmp r0, 0x1
|
|
beq _080EC6DC
|
|
b _080EC800
|
|
_080EC6D2:
|
|
cmp r0, 0x4
|
|
beq _080EC6E8
|
|
cmp r0, 0x5
|
|
beq _080EC700
|
|
b _080EC800
|
|
_080EC6DC:
|
|
bl sub_80EED9C
|
|
b _080EC800
|
|
_080EC6E2:
|
|
bl sub_80EF9F8
|
|
b _080EC800
|
|
_080EC6E8:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC6FC @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
b _080EC800
|
|
.align 2, 0
|
|
_080EC6FC: .4byte 0x02000000
|
|
_080EC700:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EC714 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x4
|
|
strh r1, [r0]
|
|
b _080EC800
|
|
.align 2, 0
|
|
_080EC714: .4byte 0x02000000
|
|
_080EC718:
|
|
ldr r1, _080EC730 @ =0x00006e90
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080EC734
|
|
bl sub_80FAEC4
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EC7BC
|
|
.align 2, 0
|
|
_080EC730: .4byte 0x00006e90
|
|
_080EC734:
|
|
movs r0, 0x1
|
|
bl sub_80EFBDC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC800
|
|
bl sub_80FAEC4
|
|
b _080EC7B6
|
|
_080EC746:
|
|
bl sub_80FAFC0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC800
|
|
ldr r5, _080EC76C @ =0x02000000
|
|
ldr r1, _080EC770 @ =0x00006e90
|
|
adds r0, r5, r1
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
bne _080EC774
|
|
bl sub_80EFBB0
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r5, r2
|
|
strh r4, [r0]
|
|
b _080EC800
|
|
.align 2, 0
|
|
_080EC76C: .4byte 0x02000000
|
|
_080EC770: .4byte 0x00006e90
|
|
_080EC774:
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r5, r0
|
|
b _080EC7BC
|
|
_080EC77C:
|
|
movs r0, 0
|
|
bl sub_80EFBDC
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080EC800
|
|
bl sub_80EFBB0
|
|
ldr r0, _080EC79C @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
b _080EC800
|
|
.align 2, 0
|
|
_080EC79C: .4byte 0x02000000
|
|
_080EC7A0:
|
|
movs r2, 0xC2
|
|
lsls r2, 2
|
|
adds r0, r4, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
_080EC7B6:
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
_080EC7BC:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EC800
|
|
_080EC7C4:
|
|
ldr r0, _080EC808 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EC800
|
|
bl sub_80F2DF4
|
|
movs r0, 0x4
|
|
bl sub_80F2D04
|
|
ldr r3, _080EC80C @ =gSaveBlock2
|
|
movs r2, 0
|
|
ldr r0, _080EC810 @ =0x02000000
|
|
ldr r1, _080EC814 @ =0x00006e90
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _080EC7EC
|
|
movs r2, 0x1
|
|
_080EC7EC:
|
|
lsls r2, 3
|
|
ldrb r1, [r3, 0x15]
|
|
movs r0, 0x9
|
|
negs r0, r0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0x15]
|
|
ldr r0, _080EC818 @ =sub_80EC00C
|
|
bl sub_80EBDBC
|
|
_080EC800:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC808: .4byte gPaletteFade
|
|
_080EC80C: .4byte gSaveBlock2
|
|
_080EC810: .4byte 0x02000000
|
|
_080EC814: .4byte 0x00006e90
|
|
_080EC818: .4byte sub_80EC00C
|
|
thumb_func_end sub_80EC67C
|
|
|
|
thumb_func_start sub_80EC81C
|
|
sub_80EC81C: @ 80EC81C
|
|
push {r4,lr}
|
|
ldr r0, _080EC834 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080EC838
|
|
cmp r0, 0x1
|
|
beq _080EC850
|
|
b _080EC860
|
|
.align 2, 0
|
|
_080EC834: .4byte 0x02000000
|
|
_080EC838:
|
|
movs r0, 0
|
|
bl sub_80F2D04
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80EE9C0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EC860
|
|
_080EC850:
|
|
bl sub_80EEA0C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC860
|
|
ldr r0, _080EC868 @ =sub_80EC86C
|
|
bl sub_80EBDBC
|
|
_080EC860:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC868: .4byte sub_80EC86C
|
|
thumb_func_end sub_80EC81C
|
|
|
|
thumb_func_start sub_80EC86C
|
|
sub_80EC86C: @ 80EC86C
|
|
push {r4-r6,lr}
|
|
ldr r4, _080EC884 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r5, r4, r0
|
|
ldrh r0, [r5]
|
|
cmp r0, 0
|
|
beq _080EC888
|
|
cmp r0, 0x1
|
|
beq _080EC944
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC884: .4byte 0x02000000
|
|
_080EC888:
|
|
bl sub_80EEC90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EC8B0
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080EC8AC @ =0x00006dad
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80EF428
|
|
bl sub_80EED9C
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC8AC: .4byte 0x00006dad
|
|
_080EC8B0:
|
|
ldr r0, _080EC8E4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EC918
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r2, _080EC8E8 @ =0x00006dad
|
|
adds r0, r4, r2
|
|
ldrb r1, [r0]
|
|
adds r2, 0x43
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080EC900
|
|
cmp r0, 0x1
|
|
bgt _080EC8EC
|
|
cmp r0, 0
|
|
beq _080EC8F2
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC8E4: .4byte gMain
|
|
_080EC8E8: .4byte 0x00006dad
|
|
_080EC8EC:
|
|
cmp r0, 0x2
|
|
beq _080EC90C
|
|
b _080EC954
|
|
_080EC8F2:
|
|
ldr r0, _080EC8FC @ =sub_80ED620
|
|
bl sub_80EBDBC
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC8FC: .4byte sub_80ED620
|
|
_080EC900:
|
|
ldr r0, _080EC908 @ =sub_80EC960
|
|
bl sub_80EBDBC
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC908: .4byte sub_80EC960
|
|
_080EC90C:
|
|
ldr r0, _080EC914 @ =sub_80EC210
|
|
bl sub_80EBDBC
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC914: .4byte sub_80EC210
|
|
_080EC918:
|
|
movs r6, 0x2
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EC954
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080EC93C @ =0x00006df0
|
|
adds r0, r4, r1
|
|
strb r6, [r0]
|
|
ldr r2, _080EC940 @ =0x00006dad
|
|
adds r0, r4, r2
|
|
strb r6, [r0]
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
b _080EC954
|
|
.align 2, 0
|
|
_080EC93C: .4byte 0x00006df0
|
|
_080EC940: .4byte 0x00006dad
|
|
_080EC944:
|
|
bl sub_80F1E6C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC954
|
|
ldr r0, _080EC95C @ =sub_80EC210
|
|
bl sub_80EBDBC
|
|
_080EC954:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC95C: .4byte sub_80EC210
|
|
thumb_func_end sub_80EC86C
|
|
|
|
thumb_func_start sub_80EC960
|
|
sub_80EC960: @ 80EC960
|
|
push {r4,lr}
|
|
ldr r0, _080EC978 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080EC97C
|
|
cmp r0, 0x1
|
|
beq _080EC98E
|
|
b _080EC99E
|
|
.align 2, 0
|
|
_080EC978: .4byte 0x02000000
|
|
_080EC97C:
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl sub_80EE9C0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EC99E
|
|
_080EC98E:
|
|
bl sub_80EEA0C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EC99E
|
|
ldr r0, _080EC9A4 @ =sub_80ECC08
|
|
bl sub_80EBDBC
|
|
_080EC99E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EC9A4: .4byte sub_80ECC08
|
|
thumb_func_end sub_80EC960
|
|
|
|
thumb_func_start sub_80EC9A8
|
|
sub_80EC9A8: @ 80EC9A8
|
|
push {r4,r5,lr}
|
|
ldr r5, _080EC9C0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r4, r5, r0
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080EC9C4
|
|
cmp r0, 0x1
|
|
beq _080EC9E4
|
|
b _080ECA00
|
|
.align 2, 0
|
|
_080EC9C0: .4byte 0x02000000
|
|
_080EC9C4:
|
|
movs r0, 0x5
|
|
bl sub_80F2D04
|
|
ldr r1, _080EC9E0 @ =0x00006df0
|
|
adds r0, r5, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
movs r2, 0xC
|
|
bl sub_80EE9C0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080ECA00
|
|
.align 2, 0
|
|
_080EC9E0: .4byte 0x00006df0
|
|
_080EC9E4:
|
|
bl sub_80EEA0C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ECA00
|
|
ldr r0, _080ECA08 @ =sub_80EC86C
|
|
bl sub_80EBDBC
|
|
ldr r1, _080ECA0C @ =0x00006dad
|
|
adds r0, r5, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80EF428
|
|
_080ECA00:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECA08: .4byte sub_80EC86C
|
|
_080ECA0C: .4byte 0x00006dad
|
|
thumb_func_end sub_80EC9A8
|
|
|
|
thumb_func_start sub_80ECA10
|
|
sub_80ECA10: @ 80ECA10
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ECA30 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xD
|
|
bls _080ECA26
|
|
b _080ECBF2
|
|
_080ECA26:
|
|
lsls r0, 2
|
|
ldr r1, _080ECA34 @ =_080ECA38
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ECA30: .4byte 0x02000000
|
|
_080ECA34: .4byte _080ECA38
|
|
.align 2, 0
|
|
_080ECA38:
|
|
.4byte _080ECA70
|
|
.4byte _080ECAC4
|
|
.4byte _080ECAD8
|
|
.4byte _080ECAF4
|
|
.4byte _080ECB08
|
|
.4byte _080ECB24
|
|
.4byte _080ECB2E
|
|
.4byte _080ECB58
|
|
.4byte _080ECB6C
|
|
.4byte _080ECB72
|
|
.4byte _080ECB8C
|
|
.4byte _080ECBA0
|
|
.4byte _080ECBBC
|
|
.4byte _080ECBD4
|
|
_080ECA70:
|
|
bl sub_80EEF78
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECA7C
|
|
b _080ECBF2
|
|
_080ECA7C:
|
|
ldr r0, _080ECAB0 @ =sub_80EBD80
|
|
bl SetVBlankCallback
|
|
bl sub_80EED1C
|
|
ldr r4, _080ECAB4 @ =0x02000000
|
|
ldr r1, _080ECAB8 @ =0x00006df0
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
ldr r2, _080ECABC @ =0x00006dad
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldr r0, _080ECAC0 @ =0x00006dae
|
|
adds r1, r4, r0
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
bl sub_80EEE08
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r1
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080ECBF2
|
|
.align 2, 0
|
|
_080ECAB0: .4byte sub_80EBD80
|
|
_080ECAB4: .4byte 0x02000000
|
|
_080ECAB8: .4byte 0x00006df0
|
|
_080ECABC: .4byte 0x00006dad
|
|
_080ECAC0: .4byte 0x00006dae
|
|
_080ECAC4:
|
|
movs r0, 0x1
|
|
bl sub_80EF248
|
|
ldr r1, _080ECAF0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECAD8:
|
|
movs r0, 0x1
|
|
bl sub_80EF284
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECAE6
|
|
b _080ECBF2
|
|
_080ECAE6:
|
|
ldr r1, _080ECAF0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECAF0: .4byte 0x02000000
|
|
_080ECAF4:
|
|
movs r0, 0x1
|
|
bl sub_80F1B8C
|
|
ldr r1, _080ECB20 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECB08:
|
|
movs r0, 0x1
|
|
bl sub_80F1BC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ECBF2
|
|
ldr r1, _080ECB20 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECB20: .4byte 0x02000000
|
|
_080ECB24:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080ECBF2
|
|
b _080ECBC0
|
|
_080ECB2E:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ECB54 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECB54: .4byte sub_80EBD18
|
|
_080ECB58:
|
|
movs r0, 0
|
|
bl sub_80EED2C
|
|
ldr r1, _080ECB68 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECB68: .4byte 0x02000000
|
|
_080ECB6C:
|
|
bl sub_80F2598
|
|
b _080ECBC0
|
|
_080ECB72:
|
|
ldr r0, _080ECB88 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ECBF2
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECB88: .4byte gPaletteFade
|
|
_080ECB8C:
|
|
movs r0, 0x1
|
|
bl sub_80F2C80
|
|
ldr r1, _080ECBB8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECBA0:
|
|
movs r0, 0x1
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ECBF2
|
|
ldr r1, _080ECBB8 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECBC8
|
|
.align 2, 0
|
|
_080ECBB8: .4byte 0x02000000
|
|
_080ECBBC:
|
|
bl sub_80F1DF0
|
|
_080ECBC0:
|
|
ldr r1, _080ECBD0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
_080ECBC8:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ECBF2
|
|
.align 2, 0
|
|
_080ECBD0: .4byte 0x02000000
|
|
_080ECBD4:
|
|
bl sub_80F1E50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ECBF2
|
|
ldr r0, _080ECBFC @ =0x02000000
|
|
ldr r1, _080ECC00 @ =0x00006dad
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_80EF428
|
|
ldr r0, _080ECC04 @ =sub_80EC86C
|
|
bl sub_80EBDBC
|
|
_080ECBF2:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECBFC: .4byte 0x02000000
|
|
_080ECC00: .4byte 0x00006dad
|
|
_080ECC04: .4byte sub_80EC86C
|
|
thumb_func_end sub_80ECA10
|
|
|
|
thumb_func_start sub_80ECC08
|
|
sub_80ECC08: @ 80ECC08
|
|
push {r4,r5,lr}
|
|
ldr r4, _080ECC20 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r5, r4, r0
|
|
ldrh r0, [r5]
|
|
cmp r0, 0
|
|
beq _080ECC24
|
|
cmp r0, 0x1
|
|
bne _080ECC1E
|
|
b _080ECD64
|
|
_080ECC1E:
|
|
b _080ECD74
|
|
.align 2, 0
|
|
_080ECC20: .4byte 0x02000000
|
|
_080ECC24:
|
|
bl sub_80EEC90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECC4C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080ECC48 @ =0x00006dad
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
bl sub_80EF428
|
|
bl sub_80EED9C
|
|
b _080ECD74
|
|
.align 2, 0
|
|
_080ECC48: .4byte 0x00006dad
|
|
_080ECC4C:
|
|
ldr r0, _080ECC78 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ECC5A
|
|
b _080ECD40
|
|
_080ECC5A:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r2, _080ECC7C @ =0x00006dad
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x5
|
|
bhi _080ECD0C
|
|
lsls r0, 2
|
|
ldr r1, _080ECC80 @ =_080ECC84
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ECC78: .4byte gMain
|
|
_080ECC7C: .4byte 0x00006dad
|
|
_080ECC80: .4byte _080ECC84
|
|
.align 2, 0
|
|
_080ECC84:
|
|
.4byte _080ECC9C
|
|
.4byte _080ECCB0
|
|
.4byte _080ECCC4
|
|
.4byte _080ECCD8
|
|
.4byte _080ECCEC
|
|
.4byte _080ECD00
|
|
_080ECC9C:
|
|
ldr r0, _080ECCA8 @ =0x02000000
|
|
ldr r3, _080ECCAC @ =0x000087d8
|
|
adds r0, r3
|
|
movs r1, 0x16
|
|
strb r1, [r0]
|
|
b _080ECD0C
|
|
.align 2, 0
|
|
_080ECCA8: .4byte 0x02000000
|
|
_080ECCAC: .4byte 0x000087d8
|
|
_080ECCB0:
|
|
ldr r0, _080ECCBC @ =0x02000000
|
|
ldr r1, _080ECCC0 @ =0x000087d8
|
|
adds r0, r1
|
|
movs r1, 0x17
|
|
strb r1, [r0]
|
|
b _080ECD0C
|
|
.align 2, 0
|
|
_080ECCBC: .4byte 0x02000000
|
|
_080ECCC0: .4byte 0x000087d8
|
|
_080ECCC4:
|
|
ldr r0, _080ECCD0 @ =0x02000000
|
|
ldr r2, _080ECCD4 @ =0x000087d8
|
|
adds r0, r2
|
|
movs r1, 0x18
|
|
strb r1, [r0]
|
|
b _080ECD0C
|
|
.align 2, 0
|
|
_080ECCD0: .4byte 0x02000000
|
|
_080ECCD4: .4byte 0x000087d8
|
|
_080ECCD8:
|
|
ldr r0, _080ECCE4 @ =0x02000000
|
|
ldr r3, _080ECCE8 @ =0x000087d8
|
|
adds r0, r3
|
|
movs r1, 0x21
|
|
strb r1, [r0]
|
|
b _080ECD0C
|
|
.align 2, 0
|
|
_080ECCE4: .4byte 0x02000000
|
|
_080ECCE8: .4byte 0x000087d8
|
|
_080ECCEC:
|
|
ldr r0, _080ECCF8 @ =0x02000000
|
|
ldr r1, _080ECCFC @ =0x000087d8
|
|
adds r0, r1
|
|
movs r1, 0x2F
|
|
strb r1, [r0]
|
|
b _080ECD0C
|
|
.align 2, 0
|
|
_080ECCF8: .4byte 0x02000000
|
|
_080ECCFC: .4byte 0x000087d8
|
|
_080ECD00:
|
|
ldr r0, _080ECD08 @ =sub_80EC9A8
|
|
bl sub_80EBDBC
|
|
b _080ECD74
|
|
.align 2, 0
|
|
_080ECD08: .4byte sub_80EC9A8
|
|
_080ECD0C:
|
|
ldr r1, _080ECD2C @ =0x02000000
|
|
ldr r2, _080ECD30 @ =0x00006dad
|
|
adds r0, r1, r2
|
|
ldrb r2, [r0]
|
|
ldr r3, _080ECD34 @ =0x00006dfc
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
ldr r0, _080ECD38 @ =0x000076aa
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, _080ECD3C @ =sub_80ED01C
|
|
bl sub_80EBDBC
|
|
b _080ECD74
|
|
.align 2, 0
|
|
_080ECD2C: .4byte 0x02000000
|
|
_080ECD30: .4byte 0x00006dad
|
|
_080ECD34: .4byte 0x00006dfc
|
|
_080ECD38: .4byte 0x000076aa
|
|
_080ECD3C: .4byte sub_80ED01C
|
|
_080ECD40:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ECD74
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r2, _080ECD60 @ =0x00006dad
|
|
adds r1, r4, r2
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
b _080ECD74
|
|
.align 2, 0
|
|
_080ECD60: .4byte 0x00006dad
|
|
_080ECD64:
|
|
bl sub_80F1E6C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ECD74
|
|
ldr r0, _080ECD7C @ =sub_80EC9A8
|
|
bl sub_80EBDBC
|
|
_080ECD74:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECD7C: .4byte sub_80EC9A8
|
|
thumb_func_end sub_80ECC08
|
|
|
|
thumb_func_start sub_80ECD80
|
|
sub_80ECD80: @ 80ECD80
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ECDA0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x14
|
|
bls _080ECD96
|
|
b _080ED006
|
|
_080ECD96:
|
|
lsls r0, 2
|
|
ldr r1, _080ECDA4 @ =_080ECDA8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ECDA0: .4byte 0x02000000
|
|
_080ECDA4: .4byte _080ECDA8
|
|
.align 2, 0
|
|
_080ECDA8:
|
|
.4byte _080ECDFC
|
|
.4byte _080ECE1A
|
|
.4byte _080ECE34
|
|
.4byte _080ECE4C
|
|
.4byte _080ECE64
|
|
.4byte _080ECE78
|
|
.4byte _080ECE80
|
|
.4byte _080ECEAC
|
|
.4byte _080ECEC0
|
|
.4byte _080ECED4
|
|
.4byte _080ECEE8
|
|
.4byte _080ECF04
|
|
.4byte _080ECF10
|
|
.4byte _080ECF3C
|
|
.4byte _080ECF44
|
|
.4byte _080ECF58
|
|
.4byte _080ECF70
|
|
.4byte _080ECF84
|
|
.4byte _080ECFB0
|
|
.4byte _080ECFC4
|
|
.4byte _080ECFE8
|
|
_080ECDFC:
|
|
movs r3, 0xC2
|
|
lsls r3, 2
|
|
adds r0, r4, r3
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080ECFDC
|
|
_080ECE1A:
|
|
ldr r0, _080ECE30 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ECE28
|
|
b _080ED006
|
|
_080ECE28:
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECE30: .4byte gPaletteFade
|
|
_080ECE34:
|
|
bl sub_80EEF78
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECE40
|
|
b _080ED006
|
|
_080ECE40:
|
|
ldr r0, _080ECE48 @ =sub_80EBD80
|
|
bl SetVBlankCallback
|
|
b _080ECFD4
|
|
.align 2, 0
|
|
_080ECE48: .4byte sub_80EBD80
|
|
_080ECE4C:
|
|
bl sub_80EED1C
|
|
bl sub_80F3130
|
|
ldr r1, _080ECE60 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECE60: .4byte 0x02000000
|
|
_080ECE64:
|
|
movs r0, 0x1
|
|
bl sub_80F2D6C
|
|
ldr r1, _080ECE74 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECE74: .4byte 0x02000000
|
|
_080ECE78:
|
|
movs r0, 0x5
|
|
bl sub_80F2D6C
|
|
b _080ECFD4
|
|
_080ECE80:
|
|
ldr r1, _080ECEA0 @ =0x00006dfc
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
ldr r2, _080ECEA4 @ =0x00006dad
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldr r3, _080ECEA8 @ =0x00006dae
|
|
adds r1, r4, r3
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
bl sub_80EEE08
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECEA0: .4byte 0x00006dfc
|
|
_080ECEA4: .4byte 0x00006dad
|
|
_080ECEA8: .4byte 0x00006dae
|
|
_080ECEAC:
|
|
movs r0, 0x2
|
|
bl sub_80EF248
|
|
ldr r1, _080ECED0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECEC0:
|
|
movs r0, 0x2
|
|
bl sub_80EF284
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECECE
|
|
b _080ED006
|
|
_080ECECE:
|
|
b _080ECFD4
|
|
.align 2, 0
|
|
_080ECED0: .4byte 0x02000000
|
|
_080ECED4:
|
|
movs r0, 0x2
|
|
bl sub_80F1B8C
|
|
ldr r1, _080ECF00 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECEE8:
|
|
movs r0, 0x2
|
|
bl sub_80F1BC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ECEF6
|
|
b _080ED006
|
|
_080ECEF6:
|
|
ldr r1, _080ECF00 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECF00: .4byte 0x02000000
|
|
_080ECF04:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
beq _080ECF0E
|
|
b _080ED006
|
|
_080ECF0E:
|
|
b _080ECFD4
|
|
_080ECF10:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ECF38 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECF38: .4byte sub_80EBD18
|
|
_080ECF3C:
|
|
movs r0, 0
|
|
bl sub_80EED2C
|
|
b _080ECFD4
|
|
_080ECF44:
|
|
bl sub_80F2598
|
|
ldr r1, _080ECF54 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECF54: .4byte 0x02000000
|
|
_080ECF58:
|
|
ldr r0, _080ECF6C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ED006
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ECFDC
|
|
.align 2, 0
|
|
_080ECF6C: .4byte gPaletteFade
|
|
_080ECF70:
|
|
movs r0, 0x1
|
|
bl sub_80F2C80
|
|
ldr r1, _080ECFA8 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECF84:
|
|
movs r0, 0x1
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _080ED006
|
|
ldr r0, _080ECFA8 @ =0x02000000
|
|
ldr r3, _080ECFAC @ =0x00000306
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r1, 0x1
|
|
strh r1, [r0]
|
|
b _080ED006
|
|
.align 2, 0
|
|
_080ECFA8: .4byte 0x02000000
|
|
_080ECFAC: .4byte 0x00000306
|
|
_080ECFB0:
|
|
movs r0, 0x5
|
|
bl sub_80F2C80
|
|
ldr r1, _080ECFE4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ECFC4:
|
|
movs r0, 0x5
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED006
|
|
bl sub_80F1DF0
|
|
_080ECFD4:
|
|
ldr r1, _080ECFE4 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
_080ECFDC:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED006
|
|
.align 2, 0
|
|
_080ECFE4: .4byte 0x02000000
|
|
_080ECFE8:
|
|
bl sub_80F1E50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED006
|
|
ldr r0, _080ED010 @ =0x02000000
|
|
ldr r1, _080ED014 @ =0x00006dad
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
bl sub_80EF428
|
|
ldr r0, _080ED018 @ =sub_80ECC08
|
|
bl sub_80EBDBC
|
|
_080ED006:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED010: .4byte 0x02000000
|
|
_080ED014: .4byte 0x00006dad
|
|
_080ED018: .4byte sub_80ECC08
|
|
thumb_func_end sub_80ECD80
|
|
|
|
thumb_func_start sub_80ED01C
|
|
sub_80ED01C: @ 80ED01C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ED03C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x13
|
|
bls _080ED032
|
|
b _080ED308
|
|
_080ED032:
|
|
lsls r0, 2
|
|
ldr r1, _080ED040 @ =_080ED044
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED03C: .4byte 0x02000000
|
|
_080ED040: .4byte _080ED044
|
|
.align 2, 0
|
|
_080ED044:
|
|
.4byte _080ED094
|
|
.4byte _080ED0B4
|
|
.4byte _080ED0D4
|
|
.4byte _080ED108
|
|
.4byte _080ED138
|
|
.4byte _080ED14C
|
|
.4byte _080ED15E
|
|
.4byte _080ED18C
|
|
.4byte _080ED1AC
|
|
.4byte _080ED1C4
|
|
.4byte _080ED1D8
|
|
.4byte _080ED1F4
|
|
.4byte _080ED208
|
|
.4byte _080ED220
|
|
.4byte _080ED24C
|
|
.4byte _080ED260
|
|
.4byte _080ED28C
|
|
.4byte _080ED2A0
|
|
.4byte _080ED2CC
|
|
.4byte _080ED2EA
|
|
_080ED094:
|
|
bl sub_80F1E84
|
|
movs r0, 0x1
|
|
bl sub_80F2D04
|
|
movs r0, 0x5
|
|
bl sub_80F2D04
|
|
ldr r1, _080ED0B0 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED0B0: .4byte 0x02000000
|
|
_080ED0B4:
|
|
bl sub_80F1F10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ED0C0
|
|
b _080ED308
|
|
_080ED0C0:
|
|
movs r0, 0
|
|
bl sub_80EEFBC
|
|
ldr r1, _080ED0D0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED0D0: .4byte 0x02000000
|
|
_080ED0D4:
|
|
bl sub_80EEF34
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080ED0E2
|
|
b _080ED308
|
|
_080ED0E2:
|
|
ldr r4, _080ED104 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED104: .4byte 0x02000000
|
|
_080ED108:
|
|
ldr r0, _080ED130 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ED116
|
|
b _080ED308
|
|
_080ED116:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80EF814
|
|
ldr r1, _080ED134 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED130: .4byte gPaletteFade
|
|
_080ED134: .4byte 0x02000000
|
|
_080ED138:
|
|
bl sub_80F2620
|
|
ldr r1, _080ED148 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED148: .4byte 0x02000000
|
|
_080ED14C:
|
|
bl sub_80F4D44
|
|
ldr r1, _080ED178 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED15E:
|
|
bl sub_80F4D88
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED17C
|
|
ldr r1, _080ED178 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
adds r0, 0x2
|
|
strh r0, [r1]
|
|
b _080ED308
|
|
.align 2, 0
|
|
_080ED178: .4byte 0x02000000
|
|
_080ED17C:
|
|
ldr r1, _080ED188 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED188: .4byte 0x02000000
|
|
_080ED18C:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
beq _080ED196
|
|
b _080ED308
|
|
_080ED196:
|
|
ldr r1, _080ED1A8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED308
|
|
.align 2, 0
|
|
_080ED1A8: .4byte 0x02000000
|
|
_080ED1AC:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
beq _080ED1B6
|
|
b _080ED308
|
|
_080ED1B6:
|
|
ldr r1, _080ED1C0 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED1C0: .4byte 0x02000000
|
|
_080ED1C4:
|
|
movs r0, 0
|
|
bl sub_80F0264
|
|
ldr r1, _080ED1F0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED1D8:
|
|
bl sub_80F02A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ED1E4
|
|
b _080ED308
|
|
_080ED1E4:
|
|
ldr r1, _080ED1F0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED1F0: .4byte 0x02000000
|
|
_080ED1F4:
|
|
movs r0, 0
|
|
bl sub_80F3008
|
|
ldr r1, _080ED204 @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED204: .4byte 0x02000000
|
|
_080ED208:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
beq _080ED212
|
|
b _080ED308
|
|
_080ED212:
|
|
ldr r1, _080ED21C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED21C: .4byte 0x02000000
|
|
_080ED220:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ED248 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED248: .4byte sub_80EBD18
|
|
_080ED24C:
|
|
movs r0, 0x4
|
|
bl sub_80EED2C
|
|
ldr r1, _080ED25C @ =0x02000000
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
b _080ED27C
|
|
.align 2, 0
|
|
_080ED25C: .4byte 0x02000000
|
|
_080ED260:
|
|
ldr r0, _080ED284 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _080ED308
|
|
ldr r2, _080ED288 @ =0x00000306
|
|
adds r0, r4, r2
|
|
strh r1, [r0]
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r1, r4, r3
|
|
_080ED27C:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED308
|
|
.align 2, 0
|
|
_080ED284: .4byte gPaletteFade
|
|
_080ED288: .4byte 0x00000306
|
|
_080ED28C:
|
|
movs r0, 0x1
|
|
bl sub_80F2C80
|
|
ldr r1, _080ED2C4 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED2A0:
|
|
movs r0, 0x1
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _080ED308
|
|
ldr r0, _080ED2C4 @ =0x02000000
|
|
ldr r3, _080ED2C8 @ =0x00000306
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r1, 0x1
|
|
strh r1, [r0]
|
|
b _080ED308
|
|
.align 2, 0
|
|
_080ED2C4: .4byte 0x02000000
|
|
_080ED2C8: .4byte 0x00000306
|
|
_080ED2CC:
|
|
ldr r4, _080ED310 @ =0x02000000
|
|
ldr r2, _080ED314 @ =0x00006dfc
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
adds r0, 0x7
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80F2C80
|
|
movs r3, 0xC1
|
|
lsls r3, 2
|
|
adds r4, r3
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
_080ED2EA:
|
|
ldr r0, _080ED310 @ =0x02000000
|
|
ldr r1, _080ED314 @ =0x00006dfc
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r0, 0x7
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED308
|
|
ldr r0, _080ED318 @ =sub_80ED31C
|
|
bl sub_80EBDBC
|
|
_080ED308:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED310: .4byte 0x02000000
|
|
_080ED314: .4byte 0x00006dfc
|
|
_080ED318: .4byte sub_80ED31C
|
|
thumb_func_end sub_80ED01C
|
|
|
|
thumb_func_start sub_80ED31C
|
|
sub_80ED31C: @ 80ED31C
|
|
push {r4,lr}
|
|
ldr r0, _080ED338 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _080ED3A8
|
|
cmp r0, 0x1
|
|
bgt _080ED33C
|
|
cmp r0, 0
|
|
beq _080ED342
|
|
b _080ED3CA
|
|
.align 2, 0
|
|
_080ED338: .4byte 0x02000000
|
|
_080ED33C:
|
|
cmp r0, 0x2
|
|
beq _080ED3C0
|
|
b _080ED3CA
|
|
_080ED342:
|
|
bl sub_80F5DD4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080ED374
|
|
cmp r0, 0x2
|
|
beq _080ED380
|
|
ldr r0, _080ED36C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ED38C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080ED370 @ =sub_80ED4D8
|
|
bl sub_80EBDBC
|
|
b _080ED3CA
|
|
.align 2, 0
|
|
_080ED36C: .4byte gMain
|
|
_080ED370: .4byte sub_80ED4D8
|
|
_080ED374:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl ShowMapNamePopUpWindow
|
|
b _080ED3CA
|
|
_080ED380:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080ED3C8
|
|
_080ED38C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ED3CA
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080ED3A4 @ =sub_80ECD80
|
|
bl sub_80EBDBC
|
|
b _080ED3CA
|
|
.align 2, 0
|
|
_080ED3A4: .4byte sub_80ECD80
|
|
_080ED3A8:
|
|
bl sub_80F0718
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED3CA
|
|
bl ShowMapNamePopUpWindow
|
|
bl sub_80F3264
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080ED3C8
|
|
_080ED3C0:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080ED3CA
|
|
_080ED3C8:
|
|
strh r0, [r4]
|
|
_080ED3CA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80ED31C
|
|
|
|
thumb_func_start sub_80ED3D0
|
|
sub_80ED3D0: @ 80ED3D0
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080ED3EC @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _080ED4C6
|
|
lsls r0, 2
|
|
ldr r1, _080ED3F0 @ =_080ED3F4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED3EC: .4byte 0x02000000
|
|
_080ED3F0: .4byte _080ED3F4
|
|
.align 2, 0
|
|
_080ED3F4:
|
|
.4byte _080ED418
|
|
.4byte _080ED420
|
|
.4byte _080ED42A
|
|
.4byte _080ED432
|
|
.4byte _080ED446
|
|
.4byte _080ED458
|
|
.4byte _080ED462
|
|
.4byte _080ED498
|
|
.4byte _080ED4B4
|
|
_080ED418:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
b _080ED49E
|
|
_080ED420:
|
|
bl sub_80EED0C
|
|
bl sub_80F6134
|
|
b _080ED49E
|
|
_080ED42A:
|
|
movs r0, 0
|
|
bl sub_80EEFBC
|
|
b _080ED49E
|
|
_080ED432:
|
|
movs r0, 0
|
|
bl sub_80F0264
|
|
ldr r1, _080ED454 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED446:
|
|
bl sub_80F02A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED4C6
|
|
b _080ED49E
|
|
.align 2, 0
|
|
_080ED454: .4byte 0x02000000
|
|
_080ED458:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080ED4C6
|
|
b _080ED49E
|
|
_080ED462:
|
|
movs r0, 0
|
|
bl sub_80F3008
|
|
ldr r4, _080ED490 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ED494 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080ED4A6
|
|
.align 2, 0
|
|
_080ED490: .4byte 0x02000000
|
|
_080ED494: .4byte sub_80EBD18
|
|
_080ED498:
|
|
movs r0, 0x4
|
|
bl sub_80EED2C
|
|
_080ED49E:
|
|
ldr r1, _080ED4B0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080ED4A6:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED4C6
|
|
.align 2, 0
|
|
_080ED4B0: .4byte 0x02000000
|
|
_080ED4B4:
|
|
ldr r0, _080ED4D0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ED4C6
|
|
ldr r0, _080ED4D4 @ =sub_80ED31C
|
|
bl sub_80EBDBC
|
|
_080ED4C6:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED4D0: .4byte gPaletteFade
|
|
_080ED4D4: .4byte sub_80ED31C
|
|
thumb_func_end sub_80ED3D0
|
|
|
|
thumb_func_start sub_80ED4D8
|
|
sub_80ED4D8: @ 80ED4D8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ED4F8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x8
|
|
bls _080ED4EE
|
|
b _080ED60E
|
|
_080ED4EE:
|
|
lsls r0, 2
|
|
ldr r1, _080ED4FC @ =_080ED500
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED4F8: .4byte 0x02000000
|
|
_080ED4FC: .4byte _080ED500
|
|
.align 2, 0
|
|
_080ED500:
|
|
.4byte _080ED524
|
|
.4byte _080ED542
|
|
.4byte _080ED564
|
|
.4byte _080ED57C
|
|
.4byte _080ED582
|
|
.4byte _080ED594
|
|
.4byte _080ED5A4
|
|
.4byte _080ED5E0
|
|
.4byte _080ED5FC
|
|
_080ED524:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED5EE
|
|
_080ED542:
|
|
ldr r0, _080ED560 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ED60E
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80F3130
|
|
b _080ED5E6
|
|
.align 2, 0
|
|
_080ED560: .4byte gPaletteFade
|
|
_080ED564:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080ED60E
|
|
ldr r1, _080ED578 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080ED5EE
|
|
.align 2, 0
|
|
_080ED578: .4byte 0x02000000
|
|
_080ED57C:
|
|
bl sub_80F4CF0
|
|
b _080ED5E6
|
|
_080ED582:
|
|
bl sub_80EFF34
|
|
ldr r1, _080ED5A0 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED594:
|
|
bl sub_80EFF68
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED60E
|
|
b _080ED5E6
|
|
.align 2, 0
|
|
_080ED5A0: .4byte 0x02000000
|
|
_080ED5A4:
|
|
bl sub_80F35B4
|
|
movs r0, 0x2
|
|
bl sub_80EEFBC
|
|
ldr r4, _080ED5D8 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ED5DC @ =sub_80EBD4C
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED5EE
|
|
.align 2, 0
|
|
_080ED5D8: .4byte 0x02000000
|
|
_080ED5DC: .4byte sub_80EBD4C
|
|
_080ED5E0:
|
|
movs r0, 0x2
|
|
bl sub_80EED2C
|
|
_080ED5E6:
|
|
ldr r1, _080ED5F8 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080ED5EE:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED60E
|
|
.align 2, 0
|
|
_080ED5F8: .4byte 0x02000000
|
|
_080ED5FC:
|
|
ldr r0, _080ED618 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ED60E
|
|
ldr r0, _080ED61C @ =sub_80ED858
|
|
bl sub_80EBDBC
|
|
_080ED60E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED618: .4byte gPaletteFade
|
|
_080ED61C: .4byte sub_80ED858
|
|
thumb_func_end sub_80ED4D8
|
|
|
|
thumb_func_start sub_80ED620
|
|
sub_80ED620: @ 80ED620
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ED640 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x10
|
|
bls _080ED636
|
|
b _080ED846
|
|
_080ED636:
|
|
lsls r0, 2
|
|
ldr r1, _080ED644 @ =_080ED648
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED640: .4byte 0x02000000
|
|
_080ED644: .4byte _080ED648
|
|
.align 2, 0
|
|
_080ED648:
|
|
.4byte _080ED68C
|
|
.4byte _080ED6A4
|
|
.4byte _080ED6B8
|
|
.4byte _080ED6EC
|
|
.4byte _080ED730
|
|
.4byte _080ED736
|
|
.4byte _080ED750
|
|
.4byte _080ED762
|
|
.4byte _080ED76C
|
|
.4byte _080ED784
|
|
.4byte _080ED78A
|
|
.4byte _080ED7C0
|
|
.4byte _080ED7D4
|
|
.4byte _080ED7EC
|
|
.4byte _080ED800
|
|
.4byte _080ED820
|
|
.4byte _080ED834
|
|
_080ED68C:
|
|
bl sub_80F1E84
|
|
movs r0, 0x1
|
|
bl sub_80F2D04
|
|
ldr r1, _080ED6A0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED6A0: .4byte 0x02000000
|
|
_080ED6A4:
|
|
bl sub_80F1F10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ED6B0
|
|
b _080ED846
|
|
_080ED6B0:
|
|
movs r0, 0x1
|
|
bl sub_80EEFBC
|
|
b _080ED80C
|
|
_080ED6B8:
|
|
bl sub_80EEF34
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080ED6C6
|
|
b _080ED846
|
|
_080ED6C6:
|
|
ldr r4, _080ED6E8 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED6E8: .4byte 0x02000000
|
|
_080ED6EC:
|
|
ldr r0, _080ED724 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
beq _080ED6FE
|
|
b _080ED846
|
|
_080ED6FE:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80EF814
|
|
ldr r0, _080ED728 @ =0x02000000
|
|
ldr r2, _080ED72C @ =0x000076aa
|
|
adds r1, r0, r2
|
|
strb r4, [r1]
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r1, 0x1
|
|
strh r1, [r0]
|
|
b _080ED846
|
|
.align 2, 0
|
|
_080ED724: .4byte gPaletteFade
|
|
_080ED728: .4byte 0x02000000
|
|
_080ED72C: .4byte 0x000076aa
|
|
_080ED730:
|
|
bl sub_80F2620
|
|
b _080ED80C
|
|
_080ED736:
|
|
ldr r0, _080ED74C @ =0x0000d162
|
|
adds r1, r4, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
bl sub_80F4BD0
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED74C: .4byte 0x0000d162
|
|
_080ED750:
|
|
bl sub_80EFF34
|
|
ldr r1, _080ED768 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED762:
|
|
bl sub_80EFF68
|
|
b _080ED806
|
|
.align 2, 0
|
|
_080ED768: .4byte 0x02000000
|
|
_080ED76C:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080ED846
|
|
ldr r1, _080ED780 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED780: .4byte 0x02000000
|
|
_080ED784:
|
|
bl sub_8055870
|
|
b _080ED808
|
|
_080ED78A:
|
|
bl sub_80F33A8
|
|
ldr r4, _080ED7B8 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080ED7BC @ =sub_80EBD4C
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED7B8: .4byte 0x02000000
|
|
_080ED7BC: .4byte sub_80EBD4C
|
|
_080ED7C0:
|
|
movs r0, 0x2
|
|
bl sub_80EED2C
|
|
ldr r1, _080ED7D0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED7D0: .4byte 0x02000000
|
|
_080ED7D4:
|
|
ldr r0, _080ED7E8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080ED846
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080ED814
|
|
.align 2, 0
|
|
_080ED7E8: .4byte gPaletteFade
|
|
_080ED7EC:
|
|
movs r0, 0x1
|
|
bl sub_80F2C80
|
|
ldr r1, _080ED81C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED800:
|
|
movs r0, 0x1
|
|
bl sub_80F2CBC
|
|
_080ED806:
|
|
lsls r0, 24
|
|
_080ED808:
|
|
cmp r0, 0
|
|
bne _080ED846
|
|
_080ED80C:
|
|
ldr r1, _080ED81C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
_080ED814:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080ED846
|
|
.align 2, 0
|
|
_080ED81C: .4byte 0x02000000
|
|
_080ED820:
|
|
movs r0, 0x6
|
|
bl sub_80F2C80
|
|
ldr r1, _080ED850 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080ED834:
|
|
movs r0, 0x6
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080ED846
|
|
ldr r0, _080ED854 @ =sub_80ED858
|
|
bl sub_80EBDBC
|
|
_080ED846:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED850: .4byte 0x02000000
|
|
_080ED854: .4byte sub_80ED858
|
|
thumb_func_end sub_80ED620
|
|
|
|
thumb_func_start sub_80ED858
|
|
sub_80ED858: @ 80ED858
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080ED878 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0xB
|
|
bls _080ED86E
|
|
b _080EDB7A
|
|
_080ED86E:
|
|
lsls r0, 2
|
|
ldr r1, _080ED87C @ =_080ED880
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED878: .4byte 0x02000000
|
|
_080ED87C: .4byte _080ED880
|
|
.align 2, 0
|
|
_080ED880:
|
|
.4byte _080ED8B0
|
|
.4byte _080ED8CC
|
|
.4byte _080ED8EC
|
|
.4byte _080ED904
|
|
.4byte _080ED91A
|
|
.4byte _080EDA68
|
|
.4byte _080EDA8C
|
|
.4byte _080EDAA4
|
|
.4byte _080EDAC0
|
|
.4byte _080EDAE8
|
|
.4byte _080EDB7A
|
|
.4byte _080EDB28
|
|
_080ED8B0:
|
|
bl sub_80F4F78
|
|
bl sub_80F5B38
|
|
ldr r0, _080ED8C8 @ =0x02000000
|
|
movs r4, 0xC1
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080ED8C8: .4byte 0x02000000
|
|
_080ED8CC:
|
|
bl sub_80F5B50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ED8D8
|
|
b _080EDB7A
|
|
_080ED8D8:
|
|
ldr r0, _080ED8E8 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080ED8E8: .4byte 0x02000000
|
|
_080ED8EC:
|
|
movs r0, 0x1
|
|
bl sub_80F0174
|
|
ldr r0, _080ED900 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x3
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080ED900: .4byte 0x02000000
|
|
_080ED904:
|
|
bl sub_80F4FB4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080ED910
|
|
b _080EDB7A
|
|
_080ED910:
|
|
bl sub_80F3C94
|
|
bl sub_80F3D00
|
|
b _080EDAD4
|
|
_080ED91A:
|
|
ldr r2, _080ED960 @ =gMain
|
|
ldrh r1, [r2, 0x2C]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r3, r2, 0
|
|
cmp r0, 0
|
|
beq _080ED970
|
|
ldr r1, _080ED964 @ =0x000087cb
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080ED970
|
|
ldr r2, _080ED968 @ =0x000076aa
|
|
adds r0, r5, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080ED948
|
|
ldr r4, _080ED96C @ =0x000087dc
|
|
adds r0, r5, r4
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
beq _080ED970
|
|
_080ED948:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_80F5060
|
|
bl move_anim_execute
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r5, r2
|
|
b _080ED9B8
|
|
.align 2, 0
|
|
_080ED960: .4byte gMain
|
|
_080ED964: .4byte 0x000087cb
|
|
_080ED968: .4byte 0x000076aa
|
|
_080ED96C: .4byte 0x000087dc
|
|
_080ED970:
|
|
ldrh r1, [r3, 0x2C]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080ED9CC
|
|
ldr r4, _080ED9C0 @ =0x000087cb
|
|
adds r0, r5, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080ED9CC
|
|
ldr r1, _080ED9C4 @ =0x000076aa
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080ED9A2
|
|
ldr r2, _080ED9C8 @ =0x000087dc
|
|
adds r0, r5, r2
|
|
subs r4, 0x57
|
|
adds r1, r5, r4
|
|
movs r4, 0
|
|
ldrsh r2, [r0, r4]
|
|
movs r4, 0
|
|
ldrsh r0, [r1, r4]
|
|
cmp r2, r0
|
|
bge _080ED9CC
|
|
_080ED9A2:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
bl sub_80F5060
|
|
bl move_anim_execute
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r5, r0
|
|
_080ED9B8:
|
|
movs r0, 0x5
|
|
strh r0, [r1]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080ED9C0: .4byte 0x000087cb
|
|
_080ED9C4: .4byte 0x000076aa
|
|
_080ED9C8: .4byte 0x000087dc
|
|
_080ED9CC:
|
|
ldrh r2, [r3, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080ED9F8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_80F4FDC
|
|
bl move_anim_execute
|
|
ldr r0, _080ED9F4 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x9
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080ED9F4: .4byte 0x02000000
|
|
_080ED9F8:
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _080EDA02
|
|
b _080EDB7A
|
|
_080EDA02:
|
|
adds r4, r5, 0
|
|
ldr r2, _080EDA38 @ =0x000076aa
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080EDA44
|
|
ldr r1, _080EDA3C @ =0x000087dc
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
ldr r2, _080EDA40 @ =0x000087da
|
|
adds r0, r4, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
beq _080EDA26
|
|
b _080EDB7A
|
|
_080EDA26:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
movs r0, 0x9
|
|
strh r0, [r1]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDA38: .4byte 0x000076aa
|
|
_080EDA3C: .4byte 0x000087dc
|
|
_080EDA40: .4byte 0x000087da
|
|
_080EDA44:
|
|
ldr r1, _080EDA64 @ =0x00006dac
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080EDA50
|
|
b _080EDB7A
|
|
_080EDA50:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r5, r2
|
|
movs r0, 0x7
|
|
strh r0, [r1]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDA64: .4byte 0x00006dac
|
|
_080EDA68:
|
|
bl gpu_sync_bg_show
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EDA74
|
|
b _080EDB7A
|
|
_080EDA74:
|
|
bl sub_80F3D00
|
|
ldr r0, _080EDA88 @ =0x02000000
|
|
movs r4, 0xC1
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
movs r1, 0x6
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDA88: .4byte 0x02000000
|
|
_080EDA8C:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EDB7A
|
|
ldr r0, _080EDAA0 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
b _080EDADC
|
|
.align 2, 0
|
|
_080EDAA0: .4byte 0x02000000
|
|
_080EDAA4:
|
|
movs r0, 0x3
|
|
bl sub_80EEFBC
|
|
bl sub_80F3668
|
|
ldr r0, _080EDABC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
movs r1, 0x8
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDABC: .4byte 0x02000000
|
|
_080EDAC0:
|
|
bl sub_80F7500
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EDB7A
|
|
movs r0, 0x2
|
|
bl sub_80EEFBC
|
|
bl sub_80F3698
|
|
_080EDAD4:
|
|
ldr r0, _080EDAE4 @ =0x02000000
|
|
movs r4, 0xC1
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
_080EDADC:
|
|
movs r1, 0x4
|
|
strh r1, [r0]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDAE4: .4byte 0x02000000
|
|
_080EDAE8:
|
|
bl sub_80F5038
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080EDB7A
|
|
movs r0, 0
|
|
bl sub_80F0174
|
|
bl sub_80F2F48
|
|
ldr r5, _080EDB24 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r5, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r4, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r5, r2
|
|
movs r0, 0xB
|
|
strh r0, [r1]
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDB24: .4byte 0x02000000
|
|
_080EDB28:
|
|
ldr r0, _080EDB60 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EDB7A
|
|
bl sub_80F3CE8
|
|
bl sub_80F5BDC
|
|
ldr r0, _080EDB64 @ =0x02000000
|
|
ldr r4, _080EDB68 @ =0x000076aa
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080EDB70
|
|
bl sub_80F357C
|
|
movs r0, 0x1
|
|
bl sub_80F2D6C
|
|
movs r0, 0x6
|
|
bl sub_80F2D6C
|
|
ldr r0, _080EDB6C @ =sub_80ECA10
|
|
bl sub_80EBDBC
|
|
b _080EDB7A
|
|
.align 2, 0
|
|
_080EDB60: .4byte gPaletteFade
|
|
_080EDB64: .4byte 0x02000000
|
|
_080EDB68: .4byte 0x000076aa
|
|
_080EDB6C: .4byte sub_80ECA10
|
|
_080EDB70:
|
|
bl sub_80F3614
|
|
ldr r0, _080EDB84 @ =sub_80ED3D0
|
|
bl sub_80EBDBC
|
|
_080EDB7A:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDB84: .4byte sub_80ED3D0
|
|
thumb_func_end sub_80ED858
|
|
|
|
thumb_func_start sub_80EDB88
|
|
sub_80EDB88: @ 80EDB88
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EDBA8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x11
|
|
bls _080EDB9E
|
|
b _080EDDAA
|
|
_080EDB9E:
|
|
lsls r0, 2
|
|
ldr r1, _080EDBAC @ =_080EDBB0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EDBA8: .4byte 0x02000000
|
|
_080EDBAC: .4byte _080EDBB0
|
|
.align 2, 0
|
|
_080EDBB0:
|
|
.4byte _080EDBF8
|
|
.4byte _080EDC04
|
|
.4byte _080EDC24
|
|
.4byte _080EDC58
|
|
.4byte _080EDC7C
|
|
.4byte _080EDC90
|
|
.4byte _080EDCA2
|
|
.4byte _080EDCC0
|
|
.4byte _080EDCDC
|
|
.4byte _080EDCE6
|
|
.4byte _080EDCFA
|
|
.4byte _080EDD0C
|
|
.4byte _080EDD20
|
|
.4byte _080EDD34
|
|
.4byte _080EDD48
|
|
.4byte _080EDD52
|
|
.4byte _080EDD7C
|
|
.4byte _080EDD98
|
|
_080EDBF8:
|
|
bl sub_80F1E84
|
|
movs r0, 0
|
|
bl sub_80F2D04
|
|
b _080EDD82
|
|
_080EDC04:
|
|
bl sub_80F1F10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EDC10
|
|
b _080EDDAA
|
|
_080EDC10:
|
|
movs r0, 0x4
|
|
bl sub_80EEFBC
|
|
ldr r1, _080EDC20 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EDD8A
|
|
.align 2, 0
|
|
_080EDC20: .4byte 0x02000000
|
|
_080EDC24:
|
|
bl sub_80EEF34
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080EDC32
|
|
b _080EDDAA
|
|
_080EDC32:
|
|
ldr r4, _080EDC54 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EDD8A
|
|
.align 2, 0
|
|
_080EDC54: .4byte 0x02000000
|
|
_080EDC58:
|
|
ldr r0, _080EDC78 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EDC66
|
|
b _080EDDAA
|
|
_080EDC66:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80EF814
|
|
b _080EDD82
|
|
.align 2, 0
|
|
_080EDC78: .4byte gPaletteFade
|
|
_080EDC7C:
|
|
bl sub_80F2620
|
|
ldr r1, _080EDC8C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EDD8A
|
|
.align 2, 0
|
|
_080EDC8C: .4byte 0x02000000
|
|
_080EDC90:
|
|
bl sub_80F638C
|
|
ldr r1, _080EDCBC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EDCA2:
|
|
bl sub_80F63D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EDD82
|
|
ldr r1, _080EDCBC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x2
|
|
strh r0, [r1]
|
|
b _080EDDAA
|
|
.align 2, 0
|
|
_080EDCBC: .4byte 0x02000000
|
|
_080EDCC0:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
ldr r1, _080EDCD8 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EDDAA
|
|
.align 2, 0
|
|
_080EDCD8: .4byte 0x02000000
|
|
_080EDCDC:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
b _080EDD82
|
|
_080EDCE6:
|
|
movs r0, 0x1
|
|
bl sub_80F0264
|
|
ldr r1, _080EDD08 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EDCFA:
|
|
bl sub_80F02A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
b _080EDD82
|
|
.align 2, 0
|
|
_080EDD08: .4byte 0x02000000
|
|
_080EDD0C:
|
|
movs r0, 0x2
|
|
bl sub_80F2C80
|
|
ldr r1, _080EDD30 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EDD20:
|
|
movs r0, 0x2
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
b _080EDD82
|
|
.align 2, 0
|
|
_080EDD30: .4byte 0x02000000
|
|
_080EDD34:
|
|
movs r0, 0x1
|
|
bl sub_80F3008
|
|
ldr r1, _080EDD44 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EDD8A
|
|
.align 2, 0
|
|
_080EDD44: .4byte 0x02000000
|
|
_080EDD48:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
b _080EDD82
|
|
_080EDD52:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080EDD78 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EDD8A
|
|
.align 2, 0
|
|
_080EDD78: .4byte sub_80EBD18
|
|
_080EDD7C:
|
|
movs r0, 0x4
|
|
bl sub_80EED2C
|
|
_080EDD82:
|
|
ldr r1, _080EDD94 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080EDD8A:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EDDAA
|
|
.align 2, 0
|
|
_080EDD94: .4byte 0x02000000
|
|
_080EDD98:
|
|
ldr r0, _080EDDB4 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EDDAA
|
|
ldr r0, _080EDDB8 @ =sub_80EDDBC
|
|
bl sub_80EBDBC
|
|
_080EDDAA:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDDB4: .4byte gPaletteFade
|
|
_080EDDB8: .4byte sub_80EDDBC
|
|
thumb_func_end sub_80EDB88
|
|
|
|
thumb_func_start sub_80EDDBC
|
|
sub_80EDDBC: @ 80EDDBC
|
|
push {r4,lr}
|
|
ldr r0, _080EDDD8 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _080EDE48
|
|
cmp r0, 0x1
|
|
bgt _080EDDDC
|
|
cmp r0, 0
|
|
beq _080EDDE2
|
|
b _080EDE6A
|
|
.align 2, 0
|
|
_080EDDD8: .4byte 0x02000000
|
|
_080EDDDC:
|
|
cmp r0, 0x2
|
|
beq _080EDE60
|
|
b _080EDE6A
|
|
_080EDDE2:
|
|
bl sub_80F5DD4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080EDE14
|
|
cmp r0, 0x2
|
|
beq _080EDE20
|
|
ldr r0, _080EDE0C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EDE2C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EDE10 @ =sub_80EDEE4
|
|
bl sub_80EBDBC
|
|
b _080EDE6A
|
|
.align 2, 0
|
|
_080EDE0C: .4byte gMain
|
|
_080EDE10: .4byte sub_80EDEE4
|
|
_080EDE14:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl ShowMapNamePopUpWindow
|
|
b _080EDE6A
|
|
_080EDE20:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080EDE68
|
|
_080EDE2C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EDE6A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EDE44 @ =sub_80EDE70
|
|
bl sub_80EBDBC
|
|
b _080EDE6A
|
|
.align 2, 0
|
|
_080EDE44: .4byte sub_80EDE70
|
|
_080EDE48:
|
|
bl sub_80F0718
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EDE6A
|
|
bl ShowMapNamePopUpWindow
|
|
bl sub_80F3264
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080EDE68
|
|
_080EDE60:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EDE6A
|
|
_080EDE68:
|
|
strh r0, [r4]
|
|
_080EDE6A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EDDBC
|
|
|
|
thumb_func_start sub_80EDE70
|
|
sub_80EDE70: @ 80EDE70
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080EDE8C @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r2, [r4]
|
|
cmp r2, 0x1
|
|
beq _080EDEAE
|
|
cmp r2, 0x1
|
|
bgt _080EDE90
|
|
cmp r2, 0
|
|
beq _080EDE96
|
|
b _080EDED6
|
|
.align 2, 0
|
|
_080EDE8C: .4byte 0x02000000
|
|
_080EDE90:
|
|
cmp r2, 0x2
|
|
beq _080EDED0
|
|
b _080EDED6
|
|
_080EDE96:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
b _080EDEC4
|
|
_080EDEAE:
|
|
ldr r0, _080EDECC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EDED6
|
|
bl sub_80F3130
|
|
movs r0, 0x2
|
|
bl sub_80F2D6C
|
|
_080EDEC4:
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EDED6
|
|
.align 2, 0
|
|
_080EDECC: .4byte gPaletteFade
|
|
_080EDED0:
|
|
ldr r0, _080EDEE0 @ =sub_80EC00C
|
|
bl sub_80EBDBC
|
|
_080EDED6:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDEE0: .4byte sub_80EC00C
|
|
thumb_func_end sub_80EDE70
|
|
|
|
thumb_func_start sub_80EDEE4
|
|
sub_80EDEE4: @ 80EDEE4
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EDF04 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0xA
|
|
bls _080EDEFA
|
|
b _080EE060
|
|
_080EDEFA:
|
|
lsls r0, 2
|
|
ldr r1, _080EDF08 @ =_080EDF0C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EDF04: .4byte 0x02000000
|
|
_080EDF08: .4byte _080EDF0C
|
|
.align 2, 0
|
|
_080EDF0C:
|
|
.4byte _080EDF38
|
|
.4byte _080EDF50
|
|
.4byte _080EDF80
|
|
.4byte _080EDF98
|
|
.4byte _080EDFB0
|
|
.4byte _080EDFC8
|
|
.4byte _080EDFE0
|
|
.4byte _080EDFF8
|
|
.4byte _080EE01C
|
|
.4byte _080EE030
|
|
.4byte _080EE050
|
|
_080EDF38:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
b _080EE03C
|
|
_080EDF50:
|
|
ldr r0, _080EDF78 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EDF5E
|
|
b _080EE060
|
|
_080EDF5E:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80F3130
|
|
ldr r1, _080EDF7C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EDF78: .4byte gPaletteFade
|
|
_080EDF7C: .4byte 0x02000000
|
|
_080EDF80:
|
|
bl sub_80F66E0
|
|
bl sub_80EEE08
|
|
ldr r1, _080EDF94 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EDF94: .4byte 0x02000000
|
|
_080EDF98:
|
|
bl sub_80F1080
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE060
|
|
ldr r1, _080EDFAC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EDFAC: .4byte 0x02000000
|
|
_080EDFB0:
|
|
movs r0, 0x5
|
|
bl sub_80EEFBC
|
|
bl sub_80F38B8
|
|
ldr r1, _080EDFDC @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EDFC8:
|
|
bl sub_80F38EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE060
|
|
ldr r1, _080EDFDC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EDFDC: .4byte 0x02000000
|
|
_080EDFE0:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EE060
|
|
ldr r1, _080EDFF4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EDFF4: .4byte 0x02000000
|
|
_080EDFF8:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080EE018 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
b _080EE03C
|
|
.align 2, 0
|
|
_080EE018: .4byte sub_80EBD18
|
|
_080EE01C:
|
|
movs r0, 0x3
|
|
bl sub_80EED2C
|
|
ldr r1, _080EE02C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE042
|
|
.align 2, 0
|
|
_080EE02C: .4byte 0x02000000
|
|
_080EE030:
|
|
ldr r0, _080EE04C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE060
|
|
_080EE03C:
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
_080EE042:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EE060
|
|
.align 2, 0
|
|
_080EE04C: .4byte gPaletteFade
|
|
_080EE050:
|
|
bl sub_80F170C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE060
|
|
ldr r0, _080EE068 @ =sub_80EE06C
|
|
bl sub_80EBDBC
|
|
_080EE060:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE068: .4byte sub_80EE06C
|
|
thumb_func_end sub_80EDEE4
|
|
|
|
thumb_func_start sub_80EE06C
|
|
sub_80EE06C: @ 80EE06C
|
|
push {r4,r5,lr}
|
|
ldr r1, _080EE08C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x8
|
|
bls _080EE080
|
|
b _080EE288
|
|
_080EE080:
|
|
lsls r0, 2
|
|
ldr r1, _080EE090 @ =_080EE094
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EE08C: .4byte 0x02000000
|
|
_080EE090: .4byte _080EE094
|
|
.align 2, 0
|
|
_080EE094:
|
|
.4byte _080EE0B8
|
|
.4byte _080EE0CC
|
|
.4byte _080EE180
|
|
.4byte _080EE19C
|
|
.4byte _080EE1B8
|
|
.4byte _080EE1D0
|
|
.4byte _080EE1F8
|
|
.4byte _080EE250
|
|
.4byte _080EE26C
|
|
_080EE0B8:
|
|
bl sub_80F15A8
|
|
ldr r1, _080EE0C8 @ =0x02000000
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
b _080EE1C4
|
|
.align 2, 0
|
|
_080EE0C8: .4byte 0x02000000
|
|
_080EE0CC:
|
|
ldr r2, _080EE0FC @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r3, r2, 0
|
|
cmp r0, 0
|
|
beq _080EE104
|
|
ldr r1, _080EE100 @ =0x000087dc
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, 0
|
|
beq _080EE104
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl sub_80F6A4C
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r1, r4, r5
|
|
b _080EE1C4
|
|
.align 2, 0
|
|
_080EE0FC: .4byte gMain
|
|
_080EE100: .4byte 0x000087dc
|
|
_080EE104:
|
|
ldrh r1, [r3, 0x30]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE140
|
|
ldr r1, _080EE138 @ =0x000087dc
|
|
adds r0, r4, r1
|
|
ldr r2, _080EE13C @ =0x00008774
|
|
adds r1, r4, r2
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r2, r0
|
|
bge _080EE140
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_80F6A4C
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080EE1C4
|
|
.align 2, 0
|
|
_080EE138: .4byte 0x000087dc
|
|
_080EE13C: .4byte 0x00008774
|
|
_080EE140:
|
|
ldrh r2, [r3, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080EE164
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0xB
|
|
bl sub_80EEFBC
|
|
ldr r0, _080EE160 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
b _080EE262
|
|
.align 2, 0
|
|
_080EE160: .4byte 0x02000000
|
|
_080EE164:
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _080EE16E
|
|
b _080EE288
|
|
_080EE16E:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EE17C @ =sub_80EE294
|
|
bl sub_80EBDBC
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE17C: .4byte sub_80EE294
|
|
_080EE180:
|
|
bl sub_80F6AF0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EE18C
|
|
b _080EE288
|
|
_080EE18C:
|
|
ldr r1, _080EE198 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE1C4
|
|
.align 2, 0
|
|
_080EE198: .4byte 0x02000000
|
|
_080EE19C:
|
|
bl sub_8055870
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _080EE288
|
|
ldr r0, _080EE1B4 @ =0x02000000
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
strh r1, [r0]
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE1B4: .4byte 0x02000000
|
|
_080EE1B8:
|
|
bl sub_80F3B00
|
|
ldr r1, _080EE1CC @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080EE1C4:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE1CC: .4byte 0x02000000
|
|
_080EE1D0:
|
|
bl sub_80F3B58
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE288
|
|
bl sub_80F1494
|
|
ldr r1, _080EE1F4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
bl sub_80EED9C
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE1F4: .4byte 0x02000000
|
|
_080EE1F8:
|
|
bl sub_80F68E8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080EE224
|
|
cmp r0, 0x1
|
|
bne _080EE224
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_80F3B94
|
|
ldr r0, _080EE220 @ =0x02000000
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
movs r1, 0x7
|
|
strh r1, [r0]
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE220: .4byte 0x02000000
|
|
_080EE224:
|
|
ldr r0, _080EE248 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE288
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_80F3B94
|
|
ldr r0, _080EE24C @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
strh r1, [r0]
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE248: .4byte gMain
|
|
_080EE24C: .4byte 0x02000000
|
|
_080EE250:
|
|
bl sub_80F3BD4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE288
|
|
ldr r0, _080EE268 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
_080EE262:
|
|
movs r1, 0x4
|
|
strh r1, [r0]
|
|
b _080EE288
|
|
.align 2, 0
|
|
_080EE268: .4byte 0x02000000
|
|
_080EE26C:
|
|
bl sub_80F3BD4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _080EE288
|
|
movs r0, 0x5
|
|
bl sub_80EEFBC
|
|
ldr r0, _080EE290 @ =0x02000000
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
strh r4, [r0]
|
|
_080EE288:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE290: .4byte 0x02000000
|
|
thumb_func_end sub_80EE06C
|
|
|
|
thumb_func_start sub_80EE294
|
|
sub_80EE294: @ 80EE294
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080EE2B4 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x8
|
|
bls _080EE2AA
|
|
b _080EE3C6
|
|
_080EE2AA:
|
|
lsls r0, 2
|
|
ldr r1, _080EE2B8 @ =_080EE2BC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EE2B4: .4byte 0x02000000
|
|
_080EE2B8: .4byte _080EE2BC
|
|
.align 2, 0
|
|
_080EE2BC:
|
|
.4byte _080EE2E0
|
|
.4byte _080EE2FE
|
|
.4byte _080EE324
|
|
.4byte _080EE33C
|
|
.4byte _080EE34C
|
|
.4byte _080EE370
|
|
.4byte _080EE37A
|
|
.4byte _080EE39A
|
|
.4byte _080EE3B4
|
|
_080EE2E0:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EE3A8
|
|
_080EE2FE:
|
|
ldr r0, _080EE320 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE3C6
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80F3C2C
|
|
bl sub_80EEE08
|
|
b _080EE3A0
|
|
.align 2, 0
|
|
_080EE320: .4byte gPaletteFade
|
|
_080EE324:
|
|
bl sub_80F6134
|
|
movs r0, 0x1
|
|
bl sub_80F0264
|
|
ldr r1, _080EE348 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EE33C:
|
|
bl sub_80F02A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE3C6
|
|
b _080EE3A0
|
|
.align 2, 0
|
|
_080EE348: .4byte 0x02000000
|
|
_080EE34C:
|
|
movs r0, 0x4
|
|
bl sub_80EEFBC
|
|
movs r0, 0x1
|
|
bl sub_80F3008
|
|
ldr r0, _080EE368 @ =sub_80EBD18
|
|
bl SetVBlankCallback
|
|
ldr r1, _080EE36C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE3A8
|
|
.align 2, 0
|
|
_080EE368: .4byte sub_80EBD18
|
|
_080EE36C: .4byte 0x02000000
|
|
_080EE370:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EE3C6
|
|
b _080EE3A0
|
|
_080EE37A:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r4, r2
|
|
b _080EE3A8
|
|
_080EE39A:
|
|
movs r0, 0x4
|
|
bl sub_80EED2C
|
|
_080EE3A0:
|
|
ldr r1, _080EE3B0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080EE3A8:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EE3C6
|
|
.align 2, 0
|
|
_080EE3B0: .4byte 0x02000000
|
|
_080EE3B4:
|
|
ldr r0, _080EE3D0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE3C6
|
|
ldr r0, _080EE3D4 @ =sub_80EDDBC
|
|
bl sub_80EBDBC
|
|
_080EE3C6:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE3D0: .4byte gPaletteFade
|
|
_080EE3D4: .4byte sub_80EDDBC
|
|
thumb_func_end sub_80EE294
|
|
|
|
thumb_func_start sub_80EE3D8
|
|
sub_80EE3D8: @ 80EE3D8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080EE3F8 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xD
|
|
bls _080EE3EC
|
|
b _080EE57A
|
|
_080EE3EC:
|
|
lsls r0, 2
|
|
ldr r1, _080EE3FC @ =_080EE400
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EE3F8: .4byte 0x02000000
|
|
_080EE3FC: .4byte _080EE400
|
|
.align 2, 0
|
|
_080EE400:
|
|
.4byte _080EE438
|
|
.4byte _080EE444
|
|
.4byte _080EE458
|
|
.4byte _080EE48C
|
|
.4byte _080EE4B0
|
|
.4byte _080EE4B6
|
|
.4byte _080EE4CA
|
|
.4byte _080EE4DC
|
|
.4byte _080EE4F0
|
|
.4byte _080EE504
|
|
.4byte _080EE50C
|
|
.4byte _080EE516
|
|
.4byte _080EE54C
|
|
.4byte _080EE568
|
|
_080EE438:
|
|
bl sub_80F1E84
|
|
movs r0, 0
|
|
bl sub_80F2D04
|
|
b _080EE552
|
|
_080EE444:
|
|
bl sub_80F1F10
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EE450
|
|
b _080EE57A
|
|
_080EE450:
|
|
movs r0, 0x9
|
|
bl sub_80EEFBC
|
|
b _080EE552
|
|
_080EE458:
|
|
bl sub_80EEF34
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _080EE466
|
|
b _080EE57A
|
|
_080EE466:
|
|
ldr r4, _080EE488 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080EE55A
|
|
.align 2, 0
|
|
_080EE488: .4byte 0x02000000
|
|
_080EE48C:
|
|
ldr r0, _080EE4AC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE57A
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
bl sub_80EED0C
|
|
bl sub_80EF814
|
|
bl sub_80EEE08
|
|
b _080EE552
|
|
.align 2, 0
|
|
_080EE4AC: .4byte gPaletteFade
|
|
_080EE4B0:
|
|
bl sub_80F2620
|
|
b _080EE552
|
|
_080EE4B6:
|
|
movs r0, 0x2
|
|
bl sub_80F0264
|
|
ldr r1, _080EE4D8 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EE4CA:
|
|
bl sub_80F02A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE57A
|
|
b _080EE552
|
|
.align 2, 0
|
|
_080EE4D8: .4byte 0x02000000
|
|
_080EE4DC:
|
|
movs r0, 0x3
|
|
bl sub_80F2C80
|
|
ldr r1, _080EE500 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EE4F0:
|
|
movs r0, 0x3
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE57A
|
|
b _080EE552
|
|
.align 2, 0
|
|
_080EE500: .4byte 0x02000000
|
|
_080EE504:
|
|
movs r0, 0x2
|
|
bl sub_80F3008
|
|
b _080EE552
|
|
_080EE50C:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EE57A
|
|
b _080EE552
|
|
_080EE516:
|
|
bl sub_80F6F10
|
|
ldr r4, _080EE544 @ =0x02000000
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _080EE548 @ =sub_80EBD68
|
|
bl SetVBlankCallback
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
b _080EE55A
|
|
.align 2, 0
|
|
_080EE544: .4byte 0x02000000
|
|
_080EE548: .4byte sub_80EBD68
|
|
_080EE54C:
|
|
movs r0, 0x5
|
|
bl sub_80EED2C
|
|
_080EE552:
|
|
ldr r1, _080EE564 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080EE55A:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EE57A
|
|
.align 2, 0
|
|
_080EE564: .4byte 0x02000000
|
|
_080EE568:
|
|
ldr r0, _080EE584 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE57A
|
|
ldr r0, _080EE588 @ =sub_80EE58C
|
|
bl sub_80EBDBC
|
|
_080EE57A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE584: .4byte gPaletteFade
|
|
_080EE588: .4byte sub_80EE58C
|
|
thumb_func_end sub_80EE3D8
|
|
|
|
thumb_func_start sub_80EE58C
|
|
sub_80EE58C: @ 80EE58C
|
|
push {r4,r5,lr}
|
|
ldr r5, _080EE5A8 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r4, r5, r0
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _080EE624
|
|
cmp r0, 0x1
|
|
bgt _080EE5AC
|
|
cmp r0, 0
|
|
beq _080EE5B2
|
|
b _080EE652
|
|
.align 2, 0
|
|
_080EE5A8: .4byte 0x02000000
|
|
_080EE5AC:
|
|
cmp r0, 0x2
|
|
beq _080EE648
|
|
b _080EE652
|
|
_080EE5B2:
|
|
bl sub_80F5DD4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080EE5E4
|
|
cmp r0, 0x2
|
|
beq _080EE5FC
|
|
ldr r0, _080EE5DC @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE608
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EE5E0 @ =sub_80EE658
|
|
bl sub_80EBDBC
|
|
b _080EE652
|
|
.align 2, 0
|
|
_080EE5DC: .4byte gMain
|
|
_080EE5E0: .4byte sub_80EE658
|
|
_080EE5E4:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080EE5F8 @ =0x0000876e
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80F0FFC
|
|
b _080EE652
|
|
.align 2, 0
|
|
_080EE5F8: .4byte 0x0000876e
|
|
_080EE5FC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080EE650
|
|
_080EE608:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE652
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _080EE620 @ =sub_80EE8F4
|
|
bl sub_80EBDBC
|
|
b _080EE652
|
|
.align 2, 0
|
|
_080EE620: .4byte sub_80EE8F4
|
|
_080EE624:
|
|
bl sub_80F0718
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE652
|
|
ldr r1, _080EE644 @ =0x0000876e
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80F0FFC
|
|
bl sub_80F3264
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
b _080EE650
|
|
.align 2, 0
|
|
_080EE644: .4byte 0x0000876e
|
|
_080EE648:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EE652
|
|
_080EE650:
|
|
strh r0, [r4]
|
|
_080EE652:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80EE58C
|
|
|
|
thumb_func_start sub_80EE658
|
|
sub_80EE658: @ 80EE658
|
|
push {r4,r5,lr}
|
|
ldr r1, _080EE678 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x11
|
|
bls _080EE66C
|
|
b _080EE8E8
|
|
_080EE66C:
|
|
lsls r0, 2
|
|
ldr r1, _080EE67C @ =_080EE680
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EE678: .4byte 0x02000000
|
|
_080EE67C: .4byte _080EE680
|
|
.align 2, 0
|
|
_080EE680:
|
|
.4byte _080EE6C8
|
|
.4byte _080EE6DA
|
|
.4byte _080EE6F4
|
|
.4byte _080EE708
|
|
.4byte _080EE71C
|
|
.4byte _080EE730
|
|
.4byte _080EE758
|
|
.4byte _080EE76A
|
|
.4byte _080EE780
|
|
.4byte _080EE820
|
|
.4byte _080EE840
|
|
.4byte _080EE854
|
|
.4byte _080EE868
|
|
.4byte _080EE86E
|
|
.4byte _080EE880
|
|
.4byte _080EE898
|
|
.4byte _080EE8B4
|
|
.4byte _080EE8D4
|
|
_080EE6C8:
|
|
movs r0, 0x1
|
|
bl sub_80F3294
|
|
movs r0, 0xA
|
|
bl sub_80EEFBC
|
|
bl sub_80F0B24
|
|
b _080EE8BE
|
|
_080EE6DA:
|
|
bl sub_80F0B44
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EE6E6
|
|
b _080EE8E8
|
|
_080EE6E6:
|
|
ldr r1, _080EE6F0 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE6F0: .4byte 0x02000000
|
|
_080EE6F4:
|
|
bl sub_80F0F64
|
|
ldr r1, _080EE704 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE704: .4byte 0x02000000
|
|
_080EE708:
|
|
bl sub_80F0FEC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EE714
|
|
b _080EE8E8
|
|
_080EE714:
|
|
movs r0, 0x1
|
|
bl sub_80F6FB8
|
|
b _080EE8BE
|
|
_080EE71C:
|
|
bl sub_80F6DB8
|
|
ldr r1, _080EE72C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE72C: .4byte 0x02000000
|
|
_080EE730:
|
|
ldr r4, _080EE750 @ =0x02008788
|
|
adds r0, r4, 0
|
|
subs r0, 0x1A
|
|
ldrh r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_80F700C
|
|
adds r0, r4, 0
|
|
bl sub_80F42C4
|
|
ldr r1, _080EE754 @ =0xffff7b7c
|
|
adds r4, r1
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EE8E8
|
|
.align 2, 0
|
|
_080EE750: .4byte 0x02008788
|
|
_080EE754: .4byte 0xffff7b7c
|
|
_080EE758:
|
|
bl sub_80F0CD8
|
|
ldr r1, _080EE77C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080EE76A:
|
|
bl sub_80F6E9C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080EE776
|
|
b _080EE8E8
|
|
_080EE776:
|
|
bl sub_80F0D5C
|
|
b _080EE8B8
|
|
.align 2, 0
|
|
_080EE77C: .4byte 0x02000000
|
|
_080EE780:
|
|
ldr r2, _080EE7B0 @ =gMain
|
|
ldrh r1, [r2, 0x2C]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r3, r2, 0
|
|
cmp r0, 0
|
|
beq _080EE7B8
|
|
ldr r1, _080EE7B4 @ =0x000087dc
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, 0
|
|
beq _080EE7B8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl sub_80F708C
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r1, r4, r5
|
|
b _080EE7E8
|
|
.align 2, 0
|
|
_080EE7B0: .4byte gMain
|
|
_080EE7B4: .4byte 0x000087dc
|
|
_080EE7B8:
|
|
ldrh r1, [r3, 0x2C]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE7F8
|
|
ldr r1, _080EE7F0 @ =0x000087dc
|
|
adds r0, r4, r1
|
|
ldr r2, _080EE7F4 @ =0x00008774
|
|
adds r1, r4, r2
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r2, r0
|
|
bge _080EE7F8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_80F708C
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
_080EE7E8:
|
|
movs r0, 0x10
|
|
strh r0, [r1]
|
|
b _080EE8E8
|
|
.align 2, 0
|
|
_080EE7F0: .4byte 0x000087dc
|
|
_080EE7F4: .4byte 0x00008774
|
|
_080EE7F8:
|
|
ldrh r1, [r3, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EE8E8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_80F4394
|
|
bl sub_80F0EC0
|
|
ldr r1, _080EE81C @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE81C: .4byte 0x02000000
|
|
_080EE820:
|
|
bl sub_80F6ED4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE8E8
|
|
bl sub_80F0EF4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE8E8
|
|
movs r0, 0
|
|
bl sub_80F6FB8
|
|
bl sub_80F2FB0
|
|
b _080EE8BE
|
|
_080EE840:
|
|
bl sub_80F6134
|
|
ldr r1, _080EE850 @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE850: .4byte 0x02000000
|
|
_080EE854:
|
|
bl sub_80F0FA0
|
|
ldr r1, _080EE864 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE864: .4byte 0x02000000
|
|
_080EE868:
|
|
bl sub_80F0FEC
|
|
b _080EE8B8
|
|
_080EE86E:
|
|
bl sub_80F0C28
|
|
ldr r1, _080EE87C @ =0x02000000
|
|
movs r0, 0xC1
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE87C: .4byte 0x02000000
|
|
_080EE880:
|
|
bl sub_80F0C48
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE8E8
|
|
ldr r1, _080EE894 @ =0x02000000
|
|
movs r2, 0xC1
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
b _080EE8C6
|
|
.align 2, 0
|
|
_080EE894: .4byte 0x02000000
|
|
_080EE898:
|
|
movs r0, 0x9
|
|
bl sub_80EEFBC
|
|
movs r0, 0
|
|
bl sub_80F3294
|
|
ldr r0, _080EE8B0 @ =sub_80EE58C
|
|
bl sub_80EBDBC
|
|
bl sub_80EED9C
|
|
b _080EE8E8
|
|
.align 2, 0
|
|
_080EE8B0: .4byte sub_80EE58C
|
|
_080EE8B4:
|
|
bl sub_80F70FC
|
|
_080EE8B8:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EE8E8
|
|
_080EE8BE:
|
|
ldr r1, _080EE8D0 @ =0x02000000
|
|
movs r5, 0xC1
|
|
lsls r5, 2
|
|
adds r1, r5
|
|
_080EE8C6:
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080EE8E8
|
|
.align 2, 0
|
|
_080EE8D0: .4byte 0x02000000
|
|
_080EE8D4:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EE8E8
|
|
ldr r0, _080EE8F0 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
strh r1, [r0]
|
|
_080EE8E8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE8F0: .4byte 0x02000000
|
|
thumb_func_end sub_80EE658
|
|
|
|
thumb_func_start sub_80EE8F4
|
|
sub_80EE8F4: @ 80EE8F4
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080EE910 @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
ldrh r2, [r4]
|
|
cmp r2, 0x1
|
|
beq _080EE932
|
|
cmp r2, 0x1
|
|
bgt _080EE914
|
|
cmp r2, 0
|
|
beq _080EE91A
|
|
b _080EE95E
|
|
.align 2, 0
|
|
_080EE910: .4byte 0x02000000
|
|
_080EE914:
|
|
cmp r2, 0x2
|
|
beq _080EE958
|
|
b _080EE95E
|
|
_080EE91A:
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r2, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
b _080EE94C
|
|
_080EE932:
|
|
ldr r0, _080EE954 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE95E
|
|
bl sub_80F3130
|
|
movs r0, 0x2
|
|
bl sub_80F2D6C
|
|
bl sub_80F6FFC
|
|
_080EE94C:
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _080EE95E
|
|
.align 2, 0
|
|
_080EE954: .4byte gPaletteFade
|
|
_080EE958:
|
|
ldr r0, _080EE968 @ =sub_80EC00C
|
|
bl sub_80EBDBC
|
|
_080EE95E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE968: .4byte sub_80EC00C
|
|
thumb_func_end sub_80EE8F4
|
|
|
|
thumb_func_start sub_80EE96C
|
|
sub_80EE96C: @ 80EE96C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080EE99C @ =0x02000000
|
|
movs r1, 0xC1
|
|
lsls r1, 2
|
|
adds r5, r0, r1
|
|
ldrh r4, [r5]
|
|
cmp r4, 0
|
|
bne _080EE9A0
|
|
movs r0, 0x6F
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r4, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
b _080EE9B4
|
|
.align 2, 0
|
|
_080EE99C: .4byte 0x02000000
|
|
_080EE9A0:
|
|
ldr r0, _080EE9BC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080EE9B4
|
|
bl sub_80F5BDC
|
|
bl sub_805469C
|
|
_080EE9B4:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE9BC: .4byte gPaletteFade
|
|
thumb_func_end sub_80EE96C
|
|
|
|
thumb_func_start sub_80EE9C0
|
|
sub_80EE9C0: @ 80EE9C0
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
bl sub_80F1E84
|
|
ldr r1, _080EE9FC @ =0x02000000
|
|
ldr r2, _080EEA00 @ =0x00006e14
|
|
adds r0, r1, r2
|
|
movs r2, 0
|
|
strb r4, [r0]
|
|
ldr r3, _080EEA04 @ =0x00006e15
|
|
adds r0, r1, r3
|
|
strb r5, [r0]
|
|
adds r3, 0x1
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
ldr r0, _080EEA08 @ =0x00006e17
|
|
adds r1, r0
|
|
strb r6, [r1]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE9FC: .4byte 0x02000000
|
|
_080EEA00: .4byte 0x00006e14
|
|
_080EEA04: .4byte 0x00006e15
|
|
_080EEA08: .4byte 0x00006e17
|
|
thumb_func_end sub_80EE9C0
|
|
|
|
thumb_func_start sub_80EEA0C
|
|
sub_80EEA0C: @ 80EEA0C
|
|
push {r4,lr}
|
|
ldr r1, _080EEA28 @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02000000
|
|
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 @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02000000
|
|
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 @ =0x02000000
|
|
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 0x02000000
|
|
_080EEB60: .4byte 0x00006e14
|
|
_080EEB64: .4byte 0x00006e16
|
|
_080EEB68:
|
|
bl sub_8055870
|
|
cmp r0, 0
|
|
bne _080EEC08
|
|
ldr r1, _080EEB80 @ =0x02000000
|
|
ldr r4, _080EEB84 @ =0x00006e16
|
|
adds r1, r4
|
|
_080EEB76:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080EEC08
|
|
.align 2, 0
|
|
_080EEB80: .4byte 0x02000000
|
|
_080EEB84: .4byte 0x00006e16
|
|
_080EEB88:
|
|
bl sub_80F1DF0
|
|
ldr r4, _080EEBA0 @ =0x02000000
|
|
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 0x02000000
|
|
_080EEBA4: .4byte 0x00006e14
|
|
_080EEBA8: .4byte 0x00006e16
|
|
_080EEBAC:
|
|
bl sub_80F1E50
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EEC08
|
|
ldr r4, _080EEBD4 @ =0x02000000
|
|
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 0x02000000
|
|
_080EEBD8: .4byte 0x00006e14
|
|
_080EEBDC: .4byte 0x00006dad
|
|
_080EEBE0: .4byte 0x00006e16
|
|
_080EEBE4:
|
|
bl sub_80EF4F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080EEC08
|
|
ldr r1, _080EEC00 @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02006dad
|
|
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 0x02006dad
|
|
_080EEC50:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EEC88
|
|
ldr r1, _080EEC84 @ =0x02006dad
|
|
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 0x02006dad
|
|
_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 @ =0x02000000
|
|
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 0x02000000
|
|
_080EECC8: .4byte 0x00006dad
|
|
_080EECCC: .4byte 0x00006dae
|
|
_080EECD0:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080EED04
|
|
ldr r0, _080EECFC @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02000000
|
|
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 0x02000000
|
|
_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 @ =0x02000000
|
|
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 0x02000000
|
|
_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}
|
|
lsls r0, 16
|
|
ldr r3, _080F0664 @ =gUnknown_083DFEC4
|
|
ldr r2, [r3]
|
|
lsrs r5, r0, 16
|
|
asrs r4, r0, 16
|
|
lsls r1, r4, 4
|
|
ldr r6, _080F0668 @ =0x0000877c
|
|
adds r0, r2, r6
|
|
strh r1, [r0]
|
|
adds r7, r3, 0
|
|
cmp r4, 0x1
|
|
beq _080F065E
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
bne _080F066C
|
|
_080F065E:
|
|
movs r1, 0x4
|
|
b _080F066E
|
|
.align 2, 0
|
|
_080F0664: .4byte gUnknown_083DFEC4
|
|
_080F0668: .4byte 0x0000877c
|
|
_080F066C:
|
|
movs r1, 0x8
|
|
_080F066E:
|
|
ldr r3, _080F06C0 @ =0x0000877a
|
|
adds r0, r2, r3
|
|
strh r1, [r0]
|
|
lsls r0, r5, 16
|
|
asrs r3, r0, 16
|
|
cmp r3, 0
|
|
bge _080F06CC
|
|
ldr r4, [r7]
|
|
ldr r6, _080F06C0 @ =0x0000877a
|
|
adds r1, r4, r6
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
negs r0, r0
|
|
strh r0, [r1]
|
|
subs r6, 0x2
|
|
adds r1, r4, r6
|
|
lsls r0, r3, 1
|
|
ldrh r1, [r1]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r1, _080F06C4 @ =0x00008770
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0]
|
|
adds r0, r3, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
bge _080F06B8
|
|
ldr r2, _080F06C8 @ =0x00008774
|
|
adds r1, r4, r2
|
|
adds r0, 0x1
|
|
ldrh r1, [r1]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
_080F06B8:
|
|
negs r0, r3
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
b _080F06E6
|
|
.align 2, 0
|
|
_080F06C0: .4byte 0x0000877a
|
|
_080F06C4: .4byte 0x00008770
|
|
_080F06C8: .4byte 0x00008774
|
|
_080F06CC:
|
|
ldr r1, [r7]
|
|
ldr r3, _080F070C @ =0x00008778
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
adds r0, 0x10
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r0, _080F0710 @ =0x00008772
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
_080F06E6:
|
|
ldr r0, [r7]
|
|
ldr r1, _080F0714 @ =0x00008774
|
|
adds r0, r1
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r1, r0
|
|
ble _080F06FA
|
|
movs r2, 0
|
|
_080F06FA:
|
|
movs r1, 0x1F
|
|
adds r0, r2, 0
|
|
ands r1, r6
|
|
adds r2, r5, 0
|
|
bl sub_80F0954
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F070C: .4byte 0x00008778
|
|
_080F0710: .4byte 0x00008772
|
|
_080F0714: .4byte 0x00008774
|
|
thumb_func_end sub_80F063C
|
|
|
|
thumb_func_start sub_80F0718
|
|
sub_80F0718: @ 80F0718
|
|
push {r4,r5,lr}
|
|
bl sub_80F098C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F0790
|
|
ldr r0, _080F073C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F0740 @ =0x0000877c
|
|
adds r3, r4, r0
|
|
ldrh r2, [r3]
|
|
movs r1, 0
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
bne _080F0744
|
|
movs r0, 0
|
|
b _080F0792
|
|
.align 2, 0
|
|
_080F073C: .4byte gUnknown_083DFEC4
|
|
_080F0740: .4byte 0x0000877c
|
|
_080F0744:
|
|
ldr r0, _080F0780 @ =0x0000877a
|
|
adds r1, r4, r0
|
|
ldrh r0, [r1]
|
|
subs r0, r2, r0
|
|
strh r0, [r3]
|
|
ldr r0, _080F0784 @ =0x00008776
|
|
adds r2, r4, r0
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r2]
|
|
adds r0, r1
|
|
movs r5, 0xFF
|
|
ands r0, r5
|
|
strh r0, [r2]
|
|
ldr r1, _080F0788 @ =REG_BG3VOFS
|
|
strh r0, [r1]
|
|
movs r1, 0
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
bne _080F0790
|
|
movs r1, 0
|
|
ldrsh r0, [r2, r1]
|
|
adds r0, 0x8
|
|
ands r0, r5
|
|
asrs r1, r0, 3
|
|
ldr r2, _080F078C @ =0x00008778
|
|
adds r0, r4, r2
|
|
strh r1, [r0]
|
|
movs r0, 0
|
|
b _080F0792
|
|
.align 2, 0
|
|
_080F0780: .4byte 0x0000877a
|
|
_080F0784: .4byte 0x00008776
|
|
_080F0788: .4byte REG_BG3VOFS
|
|
_080F078C: .4byte 0x00008778
|
|
_080F0790:
|
|
movs r0, 0x1
|
|
_080F0792:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F0718
|
|
|
|
thumb_func_start ShowMapNamePopUpWindow
|
|
ShowMapNamePopUpWindow: @ 80F0798
|
|
push {lr}
|
|
ldr r0, _080F07B0 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F07B4 @ =0x000087ca
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F07B8
|
|
cmp r0, 0x1
|
|
beq _080F07E0
|
|
b _080F080A
|
|
.align 2, 0
|
|
_080F07B0: .4byte gUnknown_083DFEC4
|
|
_080F07B4: .4byte 0x000087ca
|
|
_080F07B8:
|
|
ldr r3, _080F07D8 @ =0x00008788
|
|
adds r0, r2, r3
|
|
subs r3, 0x1A
|
|
adds r1, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r1, r3]
|
|
lsls r1, 2
|
|
adds r1, r2, r1
|
|
ldr r2, _080F07DC @ =0x0000893e
|
|
adds r1, r2
|
|
ldrh r1, [r1]
|
|
lsls r1, 18
|
|
lsrs r1, 23
|
|
bl sub_80F443C
|
|
b _080F07F4
|
|
.align 2, 0
|
|
_080F07D8: .4byte 0x00008788
|
|
_080F07DC: .4byte 0x0000893e
|
|
_080F07E0:
|
|
ldr r3, _080F0810 @ =0x00008788
|
|
adds r0, r2, r3
|
|
subs r3, 0x1A
|
|
adds r1, r2, r3
|
|
ldrh r1, [r1]
|
|
adds r1, 0x1
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_80F445C
|
|
_080F07F4:
|
|
ldr r0, _080F0814 @ =gWindowConfig_81E710C
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _080F0818 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0810 @ =0x00008788
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x6
|
|
bl MenuPrint
|
|
_080F080A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0810: .4byte 0x00008788
|
|
_080F0814: .4byte gWindowConfig_81E710C
|
|
_080F0818: .4byte gUnknown_083DFEC4
|
|
thumb_func_end ShowMapNamePopUpWindow
|
|
|
|
thumb_func_start sub_80F081C
|
|
sub_80F081C: @ 80F081C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _080F0838 @ =gWindowConfig_81E710C
|
|
bl BasicInitMenuWindow
|
|
cmp r5, 0x4
|
|
bhi _080F08C6
|
|
lsls r0, r5, 2
|
|
ldr r1, _080F083C @ =_080F0840
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F0838: .4byte gWindowConfig_81E710C
|
|
_080F083C: .4byte _080F0840
|
|
.align 2, 0
|
|
_080F0840:
|
|
.4byte _080F0854
|
|
.4byte _080F0854
|
|
.4byte _080F0862
|
|
.4byte _080F088C
|
|
.4byte _080F089A
|
|
_080F0854:
|
|
ldr r0, _080F08CC @ =gOtherText_NumberRegistered
|
|
movs r1, 0xA
|
|
movs r2, 0x9
|
|
bl MenuPrint_RightAligned
|
|
cmp r5, 0
|
|
bne _080F08C6
|
|
_080F0862:
|
|
ldr r0, _080F08D0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F08D4 @ =0x00008788
|
|
adds r4, r0, r1
|
|
ldr r2, _080F08D8 @ =0x00008774
|
|
adds r0, r2
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
adds r1, 0x1
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
movs r2, 0xB
|
|
bl MenuPrint_RightAligned
|
|
cmp r5, 0
|
|
bne _080F08C6
|
|
_080F088C:
|
|
ldr r0, _080F08DC @ =gOtherText_NumberBattles
|
|
movs r1, 0xA
|
|
movs r2, 0xD
|
|
bl MenuPrint_RightAligned
|
|
cmp r5, 0
|
|
bne _080F08C6
|
|
_080F089A:
|
|
movs r0, 0x9
|
|
bl GetGameStat
|
|
adds r1, r0, 0
|
|
ldr r0, _080F08E0 @ =0x0001869f
|
|
cmp r1, r0
|
|
bls _080F08AA
|
|
adds r1, r0, 0
|
|
_080F08AA:
|
|
ldr r0, _080F08D0 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F08D4 @ =0x00008788
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
movs r2, 0xF
|
|
bl MenuPrint_RightAligned
|
|
_080F08C6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F08CC: .4byte gOtherText_NumberRegistered
|
|
_080F08D0: .4byte gUnknown_083DFEC4
|
|
_080F08D4: .4byte 0x00008788
|
|
_080F08D8: .4byte 0x00008774
|
|
_080F08DC: .4byte gOtherText_NumberBattles
|
|
_080F08E0: .4byte 0x0001869f
|
|
thumb_func_end sub_80F081C
|
|
|
|
thumb_func_start sub_80F08E4
|
|
sub_80F08E4: @ 80F08E4
|
|
push {lr}
|
|
ldr r0, _080F08FC @ =gWindowConfig_81E710C
|
|
bl BasicInitMenuWindow
|
|
movs r0, 0
|
|
movs r1, 0x9
|
|
movs r2, 0xB
|
|
movs r3, 0x10
|
|
bl MenuZeroFillWindowRect
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F08FC: .4byte gWindowConfig_81E710C
|
|
thumb_func_end sub_80F08E4
|
|
|
|
thumb_func_start sub_80F0900
|
|
sub_80F0900: @ 80F0900
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F093C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F0940 @ =0x00008772
|
|
adds r1, r0, r2
|
|
subs r2, 0x2
|
|
adds r5, r0, r2
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r5]
|
|
subs r0, r1
|
|
adds r0, 0x1
|
|
lsls r4, r0, 16
|
|
asrs r0, r4, 16
|
|
cmp r0, 0x7
|
|
bgt _080F092A
|
|
movs r0, 0xC
|
|
movs r1, 0x1
|
|
movs r2, 0x1F
|
|
movs r3, 0xF
|
|
bl MenuZeroFillWindowRect
|
|
_080F092A:
|
|
ldrh r0, [r5]
|
|
lsrs r2, r4, 16
|
|
movs r1, 0
|
|
bl sub_80F0954
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F093C: .4byte gUnknown_083DFEC4
|
|
_080F0940: .4byte 0x00008772
|
|
thumb_func_end sub_80F0900
|
|
|
|
thumb_func_start sub_80F0944
|
|
sub_80F0944: @ 80F0944
|
|
push {lr}
|
|
bl sub_80F098C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F0944
|
|
|
|
thumb_func_start sub_80F0954
|
|
sub_80F0954: @ 80F0954
|
|
push {r4,r5,lr}
|
|
ldr r3, _080F097C @ =gUnknown_083DFEC4
|
|
ldr r3, [r3]
|
|
ldr r5, _080F0980 @ =0x0000877e
|
|
adds r4, r3, r5
|
|
movs r5, 0
|
|
strh r0, [r4]
|
|
ldr r4, _080F0984 @ =0x00008780
|
|
adds r0, r3, r4
|
|
strh r1, [r0]
|
|
ldr r1, _080F0988 @ =0x00008784
|
|
adds r0, r3, r1
|
|
strh r2, [r0]
|
|
adds r4, 0x6
|
|
adds r3, r4
|
|
strh r5, [r3]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F097C: .4byte gUnknown_083DFEC4
|
|
_080F0980: .4byte 0x0000877e
|
|
_080F0984: .4byte 0x00008780
|
|
_080F0988: .4byte 0x00008784
|
|
thumb_func_end sub_80F0954
|
|
|
|
thumb_func_start sub_80F098C
|
|
sub_80F098C: @ 80F098C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080F09A4 @ =gUnknown_083DFEC4
|
|
ldr r6, [r0]
|
|
ldr r0, _080F09A8 @ =0x00008784
|
|
adds r7, r6, r0
|
|
ldrh r0, [r7]
|
|
cmp r0, 0
|
|
bne _080F09AC
|
|
_080F09A0:
|
|
movs r0, 0
|
|
b _080F0A02
|
|
.align 2, 0
|
|
_080F09A4: .4byte gUnknown_083DFEC4
|
|
_080F09A8: .4byte 0x00008784
|
|
_080F09AC:
|
|
movs r1, 0
|
|
mov r8, r1
|
|
ldr r1, _080F0A0C @ =gUnknown_083E3270
|
|
ldr r2, _080F0A10 @ =0x000087ca
|
|
adds r0, r6, r2
|
|
ldrb r2, [r0]
|
|
lsls r2, 2
|
|
adds r2, r1
|
|
ldr r0, _080F0A14 @ =0x0000877e
|
|
adds r4, r6, r0
|
|
ldrh r0, [r4]
|
|
ldr r1, _080F0A18 @ =0x00008780
|
|
adds r5, r6, r1
|
|
ldrh r1, [r5]
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
ldrh r0, [r7]
|
|
subs r0, 0x1
|
|
strh r0, [r7]
|
|
ldr r2, _080F0A1C @ =0x0000ffff
|
|
adds r1, r2, 0
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _080F09A0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
ands r0, r1
|
|
ldr r2, _080F0A20 @ =0x00008774
|
|
adds r1, r6, r2
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
cmp r0, r1
|
|
ble _080F09F6
|
|
mov r0, r8
|
|
strh r0, [r4]
|
|
_080F09F6:
|
|
ldrh r0, [r5]
|
|
adds r0, 0x2
|
|
movs r1, 0x1F
|
|
ands r0, r1
|
|
strh r0, [r5]
|
|
movs r0, 0x1
|
|
_080F0A02:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F0A0C: .4byte gUnknown_083E3270
|
|
_080F0A10: .4byte 0x000087ca
|
|
_080F0A14: .4byte 0x0000877e
|
|
_080F0A18: .4byte 0x00008780
|
|
_080F0A1C: .4byte 0x0000ffff
|
|
_080F0A20: .4byte 0x00008774
|
|
thumb_func_end sub_80F098C
|
|
|
|
thumb_func_start sub_80F0A24
|
|
sub_80F0A24: @ 80F0A24
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
lsls r1, 16
|
|
lsrs r5, r1, 16
|
|
ldr r0, _080F0A64 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F0A68 @ =0x000087c8
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
movs r2, 0x1
|
|
cmp r0, 0
|
|
bne _080F0A40
|
|
movs r2, 0x2
|
|
_080F0A40:
|
|
ldr r0, _080F0A6C @ =0x00008788
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
adds r1, r3, 0
|
|
bl sub_80F4428
|
|
ldr r0, _080F0A70 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
lsls r2, r5, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0A64: .4byte gUnknown_083DFEC4
|
|
_080F0A68: .4byte 0x000087c8
|
|
_080F0A6C: .4byte 0x00008788
|
|
_080F0A70: .4byte gWindowConfig_81E70D4
|
|
thumb_func_end sub_80F0A24
|
|
|
|
thumb_func_start sub_80F0A74
|
|
sub_80F0A74: @ 80F0A74
|
|
push {r4-r7,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r1, 16
|
|
lsrs r7, r1, 16
|
|
ldr r0, _080F0ADC @ =gUnknown_083DFEC4
|
|
ldr r5, [r0]
|
|
ldr r0, _080F0AE0 @ =0x00008788
|
|
adds r4, r5, r0
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_80F700C
|
|
movs r0, 0x1F
|
|
ands r7, r0
|
|
ldr r0, _080F0AE4 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
lsls r2, r7, 3
|
|
adds r0, r4, 0
|
|
movs r1, 0x61
|
|
movs r3, 0
|
|
bl MenuPrint_PixelCoords
|
|
ldr r1, _080F0AE8 @ =0x0000d158
|
|
adds r0, r5, r1
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bcs _080F0AF8
|
|
lsls r0, r6, 3
|
|
adds r0, r5, r0
|
|
ldr r1, _080F0AEC @ =0x0000ceed
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F0AF8
|
|
ldr r0, _080F0AF0 @ =0x0600f000
|
|
ldr r3, _080F0AF4 @ =gUnknown_083E039C
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x8]
|
|
movs r1, 0x2
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0x1D
|
|
adds r2, r7, 0
|
|
bl sub_8095C8C
|
|
b _080F0B14
|
|
.align 2, 0
|
|
_080F0ADC: .4byte gUnknown_083DFEC4
|
|
_080F0AE0: .4byte 0x00008788
|
|
_080F0AE4: .4byte gWindowConfig_81E70D4
|
|
_080F0AE8: .4byte 0x0000d158
|
|
_080F0AEC: .4byte 0x0000ceed
|
|
_080F0AF0: .4byte 0x0600f000
|
|
_080F0AF4: .4byte gUnknown_083E039C
|
|
_080F0AF8:
|
|
ldr r0, _080F0B1C @ =0x0600f000
|
|
ldr r3, _080F0B20 @ =gUnknown_083E03A0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x8]
|
|
movs r1, 0x2
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0x1D
|
|
adds r2, r7, 0
|
|
bl sub_8095C8C
|
|
_080F0B14:
|
|
add sp, 0x14
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0B1C: .4byte 0x0600f000
|
|
_080F0B20: .4byte gUnknown_083E03A0
|
|
thumb_func_end sub_80F0A74
|
|
|
|
thumb_func_start sub_80F0B24
|
|
sub_80F0B24: @ 80F0B24
|
|
ldr r0, _080F0B38 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F0B3C @ =0x0000d15c
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
strh r2, [r1]
|
|
ldr r1, _080F0B40 @ =0x00000306
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F0B38: .4byte gUnknown_083DFEC4
|
|
_080F0B3C: .4byte 0x0000d15c
|
|
_080F0B40: .4byte 0x00000306
|
|
thumb_func_end sub_80F0B24
|
|
|
|
thumb_func_start sub_80F0B44
|
|
sub_80F0B44: @ 80F0B44
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F0B58 @ =gUnknown_083DFEC4
|
|
ldr r5, [r0]
|
|
ldr r0, _080F0B5C @ =0x0000d15c
|
|
adds r6, r5, r0
|
|
ldrh r0, [r6]
|
|
cmp r0, 0x8
|
|
bls _080F0B60
|
|
movs r0, 0
|
|
b _080F0C22
|
|
.align 2, 0
|
|
_080F0B58: .4byte gUnknown_083DFEC4
|
|
_080F0B5C: .4byte 0x0000d15c
|
|
_080F0B60:
|
|
ldr r0, _080F0BBC @ =0x00000306
|
|
adds r1, r5, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
bls _080F0C20
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldrh r0, [r6]
|
|
cmp r0, 0x7
|
|
bhi _080F0BCC
|
|
ldr r0, _080F0BC0 @ =0x00008778
|
|
adds r1, r5, r0
|
|
ldrh r2, [r6]
|
|
lsls r0, r2, 1
|
|
ldrh r1, [r1]
|
|
adds r4, r0, r1
|
|
movs r0, 0x1F
|
|
ands r4, r0
|
|
ldr r1, _080F0BC4 @ =0x0000876c
|
|
adds r0, r5, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r2, r0
|
|
beq _080F0BAA
|
|
ldr r0, _080F0BC8 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
adds r1, r4, 0
|
|
adds r3, r1, 0x1
|
|
movs r0, 0xC
|
|
movs r2, 0x1F
|
|
bl MenuZeroFillWindowRect
|
|
_080F0BAA:
|
|
ldrh r0, [r6]
|
|
cmp r0, 0
|
|
bne _080F0BB4
|
|
bl sub_80F08E4
|
|
_080F0BB4:
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
b _080F0C20
|
|
.align 2, 0
|
|
_080F0BBC: .4byte 0x00000306
|
|
_080F0BC0: .4byte 0x00008778
|
|
_080F0BC4: .4byte 0x0000876c
|
|
_080F0BC8: .4byte gWindowConfig_81E70D4
|
|
_080F0BCC:
|
|
ldr r0, _080F0C10 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
ldr r1, _080F0C14 @ =0x00008778
|
|
adds r0, r5, r1
|
|
ldrh r0, [r0]
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
movs r0, 0x1F
|
|
ands r4, r0
|
|
movs r5, 0
|
|
_080F0BE2:
|
|
adds r3, r4, 0x1
|
|
movs r0, 0xC
|
|
adds r1, r4, 0
|
|
movs r2, 0x1F
|
|
bl MenuZeroFillWindowRect
|
|
adds r4, 0x2
|
|
movs r0, 0x1F
|
|
ands r4, r0
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x7
|
|
bls _080F0BE2
|
|
ldr r0, _080F0C18 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F0C1C @ =0x0000d15c
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
b _080F0C22
|
|
.align 2, 0
|
|
_080F0C10: .4byte gWindowConfig_81E70D4
|
|
_080F0C14: .4byte 0x00008778
|
|
_080F0C18: .4byte gUnknown_083DFEC4
|
|
_080F0C1C: .4byte 0x0000d15c
|
|
_080F0C20:
|
|
movs r0, 0x1
|
|
_080F0C22:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F0B44
|
|
|
|
thumb_func_start sub_80F0C28
|
|
sub_80F0C28: @ 80F0C28
|
|
ldr r0, _080F0C3C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F0C40 @ =0x0000d15c
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
strh r2, [r1]
|
|
ldr r1, _080F0C44 @ =0x00000306
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F0C3C: .4byte gUnknown_083DFEC4
|
|
_080F0C40: .4byte 0x0000d15c
|
|
_080F0C44: .4byte 0x00000306
|
|
thumb_func_end sub_80F0C28
|
|
|
|
thumb_func_start sub_80F0C48
|
|
sub_80F0C48: @ 80F0C48
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F0C5C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F0C60 @ =0x0000d15c
|
|
adds r5, r4, r0
|
|
ldrh r0, [r5]
|
|
cmp r0, 0x7
|
|
bls _080F0C64
|
|
movs r0, 0
|
|
b _080F0CD2
|
|
.align 2, 0
|
|
_080F0C5C: .4byte gUnknown_083DFEC4
|
|
_080F0C60: .4byte 0x0000d15c
|
|
_080F0C64:
|
|
ldr r2, _080F0CBC @ =0x00000306
|
|
adds r1, r4, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
ldr r2, _080F0CC0 @ =0x0000ffff
|
|
adds r6, r2, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
bls _080F0CD0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, _080F0CC4 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _080F0CC8 @ =0x00008770
|
|
adds r1, r4, r0
|
|
ldrh r0, [r5]
|
|
ldrh r1, [r1]
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r1, _080F0CCC @ =0x00008778
|
|
adds r2, r4, r1
|
|
ldrh r1, [r5]
|
|
lsls r1, 1
|
|
ldrh r2, [r2]
|
|
adds r1, r2
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_80F0A74
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
ands r0, r6
|
|
cmp r0, 0x7
|
|
bls _080F0CD0
|
|
movs r0, 0
|
|
bl sub_80F081C
|
|
movs r0, 0
|
|
b _080F0CD2
|
|
.align 2, 0
|
|
_080F0CBC: .4byte 0x00000306
|
|
_080F0CC0: .4byte 0x0000ffff
|
|
_080F0CC4: .4byte gWindowConfig_81E70D4
|
|
_080F0CC8: .4byte 0x00008770
|
|
_080F0CCC: .4byte 0x00008778
|
|
_080F0CD0:
|
|
movs r0, 0x1
|
|
_080F0CD2:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F0C48
|
|
|
|
thumb_func_start sub_80F0CD8
|
|
sub_80F0CD8: @ 80F0CD8
|
|
push {r4,r5,lr}
|
|
ldr r4, _080F0D40 @ =gUnknown_083DFEC4
|
|
ldr r1, [r4]
|
|
ldr r2, _080F0D44 @ =0x00000306
|
|
adds r0, r1, r2
|
|
movs r2, 0
|
|
strh r2, [r0]
|
|
ldr r3, _080F0D48 @ =0x0000d15c
|
|
adds r0, r1, r3
|
|
strh r2, [r0]
|
|
ldr r2, _080F0D4C @ =0x0000876e
|
|
adds r0, r1, r2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
lsls r0, 3
|
|
adds r0, r1, r0
|
|
ldr r2, _080F0D50 @ =0x0000ceec
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ldr r3, _080F0D54 @ =0x0000d110
|
|
adds r1, r3
|
|
ldr r2, _080F0D58 @ =gTrainerEyeDescriptions
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r2, r0, 0
|
|
movs r1, 0
|
|
adds r5, r4, 0
|
|
adds r4, r3, 0
|
|
_080F0D14:
|
|
ldrb r0, [r2]
|
|
adds r3, r1, 0x1
|
|
cmp r0, 0xFF
|
|
beq _080F0D24
|
|
_080F0D1C:
|
|
adds r2, 0x1
|
|
ldrb r0, [r2]
|
|
cmp r0, 0xFF
|
|
bne _080F0D1C
|
|
_080F0D24:
|
|
ldr r0, [r5]
|
|
lsls r1, r3, 2
|
|
adds r0, r4
|
|
adds r0, r1
|
|
adds r2, 0x1
|
|
str r2, [r0]
|
|
lsls r0, r3, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x2
|
|
bls _080F0D14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0D40: .4byte gUnknown_083DFEC4
|
|
_080F0D44: .4byte 0x00000306
|
|
_080F0D48: .4byte 0x0000d15c
|
|
_080F0D4C: .4byte 0x0000876e
|
|
_080F0D50: .4byte 0x0000ceec
|
|
_080F0D54: .4byte 0x0000d110
|
|
_080F0D58: .4byte gTrainerEyeDescriptions
|
|
thumb_func_end sub_80F0CD8
|
|
|
|
thumb_func_start sub_80F0D5C
|
|
sub_80F0D5C: @ 80F0D5C
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F0D70 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F0D74 @ =0x0000d15c
|
|
adds r5, r4, r0
|
|
ldrh r0, [r5]
|
|
cmp r0, 0x7
|
|
bne _080F0D78
|
|
_080F0D6C:
|
|
movs r0, 0
|
|
b _080F0EB0
|
|
.align 2, 0
|
|
_080F0D70: .4byte gUnknown_083DFEC4
|
|
_080F0D74: .4byte 0x0000d15c
|
|
_080F0D78:
|
|
ldr r0, _080F0DB8 @ =0x00000306
|
|
adds r1, r4, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
bhi _080F0D8C
|
|
b _080F0EAE
|
|
_080F0D8C:
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, _080F0DBC @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
ldr r0, _080F0DC0 @ =0x00008778
|
|
adds r1, r4, r0
|
|
ldrh r3, [r5]
|
|
lsls r0, r3, 1
|
|
adds r0, 0x2
|
|
ldrh r1, [r1]
|
|
adds r5, r0, r1
|
|
movs r0, 0x1F
|
|
ands r5, r0
|
|
cmp r3, 0x6
|
|
bhi _080F0D6C
|
|
lsls r0, r3, 2
|
|
ldr r1, _080F0DC4 @ =_080F0DC8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F0DB8: .4byte 0x00000306
|
|
_080F0DBC: .4byte gWindowConfig_81E70D4
|
|
_080F0DC0: .4byte 0x00008778
|
|
_080F0DC4: .4byte _080F0DC8
|
|
.align 2, 0
|
|
_080F0DC8:
|
|
.4byte _080F0DE4
|
|
.4byte _080F0DF0
|
|
.4byte _080F0E08
|
|
.4byte _080F0E14
|
|
.4byte _080F0E2C
|
|
.4byte _080F0E38
|
|
.4byte _080F0E6C
|
|
_080F0DE4:
|
|
ldr r0, _080F0DEC @ =gOtherText_Strategy
|
|
lsls r2, r5, 3
|
|
b _080F0E54
|
|
.align 2, 0
|
|
_080F0DEC: .4byte gOtherText_Strategy
|
|
_080F0DF0:
|
|
ldr r0, _080F0DFC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0E00 @ =0x00008788
|
|
adds r4, r0, r1
|
|
ldr r1, _080F0E04 @ =0x0000d110
|
|
b _080F0E42
|
|
.align 2, 0
|
|
_080F0DFC: .4byte gUnknown_083DFEC4
|
|
_080F0E00: .4byte 0x00008788
|
|
_080F0E04: .4byte 0x0000d110
|
|
_080F0E08:
|
|
ldr r0, _080F0E10 @ =gOtherText_TrainersPokemon
|
|
lsls r2, r5, 3
|
|
b _080F0E54
|
|
.align 2, 0
|
|
_080F0E10: .4byte gOtherText_TrainersPokemon
|
|
_080F0E14:
|
|
ldr r0, _080F0E20 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0E24 @ =0x00008788
|
|
adds r4, r0, r1
|
|
ldr r1, _080F0E28 @ =0x0000d114
|
|
b _080F0E42
|
|
.align 2, 0
|
|
_080F0E20: .4byte gUnknown_083DFEC4
|
|
_080F0E24: .4byte 0x00008788
|
|
_080F0E28: .4byte 0x0000d114
|
|
_080F0E2C:
|
|
ldr r0, _080F0E34 @ =gOtherText_SelfIntroduction
|
|
lsls r2, r5, 3
|
|
b _080F0E54
|
|
.align 2, 0
|
|
_080F0E34: .4byte gOtherText_SelfIntroduction
|
|
_080F0E38:
|
|
ldr r0, _080F0E60 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0E64 @ =0x00008788
|
|
adds r4, r0, r1
|
|
ldr r1, _080F0E68 @ =0x0000d118
|
|
_080F0E42:
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x88
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
lsls r2, r5, 3
|
|
adds r0, r4, 0
|
|
_080F0E54:
|
|
movs r1, 0x61
|
|
movs r3, 0
|
|
bl MenuPrint_PixelCoords
|
|
b _080F0EA0
|
|
.align 2, 0
|
|
_080F0E60: .4byte gUnknown_083DFEC4
|
|
_080F0E64: .4byte 0x00008788
|
|
_080F0E68: .4byte 0x0000d118
|
|
_080F0E6C:
|
|
ldr r0, _080F0E94 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0E98 @ =0x00008788
|
|
adds r4, r0, r1
|
|
ldr r1, _080F0E9C @ =0x0000d11c
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x88
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
lsls r2, r5, 3
|
|
adds r0, r4, 0
|
|
movs r1, 0x61
|
|
movs r3, 0
|
|
bl MenuPrint_PixelCoords
|
|
b _080F0D6C
|
|
.align 2, 0
|
|
_080F0E94: .4byte gUnknown_083DFEC4
|
|
_080F0E98: .4byte 0x00008788
|
|
_080F0E9C: .4byte 0x0000d11c
|
|
_080F0EA0:
|
|
ldr r0, _080F0EB8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F0EBC @ =0x0000d15c
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F0EAE:
|
|
movs r0, 0x1
|
|
_080F0EB0:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F0EB8: .4byte gUnknown_083DFEC4
|
|
_080F0EBC: .4byte 0x0000d15c
|
|
thumb_func_end sub_80F0D5C
|
|
|
|
thumb_func_start sub_80F0EC0
|
|
sub_80F0EC0: @ 80F0EC0
|
|
push {lr}
|
|
ldr r0, _080F0EE4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F0EE8 @ =0x00000306
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
strh r2, [r1]
|
|
ldr r3, _080F0EEC @ =0x0000d15c
|
|
adds r1, r0, r3
|
|
strh r2, [r1]
|
|
ldr r1, _080F0EF0 @ =0x00008788
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl StringFill
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0EE4: .4byte gUnknown_083DFEC4
|
|
_080F0EE8: .4byte 0x00000306
|
|
_080F0EEC: .4byte 0x0000d15c
|
|
_080F0EF0: .4byte 0x00008788
|
|
thumb_func_end sub_80F0EC0
|
|
|
|
thumb_func_start sub_80F0EF4
|
|
sub_80F0EF4: @ 80F0EF4
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F0F08 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F0F0C @ =0x0000d15c
|
|
adds r5, r2, r0
|
|
ldrh r0, [r5]
|
|
cmp r0, 0x6
|
|
bls _080F0F10
|
|
movs r0, 0
|
|
b _080F0F52
|
|
.align 2, 0
|
|
_080F0F08: .4byte gUnknown_083DFEC4
|
|
_080F0F0C: .4byte 0x0000d15c
|
|
_080F0F10:
|
|
ldr r0, _080F0F58 @ =0x00000306
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
bls _080F0F50
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _080F0F5C @ =0x00008778
|
|
adds r0, r2, r1
|
|
ldrh r4, [r5]
|
|
lsls r4, 1
|
|
adds r4, 0x2
|
|
ldrh r0, [r0]
|
|
adds r4, r0
|
|
movs r0, 0x1F
|
|
ands r4, r0
|
|
ldr r0, _080F0F60 @ =gWindowConfig_81E70D4
|
|
bl BasicInitMenuWindow
|
|
adds r3, r4, 0x1
|
|
movs r0, 0xC
|
|
adds r1, r4, 0
|
|
movs r2, 0x1F
|
|
bl MenuZeroFillWindowRect
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
_080F0F50:
|
|
movs r0, 0x1
|
|
_080F0F52:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F0F58: .4byte 0x00000306
|
|
_080F0F5C: .4byte 0x00008778
|
|
_080F0F60: .4byte gWindowConfig_81E70D4
|
|
thumb_func_end sub_80F0EF4
|
|
|
|
thumb_func_start sub_80F0F64
|
|
sub_80F0F64: @ 80F0F64
|
|
push {r4,lr}
|
|
ldr r0, _080F0F90 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r1, _080F0F94 @ =0x0000876c
|
|
adds r0, r3, r1
|
|
movs r4, 0
|
|
ldrsh r2, [r0, r4]
|
|
lsls r1, r2, 4
|
|
ldr r4, _080F0F98 @ =0x0000877c
|
|
adds r0, r3, r4
|
|
strh r1, [r0]
|
|
movs r1, 0x8
|
|
cmp r2, 0x1
|
|
bne _080F0F82
|
|
movs r1, 0x4
|
|
_080F0F82:
|
|
ldr r2, _080F0F9C @ =0x0000877a
|
|
adds r0, r3, r2
|
|
strh r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0F90: .4byte gUnknown_083DFEC4
|
|
_080F0F94: .4byte 0x0000876c
|
|
_080F0F98: .4byte 0x0000877c
|
|
_080F0F9C: .4byte 0x0000877a
|
|
thumb_func_end sub_80F0F64
|
|
|
|
thumb_func_start sub_80F0FA0
|
|
sub_80F0FA0: @ 80F0FA0
|
|
push {r4,lr}
|
|
ldr r0, _080F0FDC @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r1, _080F0FE0 @ =0x0000876c
|
|
adds r0, r3, r1
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
negs r0, r0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
lsls r2, r0, 4
|
|
ldr r4, _080F0FE4 @ =0x0000877c
|
|
adds r1, r3, r4
|
|
strh r2, [r1]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
movs r4, 0x8
|
|
negs r4, r4
|
|
adds r2, r4, 0
|
|
cmp r0, r1
|
|
bne _080F0FD0
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
adds r2, r0, 0
|
|
_080F0FD0:
|
|
ldr r1, _080F0FE8 @ =0x0000877a
|
|
adds r0, r3, r1
|
|
strh r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0FDC: .4byte gUnknown_083DFEC4
|
|
_080F0FE0: .4byte 0x0000876c
|
|
_080F0FE4: .4byte 0x0000877c
|
|
_080F0FE8: .4byte 0x0000877a
|
|
thumb_func_end sub_80F0FA0
|
|
|
|
thumb_func_start sub_80F0FEC
|
|
sub_80F0FEC: @ 80F0FEC
|
|
push {lr}
|
|
bl sub_80F0718
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F0FEC
|
|
|
|
thumb_func_start sub_80F0FFC
|
|
sub_80F0FFC: @ 80F0FFC
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
ldr r1, _080F1048 @ =gUnknown_083DFEC4
|
|
ldr r4, [r1]
|
|
ldr r1, _080F104C @ =0x00008788
|
|
adds r5, r4, r1
|
|
lsrs r0, 21
|
|
adds r0, r4, r0
|
|
ldr r1, _080F1050 @ =0x0000ceea
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
bl sub_80FBFB4
|
|
ldr r0, _080F1054 @ =gWindowConfig_81E710C
|
|
bl BasicInitMenuWindow
|
|
adds r0, r5, 0
|
|
bl sub_80F19DC
|
|
ldr r0, _080F1058 @ =0x0000d138
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x58
|
|
movs r3, 0x2
|
|
bl sub_8072C74
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1048: .4byte gUnknown_083DFEC4
|
|
_080F104C: .4byte 0x00008788
|
|
_080F1050: .4byte 0x0000ceea
|
|
_080F1054: .4byte gWindowConfig_81E710C
|
|
_080F1058: .4byte 0x0000d138
|
|
thumb_func_end sub_80F0FFC
|
|
|
|
thumb_func_start sub_80F105C
|
|
sub_80F105C: @ 80F105C
|
|
push {lr}
|
|
ldr r0, _080F1078 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F107C @ =0x0000876e
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
adds r2, 0xA
|
|
adds r1, r2
|
|
ldrh r1, [r1]
|
|
bl sub_80F0A74
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1078: .4byte gUnknown_083DFEC4
|
|
_080F107C: .4byte 0x0000876e
|
|
thumb_func_end sub_80F105C
|
|
|
|
thumb_func_start sub_80F1080
|
|
sub_80F1080: @ 80F1080
|
|
push {r4,lr}
|
|
ldr r1, _080F10A0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r2, _080F10A4 @ =0x0000d160
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0xE
|
|
bls _080F1094
|
|
b _080F1204
|
|
_080F1094:
|
|
lsls r0, 2
|
|
ldr r1, _080F10A8 @ =_080F10AC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F10A0: .4byte gUnknown_083DFEC4
|
|
_080F10A4: .4byte 0x0000d160
|
|
_080F10A8: .4byte _080F10AC
|
|
.align 2, 0
|
|
_080F10AC:
|
|
.4byte _080F10E8
|
|
.4byte _080F1104
|
|
.4byte _080F1110
|
|
.4byte _080F111C
|
|
.4byte _080F1128
|
|
.4byte _080F112E
|
|
.4byte _080F1134
|
|
.4byte _080F1142
|
|
.4byte _080F1160
|
|
.4byte _080F1166
|
|
.4byte _080F116C
|
|
.4byte _080F1180
|
|
.4byte _080F1194
|
|
.4byte _080F11DC
|
|
.4byte _080F11E2
|
|
_080F10E8:
|
|
bl sub_80EEDE8
|
|
ldr r0, _080F10FC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r3, _080F1100 @ =0x0000d162
|
|
adds r0, r3
|
|
movs r1, 0xB
|
|
strb r1, [r0]
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F10FC: .4byte gUnknown_083DFEC4
|
|
_080F1100: .4byte 0x0000d162
|
|
_080F1104:
|
|
ldr r0, _080F110C @ =gWindowConfig_81E70B8
|
|
bl SetUpWindowConfig
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F110C: .4byte gWindowConfig_81E70B8
|
|
_080F1110:
|
|
ldr r0, _080F1118 @ =gWindowConfig_81E70B8
|
|
bl MultistepInitMenuWindowBegin
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F1118: .4byte gWindowConfig_81E70B8
|
|
_080F111C:
|
|
bl MultistepInitMenuWindowContinue
|
|
cmp r0, 0
|
|
beq _080F1126
|
|
b _080F1218
|
|
_080F1126:
|
|
b _080F1226
|
|
_080F1128:
|
|
bl MenuZeroFillScreen
|
|
b _080F1218
|
|
_080F112E:
|
|
bl sub_80F1614
|
|
b _080F1218
|
|
_080F1134:
|
|
movs r0, 0x1
|
|
bl sub_80F162C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F1218
|
|
b _080F1226
|
|
_080F1142:
|
|
ldr r0, _080F1154 @ =gUnknown_08E9FBA0
|
|
ldr r1, _080F1158 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F115C @ =0x0000934c
|
|
adds r1, r2
|
|
bl LZ77UnCompWram
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F1154: .4byte gUnknown_08E9FBA0
|
|
_080F1158: .4byte gUnknown_083DFEC4
|
|
_080F115C: .4byte 0x0000934c
|
|
_080F1160:
|
|
bl sub_80F1238
|
|
b _080F1218
|
|
_080F1166:
|
|
bl sub_80F13FC
|
|
b _080F1218
|
|
_080F116C:
|
|
ldr r0, _080F1178 @ =gPokenavRibbonView_Gfx
|
|
ldr r1, _080F117C @ =0x06008000
|
|
bl LZ77UnCompVram
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F1178: .4byte gPokenavRibbonView_Gfx
|
|
_080F117C: .4byte 0x06008000
|
|
_080F1180:
|
|
ldr r0, _080F118C @ =gUnknown_083E040C
|
|
ldr r1, _080F1190 @ =0x06008200
|
|
bl LZ77UnCompVram
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F118C: .4byte gUnknown_083E040C
|
|
_080F1190: .4byte 0x06008200
|
|
_080F1194:
|
|
ldr r0, _080F11CC @ =gPokenavRibbonView_Pal
|
|
movs r1, 0x20
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r4, _080F11D0 @ =gUnknown_083E03A8
|
|
adds r0, r4, 0
|
|
movs r1, 0xF0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _080F11D4 @ =gUnknown_083E3C60
|
|
movs r1, 0x30
|
|
movs r2, 0xA0
|
|
bl LoadPalette
|
|
ldr r0, _080F11D8 @ =gUnknownPalette_81E6692
|
|
movs r1, 0xB0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
adds r4, 0x1E
|
|
adds r0, r4, 0
|
|
movs r1, 0xBF
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
b _080F1218
|
|
.align 2, 0
|
|
_080F11CC: .4byte gPokenavRibbonView_Pal
|
|
_080F11D0: .4byte gUnknown_083E03A8
|
|
_080F11D4: .4byte gUnknown_083E3C60
|
|
_080F11D8: .4byte gUnknownPalette_81E6692
|
|
_080F11DC:
|
|
bl sub_80F1438
|
|
b _080F1218
|
|
_080F11E2:
|
|
ldr r1, _080F1208 @ =REG_BG2CNT
|
|
ldr r3, _080F120C @ =0x00001e02
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r3, _080F1210 @ =0x0000170b
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x42
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, [r2]
|
|
ldr r0, _080F1214 @ =0x0000d160
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F1204:
|
|
movs r0, 0
|
|
b _080F1228
|
|
.align 2, 0
|
|
_080F1208: .4byte REG_BG2CNT
|
|
_080F120C: .4byte 0x00001e02
|
|
_080F1210: .4byte 0x0000170b
|
|
_080F1214: .4byte 0x0000d160
|
|
_080F1218:
|
|
ldr r0, _080F1230 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F1234 @ =0x0000d160
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F1226:
|
|
movs r0, 0x1
|
|
_080F1228:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1230: .4byte gUnknown_083DFEC4
|
|
_080F1234: .4byte 0x0000d160
|
|
thumb_func_end sub_80F1080
|
|
|
|
thumb_func_start sub_80F1238
|
|
sub_80F1238: @ 80F1238
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
movs r6, 0x8B
|
|
ldr r0, _080F1318 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F131C @ =0x0000bc8e
|
|
adds r0, r2, r1
|
|
ldr r3, _080F1320 @ =0x0000bc8f
|
|
adds r1, r2, r3
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
subs r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
movs r7, 0
|
|
mov r5, sp
|
|
adds r4, r2, 0
|
|
_080F1264:
|
|
movs r1, 0x80
|
|
lsls r1, 6
|
|
adds r0, r1, 0
|
|
strh r0, [r5]
|
|
lsls r1, r7, 5
|
|
adds r1, r6, r1
|
|
lsls r1, 1
|
|
ldr r2, _080F1324 @ =0x0000934c
|
|
adds r1, r2
|
|
adds r1, r4, r1
|
|
mov r0, sp
|
|
ldr r2, _080F1328 @ =0x01000012
|
|
bl CpuSet
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x7
|
|
bls _080F1264
|
|
ldr r3, [sp, 0x4]
|
|
lsls r0, r3, 16
|
|
movs r7, 0
|
|
mov r9, r0
|
|
cmp r0, 0
|
|
beq _080F1342
|
|
ldr r0, _080F1318 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
ldr r1, _080F132C @ =gUnknown_083E4698
|
|
mov r10, r1
|
|
ldr r5, _080F1324 @ =0x0000934c
|
|
add r5, r8
|
|
_080F12A4:
|
|
ldr r0, _080F1330 @ =0x0000bc4c
|
|
add r0, r8
|
|
adds r0, r7
|
|
ldrb r1, [r0]
|
|
lsls r1, 2
|
|
mov r0, r10
|
|
adds r0, 0x2
|
|
adds r0, r1, r0
|
|
ldrb r2, [r0]
|
|
adds r2, 0x3
|
|
lsls r2, 24
|
|
add r1, r10
|
|
ldrh r0, [r1]
|
|
lsls r0, 25
|
|
movs r3, 0x80
|
|
lsls r3, 21
|
|
adds r0, r3
|
|
lsrs r4, r0, 24
|
|
lsls r1, r6, 1
|
|
adds r1, r5, r1
|
|
lsrs r2, 12
|
|
adds r0, r2, 0
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r1, r6, 0x1
|
|
lsls r1, 1
|
|
adds r1, r5, r1
|
|
movs r3, 0x80
|
|
lsls r3, 3
|
|
adds r0, r3, 0
|
|
adds r3, r2, 0
|
|
orrs r3, r0
|
|
adds r0, r3, 0
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r0, r6, 0
|
|
adds r0, 0x20
|
|
lsls r0, 1
|
|
adds r0, r5, r0
|
|
adds r1, r4, 0x1
|
|
orrs r2, r1
|
|
strh r2, [r0]
|
|
adds r0, r6, 0
|
|
adds r0, 0x21
|
|
lsls r0, 1
|
|
adds r0, r5, r0
|
|
orrs r3, r1
|
|
strh r3, [r0]
|
|
adds r4, r7, 0x1
|
|
adds r0, r4, 0
|
|
movs r1, 0x9
|
|
bl __modsi3
|
|
cmp r0, 0
|
|
bne _080F1334
|
|
adds r0, r6, 0
|
|
adds r0, 0x30
|
|
b _080F1336
|
|
.align 2, 0
|
|
_080F1318: .4byte gUnknown_083DFEC4
|
|
_080F131C: .4byte 0x0000bc8e
|
|
_080F1320: .4byte 0x0000bc8f
|
|
_080F1324: .4byte 0x0000934c
|
|
_080F1328: .4byte 0x01000012
|
|
_080F132C: .4byte gUnknown_083E4698
|
|
_080F1330: .4byte 0x0000bc4c
|
|
_080F1334:
|
|
adds r0, r6, 0x2
|
|
_080F1336:
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r0, r4, 16
|
|
lsrs r7, r0, 16
|
|
cmp r0, r9
|
|
bcc _080F12A4
|
|
_080F1342:
|
|
ldr r6, _080F13E8 @ =0x0000014b
|
|
movs r7, 0
|
|
ldr r1, _080F13EC @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r2, _080F13F0 @ =0x0000bc8f
|
|
adds r1, r0, r2
|
|
ldrb r3, [r1]
|
|
cmp r7, r3
|
|
bcs _080F13D8
|
|
subs r2, 0x43
|
|
adds r2, r0
|
|
mov r10, r2
|
|
ldr r3, _080F13F4 @ =gUnknown_083E4698
|
|
mov r8, r3
|
|
ldr r2, _080F13F8 @ =0x0000934c
|
|
adds r5, r0, r2
|
|
mov r9, r1
|
|
_080F1364:
|
|
ldr r3, [sp, 0x4]
|
|
adds r0, r3, r7
|
|
add r0, r10
|
|
ldrb r1, [r0]
|
|
lsls r1, 2
|
|
mov r0, r8
|
|
adds r0, 0x2
|
|
adds r0, r1, r0
|
|
ldrb r2, [r0]
|
|
adds r2, 0x3
|
|
lsls r2, 24
|
|
add r1, r8
|
|
ldrh r0, [r1]
|
|
lsls r0, 25
|
|
movs r1, 0x80
|
|
lsls r1, 21
|
|
adds r0, r1
|
|
lsrs r4, r0, 24
|
|
lsls r1, r6, 1
|
|
adds r1, r5, r1
|
|
lsrs r2, 12
|
|
adds r0, r2, 0
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r1, r6, 0x1
|
|
lsls r1, 1
|
|
adds r1, r5, r1
|
|
movs r3, 0x80
|
|
lsls r3, 3
|
|
adds r0, r3, 0
|
|
adds r3, r2, 0
|
|
orrs r3, r0
|
|
adds r0, r3, 0
|
|
orrs r0, r4
|
|
strh r0, [r1]
|
|
adds r0, r6, 0
|
|
adds r0, 0x20
|
|
lsls r0, 1
|
|
adds r0, r5, r0
|
|
adds r1, r4, 0x1
|
|
orrs r2, r1
|
|
strh r2, [r0]
|
|
adds r0, r6, 0
|
|
adds r0, 0x21
|
|
lsls r0, 1
|
|
adds r0, r5, r0
|
|
orrs r3, r1
|
|
strh r3, [r0]
|
|
adds r0, r6, 0x2
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
mov r0, r9
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
bcc _080F1364
|
|
_080F13D8:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F13E8: .4byte 0x0000014b
|
|
_080F13EC: .4byte gUnknown_083DFEC4
|
|
_080F13F0: .4byte 0x0000bc8f
|
|
_080F13F4: .4byte gUnknown_083E4698
|
|
_080F13F8: .4byte 0x0000934c
|
|
thumb_func_end sub_80F1238
|
|
|
|
thumb_func_start sub_80F13FC
|
|
sub_80F13FC: @ 80F13FC
|
|
ldr r0, _080F141C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1420 @ =0x0000934c
|
|
adds r0, r1
|
|
ldr r2, _080F1424 @ =0x0600b800
|
|
ldr r1, _080F1428 @ =0x040000d4
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
ldr r0, _080F142C @ =0x84000140
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
ldr r1, _080F1430 @ =gPlttBufferUnfaded
|
|
ldr r0, _080F1434 @ =gPokenavRibbonView_Pal + 0x1C
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F141C: .4byte gUnknown_083DFEC4
|
|
_080F1420: .4byte 0x0000934c
|
|
_080F1424: .4byte 0x0600b800
|
|
_080F1428: .4byte 0x040000d4
|
|
_080F142C: .4byte 0x84000140
|
|
_080F1430: .4byte gPlttBufferUnfaded
|
|
_080F1434: .4byte gPokenavRibbonView_Pal + 0x1C
|
|
thumb_func_end sub_80F13FC
|
|
|
|
thumb_func_start sub_80F1438
|
|
sub_80F1438: @ 80F1438
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F1470 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F1474 @ =0x00008829
|
|
adds r0, r4, r1
|
|
movs r1, 0xD
|
|
movs r2, 0x1
|
|
bl MenuPrint
|
|
ldr r0, _080F1478 @ =0x00008788
|
|
adds r5, r4, r0
|
|
ldr r1, _080F147C @ =0x0000876e
|
|
adds r4, r1
|
|
ldrh r1, [r4]
|
|
adds r1, 0x1
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r5, 0
|
|
bl sub_80F445C
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x5
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1470: .4byte gUnknown_083DFEC4
|
|
_080F1474: .4byte 0x00008829
|
|
_080F1478: .4byte 0x00008788
|
|
_080F147C: .4byte 0x0000876e
|
|
thumb_func_end sub_80F1438
|
|
|
|
thumb_func_start sub_80F1480
|
|
sub_80F1480: @ 80F1480
|
|
push {lr}
|
|
movs r0, 0xC
|
|
movs r1, 0xD
|
|
movs r2, 0x1B
|
|
movs r3, 0x10
|
|
bl MenuZeroFillWindowRect
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F1480
|
|
|
|
thumb_func_start sub_80F1494
|
|
sub_80F1494: @ 80F1494
|
|
push {r4-r7,lr}
|
|
ldr r0, _080F14D4 @ =gUnknown_083DFEC8
|
|
ldr r0, [r0]
|
|
movs r1, 0x80
|
|
lsls r1, 4
|
|
adds r6, r0, r1
|
|
ldr r2, _080F14D8 @ =0x00000a98
|
|
adds r7, r0, r2
|
|
ldr r0, _080F14DC @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r4, _080F14E0 @ =0x0000bc91
|
|
adds r1, r3, r4
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x2
|
|
bhi _080F14F0
|
|
ldr r5, _080F14E4 @ =gUnknown_020388B4
|
|
adds r1, r0, 0
|
|
lsls r0, r1, 3
|
|
subs r4, 0x1
|
|
adds r2, r3, r4
|
|
adds r0, r1
|
|
ldrb r2, [r2]
|
|
adds r0, r2
|
|
strh r0, [r5]
|
|
ldr r1, _080F14E8 @ =0x0000bc4c
|
|
adds r0, r3, r1
|
|
ldrh r2, [r5]
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strh r0, [r5]
|
|
ldr r4, _080F14EC @ =gRibbonDescriptions
|
|
b _080F152E
|
|
.align 2, 0
|
|
_080F14D4: .4byte gUnknown_083DFEC8
|
|
_080F14D8: .4byte 0x00000a98
|
|
_080F14DC: .4byte gUnknown_083DFEC4
|
|
_080F14E0: .4byte 0x0000bc91
|
|
_080F14E4: .4byte gUnknown_020388B4
|
|
_080F14E8: .4byte 0x0000bc4c
|
|
_080F14EC: .4byte gRibbonDescriptions
|
|
_080F14F0:
|
|
ldr r5, _080F1558 @ =gUnknown_020388B4
|
|
ldr r4, _080F155C @ =0x0000bc8e
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
ldr r2, _080F1560 @ =0x0000bc8f
|
|
adds r1, r3, r2
|
|
ldrb r1, [r1]
|
|
subs r0, r1
|
|
strh r0, [r5]
|
|
ldrh r1, [r5]
|
|
adds r4, 0x2
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
adds r1, r0
|
|
subs r2, 0x43
|
|
adds r0, r3, r2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strh r0, [r5]
|
|
ldr r0, _080F1564 @ =gSaveBlock1
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
ldr r4, _080F1568 @ =0x000030f7
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
strh r0, [r5]
|
|
cmp r0, 0
|
|
beq _080F1570
|
|
subs r0, 0x1
|
|
strh r0, [r5]
|
|
ldr r4, _080F156C @ =gGiftRibbonDescriptions
|
|
_080F152E:
|
|
ldrh r0, [r5]
|
|
lsls r0, 3
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r6, 0
|
|
movs r2, 0x80
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
ldrh r0, [r5]
|
|
lsls r0, 3
|
|
adds r4, 0x4
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
movs r2, 0x80
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
b _080F158A
|
|
.align 2, 0
|
|
_080F1558: .4byte gUnknown_020388B4
|
|
_080F155C: .4byte 0x0000bc8e
|
|
_080F1560: .4byte 0x0000bc8f
|
|
_080F1564: .4byte gSaveBlock1
|
|
_080F1568: .4byte 0x000030f7
|
|
_080F156C: .4byte gGiftRibbonDescriptions
|
|
_080F1570:
|
|
ldr r4, _080F15A4 @ =gEmptyString_81E72B0
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x80
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
adds r0, r7, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x80
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
_080F158A:
|
|
adds r0, r6, 0
|
|
movs r1, 0xC
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
adds r0, r7, 0
|
|
movs r1, 0xC
|
|
movs r2, 0xF
|
|
bl MenuPrint
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F15A4: .4byte gEmptyString_81E72B0
|
|
thumb_func_end sub_80F1494
|
|
|
|
thumb_func_start sub_80F15A8
|
|
sub_80F15A8: @ 80F15A8
|
|
push {r4,r5,lr}
|
|
movs r0, 0xC
|
|
movs r1, 0xD
|
|
movs r2, 0x1B
|
|
movs r3, 0x10
|
|
bl MenuZeroFillWindowRect
|
|
ldr r0, _080F1600 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F1604 @ =0x00008788
|
|
adds r5, r4, r0
|
|
ldr r1, _080F1608 @ =gOtherText_Ribbons
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
adds r2, r0, 0
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
ldr r1, _080F160C @ =0x000087dc
|
|
adds r0, r4, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
lsls r0, 2
|
|
adds r4, r0
|
|
ldr r0, _080F1610 @ =0x0000893c
|
|
adds r4, r0
|
|
ldrb r1, [r4]
|
|
adds r0, r2, 0
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
adds r2, r0, 0
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
movs r2, 0xD
|
|
bl MenuPrint
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1600: .4byte gUnknown_083DFEC4
|
|
_080F1604: .4byte 0x00008788
|
|
_080F1608: .4byte gOtherText_Ribbons
|
|
_080F160C: .4byte 0x000087dc
|
|
_080F1610: .4byte 0x0000893c
|
|
thumb_func_end sub_80F15A8
|
|
|
|
thumb_func_start sub_80F1614
|
|
sub_80F1614: @ 80F1614
|
|
ldr r0, _080F1624 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1628 @ =0x00008764
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F1624: .4byte gUnknown_083DFEC4
|
|
_080F1628: .4byte 0x00008764
|
|
thumb_func_end sub_80F1614
|
|
|
|
thumb_func_start sub_80F162C
|
|
sub_80F162C: @ 80F162C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _080F164C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F1650 @ =0x00008764
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _080F165E
|
|
cmp r0, 0x1
|
|
bgt _080F1654
|
|
cmp r0, 0
|
|
beq _080F16F0
|
|
b _080F16D0
|
|
.align 2, 0
|
|
_080F164C: .4byte gUnknown_083DFEC4
|
|
_080F1650: .4byte 0x00008764
|
|
_080F1654:
|
|
cmp r0, 0x2
|
|
beq _080F1670
|
|
cmp r0, 0x3
|
|
beq _080F1694
|
|
b _080F16D0
|
|
_080F165E:
|
|
ldr r0, _080F1668 @ =gUnknown_08E9FF58
|
|
ldr r1, _080F166C @ =0x0600e800
|
|
bl LZ77UnCompVram
|
|
b _080F16F0
|
|
.align 2, 0
|
|
_080F1668: .4byte gUnknown_08E9FF58
|
|
_080F166C: .4byte 0x0600e800
|
|
_080F1670:
|
|
ldr r1, _080F1684 @ =gPokenavRibbonPokeView_Gfx
|
|
ldr r2, _080F1688 @ =0x0600e000
|
|
ldr r0, _080F168C @ =0x040000d4
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
ldr r1, _080F1690 @ =0x80000070
|
|
str r1, [r0, 0x8]
|
|
ldr r0, [r0, 0x8]
|
|
b _080F16F0
|
|
.align 2, 0
|
|
_080F1684: .4byte gPokenavRibbonPokeView_Gfx
|
|
_080F1688: .4byte 0x0600e000
|
|
_080F168C: .4byte 0x040000d4
|
|
_080F1690: .4byte 0x80000070
|
|
_080F1694:
|
|
cmp r1, 0
|
|
bne _080F16A8
|
|
ldr r0, _080F16A4 @ =gUnknown_083E0124
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
b _080F16B2
|
|
.align 2, 0
|
|
_080F16A4: .4byte gUnknown_083E0124
|
|
_080F16A8:
|
|
ldr r0, _080F16D4 @ =gUnknown_083E0144
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
_080F16B2:
|
|
ldr r0, _080F16D8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r3, _080F16DC @ =0x00008766
|
|
adds r2, r1, r3
|
|
ldr r0, _080F16E0 @ =0x0000ffb0
|
|
strh r0, [r2]
|
|
ldr r2, _080F16E4 @ =REG_BG0CNT
|
|
ldr r3, _080F16E8 @ =0x00001d0d
|
|
adds r0, r3, 0
|
|
strh r0, [r2]
|
|
ldr r0, _080F16EC @ =0x00008764
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F16D0:
|
|
movs r0, 0
|
|
b _080F1700
|
|
.align 2, 0
|
|
_080F16D4: .4byte gUnknown_083E0144
|
|
_080F16D8: .4byte gUnknown_083DFEC4
|
|
_080F16DC: .4byte 0x00008766
|
|
_080F16E0: .4byte 0x0000ffb0
|
|
_080F16E4: .4byte REG_BG0CNT
|
|
_080F16E8: .4byte 0x00001d0d
|
|
_080F16EC: .4byte 0x00008764
|
|
_080F16F0:
|
|
ldr r0, _080F1704 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F1708 @ =0x00008764
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
_080F1700:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1704: .4byte gUnknown_083DFEC4
|
|
_080F1708: .4byte 0x00008764
|
|
thumb_func_end sub_80F162C
|
|
|
|
thumb_func_start sub_80F170C
|
|
sub_80F170C: @ 80F170C
|
|
push {lr}
|
|
ldr r0, _080F1734 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F1738 @ =0x00008766
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x10
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080F1726
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
_080F1726:
|
|
movs r0, 0
|
|
ldrsh r1, [r1, r0]
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1734: .4byte gUnknown_083DFEC4
|
|
_080F1738: .4byte 0x00008766
|
|
thumb_func_end sub_80F170C
|
|
|
|
thumb_func_start sub_80F173C
|
|
sub_80F173C: @ 80F173C
|
|
push {lr}
|
|
ldr r0, _080F176C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F1770 @ =0x00008766
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1]
|
|
subs r0, 0x10
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r2, 0x50
|
|
negs r2, r2
|
|
cmp r0, r2
|
|
bge _080F175C
|
|
ldr r0, _080F1774 @ =0x0000ffb0
|
|
strh r0, [r1]
|
|
_080F175C:
|
|
movs r0, 0
|
|
ldrsh r1, [r1, r0]
|
|
eors r1, r2
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F176C: .4byte gUnknown_083DFEC4
|
|
_080F1770: .4byte 0x00008766
|
|
_080F1774: .4byte 0x0000ffb0
|
|
thumb_func_end sub_80F173C
|
|
|
|
thumb_func_start sub_80F1778
|
|
sub_80F1778: @ 80F1778
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r0, _080F1798 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F179C @ =0x0000d160
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x9
|
|
bls _080F178C
|
|
b _080F1910
|
|
_080F178C:
|
|
lsls r0, 2
|
|
ldr r1, _080F17A0 @ =_080F17A4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F1798: .4byte gUnknown_083DFEC4
|
|
_080F179C: .4byte 0x0000d160
|
|
_080F17A0: .4byte _080F17A4
|
|
.align 2, 0
|
|
_080F17A4:
|
|
.4byte _080F17CC
|
|
.4byte _080F17E8
|
|
.4byte _080F17EE
|
|
.4byte _080F17FE
|
|
.4byte _080F1810
|
|
.4byte _080F1830
|
|
.4byte _080F1858
|
|
.4byte _080F186C
|
|
.4byte _080F18B8
|
|
.4byte _080F18D8
|
|
_080F17CC:
|
|
bl sub_80EEDE8
|
|
ldr r0, _080F17E0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F17E4 @ =0x0000d162
|
|
adds r0, r2
|
|
movs r1, 0x2
|
|
strb r1, [r0]
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F17E0: .4byte gUnknown_083DFEC4
|
|
_080F17E4: .4byte 0x0000d162
|
|
_080F17E8:
|
|
bl sub_80F1614
|
|
b _080F1914
|
|
_080F17EE:
|
|
movs r0, 0
|
|
bl sub_80F162C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F17FC
|
|
b _080F1914
|
|
_080F17FC:
|
|
b _080F1922
|
|
_080F17FE:
|
|
ldr r0, _080F1808 @ =gPokenavConditionView_Gfx
|
|
ldr r1, _080F180C @ =0x06005000
|
|
bl LZ77UnCompVram
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F1808: .4byte gPokenavConditionView_Gfx
|
|
_080F180C: .4byte 0x06005000
|
|
_080F1810:
|
|
ldr r0, _080F1824 @ =gUnknown_08E9AC4C
|
|
ldr r1, _080F1828 @ =0x0600f000
|
|
bl LZ77UnCompVram
|
|
ldr r0, _080F182C @ =gPokenavConditionMenu2_Pal
|
|
movs r1, 0x20
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F1824: .4byte gUnknown_08E9AC4C
|
|
_080F1828: .4byte 0x0600f000
|
|
_080F182C: .4byte gPokenavConditionMenu2_Pal
|
|
_080F1830:
|
|
ldr r0, _080F1850 @ =0x0600f000
|
|
ldr r3, _080F1854 @ =gUnknown_083E01F4
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r2, 0xC
|
|
str r2, [sp, 0x8]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0xD
|
|
bl sub_8095C8C
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F1850: .4byte 0x0600f000
|
|
_080F1854: .4byte gUnknown_083E01F4
|
|
_080F1858:
|
|
ldr r0, _080F1864 @ =gUnknown_08E9FEB4
|
|
ldr r1, _080F1868 @ =0x0600b800
|
|
bl LZ77UnCompVram
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F1864: .4byte gUnknown_08E9FEB4
|
|
_080F1868: .4byte 0x0600b800
|
|
_080F186C:
|
|
ldr r0, _080F18AC @ =gUnknown_083E0254
|
|
movs r1, 0x30
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _080F18B0 @ =gUnknownPalette_81E6692
|
|
movs r1, 0xB0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r4, _080F18B4 @ =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 _080F1914
|
|
.align 2, 0
|
|
_080F18AC: .4byte gUnknown_083E0254
|
|
_080F18B0: .4byte gUnknownPalette_81E6692
|
|
_080F18B4: .4byte gPokenavConditionMenu2_Pal + 0x2
|
|
_080F18B8:
|
|
ldr r0, _080F18D0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F18D4 @ =0x00008fe9
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80F01E0
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F18D0: .4byte gUnknown_083DFEC4
|
|
_080F18D4: .4byte 0x00008fe9
|
|
_080F18D8:
|
|
ldr r1, _080F18FC @ =REG_BG3CNT
|
|
ldr r2, _080F1900 @ =0x00001e03
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
subs r1, 0x2
|
|
ldr r2, _080F1904 @ =0x00001702
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x44
|
|
ldr r2, _080F1908 @ =0x00000844
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _080F190C @ =0x0000040b
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
b _080F1914
|
|
.align 2, 0
|
|
_080F18FC: .4byte REG_BG3CNT
|
|
_080F1900: .4byte 0x00001e03
|
|
_080F1904: .4byte 0x00001702
|
|
_080F1908: .4byte 0x00000844
|
|
_080F190C: .4byte 0x0000040b
|
|
_080F1910:
|
|
movs r0, 0
|
|
b _080F1924
|
|
_080F1914:
|
|
ldr r0, _080F192C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F1930 @ =0x0000d160
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F1922:
|
|
movs r0, 0x1
|
|
_080F1924:
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F192C: .4byte gUnknown_083DFEC4
|
|
_080F1930: .4byte 0x0000d160
|
|
thumb_func_end sub_80F1778
|
|
|
|
thumb_func_start sub_80F1934
|
|
sub_80F1934: @ 80F1934
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F1990 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F1994 @ =0x00008788
|
|
adds r5, r1, r0
|
|
ldr r3, _080F1998 @ =0x000087dc
|
|
adds r2, r1, r3
|
|
movs r3, 0
|
|
ldrsh r0, [r2, r3]
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldr r0, _080F199C @ =0x0000893f
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
lsls r0, 25
|
|
cmp r0, 0
|
|
bge _080F19AC
|
|
ldrb r0, [r2]
|
|
bl sub_8137124
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080F19A0 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl GetNature
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r1, _080F19A4 @ =gOtherText_Nature2
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
adds r5, r0, 0
|
|
ldr r0, _080F19A8 @ =gNatureNames
|
|
lsls r4, 2
|
|
adds r4, r0
|
|
ldr r1, [r4]
|
|
adds r0, r5, 0
|
|
movs r2, 0x57
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
b _080F19B8
|
|
.align 2, 0
|
|
_080F1990: .4byte gUnknown_083DFEC4
|
|
_080F1994: .4byte 0x00008788
|
|
_080F1998: .4byte 0x000087dc
|
|
_080F199C: .4byte 0x0000893f
|
|
_080F19A0: .4byte gPlayerParty
|
|
_080F19A4: .4byte gOtherText_Nature2
|
|
_080F19A8: .4byte gNatureNames
|
|
_080F19AC:
|
|
ldr r1, _080F19D0 @ =gEmptyString_81E72B0
|
|
adds r0, r5, 0
|
|
movs r2, 0x57
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
_080F19B8:
|
|
ldr r0, _080F19D4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F19D8 @ =0x00008788
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
movs r2, 0x70
|
|
movs r3, 0x1
|
|
bl MenuPrint_PixelCoords
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F19D0: .4byte gEmptyString_81E72B0
|
|
_080F19D4: .4byte gUnknown_083DFEC4
|
|
_080F19D8: .4byte 0x00008788
|
|
thumb_func_end sub_80F1934
|
|
|
|
thumb_func_start sub_80F19DC
|
|
sub_80F19DC: @ 80F19DC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
b _080F19E4
|
|
_080F19E2:
|
|
adds r1, 0x1
|
|
_080F19E4:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFF
|
|
beq _080F19F8
|
|
cmp r0, 0xFC
|
|
bne _080F19E2
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0
|
|
bne _080F19E2
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
_080F19F8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F19DC
|
|
|
|
thumb_func_start sub_80F19FC
|
|
sub_80F19FC: @ 80F19FC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _080F1A68 @ =gUnknown_020388B0
|
|
ldrb r4, [r5]
|
|
cmp r4, 0x1
|
|
bne _080F1A60
|
|
ldr r0, _080F1A6C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F1A70 @ =0x00006e2c
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r2, 0x3
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
ldrb r2, [r5, 0x1]
|
|
bl GetLandmarkName
|
|
cmp r0, 0
|
|
beq _080F1A46
|
|
ldrb r2, [r5, 0x1]
|
|
lsls r2, 20
|
|
movs r1, 0xC0
|
|
lsls r1, 14
|
|
adds r2, r1
|
|
lsrs r2, 16
|
|
str r4, [sp]
|
|
movs r1, 0x70
|
|
movs r3, 0x78
|
|
bl sub_8072A18
|
|
ldrb r0, [r5, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _080F1A60
|
|
_080F1A46:
|
|
ldrb r1, [r5, 0x1]
|
|
lsls r1, 25
|
|
movs r2, 0xC0
|
|
lsls r2, 19
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
movs r0, 0xE
|
|
movs r2, 0x1C
|
|
movs r3, 0xF
|
|
bl MenuFillWindowRectWithBlankTile
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
_080F1A60:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1A68: .4byte gUnknown_020388B0
|
|
_080F1A6C: .4byte gUnknown_083DFEC4
|
|
_080F1A70: .4byte 0x00006e2c
|
|
thumb_func_end sub_80F19FC
|
|
|
|
thumb_func_start sub_80F1A74
|
|
sub_80F1A74: @ 80F1A74
|
|
ldr r1, _080F1A7C @ =gUnknown_020388B0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F1A7C: .4byte gUnknown_020388B0
|
|
thumb_func_end sub_80F1A74
|
|
|
|
thumb_func_start sub_80F1A80
|
|
sub_80F1A80: @ 80F1A80
|
|
ldr r0, _080F1A8C @ =gUnknown_020388B0
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
strb r2, [r0, 0x1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F1A8C: .4byte gUnknown_020388B0
|
|
thumb_func_end sub_80F1A80
|
|
|
|
thumb_func_start sub_80F1A90
|
|
sub_80F1A90: @ 80F1A90
|
|
push {lr}
|
|
ldr r0, _080F1AB8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1ABC @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F1AC0 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F1AB2
|
|
_080F1AA8:
|
|
bl sub_80F1AC4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F1AA8
|
|
_080F1AB2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1AB8: .4byte gUnknown_083DFEC4
|
|
_080F1ABC: .4byte 0x00000306
|
|
_080F1AC0: .4byte 0x00006dac
|
|
thumb_func_end sub_80F1A90
|
|
|
|
thumb_func_start sub_80F1AC4
|
|
sub_80F1AC4: @ 80F1AC4
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F1AE0 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F1AE4 @ =0x00000306
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _080F1B34
|
|
cmp r0, 0x1
|
|
bgt _080F1AE8
|
|
cmp r0, 0
|
|
beq _080F1AF2
|
|
b _080F1B6C
|
|
.align 2, 0
|
|
_080F1AE0: .4byte gUnknown_083DFEC4
|
|
_080F1AE4: .4byte 0x00000306
|
|
_080F1AE8:
|
|
cmp r0, 0x2
|
|
beq _080F1B40
|
|
cmp r0, 0x3
|
|
beq _080F1B54
|
|
b _080F1B6C
|
|
_080F1AF2:
|
|
movs r0, 0
|
|
movs r2, 0xC8
|
|
lsls r2, 2
|
|
adds r4, r1, r2
|
|
movs r5, 0
|
|
_080F1AFC:
|
|
movs r2, 0
|
|
adds r1, r0, 0x1
|
|
lsls r3, r0, 4
|
|
_080F1B02:
|
|
lsls r0, r2, 2
|
|
adds r0, r3
|
|
adds r0, r4, r0
|
|
str r5, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x3
|
|
bls _080F1B02
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x5
|
|
bls _080F1AFC
|
|
ldr r0, _080F1B2C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1B30 @ =0x00000311
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
b _080F1B6C
|
|
.align 2, 0
|
|
_080F1B2C: .4byte gUnknown_083DFEC4
|
|
_080F1B30: .4byte 0x00000311
|
|
_080F1B34:
|
|
ldr r0, _080F1B3C @ =gPokenavMenuOptions_Gfx
|
|
movs r2, 0xE2
|
|
lsls r2, 2
|
|
b _080F1B44
|
|
.align 2, 0
|
|
_080F1B3C: .4byte gPokenavMenuOptions_Gfx
|
|
_080F1B40:
|
|
ldr r0, _080F1B4C @ =gPokenavConditionMenu_Gfx
|
|
ldr r2, _080F1B50 @ =0x00001788
|
|
_080F1B44:
|
|
adds r1, r2
|
|
bl LZ77UnCompWram
|
|
b _080F1B6C
|
|
.align 2, 0
|
|
_080F1B4C: .4byte gPokenavConditionMenu_Gfx
|
|
_080F1B50: .4byte 0x00001788
|
|
_080F1B54:
|
|
ldr r0, _080F1B64 @ =gPokenavConditionSearch_Gfx
|
|
ldr r2, _080F1B68 @ =0x00002388
|
|
adds r1, r2
|
|
bl LZ77UnCompWram
|
|
movs r0, 0
|
|
b _080F1B7C
|
|
.align 2, 0
|
|
_080F1B64: .4byte gPokenavConditionSearch_Gfx
|
|
_080F1B68: .4byte 0x00002388
|
|
_080F1B6C:
|
|
ldr r0, _080F1B84 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F1B88 @ =0x00000306
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
_080F1B7C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1B84: .4byte gUnknown_083DFEC4
|
|
_080F1B88: .4byte 0x00000306
|
|
thumb_func_end sub_80F1AC4
|
|
|
|
thumb_func_start sub_80F1B8C
|
|
sub_80F1B8C: @ 80F1B8C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080F1BBC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1BC0 @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F1BC4 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F1BB4
|
|
_080F1BA8:
|
|
adds r0, r4, 0
|
|
bl sub_80F1BC8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F1BA8
|
|
_080F1BB4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1BBC: .4byte gUnknown_083DFEC4
|
|
_080F1BC0: .4byte 0x00000306
|
|
_080F1BC4: .4byte 0x00006dac
|
|
thumb_func_end sub_80F1B8C
|
|
|
|
thumb_func_start sub_80F1BC8
|
|
sub_80F1BC8: @ 80F1BC8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
ldr r1, _080F1BF4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r1]
|
|
ldr r3, _080F1BF8 @ =0x00000306
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
adds r3, r1, 0
|
|
cmp r0, 0x1
|
|
beq _080F1C0A
|
|
cmp r0, 0x1
|
|
bgt _080F1BFC
|
|
cmp r0, 0
|
|
beq _080F1C02
|
|
b _080F1DC4
|
|
.align 2, 0
|
|
_080F1BF4: .4byte gUnknown_083DFEC4
|
|
_080F1BF8: .4byte 0x00000306
|
|
_080F1BFC:
|
|
cmp r0, 0x2
|
|
beq _080F1C12
|
|
b _080F1DC4
|
|
_080F1C02:
|
|
mov r0, r9
|
|
bl sub_80F2458
|
|
b _080F1DC8
|
|
_080F1C0A:
|
|
mov r0, r9
|
|
bl sub_80F2514
|
|
b _080F1DC8
|
|
_080F1C12:
|
|
mov r4, r9
|
|
cmp r4, 0x1
|
|
beq _080F1C40
|
|
cmp r4, 0x1
|
|
bgt _080F1C22
|
|
cmp r4, 0
|
|
beq _080F1C2A
|
|
b _080F1DC4
|
|
_080F1C22:
|
|
mov r5, r9
|
|
cmp r5, 0x2
|
|
beq _080F1C54
|
|
b _080F1DC4
|
|
_080F1C2A:
|
|
movs r0, 0x2A
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0x14
|
|
str r1, [sp, 0x8]
|
|
ldr r4, _080F1C3C @ =0x0000030e
|
|
adds r1, r2, r4
|
|
movs r0, 0x5
|
|
b _080F1C62
|
|
.align 2, 0
|
|
_080F1C3C: .4byte 0x0000030e
|
|
_080F1C40:
|
|
movs r5, 0x38
|
|
str r5, [sp, 0x4]
|
|
movs r0, 0x14
|
|
str r0, [sp, 0x8]
|
|
ldr r4, _080F1C50 @ =0x0000030e
|
|
adds r1, r2, r4
|
|
movs r0, 0x3
|
|
b _080F1C62
|
|
.align 2, 0
|
|
_080F1C50: .4byte 0x0000030e
|
|
_080F1C54:
|
|
movs r5, 0x28
|
|
str r5, [sp, 0x4]
|
|
movs r0, 0x10
|
|
str r0, [sp, 0x8]
|
|
ldr r4, _080F1CDC @ =0x0000030e
|
|
adds r1, r2, r4
|
|
movs r0, 0x6
|
|
_080F1C62:
|
|
strb r0, [r1]
|
|
movs r5, 0
|
|
str r5, [sp]
|
|
mov r8, r5
|
|
adds r1, r3, 0
|
|
ldr r0, [r1]
|
|
ldr r2, _080F1CDC @ =0x0000030e
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r8, r0
|
|
blt _080F1C7E
|
|
b _080F1DC8
|
|
_080F1C7E:
|
|
ldr r4, [sp, 0x8]
|
|
mov r3, r8
|
|
muls r3, r4
|
|
ldr r5, [sp, 0x4]
|
|
adds r0, r5, r3
|
|
subs r0, 0x8
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r4, [r1]
|
|
mov r2, r8
|
|
lsls r1, r2, 1
|
|
movs r5, 0xC5
|
|
lsls r5, 2
|
|
adds r2, r4, r5
|
|
adds r2, r1
|
|
lsls r1, r0, 8
|
|
adds r0, 0x11
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
mov r0, r9
|
|
cmp r0, 0
|
|
bne _080F1CF2
|
|
ldr r1, _080F1CE0 @ =0x00006db2
|
|
adds r0, r4, r1
|
|
mov r2, r8
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080F1CE8
|
|
movs r5, 0
|
|
ldr r0, _080F1CE4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
lsls r2, 4
|
|
movs r3, 0xC8
|
|
lsls r3, 2
|
|
adds r1, r0, r3
|
|
movs r3, 0
|
|
_080F1CC8:
|
|
lsls r0, r5, 2
|
|
adds r0, r2
|
|
adds r0, r1, r0
|
|
str r3, [r0]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x3
|
|
bls _080F1CC8
|
|
b _080F1D92
|
|
.align 2, 0
|
|
_080F1CDC: .4byte 0x0000030e
|
|
_080F1CE0: .4byte 0x00006db2
|
|
_080F1CE4: .4byte gUnknown_083DFEC4
|
|
_080F1CE8:
|
|
ldrb r0, [r1]
|
|
subs r0, 0x1
|
|
lsls r0, 18
|
|
lsrs r0, 16
|
|
str r0, [sp]
|
|
_080F1CF2:
|
|
movs r5, 0
|
|
ldr r4, [sp, 0x4]
|
|
adds r0, r4, r3
|
|
lsls r0, 16
|
|
mov r10, r0
|
|
_080F1CFC:
|
|
lsls r6, r5, 5
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
adds r7, r6, r0
|
|
lsls r1, r7, 16
|
|
asrs r1, 16
|
|
ldr r0, _080F1DB4 @ =gSpriteTemplate_83E4454
|
|
mov r3, r10
|
|
asrs r2, r3, 16
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x40
|
|
beq _080F1DC4
|
|
ldr r0, _080F1DB8 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
lsls r1, r5, 2
|
|
mov r4, r8
|
|
lsls r0, r4, 4
|
|
adds r1, r0
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
adds r4, r2, r1
|
|
lsls r0, r3, 4
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r1, _080F1DBC @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r4]
|
|
mov r1, r8
|
|
strh r1, [r0, 0x2E]
|
|
ldr r0, [r4]
|
|
strh r5, [r0, 0x30]
|
|
ldr r1, [r4]
|
|
adds r0, r6, 0
|
|
adds r0, 0x98
|
|
strh r0, [r1, 0x32]
|
|
ldr r0, [r4]
|
|
strh r7, [r0, 0x34]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp]
|
|
adds r2, r1, 0x1
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
str r2, [sp]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
mov r2, r9
|
|
cmp r2, 0x2
|
|
beq _080F1D6E
|
|
cmp r2, 0
|
|
bne _080F1D88
|
|
_080F1D6E:
|
|
mov r3, r8
|
|
cmp r3, 0x2
|
|
bls _080F1D88
|
|
movs r0, 0x1
|
|
bl IndexOfSpritePaletteTag
|
|
ldr r3, [r4]
|
|
lsls r0, 4
|
|
ldrb r2, [r3, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3, 0x5]
|
|
_080F1D88:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x3
|
|
bls _080F1CFC
|
|
_080F1D92:
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r1, _080F1DB8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r4, _080F1DC0 @ =0x0000030e
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r8, r0
|
|
bge _080F1DB0
|
|
b _080F1C7E
|
|
_080F1DB0:
|
|
b _080F1DC8
|
|
.align 2, 0
|
|
_080F1DB4: .4byte gSpriteTemplate_83E4454
|
|
_080F1DB8: .4byte gUnknown_083DFEC4
|
|
_080F1DBC: .4byte gSprites
|
|
_080F1DC0: .4byte 0x0000030e
|
|
_080F1DC4:
|
|
movs r0, 0
|
|
b _080F1DD8
|
|
_080F1DC8:
|
|
ldr r0, _080F1DE8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r5, _080F1DEC @ =0x00000306
|
|
adds r1, r5
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
_080F1DD8:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1DE8: .4byte gUnknown_083DFEC4
|
|
_080F1DEC: .4byte 0x00000306
|
|
thumb_func_end sub_80F1BC8
|
|
|
|
thumb_func_start sub_80F1DF0
|
|
sub_80F1DF0: @ 80F1DF0
|
|
push {r4-r6,lr}
|
|
movs r2, 0
|
|
ldr r0, _080F1E44 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r0, _080F1E48 @ =0x0000030e
|
|
adds r1, r3, r0
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r2, r0
|
|
bge _080F1E38
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r4, r3, r0
|
|
adds r6, r1, 0
|
|
ldr r5, _080F1E4C @ =sub_80F2218
|
|
_080F1E0E:
|
|
movs r1, 0
|
|
adds r3, r2, 0x1
|
|
lsls r2, 4
|
|
_080F1E14:
|
|
lsls r0, r1, 2
|
|
adds r0, r2
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F1E22
|
|
str r5, [r0, 0x1C]
|
|
_080F1E22:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x3
|
|
bls _080F1E14
|
|
lsls r0, r3, 16
|
|
lsrs r2, r0, 16
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r2, r0
|
|
blt _080F1E0E
|
|
_080F1E38:
|
|
movs r0, 0x6
|
|
bl PlaySE
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1E44: .4byte gUnknown_083DFEC4
|
|
_080F1E48: .4byte 0x0000030e
|
|
_080F1E4C: .4byte sub_80F2218
|
|
thumb_func_end sub_80F1DF0
|
|
|
|
thumb_func_start sub_80F1E50
|
|
sub_80F1E50: @ 80F1E50
|
|
push {lr}
|
|
bl sub_80F22F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F1E60
|
|
movs r0, 0x1
|
|
b _080F1E66
|
|
_080F1E60:
|
|
bl sub_80F2108
|
|
movs r0, 0
|
|
_080F1E66:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F1E50
|
|
|
|
thumb_func_start sub_80F1E6C
|
|
sub_80F1E6C: @ 80F1E6C
|
|
push {lr}
|
|
bl sub_80F22F8
|
|
movs r1, 0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F1E7C
|
|
movs r1, 0x1
|
|
_080F1E7C:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F1E6C
|
|
|
|
thumb_func_start sub_80F1E84
|
|
sub_80F1E84: @ 80F1E84
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r5, _080F1EFC @ =gUnknown_083DFEC4
|
|
ldr r4, [r5]
|
|
ldr r1, _080F1F00 @ =0x0000030f
|
|
adds r0, r4, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
bl sub_80F2148
|
|
movs r2, 0
|
|
ldr r3, _080F1F04 @ =0x0000030e
|
|
adds r1, r4, r3
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r2, r0
|
|
bge _080F1EF2
|
|
ldr r0, _080F1F08 @ =0x00006dad
|
|
adds r7, r4, r0
|
|
adds r6, r1, 0
|
|
mov r8, r5
|
|
ldr r1, _080F1F0C @ =sub_80F2240
|
|
mov r12, r1
|
|
_080F1EB4:
|
|
movs r0, 0
|
|
ldrsb r0, [r7, r0]
|
|
adds r5, r2, 0x1
|
|
cmp r2, r0
|
|
beq _080F1EE6
|
|
movs r1, 0
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
lsls r3, r2, 4
|
|
movs r4, 0xC8
|
|
lsls r4, 2
|
|
adds r2, r0, r4
|
|
mov r4, r12
|
|
_080F1ECE:
|
|
lsls r0, r1, 2
|
|
adds r0, r3
|
|
adds r0, r2, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F1EDC
|
|
str r4, [r0, 0x1C]
|
|
_080F1EDC:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x3
|
|
bls _080F1ECE
|
|
_080F1EE6:
|
|
lsls r0, r5, 16
|
|
lsrs r2, r0, 16
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r2, r0
|
|
blt _080F1EB4
|
|
_080F1EF2:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1EFC: .4byte gUnknown_083DFEC4
|
|
_080F1F00: .4byte 0x0000030f
|
|
_080F1F04: .4byte 0x0000030e
|
|
_080F1F08: .4byte 0x00006dad
|
|
_080F1F0C: .4byte sub_80F2240
|
|
thumb_func_end sub_80F1E84
|
|
|
|
thumb_func_start sub_80F1F10
|
|
sub_80F1F10: @ 80F1F10
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080F1F2C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F1F30 @ =0x0000030f
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F1F34
|
|
cmp r0, 0x1
|
|
beq _080F1FC0
|
|
b _080F1FE4
|
|
.align 2, 0
|
|
_080F1F2C: .4byte gUnknown_083DFEC4
|
|
_080F1F30: .4byte 0x0000030f
|
|
_080F1F34:
|
|
bl sub_80F2360
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F1FE4
|
|
movs r6, 0
|
|
adds r7, r4, 0
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r0, r7
|
|
mov r8, r0
|
|
_080F1F4A:
|
|
lsls r5, r6, 2
|
|
ldr r1, _080F1FAC @ =0x00006dad
|
|
adds r0, r7, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 4
|
|
adds r0, r5, r0
|
|
add r0, r8
|
|
ldr r4, [r0]
|
|
ldrb r0, [r4, 0x1]
|
|
movs r1, 0x3
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x1]
|
|
ldr r0, _080F1FB0 @ =gSpriteAffineAnimTable_83E4450
|
|
str r0, [r4, 0x10]
|
|
adds r0, r4, 0
|
|
bl InitSpriteAffineAnim
|
|
subs r5, 0x6
|
|
strh r5, [r4, 0x36]
|
|
movs r1, 0x36
|
|
ldrsh r0, [r4, r1]
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
strh r0, [r4, 0x36]
|
|
movs r1, 0x36
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 3
|
|
strh r0, [r4, 0x38]
|
|
ldr r0, _080F1FB4 @ =sub_80F2240
|
|
str r0, [r4, 0x1C]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x3
|
|
bls _080F1F4A
|
|
bl sub_80F2170
|
|
ldr r0, _080F1FB8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F1FBC @ =0x0000030f
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F1FE4
|
|
.align 2, 0
|
|
_080F1FAC: .4byte 0x00006dad
|
|
_080F1FB0: .4byte gSpriteAffineAnimTable_83E4450
|
|
_080F1FB4: .4byte sub_80F2240
|
|
_080F1FB8: .4byte gUnknown_083DFEC4
|
|
_080F1FBC: .4byte 0x0000030f
|
|
_080F1FC0:
|
|
bl sub_80F23C8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F1FE4
|
|
bl sub_80F21F8
|
|
movs r0, 0
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0
|
|
bl FreeSpritePaletteByTag
|
|
movs r0, 0x1
|
|
bl FreeSpritePaletteByTag
|
|
movs r0, 0
|
|
b _080F1FE6
|
|
_080F1FE4:
|
|
movs r0, 0x1
|
|
_080F1FE6:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F1F10
|
|
|
|
thumb_func_start sub_80F1FF0
|
|
sub_80F1FF0: @ 80F1FF0
|
|
push {r4,lr}
|
|
ldr r0, _080F203C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F2040 @ =0x00000311
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _080F2058
|
|
ldr r2, _080F2044 @ =REG_WIN0V
|
|
ldr r3, _080F2048 @ =0x00006dad
|
|
adds r0, r4, r3
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, 1
|
|
movs r3, 0xC5
|
|
lsls r3, 2
|
|
adds r0, r4, r3
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
ldr r3, _080F204C @ =REG_BLDY
|
|
ldr r1, _080F2050 @ =gSineTable
|
|
ldr r0, _080F2054 @ =0x00000312
|
|
adds r2, r4, r0
|
|
ldrh r0, [r2]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
lsls r0, 16
|
|
asrs r0, 21
|
|
strh r0, [r3]
|
|
ldrh r0, [r2]
|
|
adds r0, 0x3
|
|
movs r1, 0x7F
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
b _080F2078
|
|
.align 2, 0
|
|
_080F203C: .4byte gUnknown_083DFEC4
|
|
_080F2040: .4byte 0x00000311
|
|
_080F2044: .4byte REG_WIN0V
|
|
_080F2048: .4byte 0x00006dad
|
|
_080F204C: .4byte REG_BLDY
|
|
_080F2050: .4byte gSineTable
|
|
_080F2054: .4byte 0x00000312
|
|
_080F2058:
|
|
cmp r0, 0x2
|
|
bne _080F2078
|
|
ldr r2, _080F2080 @ =REG_BLDALPHA
|
|
ldr r1, _080F2084 @ =gUnknown_083E42F8
|
|
ldr r0, _080F2088 @ =0x00000312
|
|
adds r3, r4, r0
|
|
ldrh r0, [r3]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
ldrh r0, [r3]
|
|
cmp r0, 0xE
|
|
bhi _080F2078
|
|
adds r0, 0x1
|
|
strh r0, [r3]
|
|
_080F2078:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2080: .4byte REG_BLDALPHA
|
|
_080F2084: .4byte gUnknown_083E42F8
|
|
_080F2088: .4byte 0x00000312
|
|
thumb_func_end sub_80F1FF0
|
|
|
|
thumb_func_start sub_80F208C
|
|
sub_80F208C: @ 80F208C
|
|
push {lr}
|
|
bl sub_80F2148
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F208C
|
|
|
|
thumb_func_start sub_80F2098
|
|
sub_80F2098: @ 80F2098
|
|
ldr r1, _080F20DC @ =REG_WIN0H
|
|
ldr r2, _080F20E0 @ =0x000077f0
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r2, _080F20E4 @ =REG_WIN0V
|
|
ldr r0, _080F20E8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r3, _080F20EC @ =0x00006dad
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 1
|
|
movs r3, 0xC5
|
|
lsls r3, 2
|
|
adds r1, r3
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
ldr r1, _080F20F0 @ =REG_WININ
|
|
movs r0, 0x3F
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r0, 0x1F
|
|
strh r0, [r1]
|
|
subs r2, 0x44
|
|
ldrh r0, [r2]
|
|
movs r3, 0x80
|
|
lsls r3, 6
|
|
adds r1, r3, 0
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F20DC: .4byte REG_WIN0H
|
|
_080F20E0: .4byte 0x000077f0
|
|
_080F20E4: .4byte REG_WIN0V
|
|
_080F20E8: .4byte gUnknown_083DFEC4
|
|
_080F20EC: .4byte 0x00006dad
|
|
_080F20F0: .4byte REG_WININ
|
|
thumb_func_end sub_80F2098
|
|
|
|
thumb_func_start sub_80F20F4
|
|
sub_80F20F4: @ 80F20F4
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _080F2104 @ =0x0000dfff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F2104: .4byte 0x0000dfff
|
|
thumb_func_end sub_80F20F4
|
|
|
|
thumb_func_start sub_80F2108
|
|
sub_80F2108: @ 80F2108
|
|
push {lr}
|
|
ldr r0, _080F2134 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r0, _080F2138 @ =0x00000311
|
|
adds r1, r3, r0
|
|
ldrb r2, [r1]
|
|
cmp r2, 0
|
|
bne _080F2130
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, _080F213C @ =0x00000312
|
|
adds r0, r3, r1
|
|
strh r2, [r0]
|
|
ldr r1, _080F2140 @ =REG_BLDCNT
|
|
movs r0, 0x90
|
|
strh r0, [r1]
|
|
ldr r0, _080F2144 @ =REG_BLDY
|
|
strh r2, [r0]
|
|
bl sub_80F2098
|
|
_080F2130:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2134: .4byte gUnknown_083DFEC4
|
|
_080F2138: .4byte 0x00000311
|
|
_080F213C: .4byte 0x00000312
|
|
_080F2140: .4byte REG_BLDCNT
|
|
_080F2144: .4byte REG_BLDY
|
|
thumb_func_end sub_80F2108
|
|
|
|
thumb_func_start sub_80F2148
|
|
sub_80F2148: @ 80F2148
|
|
push {lr}
|
|
ldr r0, _080F2164 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2168 @ =0x00000311
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, _080F216C @ =REG_BLDCNT
|
|
strh r1, [r0]
|
|
bl sub_80F20F4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2164: .4byte gUnknown_083DFEC4
|
|
_080F2168: .4byte 0x00000311
|
|
_080F216C: .4byte REG_BLDCNT
|
|
thumb_func_end sub_80F2148
|
|
|
|
thumb_func_start sub_80F2170
|
|
sub_80F2170: @ 80F2170
|
|
push {r4-r7,lr}
|
|
ldr r7, _080F21E4 @ =gUnknown_083DFEC4
|
|
ldr r4, [r7]
|
|
ldr r1, _080F21E8 @ =0x00000311
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F21DC
|
|
bl sub_80F20F4
|
|
movs r3, 0
|
|
ldr r2, _080F21EC @ =0x00006dad
|
|
adds r5, r4, r2
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r4, r0
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
mov r12, r1
|
|
movs r6, 0x4
|
|
_080F2198:
|
|
lsls r1, r3, 2
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
adds r1, r4, r1
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x1]
|
|
mov r0, r12
|
|
ands r0, r1
|
|
orrs r0, r6
|
|
strb r0, [r2, 0x1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x3
|
|
bls _080F2198
|
|
ldr r1, [r7]
|
|
ldr r0, _080F21E8 @ =0x00000311
|
|
adds r2, r1, r0
|
|
movs r3, 0
|
|
movs r0, 0x2
|
|
strb r0, [r2]
|
|
ldr r2, _080F21F0 @ =0x00000312
|
|
adds r1, r2
|
|
strh r3, [r1]
|
|
ldr r1, _080F21F4 @ =REG_BLDCNT
|
|
movs r2, 0xFD
|
|
lsls r2, 6
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
movs r0, 0x10
|
|
strh r0, [r1]
|
|
_080F21DC:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F21E4: .4byte gUnknown_083DFEC4
|
|
_080F21E8: .4byte 0x00000311
|
|
_080F21EC: .4byte 0x00006dad
|
|
_080F21F0: .4byte 0x00000312
|
|
_080F21F4: .4byte REG_BLDCNT
|
|
thumb_func_end sub_80F2170
|
|
|
|
thumb_func_start sub_80F21F8
|
|
sub_80F21F8: @ 80F21F8
|
|
ldr r0, _080F220C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2210 @ =0x00000311
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, _080F2214 @ =REG_BLDCNT
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F220C: .4byte gUnknown_083DFEC4
|
|
_080F2210: .4byte 0x00000311
|
|
_080F2214: .4byte REG_BLDCNT
|
|
thumb_func_end sub_80F21F8
|
|
|
|
thumb_func_start sub_80F2218
|
|
sub_80F2218: @ 80F2218
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
ldrh r0, [r2, 0x20]
|
|
subs r0, 0x8
|
|
strh r0, [r2, 0x20]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
ldrh r3, [r2, 0x32]
|
|
movs r4, 0x32
|
|
ldrsh r1, [r2, r4]
|
|
cmp r0, r1
|
|
bgt _080F2236
|
|
strh r3, [r2, 0x20]
|
|
ldr r0, _080F223C @ =sub_80F22B0
|
|
str r0, [r2, 0x1C]
|
|
_080F2236:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F223C: .4byte sub_80F22B0
|
|
thumb_func_end sub_80F2218
|
|
|
|
thumb_func_start sub_80F2240
|
|
sub_80F2240: @ 80F2240
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _080F2288 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F228C @ =0x00006dad
|
|
adds r0, r1
|
|
movs r3, 0x2E
|
|
ldrsh r1, [r2, r3]
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r1, r0
|
|
bne _080F2290
|
|
ldrh r3, [r2, 0x38]
|
|
movs r4, 0x38
|
|
ldrsh r0, [r2, r4]
|
|
cmp r0, 0
|
|
beq _080F2270
|
|
ldrh r0, [r2, 0x36]
|
|
ldrh r4, [r2, 0x20]
|
|
adds r1, r0, r4
|
|
strh r1, [r2, 0x20]
|
|
subs r0, r3, r0
|
|
strh r0, [r2, 0x38]
|
|
_080F2270:
|
|
adds r0, r2, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F22A8
|
|
adds r0, r2, 0
|
|
bl sub_80F240C
|
|
b _080F22A8
|
|
.align 2, 0
|
|
_080F2288: .4byte gUnknown_083DFEC4
|
|
_080F228C: .4byte 0x00006dad
|
|
_080F2290:
|
|
ldrh r0, [r2, 0x20]
|
|
adds r0, 0x8
|
|
strh r0, [r2, 0x20]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r3, 0x34
|
|
ldrsh r1, [r2, r3]
|
|
cmp r0, r1
|
|
blt _080F22A8
|
|
adds r0, r2, 0
|
|
bl sub_80F240C
|
|
_080F22A8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2240
|
|
|
|
thumb_func_start sub_80F22B0
|
|
sub_80F22B0: @ 80F22B0
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _080F22DC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F22E0 @ =0x00006dad
|
|
adds r0, r1
|
|
movs r3, 0x2E
|
|
ldrsh r1, [r2, r3]
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r1, r0
|
|
bne _080F22E4
|
|
ldrh r3, [r2, 0x24]
|
|
movs r0, 0x24
|
|
ldrsh r1, [r2, r0]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
ble _080F22F2
|
|
subs r0, r3, 0x4
|
|
b _080F22F0
|
|
.align 2, 0
|
|
_080F22DC: .4byte gUnknown_083DFEC4
|
|
_080F22E0: .4byte 0x00006dad
|
|
_080F22E4:
|
|
ldrh r1, [r2, 0x24]
|
|
movs r3, 0x24
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
bge _080F22F2
|
|
adds r0, r1, 0x4
|
|
_080F22F0:
|
|
strh r0, [r2, 0x24]
|
|
_080F22F2:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F22B0
|
|
|
|
thumb_func_start sub_80F22F8
|
|
sub_80F22F8: @ 80F22F8
|
|
push {r4-r7,lr}
|
|
movs r3, 0
|
|
ldr r0, _080F233C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F2340 @ =0x00006dae
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r3, r0
|
|
bge _080F2358
|
|
movs r7, 0xC8
|
|
lsls r7, 2
|
|
adds r4, r1, r7
|
|
movs r5, 0x10
|
|
negs r5, r5
|
|
adds r6, r0, 0
|
|
_080F231A:
|
|
movs r1, 0
|
|
lsls r2, r3, 4
|
|
_080F231E:
|
|
lsls r0, r1, 2
|
|
adds r0, r2
|
|
adds r0, r4, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F2358
|
|
movs r7, 0x24
|
|
ldrsh r0, [r0, r7]
|
|
cmp r0, 0
|
|
beq _080F2344
|
|
cmp r0, r5
|
|
beq _080F2344
|
|
movs r0, 0
|
|
b _080F235A
|
|
.align 2, 0
|
|
_080F233C: .4byte gUnknown_083DFEC4
|
|
_080F2340: .4byte 0x00006dae
|
|
_080F2344:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x3
|
|
bls _080F231E
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, r6
|
|
blt _080F231A
|
|
_080F2358:
|
|
movs r0, 0x1
|
|
_080F235A:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F22F8
|
|
|
|
thumb_func_start sub_80F2360
|
|
sub_80F2360: @ 80F2360
|
|
push {r4-r7,lr}
|
|
movs r4, 0
|
|
ldr r0, _080F23A0 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F23A4 @ =0x0000030e
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
cmp r4, r1
|
|
bge _080F23C0
|
|
ldr r3, _080F23A8 @ =0x00006dad
|
|
adds r0, r2, r3
|
|
movs r6, 0
|
|
ldrsb r6, [r0, r6]
|
|
adds r5, r1, 0
|
|
_080F237E:
|
|
cmp r4, r6
|
|
beq _080F23B6
|
|
movs r1, 0
|
|
ldr r0, _080F23A0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
lsls r3, r4, 4
|
|
movs r7, 0xC8
|
|
lsls r7, 2
|
|
adds r2, r0, r7
|
|
_080F2390:
|
|
lsls r0, r1, 2
|
|
adds r0, r3
|
|
adds r0, r2, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F23AC
|
|
movs r0, 0
|
|
b _080F23C2
|
|
.align 2, 0
|
|
_080F23A0: .4byte gUnknown_083DFEC4
|
|
_080F23A4: .4byte 0x0000030e
|
|
_080F23A8: .4byte 0x00006dad
|
|
_080F23AC:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x3
|
|
bls _080F2390
|
|
_080F23B6:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, r5
|
|
blt _080F237E
|
|
_080F23C0:
|
|
movs r0, 0x1
|
|
_080F23C2:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F2360
|
|
|
|
thumb_func_start sub_80F23C8
|
|
sub_80F23C8: @ 80F23C8
|
|
push {lr}
|
|
movs r2, 0
|
|
ldr r0, _080F23F4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r3, _080F23F8 @ =0x00006dad
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r3, r0, 4
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
_080F23E2:
|
|
lsls r0, r2, 2
|
|
adds r0, r3
|
|
adds r0, r1, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F23FC
|
|
movs r0, 0
|
|
b _080F2408
|
|
.align 2, 0
|
|
_080F23F4: .4byte gUnknown_083DFEC4
|
|
_080F23F8: .4byte 0x00006dad
|
|
_080F23FC:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x3
|
|
bls _080F23E2
|
|
movs r0, 0x1
|
|
_080F2408:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F23C8
|
|
|
|
thumb_func_start sub_80F240C
|
|
sub_80F240C: @ 80F240C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _080F2454 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
movs r0, 0x30
|
|
ldrsh r1, [r4, r0]
|
|
lsls r1, 2
|
|
movs r3, 0x2E
|
|
ldrsh r0, [r4, r3]
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
movs r0, 0xC8
|
|
lsls r0, 2
|
|
adds r2, r0
|
|
adds r2, r1
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
adds r0, r4, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F2446
|
|
ldrb r0, [r4, 0x3]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
bl FreeOamMatrix
|
|
_080F2446:
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2454: .4byte gUnknown_083DFEC4
|
|
thumb_func_end sub_80F240C
|
|
|
|
thumb_func_start sub_80F2458
|
|
sub_80F2458: @ 80F2458
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1
|
|
beq _080F24A0
|
|
cmp r4, 0x1
|
|
bgt _080F246C
|
|
cmp r4, 0
|
|
beq _080F2472
|
|
b _080F2502
|
|
_080F246C:
|
|
cmp r4, 0x2
|
|
beq _080F24D0
|
|
b _080F2502
|
|
_080F2472:
|
|
ldr r2, _080F2498 @ =gUnknown_083DFEC4
|
|
ldr r3, [r2]
|
|
movs r0, 0xE0
|
|
lsls r0, 2
|
|
adds r1, r3, r0
|
|
movs r5, 0xE2
|
|
lsls r5, 2
|
|
adds r0, r3, r5
|
|
str r0, [r1]
|
|
movs r0, 0xE1
|
|
lsls r0, 2
|
|
adds r1, r3, r0
|
|
movs r0, 0xA0
|
|
lsls r0, 5
|
|
strh r0, [r1]
|
|
ldr r1, _080F249C @ =0x00000386
|
|
adds r0, r3, r1
|
|
strh r4, [r0]
|
|
b _080F24F6
|
|
.align 2, 0
|
|
_080F2498: .4byte gUnknown_083DFEC4
|
|
_080F249C: .4byte 0x00000386
|
|
_080F24A0:
|
|
ldr r4, _080F24C4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r4]
|
|
movs r3, 0xE0
|
|
lsls r3, 2
|
|
adds r2, r1, r3
|
|
ldr r5, _080F24C8 @ =0x00001788
|
|
adds r0, r1, r5
|
|
str r0, [r2]
|
|
movs r0, 0xE1
|
|
lsls r0, 2
|
|
adds r2, r1, r0
|
|
movs r3, 0
|
|
movs r0, 0xC0
|
|
lsls r0, 4
|
|
strh r0, [r2]
|
|
ldr r5, _080F24CC @ =0x00000386
|
|
adds r1, r5
|
|
b _080F24F2
|
|
.align 2, 0
|
|
_080F24C4: .4byte gUnknown_083DFEC4
|
|
_080F24C8: .4byte 0x00001788
|
|
_080F24CC: .4byte 0x00000386
|
|
_080F24D0:
|
|
ldr r4, _080F2508 @ =gUnknown_083DFEC4
|
|
ldr r1, [r4]
|
|
movs r0, 0xE0
|
|
lsls r0, 2
|
|
adds r2, r1, r0
|
|
ldr r3, _080F250C @ =0x00002388
|
|
adds r0, r1, r3
|
|
str r0, [r2]
|
|
movs r5, 0xE1
|
|
lsls r5, 2
|
|
adds r2, r1, r5
|
|
movs r3, 0
|
|
movs r0, 0xC0
|
|
lsls r0, 5
|
|
strh r0, [r2]
|
|
ldr r0, _080F2510 @ =0x00000386
|
|
adds r1, r0
|
|
_080F24F2:
|
|
strh r3, [r1]
|
|
adds r2, r4, 0
|
|
_080F24F6:
|
|
ldr r0, [r2]
|
|
movs r1, 0xE0
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl LoadSpriteSheet
|
|
_080F2502:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2508: .4byte gUnknown_083DFEC4
|
|
_080F250C: .4byte 0x00002388
|
|
_080F2510: .4byte 0x00000386
|
|
thumb_func_end sub_80F2458
|
|
|
|
thumb_func_start sub_80F2514
|
|
sub_80F2514: @ 80F2514
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r0, 0
|
|
cmp r0, 0x1
|
|
beq _080F2558
|
|
cmp r0, 0x1
|
|
bgt _080F252C
|
|
cmp r0, 0
|
|
beq _080F2532
|
|
b _080F2586
|
|
_080F252C:
|
|
cmp r1, 0x2
|
|
beq _080F2568
|
|
b _080F2586
|
|
_080F2532:
|
|
ldr r0, _080F254C @ =gPokenavMenuOptions1_Pal
|
|
str r0, [sp]
|
|
ldr r1, _080F2550 @ =0xffff0000
|
|
mov r4, sp
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
str r0, [sp, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpritePalette
|
|
ldr r0, _080F2554 @ =gPokenavMenuOptions2_Pal
|
|
b _080F257A
|
|
.align 2, 0
|
|
_080F254C: .4byte gPokenavMenuOptions1_Pal
|
|
_080F2550: .4byte 0xffff0000
|
|
_080F2554: .4byte gPokenavMenuOptions2_Pal
|
|
_080F2558:
|
|
ldr r0, _080F2564 @ =gPokenavConditionMenu_Pal
|
|
str r0, [sp]
|
|
mov r1, sp
|
|
movs r0, 0
|
|
strh r0, [r1, 0x4]
|
|
b _080F2580
|
|
.align 2, 0
|
|
_080F2564: .4byte gPokenavConditionMenu_Pal
|
|
_080F2568:
|
|
ldr r0, _080F2590 @ =gPokenavCondition6_Pal
|
|
str r0, [sp]
|
|
mov r4, sp
|
|
movs r0, 0
|
|
strh r0, [r4, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpritePalette
|
|
ldr r0, _080F2594 @ =gPokenavCondition7_Pal
|
|
_080F257A:
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x4]
|
|
_080F2580:
|
|
mov r0, sp
|
|
bl LoadSpritePalette
|
|
_080F2586:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2590: .4byte gPokenavCondition6_Pal
|
|
_080F2594: .4byte gPokenavCondition7_Pal
|
|
thumb_func_end sub_80F2514
|
|
|
|
thumb_func_start sub_80F2598
|
|
sub_80F2598: @ 80F2598
|
|
push {r4,lr}
|
|
ldr r0, _080F25F0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F25F4 @ =0x00006d9c
|
|
adds r4, r0, r1
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
ldr r1, _080F25F8 @ =gSaveBlock1
|
|
movs r0, 0x4
|
|
ldrsb r0, [r1, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r1, [r1, 0x5]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl sub_8082C0C
|
|
cmp r0, 0x1
|
|
bne _080F2618
|
|
ldr r0, _080F25FC @ =gSpriteSheet_PokenavBlueLight
|
|
bl LoadSpriteSheet
|
|
ldr r0, _080F2600 @ =gSpritePalette_PokenavBlueLight
|
|
bl LoadSpritePalette
|
|
ldr r0, _080F2604 @ =gSpriteTemplate_83E4484
|
|
movs r1, 0xC
|
|
movs r2, 0x60
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _080F260C
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F2608 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r4]
|
|
b _080F2618
|
|
.align 2, 0
|
|
_080F25F0: .4byte gUnknown_083DFEC4
|
|
_080F25F4: .4byte 0x00006d9c
|
|
_080F25F8: .4byte gSaveBlock1
|
|
_080F25FC: .4byte gSpriteSheet_PokenavBlueLight
|
|
_080F2600: .4byte gSpritePalette_PokenavBlueLight
|
|
_080F2604: .4byte gSpriteTemplate_83E4484
|
|
_080F2608: .4byte gSprites
|
|
_080F260C:
|
|
movs r0, 0x19
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x11
|
|
bl FreeSpritePaletteByTag
|
|
_080F2618:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2598
|
|
|
|
thumb_func_start sub_80F2620
|
|
sub_80F2620: @ 80F2620
|
|
push {r4,lr}
|
|
ldr r0, _080F264C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2650 @ =0x00006d9c
|
|
adds r4, r0, r1
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F2644
|
|
bl DestroySprite
|
|
movs r0, 0x19
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x11
|
|
bl FreeSpritePaletteByTag
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F2644:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F264C: .4byte gUnknown_083DFEC4
|
|
_080F2650: .4byte 0x00006d9c
|
|
thumb_func_end sub_80F2620
|
|
|
|
thumb_func_start sub_80F2654
|
|
sub_80F2654: @ 80F2654
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
ldrh r0, [r3, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x2E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x6
|
|
ble _080F2682
|
|
movs r0, 0
|
|
strh r0, [r3, 0x2E]
|
|
adds r3, 0x3E
|
|
ldrb r2, [r3]
|
|
lsrs r1, r2, 2
|
|
movs r0, 0x1
|
|
eors r1, r0
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
_080F2682:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2654
|
|
|
|
thumb_func_start sub_80F2688
|
|
sub_80F2688: @ 80F2688
|
|
push {lr}
|
|
ldr r0, _080F26B0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F26B4 @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F26B8 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F26AA
|
|
_080F26A0:
|
|
bl sub_80F26BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F26A0
|
|
_080F26AA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F26B0: .4byte gUnknown_083DFEC4
|
|
_080F26B4: .4byte 0x00000306
|
|
_080F26B8: .4byte 0x00006dac
|
|
thumb_func_end sub_80F2688
|
|
|
|
thumb_func_start sub_80F26BC
|
|
sub_80F26BC: @ 80F26BC
|
|
push {lr}
|
|
ldr r0, _080F26D8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F26DC @ =0x00000306
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x7
|
|
bls _080F26CE
|
|
b _080F27BC
|
|
_080F26CE:
|
|
lsls r0, 2
|
|
ldr r1, _080F26E0 @ =_080F26E4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F26D8: .4byte gUnknown_083DFEC4
|
|
_080F26DC: .4byte 0x00000306
|
|
_080F26E0: .4byte _080F26E4
|
|
.align 2, 0
|
|
_080F26E4:
|
|
.4byte _080F2704
|
|
.4byte _080F271C
|
|
.4byte _080F2734
|
|
.4byte _080F274C
|
|
.4byte _080F2764
|
|
.4byte _080F277C
|
|
.4byte _080F2794
|
|
.4byte _080F27B0
|
|
_080F2704:
|
|
ldr r0, _080F2710 @ =gPokenavMainMenu_Gfx
|
|
ldr r1, _080F2714 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2718 @ =0x00003b98
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2710: .4byte gPokenavMainMenu_Gfx
|
|
_080F2714: .4byte gUnknown_083DFEC4
|
|
_080F2718: .4byte 0x00003b98
|
|
_080F271C:
|
|
ldr r0, _080F2728 @ =gPokenavConditionMenuHeader_Gfx
|
|
ldr r1, _080F272C @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2730 @ =0x00004198
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2728: .4byte gPokenavConditionMenuHeader_Gfx
|
|
_080F272C: .4byte gUnknown_083DFEC4
|
|
_080F2730: .4byte 0x00004198
|
|
_080F2734:
|
|
ldr r0, _080F2740 @ =gPokenavRibbonsHeader_Gfx
|
|
ldr r1, _080F2744 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2748 @ =0x00004d98
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2740: .4byte gPokenavRibbonsHeader_Gfx
|
|
_080F2744: .4byte gUnknown_083DFEC4
|
|
_080F2748: .4byte 0x00004d98
|
|
_080F274C:
|
|
ldr r0, _080F2758 @ =gPokenavHoennMapHeader_Gfx
|
|
ldr r1, _080F275C @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2760 @ =0x00005398
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2758: .4byte gPokenavHoennMapHeader_Gfx
|
|
_080F275C: .4byte gUnknown_083DFEC4
|
|
_080F2760: .4byte 0x00005398
|
|
_080F2764:
|
|
ldr r0, _080F2770 @ =gPokenavConditionMenuOptions_Gfx
|
|
ldr r1, _080F2774 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2778 @ =0x00005f98
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2770: .4byte gPokenavConditionMenuOptions_Gfx
|
|
_080F2774: .4byte gUnknown_083DFEC4
|
|
_080F2778: .4byte 0x00005f98
|
|
_080F277C:
|
|
ldr r0, _080F2788 @ =gPokenavConditionMenuOptions2_Gfx
|
|
ldr r1, _080F278C @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2790 @ =0x00006798
|
|
b _080F279C
|
|
.align 2, 0
|
|
_080F2788: .4byte gPokenavConditionMenuOptions2_Gfx
|
|
_080F278C: .4byte gUnknown_083DFEC4
|
|
_080F2790: .4byte 0x00006798
|
|
_080F2794:
|
|
ldr r0, _080F27A4 @ =gPokenavTrainersEyesHeader_Gfx
|
|
ldr r1, _080F27A8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F27AC @ =0x00004798
|
|
_080F279C:
|
|
adds r1, r2
|
|
bl LZ77UnCompWram
|
|
b _080F27C0
|
|
.align 2, 0
|
|
_080F27A4: .4byte gPokenavTrainersEyesHeader_Gfx
|
|
_080F27A8: .4byte gUnknown_083DFEC4
|
|
_080F27AC: .4byte 0x00004798
|
|
_080F27B0:
|
|
ldr r0, _080F27B8 @ =gUnknown_083E449C
|
|
bl LoadSpritePalettes
|
|
b _080F27C0
|
|
.align 2, 0
|
|
_080F27B8: .4byte gUnknown_083E449C
|
|
_080F27BC:
|
|
movs r0, 0
|
|
b _080F27D0
|
|
_080F27C0:
|
|
ldr r0, _080F27D4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F27D8 @ =0x00000306
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
_080F27D0:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F27D4: .4byte gUnknown_083DFEC4
|
|
_080F27D8: .4byte 0x00000306
|
|
thumb_func_end sub_80F26BC
|
|
|
|
thumb_func_start sub_80F27DC
|
|
sub_80F27DC: @ 80F27DC
|
|
push {lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xB
|
|
bls _080F27EA
|
|
b _080F29A0
|
|
_080F27EA:
|
|
lsls r0, 2
|
|
ldr r1, _080F27F4 @ =_080F27F8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F27F4: .4byte _080F27F8
|
|
.align 2, 0
|
|
_080F27F8:
|
|
.4byte _080F2828
|
|
.4byte _080F2858
|
|
.4byte _080F28B8
|
|
.4byte _080F2888
|
|
.4byte _080F28E8
|
|
.4byte _080F2918
|
|
.4byte _080F2928
|
|
.4byte _080F2978
|
|
.4byte _080F2938
|
|
.4byte _080F2948
|
|
.4byte _080F2968
|
|
.4byte _080F2958
|
|
_080F2828:
|
|
ldr r0, _080F2848 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F284C @ =0x00003b98
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F2850 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 3
|
|
orrs r0, r1
|
|
ldr r1, _080F2854 @ =0x0000ffff
|
|
ands r0, r1
|
|
adds r1, 0x1
|
|
b _080F2996
|
|
.align 2, 0
|
|
_080F2848: .4byte gUnknown_083DFEC4
|
|
_080F284C: .4byte 0x00003b98
|
|
_080F2850: .4byte 0xffff0000
|
|
_080F2854: .4byte 0x0000ffff
|
|
_080F2858:
|
|
ldr r0, _080F2878 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F287C @ =0x00004198
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F2880 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 3
|
|
orrs r0, r1
|
|
ldr r1, _080F2884 @ =0x0000ffff
|
|
ands r0, r1
|
|
adds r1, 0x1
|
|
b _080F2996
|
|
.align 2, 0
|
|
_080F2878: .4byte gUnknown_083DFEC4
|
|
_080F287C: .4byte 0x00004198
|
|
_080F2880: .4byte 0xffff0000
|
|
_080F2884: .4byte 0x0000ffff
|
|
_080F2888:
|
|
ldr r0, _080F28A8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F28AC @ =0x00004798
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F28B0 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 3
|
|
orrs r0, r1
|
|
ldr r1, _080F28B4 @ =0x0000ffff
|
|
ands r0, r1
|
|
adds r1, 0x1
|
|
b _080F2996
|
|
.align 2, 0
|
|
_080F28A8: .4byte gUnknown_083DFEC4
|
|
_080F28AC: .4byte 0x00004798
|
|
_080F28B0: .4byte 0xffff0000
|
|
_080F28B4: .4byte 0x0000ffff
|
|
_080F28B8:
|
|
ldr r0, _080F28D8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F28DC @ =0x00004d98
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F28E0 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 3
|
|
orrs r0, r1
|
|
ldr r1, _080F28E4 @ =0x0000ffff
|
|
ands r0, r1
|
|
adds r1, 0x1
|
|
b _080F2996
|
|
.align 2, 0
|
|
_080F28D8: .4byte gUnknown_083DFEC4
|
|
_080F28DC: .4byte 0x00004d98
|
|
_080F28E0: .4byte 0xffff0000
|
|
_080F28E4: .4byte 0x0000ffff
|
|
_080F28E8:
|
|
ldr r0, _080F2908 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F290C @ =0x00005398
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F2910 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 4
|
|
orrs r0, r1
|
|
ldr r1, _080F2914 @ =0x0000ffff
|
|
ands r0, r1
|
|
adds r1, 0x1
|
|
b _080F2996
|
|
.align 2, 0
|
|
_080F2908: .4byte gUnknown_083DFEC4
|
|
_080F290C: .4byte 0x00005398
|
|
_080F2910: .4byte 0xffff0000
|
|
_080F2914: .4byte 0x0000ffff
|
|
_080F2918:
|
|
ldr r0, _080F2920 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2924 @ =0x00005f98
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2920: .4byte gUnknown_083DFEC4
|
|
_080F2924: .4byte 0x00005f98
|
|
_080F2928:
|
|
ldr r0, _080F2930 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2934 @ =0x00006198
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2930: .4byte gUnknown_083DFEC4
|
|
_080F2934: .4byte 0x00006198
|
|
_080F2938:
|
|
ldr r0, _080F2940 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2944 @ =0x00006398
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2940: .4byte gUnknown_083DFEC4
|
|
_080F2944: .4byte 0x00006398
|
|
_080F2948:
|
|
ldr r0, _080F2950 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2954 @ =0x00006598
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2950: .4byte gUnknown_083DFEC4
|
|
_080F2954: .4byte 0x00006598
|
|
_080F2958:
|
|
ldr r0, _080F2960 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2964 @ =0x00006998
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2960: .4byte gUnknown_083DFEC4
|
|
_080F2964: .4byte 0x00006998
|
|
_080F2968:
|
|
ldr r0, _080F2970 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2974 @ =0x00006798
|
|
b _080F297E
|
|
.align 2, 0
|
|
_080F2970: .4byte gUnknown_083DFEC4
|
|
_080F2974: .4byte 0x00006798
|
|
_080F2978:
|
|
ldr r0, _080F29A8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F29AC @ =0x00006b98
|
|
_080F297E:
|
|
adds r0, r1
|
|
str r0, [sp]
|
|
ldr r1, _080F29B0 @ =0xffff0000
|
|
ldr r0, [sp, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 2
|
|
orrs r0, r1
|
|
ldr r1, _080F29B4 @ =0x0000ffff
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 10
|
|
_080F2996:
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
_080F29A0:
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F29A8: .4byte gUnknown_083DFEC4
|
|
_080F29AC: .4byte 0x00006b98
|
|
_080F29B0: .4byte 0xffff0000
|
|
_080F29B4: .4byte 0x0000ffff
|
|
thumb_func_end sub_80F27DC
|
|
|
|
thumb_func_start sub_80F29B8
|
|
sub_80F29B8: @ 80F29B8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
movs r0, 0
|
|
mov r8, r0
|
|
cmp r7, 0xB
|
|
bls _080F29D2
|
|
b _080F2BA6
|
|
_080F29D2:
|
|
lsls r0, r7, 2
|
|
ldr r1, _080F29DC @ =_080F29E0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F29DC: .4byte _080F29E0
|
|
.align 2, 0
|
|
_080F29E0:
|
|
.4byte _080F2A10
|
|
.4byte _080F2A10
|
|
.4byte _080F2A10
|
|
.4byte _080F2A10
|
|
.4byte _080F2A58
|
|
.4byte _080F2A94
|
|
.4byte _080F2A94
|
|
.4byte _080F2A98
|
|
.4byte _080F2A94
|
|
.4byte _080F2A94
|
|
.4byte _080F2A98
|
|
.4byte _080F2A98
|
|
_080F2A10:
|
|
ldr r3, _080F2A44 @ =0x0000ffa0
|
|
ldr r0, _080F2A48 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x31
|
|
subs r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r4, 0x8
|
|
str r4, [sp]
|
|
movs r1, 0x20
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0x40
|
|
ldr r4, _080F2A4C @ =0x00003b88
|
|
adds r4, r2
|
|
mov r9, r4
|
|
ldr r2, _080F2A50 @ =gSpriteTemplate_83E44F8
|
|
mov r8, r2
|
|
cmp r7, 0x3
|
|
beq _080F2AC8
|
|
ldr r4, _080F2A54 @ =gSpriteTemplate_83E44E0
|
|
mov r8, r4
|
|
b _080F2AC8
|
|
.align 2, 0
|
|
_080F2A44: .4byte 0x0000ffa0
|
|
_080F2A48: .4byte gUnknown_083DFEC4
|
|
_080F2A4C: .4byte 0x00003b88
|
|
_080F2A50: .4byte gSpriteTemplate_83E44F8
|
|
_080F2A54: .4byte gSpriteTemplate_83E44E0
|
|
_080F2A58:
|
|
movs r3, 0x88
|
|
lsls r3, 1
|
|
ldr r0, _080F2A84 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x31
|
|
subs r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r4, _080F2A88 @ =0x0000fff8
|
|
str r4, [sp]
|
|
movs r1, 0x98
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0x40
|
|
ldr r4, _080F2A8C @ =gSpriteTemplate_83E44E0
|
|
mov r8, r4
|
|
ldr r4, _080F2A90 @ =0x00003b88
|
|
b _080F2AC4
|
|
.align 2, 0
|
|
_080F2A84: .4byte gUnknown_083DFEC4
|
|
_080F2A88: .4byte 0x0000fff8
|
|
_080F2A8C: .4byte gSpriteTemplate_83E44E0
|
|
_080F2A90: .4byte 0x00003b88
|
|
_080F2A94:
|
|
ldr r0, _080F2B40 @ =gSpriteTemplate_83E4530
|
|
mov r8, r0
|
|
_080F2A98:
|
|
mov r1, r8
|
|
cmp r1, 0
|
|
bne _080F2AA2
|
|
ldr r2, _080F2B44 @ =gSpriteTemplate_83E4548
|
|
mov r8, r2
|
|
_080F2AA2:
|
|
ldr r3, _080F2B48 @ =0x0000ffa0
|
|
ldr r0, _080F2B4C @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
movs r4, 0xC3
|
|
lsls r4, 2
|
|
adds r0, r2, r4
|
|
ldrh r1, [r0]
|
|
movs r0, 0x44
|
|
subs r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x8
|
|
str r1, [sp]
|
|
movs r4, 0x10
|
|
str r4, [sp, 0x4]
|
|
movs r1, 0x20
|
|
ldr r4, _080F2B50 @ =0x00003b90
|
|
_080F2AC4:
|
|
adds r4, r2
|
|
mov r9, r4
|
|
_080F2AC8:
|
|
movs r6, 0
|
|
lsls r1, 16
|
|
str r1, [sp, 0x10]
|
|
lsls r3, 16
|
|
str r3, [sp, 0x8]
|
|
lsls r0, 16
|
|
str r0, [sp, 0xC]
|
|
ldr r0, _080F2B54 @ =gSprites
|
|
mov r10, r0
|
|
_080F2ADA:
|
|
ldr r1, [sp, 0x10]
|
|
asrs r0, r1, 16
|
|
adds r5, r6, 0
|
|
muls r5, r0
|
|
ldr r2, [sp, 0x8]
|
|
asrs r1, r2, 16
|
|
adds r1, r5
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
mov r0, r8
|
|
ldr r3, [sp, 0xC]
|
|
asrs r2, r3, 16
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x40
|
|
beq _080F2B9C
|
|
lsls r0, r4, 4
|
|
adds r1, r0, r4
|
|
lsls r1, 2
|
|
mov r2, r10
|
|
adds r3, r1, r2
|
|
mov r1, sp
|
|
ldrh r1, [r1]
|
|
strh r1, [r3, 0x2E]
|
|
ldr r2, [sp, 0x4]
|
|
adds r1, r2, r5
|
|
strh r1, [r3, 0x30]
|
|
strh r6, [r3, 0x32]
|
|
strh r7, [r3, 0x34]
|
|
adds r5, r0, 0
|
|
cmp r7, 0x4
|
|
bne _080F2B5C
|
|
cmp r6, 0x1
|
|
bne _080F2B5C
|
|
ldr r0, _080F2B4C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2B58 @ =0x00006e90
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0x2
|
|
cmp r0, 0
|
|
bne _080F2B36
|
|
movs r1, 0x1
|
|
_080F2B36:
|
|
adds r0, r3, 0
|
|
bl StartSpriteAnim
|
|
b _080F2B6A
|
|
.align 2, 0
|
|
_080F2B40: .4byte gSpriteTemplate_83E4530
|
|
_080F2B44: .4byte gSpriteTemplate_83E4548
|
|
_080F2B48: .4byte 0x0000ffa0
|
|
_080F2B4C: .4byte gUnknown_083DFEC4
|
|
_080F2B50: .4byte 0x00003b90
|
|
_080F2B54: .4byte gSprites
|
|
_080F2B58: .4byte 0x00006e90
|
|
_080F2B5C:
|
|
adds r0, r5, r4
|
|
lsls r0, 2
|
|
add r0, r10
|
|
lsls r1, r6, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
_080F2B6A:
|
|
ldr r2, _080F2BB8 @ =gSprites
|
|
mov r12, r2
|
|
cmp r7, 0x3
|
|
bhi _080F2B90
|
|
cmp r6, 0x1
|
|
bne _080F2B90
|
|
adds r2, r5, r4
|
|
lsls r2, 2
|
|
add r2, r10
|
|
ldrb r3, [r2, 0x1]
|
|
movs r1, 0x3F
|
|
adds r0, r1, 0
|
|
ands r0, r3
|
|
strb r0, [r2, 0x1]
|
|
ldrb r0, [r2, 0x3]
|
|
ands r1, r0
|
|
movs r0, 0x80
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x3]
|
|
_080F2B90:
|
|
lsls r1, r6, 2
|
|
add r1, r9
|
|
adds r0, r5, r4
|
|
lsls r0, 2
|
|
add r0, r12
|
|
str r0, [r1]
|
|
_080F2B9C:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x1
|
|
bls _080F2ADA
|
|
_080F2BA6:
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2BB8: .4byte gSprites
|
|
thumb_func_end sub_80F29B8
|
|
|
|
thumb_func_start sub_80F2BBC
|
|
sub_80F2BBC: @ 80F2BBC
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
ldrh r0, [r2, 0x20]
|
|
ldrh r1, [r2, 0x2E]
|
|
adds r3, r0, r1
|
|
strh r3, [r2, 0x20]
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r0, 0x30
|
|
ldrsh r1, [r2, r0]
|
|
cmp r4, r1
|
|
bgt _080F2BE0
|
|
lsls r0, r3, 16
|
|
asrs r0, 16
|
|
cmp r0, r1
|
|
bge _080F2BE8
|
|
cmp r4, r1
|
|
blt _080F2C08
|
|
_080F2BE0:
|
|
lsls r0, r3, 16
|
|
asrs r0, 16
|
|
cmp r0, r1
|
|
bgt _080F2C08
|
|
_080F2BE8:
|
|
ldrh r0, [r2, 0x30]
|
|
strh r0, [r2, 0x20]
|
|
movs r1, 0x34
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x4
|
|
bne _080F2C04
|
|
movs r1, 0x32
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x1
|
|
bne _080F2C04
|
|
ldr r0, _080F2C00 @ =sub_80F2C58
|
|
b _080F2C06
|
|
.align 2, 0
|
|
_080F2C00: .4byte sub_80F2C58
|
|
_080F2C04:
|
|
ldr r0, _080F2C10 @ =SpriteCallbackDummy
|
|
_080F2C06:
|
|
str r0, [r2, 0x1C]
|
|
_080F2C08:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2C10: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80F2BBC
|
|
|
|
thumb_func_start sub_80F2C14
|
|
sub_80F2C14: @ 80F2C14
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x20]
|
|
ldrh r1, [r4, 0x2E]
|
|
subs r0, r1
|
|
strh r0, [r4, 0x20]
|
|
adds r0, 0x20
|
|
lsls r0, 16
|
|
movs r1, 0x98
|
|
lsls r1, 17
|
|
cmp r0, r1
|
|
bls _080F2C50
|
|
movs r1, 0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
bne _080F2C4A
|
|
movs r1, 0x34
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x4
|
|
bgt _080F2C44
|
|
movs r0, 0x1
|
|
bl FreeSpriteTilesByTag
|
|
b _080F2C4A
|
|
_080F2C44:
|
|
movs r0, 0x2
|
|
bl FreeSpriteTilesByTag
|
|
_080F2C4A:
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
_080F2C50:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2C14
|
|
|
|
thumb_func_start sub_80F2C58
|
|
sub_80F2C58: @ 80F2C58
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _080F2C78 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2C7C @ =0x00006e90
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0x2
|
|
cmp r0, 0
|
|
bne _080F2C6E
|
|
movs r1, 0x1
|
|
_080F2C6E:
|
|
adds r0, r2, 0
|
|
bl StartSpriteAnim
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2C78: .4byte gUnknown_083DFEC4
|
|
_080F2C7C: .4byte 0x00006e90
|
|
thumb_func_end sub_80F2C58
|
|
|
|
thumb_func_start sub_80F2C80
|
|
sub_80F2C80: @ 80F2C80
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _080F2CB0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2CB4 @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F2CB8 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F2CA8
|
|
_080F2C9C:
|
|
adds r0, r4, 0
|
|
bl sub_80F2CBC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F2C9C
|
|
_080F2CA8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2CB0: .4byte gUnknown_083DFEC4
|
|
_080F2CB4: .4byte 0x00000306
|
|
_080F2CB8: .4byte 0x00006dac
|
|
thumb_func_end sub_80F2C80
|
|
|
|
thumb_func_start sub_80F2CBC
|
|
sub_80F2CBC: @ 80F2CBC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _080F2CD8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F2CDC @ =0x00000306
|
|
adds r4, r0, r2
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F2CE0
|
|
cmp r0, 0x1
|
|
beq _080F2CF0
|
|
b _080F2CFC
|
|
.align 2, 0
|
|
_080F2CD8: .4byte gUnknown_083DFEC4
|
|
_080F2CDC: .4byte 0x00000306
|
|
_080F2CE0:
|
|
adds r0, r1, 0
|
|
bl sub_80F27DC
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
movs r0, 0x1
|
|
b _080F2CFE
|
|
_080F2CF0:
|
|
adds r0, r1, 0
|
|
bl sub_80F29B8
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
_080F2CFC:
|
|
movs r0, 0
|
|
_080F2CFE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F2CBC
|
|
|
|
thumb_func_start sub_80F2D04
|
|
sub_80F2D04: @ 80F2D04
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bhi _080F2D3C
|
|
movs r1, 0
|
|
ldr r0, _080F2D30 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r3, _080F2D34 @ =0x00003b88
|
|
adds r2, r0, r3
|
|
ldr r3, _080F2D38 @ =sub_80F2C14
|
|
_080F2D1A:
|
|
lsls r0, r1, 2
|
|
adds r0, r2, r0
|
|
ldr r0, [r0]
|
|
str r3, [r0, 0x1C]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1
|
|
bls _080F2D1A
|
|
b _080F2D5A
|
|
.align 2, 0
|
|
_080F2D30: .4byte gUnknown_083DFEC4
|
|
_080F2D34: .4byte 0x00003b88
|
|
_080F2D38: .4byte sub_80F2C14
|
|
_080F2D3C:
|
|
movs r1, 0
|
|
ldr r0, _080F2D60 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r3, _080F2D64 @ =0x00003b90
|
|
adds r2, r0, r3
|
|
ldr r3, _080F2D68 @ =sub_80F2C14
|
|
_080F2D48:
|
|
lsls r0, r1, 2
|
|
adds r0, r2, r0
|
|
ldr r0, [r0]
|
|
str r3, [r0, 0x1C]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1
|
|
bls _080F2D48
|
|
_080F2D5A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2D60: .4byte gUnknown_083DFEC4
|
|
_080F2D64: .4byte 0x00003b90
|
|
_080F2D68: .4byte sub_80F2C14
|
|
thumb_func_end sub_80F2D04
|
|
|
|
thumb_func_start sub_80F2D6C
|
|
sub_80F2D6C: @ 80F2D6C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bhi _080F2DA4
|
|
movs r0, 0x1
|
|
bl FreeSpriteTilesByTag
|
|
movs r4, 0
|
|
ldr r0, _080F2D9C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2DA0 @ =0x00003b88
|
|
adds r5, r0, r1
|
|
_080F2D86:
|
|
lsls r0, r4, 2
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
bl DestroySprite
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _080F2D86
|
|
b _080F2DC8
|
|
.align 2, 0
|
|
_080F2D9C: .4byte gUnknown_083DFEC4
|
|
_080F2DA0: .4byte 0x00003b88
|
|
_080F2DA4:
|
|
movs r0, 0x2
|
|
bl FreeSpriteTilesByTag
|
|
movs r4, 0
|
|
ldr r0, _080F2DD0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2DD4 @ =0x00003b90
|
|
adds r5, r0, r1
|
|
_080F2DB4:
|
|
lsls r0, r4, 2
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
bl DestroySprite
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _080F2DB4
|
|
_080F2DC8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2DD0: .4byte gUnknown_083DFEC4
|
|
_080F2DD4: .4byte 0x00003b90
|
|
thumb_func_end sub_80F2D6C
|
|
|
|
thumb_func_start sub_80F2DD8
|
|
sub_80F2DD8: @ 80F2DD8
|
|
push {lr}
|
|
movs r0, 0x7
|
|
movs r1, 0x7
|
|
bl sub_80FBB3C
|
|
movs r0, 0x8
|
|
movs r1, 0x8
|
|
bl sub_80FBCF0
|
|
bl sub_80FBF94
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2DD8
|
|
|
|
thumb_func_start sub_80F2DF4
|
|
sub_80F2DF4: @ 80F2DF4
|
|
push {lr}
|
|
bl sub_80FAB10
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F2DF4
|
|
|
|
thumb_func_start sub_80F2E00
|
|
sub_80F2E00: @ 80F2E00
|
|
ldr r1, _080F2E10 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F2E14 @ =0x00008766
|
|
adds r1, r2
|
|
ldrh r1, [r1]
|
|
adds r1, 0x26
|
|
strh r1, [r0, 0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F2E10: .4byte gUnknown_083DFEC4
|
|
_080F2E14: .4byte 0x00008766
|
|
thumb_func_end sub_80F2E00
|
|
|
|
thumb_func_start sub_80F2E18
|
|
sub_80F2E18: @ 80F2E18
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x28
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r0, _080F2EA8 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F2EAC @ =0x00008768
|
|
adds r7, r4, r0
|
|
ldr r1, [r7]
|
|
mov r8, r1
|
|
cmp r1, 0
|
|
bne _080F2EFC
|
|
ldr r0, _080F2EB0 @ =gUnknown_083E4568
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x20]
|
|
str r1, [sp, 0x24]
|
|
mov r1, sp
|
|
ldr r0, _080F2EB4 @ =gSpriteTemplate_83E4570
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldr r0, _080F2EB8 @ =gUnknown_083E4588
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x18]
|
|
str r1, [sp, 0x1C]
|
|
lsls r0, r3, 13
|
|
ldr r1, _080F2EBC @ =0x0000d1e4
|
|
adds r0, r1
|
|
adds r0, r4, r0
|
|
str r0, [sp, 0x20]
|
|
lsls r0, r3, 7
|
|
adds r0, r4, r0
|
|
str r0, [sp, 0x18]
|
|
add r0, sp, 0x18
|
|
bl LoadSpritePalette
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080F2EC0 @ =0x0000d1dc
|
|
adds r5, r4, r2
|
|
strh r0, [r5]
|
|
add r0, sp, 0x20
|
|
bl LoadSpriteSheet
|
|
ldr r1, _080F2EC4 @ =0x0000d1de
|
|
adds r6, r4, r1
|
|
strh r0, [r6]
|
|
mov r0, sp
|
|
movs r1, 0x26
|
|
movs r2, 0x68
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
bne _080F2EC8
|
|
movs r0, 0x6
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x6
|
|
bl FreeSpritePaletteByTag
|
|
mov r2, r8
|
|
str r2, [r7]
|
|
b _080F2F26
|
|
.align 2, 0
|
|
_080F2EA8: .4byte gUnknown_083DFEC4
|
|
_080F2EAC: .4byte 0x00008768
|
|
_080F2EB0: .4byte gUnknown_083E4568
|
|
_080F2EB4: .4byte gSpriteTemplate_83E4570
|
|
_080F2EB8: .4byte gUnknown_083E4588
|
|
_080F2EBC: .4byte 0x0000d1e4
|
|
_080F2EC0: .4byte 0x0000d1dc
|
|
_080F2EC4: .4byte 0x0000d1de
|
|
_080F2EC8:
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F2EF0 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r7]
|
|
ldr r0, _080F2EF4 @ =0x0000d1e0
|
|
adds r1, r4, r0
|
|
ldrh r0, [r6]
|
|
lsls r0, 5
|
|
ldr r2, _080F2EF8 @ =0x06010000
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
ldrh r0, [r5]
|
|
lsls r0, 4
|
|
movs r6, 0x80
|
|
lsls r6, 1
|
|
adds r0, r6
|
|
strh r0, [r5]
|
|
b _080F2F26
|
|
.align 2, 0
|
|
_080F2EF0: .4byte gSprites
|
|
_080F2EF4: .4byte 0x0000d1e0
|
|
_080F2EF8: .4byte 0x06010000
|
|
_080F2EFC:
|
|
lsls r0, r3, 13
|
|
ldr r1, _080F2F34 @ =0x0000d1e4
|
|
adds r0, r1
|
|
adds r0, r4, r0
|
|
ldr r2, _080F2F38 @ =0x0000d1e0
|
|
adds r1, r4, r2
|
|
ldr r2, [r1]
|
|
ldr r1, _080F2F3C @ =0x040000d4
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
ldr r0, _080F2F40 @ =0x80000400
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
lsls r0, r3, 7
|
|
adds r0, r4, r0
|
|
ldr r5, _080F2F44 @ =0x0000d1dc
|
|
adds r1, r4, r5
|
|
ldrh r1, [r1]
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
_080F2F26:
|
|
add sp, 0x28
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2F34: .4byte 0x0000d1e4
|
|
_080F2F38: .4byte 0x0000d1e0
|
|
_080F2F3C: .4byte 0x040000d4
|
|
_080F2F40: .4byte 0x80000400
|
|
_080F2F44: .4byte 0x0000d1dc
|
|
thumb_func_end sub_80F2E18
|
|
|
|
thumb_func_start sub_80F2F48
|
|
sub_80F2F48: @ 80F2F48
|
|
push {r4,lr}
|
|
ldr r0, _080F2F74 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2F78 @ =0x00008768
|
|
adds r4, r0, r1
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F2F6C
|
|
bl DestroySprite
|
|
movs r0, 0x6
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x6
|
|
bl FreeSpritePaletteByTag
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F2F6C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2F74: .4byte gUnknown_083DFEC4
|
|
_080F2F78: .4byte 0x00008768
|
|
thumb_func_end sub_80F2F48
|
|
|
|
thumb_func_start sub_80F2F7C
|
|
sub_80F2F7C: @ 80F2F7C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80F2E18
|
|
ldr r0, _080F2FA0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F2FA4 @ =0x0000ced0
|
|
adds r2, r0, r1
|
|
ldr r1, _080F2FA8 @ =0x00008768
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
str r1, [r2]
|
|
ldr r0, _080F2FAC @ =sub_80F2FEC
|
|
str r0, [r1, 0x1C]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2FA0: .4byte gUnknown_083DFEC4
|
|
_080F2FA4: .4byte 0x0000ced0
|
|
_080F2FA8: .4byte 0x00008768
|
|
_080F2FAC: .4byte sub_80F2FEC
|
|
thumb_func_end sub_80F2F7C
|
|
|
|
thumb_func_start sub_80F2FB0
|
|
sub_80F2FB0: @ 80F2FB0
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F2FE0 @ =gUnknown_083DFEC4
|
|
ldr r5, [r0]
|
|
ldr r0, _080F2FE4 @ =0x0000ced0
|
|
adds r4, r5, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F2FDA
|
|
bl DestroySprite
|
|
movs r0, 0x6
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x6
|
|
bl FreeSpritePaletteByTag
|
|
movs r1, 0
|
|
str r1, [r4]
|
|
ldr r2, _080F2FE8 @ =0x00008768
|
|
adds r0, r5, r2
|
|
str r1, [r0]
|
|
_080F2FDA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2FE0: .4byte gUnknown_083DFEC4
|
|
_080F2FE4: .4byte 0x0000ced0
|
|
_080F2FE8: .4byte 0x00008768
|
|
thumb_func_end sub_80F2FB0
|
|
|
|
thumb_func_start sub_80F2FEC
|
|
sub_80F2FEC: @ 80F2FEC
|
|
ldr r1, _080F3000 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F3004 @ =0x0000d15a
|
|
adds r1, r2
|
|
ldrh r1, [r1]
|
|
adds r1, 0x28
|
|
strh r1, [r0, 0x20]
|
|
movs r1, 0x68
|
|
strh r1, [r0, 0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F3000: .4byte gUnknown_083DFEC4
|
|
_080F3004: .4byte 0x0000d15a
|
|
thumb_func_end sub_80F2FEC
|
|
|
|
thumb_func_start sub_80F3008
|
|
sub_80F3008: @ 80F3008
|
|
push {r4,r5,lr}
|
|
sub sp, 0x20
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
mov r1, sp
|
|
ldr r0, _080F3060 @ =gUnknown_083E4590
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldr r0, _080F3064 @ =gUnknown_083E45A8
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x18]
|
|
str r1, [sp, 0x1C]
|
|
cmp r2, 0x2
|
|
bgt _080F3032
|
|
cmp r2, 0x1
|
|
blt _080F3032
|
|
ldr r0, _080F3068 @ =gUnknown_08E9F988
|
|
str r0, [sp, 0x18]
|
|
_080F3032:
|
|
mov r0, sp
|
|
bl LoadSpriteSheets
|
|
add r0, sp, 0x18
|
|
bl LoadSpritePalette
|
|
ldr r0, _080F306C @ =gSpriteTemplate_83E45B8
|
|
movs r1, 0x5F
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
bne _080F3078
|
|
ldr r0, _080F3070 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3074 @ =0x000087cc
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
b _080F3120
|
|
.align 2, 0
|
|
_080F3060: .4byte gUnknown_083E4590
|
|
_080F3064: .4byte gUnknown_083E45A8
|
|
_080F3068: .4byte gUnknown_08E9F988
|
|
_080F306C: .4byte gSpriteTemplate_83E45B8
|
|
_080F3070: .4byte gUnknown_083DFEC4
|
|
_080F3074: .4byte 0x000087cc
|
|
_080F3078:
|
|
ldr r0, _080F30F4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r3, _080F30F8 @ =0x000087cc
|
|
adds r2, r3
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F30FC @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
movs r4, 0
|
|
movs r5, 0
|
|
_080F3090:
|
|
lsls r2, r4, 7
|
|
adds r2, 0x8
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
ldr r0, _080F3100 @ =gSpriteTemplate_83E45F0
|
|
movs r1, 0xA8
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _080F3108
|
|
ldr r0, _080F30F4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
lsls r0, r4, 2
|
|
ldr r3, _080F3104 @ =0x000087d0
|
|
adds r2, r3
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F30FC @ =gSprites
|
|
adds r3, r0, r1
|
|
str r3, [r2]
|
|
adds r2, r3, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
strh r5, [r3, 0x2E]
|
|
strh r5, [r3, 0x30]
|
|
movs r0, 0x1
|
|
cmp r4, 0
|
|
bne _080F30DE
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
_080F30DE:
|
|
strh r0, [r3, 0x32]
|
|
strh r4, [r3, 0x34]
|
|
movs r0, 0x1
|
|
strh r0, [r3, 0x36]
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
adds r0, r3, 0
|
|
bl StartSpriteAnim
|
|
b _080F3116
|
|
.align 2, 0
|
|
_080F30F4: .4byte gUnknown_083DFEC4
|
|
_080F30F8: .4byte 0x000087cc
|
|
_080F30FC: .4byte gSprites
|
|
_080F3100: .4byte gSpriteTemplate_83E45F0
|
|
_080F3104: .4byte 0x000087d0
|
|
_080F3108:
|
|
ldr r0, _080F3128 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 2
|
|
ldr r2, _080F312C @ =0x000087d0
|
|
adds r0, r2
|
|
adds r0, r1
|
|
str r5, [r0]
|
|
_080F3116:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _080F3090
|
|
_080F3120:
|
|
add sp, 0x20
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3128: .4byte gUnknown_083DFEC4
|
|
_080F312C: .4byte 0x000087d0
|
|
thumb_func_end sub_80F3008
|
|
|
|
thumb_func_start sub_80F3130
|
|
sub_80F3130: @ 80F3130
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F3184 @ =gUnknown_083DFEC4
|
|
ldr r6, [r0]
|
|
ldr r0, _080F3188 @ =0x000087cc
|
|
adds r4, r6, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3154
|
|
bl DestroySprite
|
|
movs r0, 0x9
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x9
|
|
bl FreeSpritePaletteByTag
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F3154:
|
|
movs r5, 0
|
|
ldr r0, _080F318C @ =0x000087d0
|
|
adds r6, r0
|
|
_080F315A:
|
|
lsls r0, r5, 2
|
|
adds r4, r6, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F316C
|
|
bl DestroySprite
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F316C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x1
|
|
bls _080F315A
|
|
movs r0, 0xA
|
|
bl FreeSpriteTilesByTag
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3184: .4byte gUnknown_083DFEC4
|
|
_080F3188: .4byte 0x000087cc
|
|
_080F318C: .4byte 0x000087d0
|
|
thumb_func_end sub_80F3130
|
|
|
|
thumb_func_start sub_80F3190
|
|
sub_80F3190: @ 80F3190
|
|
ldr r1, _080F31A4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r2, _080F31A8 @ =0x0000876c
|
|
adds r1, r2
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
lsls r1, 4
|
|
adds r1, 0x10
|
|
strh r1, [r0, 0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F31A4: .4byte gUnknown_083DFEC4
|
|
_080F31A8: .4byte 0x0000876c
|
|
thumb_func_end sub_80F3190
|
|
|
|
thumb_func_start sub_80F31AC
|
|
sub_80F31AC: @ 80F31AC
|
|
push {r4,r5,lr}
|
|
adds r3, r0, 0
|
|
ldr r0, _080F31E8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F31EC @ =0x000087c9
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F325C
|
|
movs r4, 0x36
|
|
ldrsh r0, [r3, r4]
|
|
cmp r0, 0
|
|
beq _080F3226
|
|
movs r5, 0x34
|
|
ldrsh r0, [r3, r5]
|
|
cmp r0, 0
|
|
bne _080F31F4
|
|
movs r2, 0
|
|
ldr r4, _080F31F0 @ =0x00008770
|
|
adds r0, r1, r4
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r0, 0
|
|
bne _080F31DE
|
|
movs r2, 0x1
|
|
_080F31DE:
|
|
movs r0, 0x3E
|
|
adds r0, r3
|
|
mov r12, r0
|
|
lsls r2, 2
|
|
b _080F3214
|
|
.align 2, 0
|
|
_080F31E8: .4byte gUnknown_083DFEC4
|
|
_080F31EC: .4byte 0x000087c9
|
|
_080F31F0: .4byte 0x00008770
|
|
_080F31F4:
|
|
movs r4, 0
|
|
ldr r2, _080F3250 @ =0x00008772
|
|
adds r0, r1, r2
|
|
ldr r5, _080F3254 @ =0x00008774
|
|
adds r1, r5
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r2, r0
|
|
bne _080F320C
|
|
movs r4, 0x1
|
|
_080F320C:
|
|
movs r0, 0x3E
|
|
adds r0, r3
|
|
mov r12, r0
|
|
lsls r2, r4, 2
|
|
_080F3214:
|
|
ldrb r1, [r0]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
mov r1, r12
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
strh r0, [r3, 0x36]
|
|
_080F3226:
|
|
ldrh r0, [r3, 0x2E]
|
|
adds r0, 0x1
|
|
movs r1, 0
|
|
strh r0, [r3, 0x2E]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x4
|
|
ble _080F325C
|
|
strh r1, [r3, 0x2E]
|
|
ldrh r0, [r3, 0x30]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x4
|
|
bgt _080F3258
|
|
ldrh r0, [r3, 0x32]
|
|
ldrh r2, [r3, 0x26]
|
|
adds r0, r2
|
|
strh r0, [r3, 0x26]
|
|
b _080F325C
|
|
.align 2, 0
|
|
_080F3250: .4byte 0x00008772
|
|
_080F3254: .4byte 0x00008774
|
|
_080F3258:
|
|
strh r1, [r3, 0x30]
|
|
strh r1, [r3, 0x26]
|
|
_080F325C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F31AC
|
|
|
|
thumb_func_start sub_80F3264
|
|
sub_80F3264: @ 80F3264
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r0, _080F328C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r3, _080F3290 @ =0x000087d0
|
|
adds r2, r0, r3
|
|
movs r3, 0x1
|
|
_080F3272:
|
|
lsls r0, r1, 2
|
|
adds r0, r2, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F327E
|
|
strh r3, [r0, 0x36]
|
|
_080F327E:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x1
|
|
bls _080F3272
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F328C: .4byte gUnknown_083DFEC4
|
|
_080F3290: .4byte 0x000087d0
|
|
thumb_func_end sub_80F3264
|
|
|
|
thumb_func_start sub_80F3294
|
|
sub_80F3294: @ 80F3294
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _080F32F4 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F32F8 @ =0x000087cc
|
|
adds r0, r4, r1
|
|
ldr r2, [r0]
|
|
adds r2, 0x3E
|
|
movs r0, 0x1
|
|
adds r1, r6, 0
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r3, [r2]
|
|
movs r5, 0x5
|
|
negs r5, r5
|
|
adds r0, r5, 0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r2, _080F32FC @ =0x000087c9
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F331A
|
|
cmp r6, 0x1
|
|
bne _080F3308
|
|
ldr r1, _080F3300 @ =0x000087d0
|
|
adds r0, r4, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
movs r3, 0x4
|
|
orrs r0, r3
|
|
strb r0, [r1]
|
|
ldr r2, _080F3304 @ =0x000087d4
|
|
adds r0, r4, r2
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1]
|
|
b _080F331A
|
|
.align 2, 0
|
|
_080F32F4: .4byte gUnknown_083DFEC4
|
|
_080F32F8: .4byte 0x000087cc
|
|
_080F32FC: .4byte 0x000087c9
|
|
_080F3300: .4byte 0x000087d0
|
|
_080F3304: .4byte 0x000087d4
|
|
_080F3308:
|
|
ldr r1, _080F3320 @ =0x000087d0
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
strh r1, [r0, 0x36]
|
|
ldr r2, _080F3324 @ =0x000087d4
|
|
adds r0, r4, r2
|
|
ldr r0, [r0]
|
|
strh r1, [r0, 0x36]
|
|
_080F331A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3320: .4byte 0x000087d0
|
|
_080F3324: .4byte 0x000087d4
|
|
thumb_func_end sub_80F3294
|
|
|
|
thumb_func_start sub_80F3328
|
|
sub_80F3328: @ 80F3328
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _080F334C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3350 @ =0x000087dc
|
|
adds r0, r1
|
|
movs r3, 0x2E
|
|
ldrsh r1, [r2, r3]
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r1, r0
|
|
bne _080F3354
|
|
adds r0, r2, 0
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
b _080F335C
|
|
.align 2, 0
|
|
_080F334C: .4byte gUnknown_083DFEC4
|
|
_080F3350: .4byte 0x000087dc
|
|
_080F3354:
|
|
adds r0, r2, 0
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
_080F335C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F3328
|
|
|
|
thumb_func_start sub_80F3360
|
|
sub_80F3360: @ 80F3360
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _080F3384 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F3388 @ =0x000087dc
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
ldr r2, _080F338C @ =0x000087da
|
|
adds r0, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bne _080F3390
|
|
movs r0, 0x4
|
|
b _080F3392
|
|
.align 2, 0
|
|
_080F3384: .4byte gUnknown_083DFEC4
|
|
_080F3388: .4byte 0x000087dc
|
|
_080F338C: .4byte 0x000087da
|
|
_080F3390:
|
|
movs r0, 0x5
|
|
_080F3392:
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 4
|
|
ldrb r2, [r4, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r4, 0x5]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F3360
|
|
|
|
thumb_func_start sub_80F33A8
|
|
sub_80F33A8: @ 80F33A8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x50
|
|
mov r1, sp
|
|
ldr r0, _080F3440 @ =gUnknown_083E4628
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r3,r4}
|
|
stm r1!, {r3,r4}
|
|
add r4, sp, 0x20
|
|
adds r1, r4, 0
|
|
ldr r0, _080F3444 @ =gUnknown_083E4648
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r1!, {r3,r5,r6}
|
|
add r5, sp, 0x38
|
|
adds r1, r5, 0
|
|
ldr r0, _080F3448 @ =gSpriteTemplate_83E4660
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
mov r0, sp
|
|
bl LoadSpriteSheets
|
|
adds r0, r4, 0
|
|
bl LoadSpritePalettes
|
|
movs r6, 0
|
|
ldr r2, _080F344C @ =gUnknown_083DFEC4
|
|
ldr r1, [r2]
|
|
ldr r3, _080F3450 @ =0x000087da
|
|
adds r0, r1, r3
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
subs r0, 0x1
|
|
adds r7, r5, 0
|
|
cmp r6, r0
|
|
bge _080F347A
|
|
adds r5, r2, 0
|
|
adds r0, r3, 0
|
|
adds r0, r1
|
|
mov r8, r0
|
|
_080F3406:
|
|
lsls r4, r6, 2
|
|
adds r2, r4, r6
|
|
lsls r2, 18
|
|
movs r1, 0x80
|
|
lsls r1, 12
|
|
adds r2, r1
|
|
asrs r2, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0xE2
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x40
|
|
beq _080F345C
|
|
ldr r0, [r5]
|
|
ldr r2, _080F3454 @ =0x000087e4
|
|
adds r0, r2
|
|
adds r0, r4
|
|
lsls r1, r3, 4
|
|
adds r1, r3
|
|
lsls r1, 2
|
|
ldr r2, _080F3458 @ =gSprites
|
|
adds r1, r2
|
|
str r1, [r0]
|
|
strh r6, [r1, 0x2E]
|
|
b _080F3468
|
|
.align 2, 0
|
|
_080F3440: .4byte gUnknown_083E4628
|
|
_080F3444: .4byte gUnknown_083E4648
|
|
_080F3448: .4byte gSpriteTemplate_83E4660
|
|
_080F344C: .4byte gUnknown_083DFEC4
|
|
_080F3450: .4byte 0x000087da
|
|
_080F3454: .4byte 0x000087e4
|
|
_080F3458: .4byte gSprites
|
|
_080F345C:
|
|
ldr r0, [r5]
|
|
ldr r3, _080F34C8 @ =0x000087e4
|
|
adds r0, r3
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_080F3468:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
mov r4, r8
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
subs r0, 0x1
|
|
cmp r6, r0
|
|
blt _080F3406
|
|
_080F347A:
|
|
movs r0, 0x4
|
|
strh r0, [r7]
|
|
ldr r0, _080F34CC @ =SpriteCallbackDummy
|
|
str r0, [r7, 0x14]
|
|
cmp r6, 0x5
|
|
bhi _080F34EE
|
|
ldr r5, _080F34D0 @ =gUnknown_083DFEC4
|
|
_080F3488:
|
|
lsls r4, r6, 2
|
|
adds r2, r4, r6
|
|
lsls r2, 18
|
|
movs r3, 0x80
|
|
lsls r3, 12
|
|
adds r2, r3
|
|
asrs r2, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0xE6
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x40
|
|
beq _080F34D8
|
|
ldr r2, [r5]
|
|
ldr r0, _080F34C8 @ =0x000087e4
|
|
adds r2, r0
|
|
adds r2, r4
|
|
lsls r1, r3, 4
|
|
adds r1, r3
|
|
lsls r1, 2
|
|
ldr r0, _080F34D4 @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldrb r2, [r1, 0x3]
|
|
movs r0, 0x3F
|
|
ands r0, r2
|
|
strb r0, [r1, 0x3]
|
|
b _080F34E4
|
|
.align 2, 0
|
|
_080F34C8: .4byte 0x000087e4
|
|
_080F34CC: .4byte SpriteCallbackDummy
|
|
_080F34D0: .4byte gUnknown_083DFEC4
|
|
_080F34D4: .4byte gSprites
|
|
_080F34D8:
|
|
ldr r0, [r5]
|
|
ldr r1, _080F3548 @ =0x000087e4
|
|
adds r0, r1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_080F34E4:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _080F3488
|
|
_080F34EE:
|
|
movs r0, 0x5
|
|
strh r0, [r7]
|
|
ldr r0, _080F354C @ =sub_80F3360
|
|
str r0, [r7, 0x14]
|
|
lsls r5, r6, 2
|
|
adds r2, r5, r6
|
|
lsls r2, 18
|
|
movs r3, 0x80
|
|
lsls r3, 12
|
|
adds r2, r3
|
|
asrs r2, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0xDE
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x40
|
|
beq _080F3558
|
|
ldr r0, _080F3550 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r6, _080F3548 @ =0x000087e4
|
|
adds r4, r6
|
|
adds r4, r5
|
|
lsls r1, r3, 4
|
|
adds r1, r3
|
|
lsls r1, 2
|
|
ldr r0, _080F3554 @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r4]
|
|
ldrb r3, [r1, 0x1]
|
|
movs r2, 0x3F
|
|
adds r0, r2, 0
|
|
ands r0, r3
|
|
movs r3, 0x40
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x1]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x3]
|
|
ands r2, r0
|
|
movs r0, 0x80
|
|
orrs r2, r0
|
|
strb r2, [r1, 0x3]
|
|
b _080F3566
|
|
.align 2, 0
|
|
_080F3548: .4byte 0x000087e4
|
|
_080F354C: .4byte sub_80F3360
|
|
_080F3550: .4byte gUnknown_083DFEC4
|
|
_080F3554: .4byte gSprites
|
|
_080F3558:
|
|
ldr r0, _080F3574 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3578 @ =0x000087e4
|
|
adds r0, r1
|
|
adds r0, r5
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_080F3566:
|
|
add sp, 0x50
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3574: .4byte gUnknown_083DFEC4
|
|
_080F3578: .4byte 0x000087e4
|
|
thumb_func_end sub_80F33A8
|
|
|
|
thumb_func_start sub_80F357C
|
|
sub_80F357C: @ 80F357C
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
ldr r0, _080F35AC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F35B0 @ =0x000087e4
|
|
adds r6, r0, r1
|
|
_080F3588:
|
|
lsls r0, r5, 2
|
|
adds r4, r6, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F359A
|
|
bl DestroySprite
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F359A:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x6
|
|
bls _080F3588
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F35AC: .4byte gUnknown_083DFEC4
|
|
_080F35B0: .4byte 0x000087e4
|
|
thumb_func_end sub_80F357C
|
|
|
|
thumb_func_start sub_80F35B4
|
|
sub_80F35B4: @ 80F35B4
|
|
push {r4,lr}
|
|
ldr r0, _080F35FC @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F3600 @ =0x000076b0
|
|
adds r0, r4, r1
|
|
movs r1, 0x1C
|
|
strh r1, [r0]
|
|
ldr r1, _080F3604 @ =0x000076b2
|
|
adds r2, r4, r1
|
|
movs r1, 0x13
|
|
strh r1, [r2]
|
|
bl sub_80F727C
|
|
bl sub_80F7404
|
|
ldr r2, _080F3608 @ =gUnknown_083E4678
|
|
movs r0, 0x1B
|
|
movs r1, 0x15
|
|
bl sub_80F7920
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
movs r1, 0xC0
|
|
strh r1, [r0, 0x20]
|
|
movs r1, 0x20
|
|
strh r1, [r0, 0x22]
|
|
ldr r1, _080F360C @ =sub_80F363C
|
|
str r1, [r0, 0x1C]
|
|
ldr r1, _080F3610 @ =0x000076ac
|
|
adds r4, r1
|
|
str r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F35FC: .4byte gUnknown_083DFEC4
|
|
_080F3600: .4byte 0x000076b0
|
|
_080F3604: .4byte 0x000076b2
|
|
_080F3608: .4byte gUnknown_083E4678
|
|
_080F360C: .4byte sub_80F363C
|
|
_080F3610: .4byte 0x000076ac
|
|
thumb_func_end sub_80F35B4
|
|
|
|
thumb_func_start sub_80F3614
|
|
sub_80F3614: @ 80F3614
|
|
push {lr}
|
|
ldr r0, _080F3634 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3638 @ =0x000076ac
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl DestroySprite
|
|
movs r0, 0x1B
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x15
|
|
bl FreeSpritePaletteByTag
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3634: .4byte gUnknown_083DFEC4
|
|
_080F3638: .4byte 0x000076ac
|
|
thumb_func_end sub_80F3614
|
|
|
|
thumb_func_start sub_80F363C
|
|
sub_80F363C: @ 80F363C
|
|
push {lr}
|
|
ldr r1, _080F365C @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r3, _080F3660 @ =0x00008fe9
|
|
adds r2, r1, r3
|
|
ldrb r2, [r2]
|
|
lsls r2, 24
|
|
asrs r2, 24
|
|
ldr r3, _080F3664 @ =0x00008934
|
|
adds r1, r3
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
bl StartSpriteAnim
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F365C: .4byte gUnknown_083DFEC4
|
|
_080F3660: .4byte 0x00008fe9
|
|
_080F3664: .4byte 0x00008934
|
|
thumb_func_end sub_80F363C
|
|
|
|
thumb_func_start sub_80F3668
|
|
sub_80F3668: @ 80F3668
|
|
push {lr}
|
|
ldr r0, _080F368C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F3690 @ =0x00008fe9
|
|
adds r1, r0, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, _080F3694 @ =0x00008934
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0xB0
|
|
movs r2, 0x20
|
|
bl sub_80F7418
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F368C: .4byte gUnknown_083DFEC4
|
|
_080F3690: .4byte 0x00008fe9
|
|
_080F3694: .4byte 0x00008934
|
|
thumb_func_end sub_80F3668
|
|
|
|
thumb_func_start sub_80F3698
|
|
sub_80F3698: @ 80F3698
|
|
push {r4,lr}
|
|
ldr r0, _080F36DC @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r1, _080F36E0 @ =0x000087dc
|
|
adds r0, r3, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
lsls r1, 2
|
|
ldr r4, _080F36E4 @ =0x0000893c
|
|
adds r1, r4
|
|
adds r1, r3, r1
|
|
ldr r2, _080F36E8 @ =0x00008fe9
|
|
adds r0, r3, r2
|
|
movs r2, 0
|
|
ldrsb r2, [r0, r2]
|
|
subs r4, 0x8
|
|
adds r0, r3, r4
|
|
adds r0, r2
|
|
ldr r2, _080F36EC @ =0x000076b4
|
|
adds r3, r2
|
|
ldrb r2, [r3]
|
|
strb r2, [r0]
|
|
ldrb r0, [r1, 0x1]
|
|
ldr r1, [r1]
|
|
lsls r1, 11
|
|
lsrs r1, 27
|
|
ldrb r2, [r3]
|
|
bl sub_80F4548
|
|
bl sub_80F7470
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F36DC: .4byte gUnknown_083DFEC4
|
|
_080F36E0: .4byte 0x000087dc
|
|
_080F36E4: .4byte 0x0000893c
|
|
_080F36E8: .4byte 0x00008fe9
|
|
_080F36EC: .4byte 0x000076b4
|
|
thumb_func_end sub_80F3698
|
|
|
|
thumb_func_start sub_80F36F0
|
|
sub_80F36F0: @ 80F36F0
|
|
push {lr}
|
|
ldr r0, _080F3718 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F371C @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F3720 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F3712
|
|
_080F3708:
|
|
bl sub_80F3724
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F3708
|
|
_080F3712:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3718: .4byte gUnknown_083DFEC4
|
|
_080F371C: .4byte 0x00000306
|
|
_080F3720: .4byte 0x00006dac
|
|
thumb_func_end sub_80F36F0
|
|
|
|
thumb_func_start sub_80F3724
|
|
sub_80F3724: @ 80F3724
|
|
push {r4,lr}
|
|
ldr r0, _080F3740 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F3744 @ =0x00000306
|
|
adds r4, r1, r0
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _080F3764
|
|
cmp r0, 0x1
|
|
bgt _080F3748
|
|
cmp r0, 0
|
|
beq _080F374E
|
|
b _080F377A
|
|
.align 2, 0
|
|
_080F3740: .4byte gUnknown_083DFEC4
|
|
_080F3744: .4byte 0x00000306
|
|
_080F3748:
|
|
cmp r0, 0x2
|
|
beq _080F376E
|
|
b _080F377A
|
|
_080F374E:
|
|
ldr r0, _080F375C @ =gUnknown_083E3D00
|
|
ldr r2, _080F3760 @ =0x0000984c
|
|
adds r1, r2
|
|
bl LZ77UnCompWram
|
|
b _080F377E
|
|
.align 2, 0
|
|
_080F375C: .4byte gUnknown_083E3D00
|
|
_080F3760: .4byte 0x0000984c
|
|
_080F3764:
|
|
bl sub_80F379C
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
_080F376E:
|
|
bl sub_80F37D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F377E
|
|
b _080F378C
|
|
_080F377A:
|
|
movs r0, 0
|
|
b _080F378E
|
|
_080F377E:
|
|
ldr r0, _080F3794 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F3798 @ =0x00000306
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F378C:
|
|
movs r0, 0x1
|
|
_080F378E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F3794: .4byte gUnknown_083DFEC4
|
|
_080F3798: .4byte 0x00000306
|
|
thumb_func_end sub_80F3724
|
|
|
|
thumb_func_start sub_80F379C
|
|
sub_80F379C: @ 80F379C
|
|
push {lr}
|
|
ldr r0, _080F37C4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F37C8 @ =0x0000bc93
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
ldr r1, _080F37CC @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F37BE
|
|
_080F37B4:
|
|
bl sub_80F37D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F37B4
|
|
_080F37BE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F37C4: .4byte gUnknown_083DFEC4
|
|
_080F37C8: .4byte 0x0000bc93
|
|
_080F37CC: .4byte 0x00006dac
|
|
thumb_func_end sub_80F379C
|
|
|
|
thumb_func_start sub_80F37D0
|
|
sub_80F37D0: @ 80F37D0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r0, _080F3898 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F389C @ =0x0000bc93
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
adds r2, r0, 0
|
|
cmp r1, 0xB
|
|
bhi _080F38A8
|
|
movs r3, 0
|
|
mov r8, r3
|
|
movs r7, 0xF
|
|
mov r9, r7
|
|
_080F37F0:
|
|
ldr r2, [r2]
|
|
ldr r1, _080F389C @ =0x0000bc93
|
|
adds r0, r2, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 8
|
|
ldr r3, _080F38A0 @ =0x0000984c
|
|
adds r0, r3
|
|
adds r4, r2, r0
|
|
lsls r1, 9
|
|
ldr r7, _080F38A4 @ =0x0000a44c
|
|
adds r1, r7
|
|
adds r5, r2, r1
|
|
movs r6, 0
|
|
_080F380A:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x10
|
|
bl CpuFastSet
|
|
adds r5, 0x40
|
|
adds r4, 0x20
|
|
movs r1, 0
|
|
adds r6, 0x1
|
|
mov r12, r6
|
|
_080F381E:
|
|
movs r0, 0
|
|
adds r6, r1, 0x1
|
|
_080F3822:
|
|
adds r4, 0x4
|
|
movs r2, 0
|
|
adds r3, r0, 0x1
|
|
_080F3828:
|
|
subs r4, 0x1
|
|
ldrb r0, [r4]
|
|
lsls r1, r0, 4
|
|
lsrs r0, 4
|
|
mov r7, r9
|
|
ands r0, r7
|
|
orrs r1, r0
|
|
strb r1, [r5]
|
|
adds r5, 0x1
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x3
|
|
bls _080F3828
|
|
adds r4, 0x4
|
|
lsls r0, r3, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x7
|
|
bls _080F3822
|
|
subs r4, 0x40
|
|
lsls r0, r6, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x1
|
|
bls _080F381E
|
|
adds r4, 0x60
|
|
mov r1, r12
|
|
lsls r0, r1, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3
|
|
bls _080F380A
|
|
ldr r2, _080F3898 @ =gUnknown_083DFEC4
|
|
ldr r3, [r2]
|
|
ldr r7, _080F389C @ =0x0000bc93
|
|
adds r1, r3, r7
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xB
|
|
bhi _080F38A8
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0x1
|
|
bls _080F37F0
|
|
adds r1, r7, 0
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xB
|
|
bhi _080F38A8
|
|
movs r0, 0x1
|
|
b _080F38AA
|
|
.align 2, 0
|
|
_080F3898: .4byte gUnknown_083DFEC4
|
|
_080F389C: .4byte 0x0000bc93
|
|
_080F38A0: .4byte 0x0000984c
|
|
_080F38A4: .4byte 0x0000a44c
|
|
_080F38A8:
|
|
movs r0, 0
|
|
_080F38AA:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F37D0
|
|
|
|
thumb_func_start sub_80F38B8
|
|
sub_80F38B8: @ 80F38B8
|
|
push {lr}
|
|
ldr r0, _080F38E0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F38E4 @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F38E8 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F38DA
|
|
_080F38D0:
|
|
bl sub_80F38EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F38D0
|
|
_080F38DA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F38E0: .4byte gUnknown_083DFEC4
|
|
_080F38E4: .4byte 0x00000306
|
|
_080F38E8: .4byte 0x00006dac
|
|
thumb_func_end sub_80F38B8
|
|
|
|
thumb_func_start sub_80F38EC
|
|
sub_80F38EC: @ 80F38EC
|
|
push {r4,lr}
|
|
ldr r0, _080F3908 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F390C @ =0x00000306
|
|
adds r4, r2, r0
|
|
ldrh r1, [r4]
|
|
cmp r1, 0x1
|
|
beq _080F3930
|
|
cmp r1, 0x1
|
|
bgt _080F3910
|
|
cmp r1, 0
|
|
beq _080F391A
|
|
b _080F394E
|
|
.align 2, 0
|
|
_080F3908: .4byte gUnknown_083DFEC4
|
|
_080F390C: .4byte 0x00000306
|
|
_080F3910:
|
|
cmp r1, 0x2
|
|
beq _080F3938
|
|
cmp r1, 0x3
|
|
beq _080F3942
|
|
b _080F394E
|
|
_080F391A:
|
|
ldr r3, _080F3928 @ =0x00009348
|
|
adds r0, r2, r3
|
|
str r1, [r0]
|
|
ldr r3, _080F392C @ =0x0000bc92
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
b _080F3952
|
|
.align 2, 0
|
|
_080F3928: .4byte 0x00009348
|
|
_080F392C: .4byte 0x0000bc92
|
|
_080F3930:
|
|
movs r0, 0
|
|
bl sub_80F2E18
|
|
b _080F3952
|
|
_080F3938:
|
|
bl sub_80F3970
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
_080F3942:
|
|
bl sub_80F39A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F3952
|
|
b _080F3960
|
|
_080F394E:
|
|
movs r0, 0
|
|
b _080F3962
|
|
_080F3952:
|
|
ldr r0, _080F3968 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F396C @ =0x00000306
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F3960:
|
|
movs r0, 0x1
|
|
_080F3962:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F3968: .4byte gUnknown_083DFEC4
|
|
_080F396C: .4byte 0x00000306
|
|
thumb_func_end sub_80F38EC
|
|
|
|
thumb_func_start sub_80F3970
|
|
sub_80F3970: @ 80F3970
|
|
push {lr}
|
|
ldr r0, _080F3998 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F399C @ =0x0000bc93
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
ldr r1, _080F39A0 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F3992
|
|
_080F3988:
|
|
bl sub_80F39A4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F3988
|
|
_080F3992:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3998: .4byte gUnknown_083DFEC4
|
|
_080F399C: .4byte 0x0000bc93
|
|
_080F39A0: .4byte 0x00006dac
|
|
thumb_func_end sub_80F3970
|
|
|
|
thumb_func_start sub_80F39A4
|
|
sub_80F39A4: @ 80F39A4
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r0, _080F3A18 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F3A1C @ =0x0000bc93
|
|
adds r4, r1, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xB
|
|
bhi _080F3A30
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
ldr r2, _080F3A20 @ =0x0000a44c
|
|
adds r0, r2
|
|
adds r0, r1, r0
|
|
str r0, [sp]
|
|
ldr r5, _080F3A24 @ =0xffff0000
|
|
ldr r2, [sp, 0x4]
|
|
ands r2, r5
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
orrs r2, r0
|
|
str r2, [sp, 0x4]
|
|
ldrb r1, [r4]
|
|
adds r1, 0xB
|
|
lsls r1, 16
|
|
ldr r0, _080F3A28 @ =0x0000ffff
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x4
|
|
bhi _080F3A04
|
|
lsls r0, 5
|
|
ldr r1, _080F3A2C @ =gUnknown_083E3C60
|
|
adds r0, r1
|
|
str r0, [sp, 0x8]
|
|
ldrb r2, [r4]
|
|
adds r2, 0xA
|
|
add r0, sp, 0x8
|
|
ldr r1, [r0, 0x4]
|
|
ands r1, r5
|
|
orrs r1, r2
|
|
str r1, [r0, 0x4]
|
|
bl LoadSpritePalette
|
|
_080F3A04:
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xB
|
|
bhi _080F3A30
|
|
movs r0, 0x1
|
|
b _080F3A32
|
|
.align 2, 0
|
|
_080F3A18: .4byte gUnknown_083DFEC4
|
|
_080F3A1C: .4byte 0x0000bc93
|
|
_080F3A20: .4byte 0x0000a44c
|
|
_080F3A24: .4byte 0xffff0000
|
|
_080F3A28: .4byte 0x0000ffff
|
|
_080F3A2C: .4byte gUnknown_083E3C60
|
|
_080F3A30:
|
|
movs r0, 0
|
|
_080F3A32:
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F39A4
|
|
|
|
thumb_func_start sub_80F3A3C
|
|
sub_80F3A3C: @ 80F3A3C
|
|
push {r4-r7,lr}
|
|
sub sp, 0x18
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
cmp r4, 0x2
|
|
bhi _080F3A60
|
|
lsls r0, r4, 3
|
|
adds r0, r4
|
|
adds r0, r5, r0
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r2, _080F3A5C @ =gUnknown_083DFEC4
|
|
b _080F3A78
|
|
.align 2, 0
|
|
_080F3A5C: .4byte gUnknown_083DFEC4
|
|
_080F3A60:
|
|
ldr r2, _080F3AD0 @ =gUnknown_083DFEC4
|
|
ldr r1, [r2]
|
|
ldr r3, _080F3AD4 @ =0x0000bc8e
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
ldr r6, _080F3AD8 @ =0x0000bc8f
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
subs r0, r1
|
|
adds r0, r5, r0
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
_080F3A78:
|
|
ldr r0, [r2]
|
|
ldr r7, _080F3ADC @ =0x0000bc4c
|
|
adds r0, r7
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
mov r1, sp
|
|
ldr r0, _080F3AE0 @ =gSpriteTemplate_83E476C
|
|
ldm r0!, {r3,r6,r7}
|
|
stm r1!, {r3,r6,r7}
|
|
ldm r0!, {r3,r6,r7}
|
|
stm r1!, {r3,r6,r7}
|
|
mov r3, sp
|
|
ldr r1, _080F3AE4 @ =gUnknown_083E4698
|
|
lsls r2, 2
|
|
adds r0, r2, r1
|
|
ldrh r0, [r0]
|
|
adds r0, 0xB
|
|
strh r0, [r3]
|
|
adds r1, 0x2
|
|
adds r2, r1
|
|
ldrh r0, [r2]
|
|
adds r0, 0xA
|
|
strh r0, [r3, 0x2]
|
|
lsls r1, r5, 20
|
|
movs r0, 0xC0
|
|
lsls r0, 15
|
|
adds r1, r0
|
|
asrs r1, 16
|
|
lsls r2, r4, 20
|
|
movs r3, 0xA0
|
|
lsls r3, 14
|
|
adds r2, r3
|
|
asrs r2, 16
|
|
mov r0, sp
|
|
movs r3, 0x2
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
bne _080F3AE8
|
|
movs r0, 0
|
|
b _080F3AF2
|
|
.align 2, 0
|
|
_080F3AD0: .4byte gUnknown_083DFEC4
|
|
_080F3AD4: .4byte 0x0000bc8e
|
|
_080F3AD8: .4byte 0x0000bc8f
|
|
_080F3ADC: .4byte 0x0000bc4c
|
|
_080F3AE0: .4byte gSpriteTemplate_83E476C
|
|
_080F3AE4: .4byte gUnknown_083E4698
|
|
_080F3AE8:
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F3AFC @ =gSprites
|
|
adds r0, r1
|
|
_080F3AF2:
|
|
add sp, 0x18
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F3AFC: .4byte gSprites
|
|
thumb_func_end sub_80F3A3C
|
|
|
|
thumb_func_start sub_80F3B00
|
|
sub_80F3B00: @ 80F3B00
|
|
push {r4,lr}
|
|
ldr r0, _080F3B34 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F3B38 @ =0x0000bc90
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
ldr r2, _080F3B3C @ =0x0000bc91
|
|
adds r1, r4, r2
|
|
ldrb r1, [r1]
|
|
bl sub_80F3A3C
|
|
adds r2, r0, 0
|
|
ldr r1, _080F3B40 @ =0x00009348
|
|
adds r0, r4, r1
|
|
str r2, [r0]
|
|
cmp r2, 0
|
|
beq _080F3B48
|
|
adds r0, r2, 0
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
ldr r2, _080F3B44 @ =0x0000bc92
|
|
adds r1, r4, r2
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F3B4E
|
|
.align 2, 0
|
|
_080F3B34: .4byte gUnknown_083DFEC4
|
|
_080F3B38: .4byte 0x0000bc90
|
|
_080F3B3C: .4byte 0x0000bc91
|
|
_080F3B40: .4byte 0x00009348
|
|
_080F3B44: .4byte 0x0000bc92
|
|
_080F3B48:
|
|
ldr r1, _080F3B54 @ =0x0000bc92
|
|
adds r0, r4, r1
|
|
strb r2, [r0]
|
|
_080F3B4E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3B54: .4byte 0x0000bc92
|
|
thumb_func_end sub_80F3B00
|
|
|
|
thumb_func_start sub_80F3B58
|
|
sub_80F3B58: @ 80F3B58
|
|
push {lr}
|
|
ldr r0, _080F3B6C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F3B70 @ =0x0000bc92
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _080F3B74
|
|
movs r0, 0
|
|
b _080F3B8A
|
|
.align 2, 0
|
|
_080F3B6C: .4byte gUnknown_083DFEC4
|
|
_080F3B70: .4byte 0x0000bc92
|
|
_080F3B74:
|
|
ldr r3, _080F3B90 @ =0x00009348
|
|
adds r0, r1, r3
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsrs r0, 5
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r2]
|
|
_080F3B8A:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F3B90: .4byte 0x00009348
|
|
thumb_func_end sub_80F3B58
|
|
|
|
thumb_func_start sub_80F3B94
|
|
sub_80F3B94: @ 80F3B94
|
|
push {r4,lr}
|
|
ldr r0, _080F3BB8 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F3BBC @ =0x00009348
|
|
adds r0, r4, r1
|
|
ldr r2, [r0]
|
|
cmp r2, 0
|
|
beq _080F3BC4
|
|
adds r0, r2, 0
|
|
movs r1, 0x2
|
|
bl StartSpriteAffineAnim
|
|
ldr r0, _080F3BC0 @ =0x0000bc92
|
|
adds r1, r4, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F3BCA
|
|
.align 2, 0
|
|
_080F3BB8: .4byte gUnknown_083DFEC4
|
|
_080F3BBC: .4byte 0x00009348
|
|
_080F3BC0: .4byte 0x0000bc92
|
|
_080F3BC4:
|
|
ldr r1, _080F3BD0 @ =0x0000bc92
|
|
adds r0, r4, r1
|
|
strb r2, [r0]
|
|
_080F3BCA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3BD0: .4byte 0x0000bc92
|
|
thumb_func_end sub_80F3B94
|
|
|
|
thumb_func_start sub_80F3BD4
|
|
sub_80F3BD4: @ 80F3BD4
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F3C18 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F3C1C @ =0x0000bc92
|
|
adds r5, r1, r0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
beq _080F3C24
|
|
ldr r0, _080F3C20 @ =0x00009348
|
|
adds r4, r1, r0
|
|
ldr r0, [r4]
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsrs r0, 5
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
ands r0, r1
|
|
strb r0, [r5]
|
|
adds r6, r0, 0
|
|
cmp r6, 0
|
|
bne _080F3C12
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
bl FreeOamMatrix
|
|
ldr r0, [r4]
|
|
bl DestroySprite
|
|
str r6, [r4]
|
|
_080F3C12:
|
|
ldrb r0, [r5]
|
|
b _080F3C26
|
|
.align 2, 0
|
|
_080F3C18: .4byte gUnknown_083DFEC4
|
|
_080F3C1C: .4byte 0x0000bc92
|
|
_080F3C20: .4byte 0x00009348
|
|
_080F3C24:
|
|
movs r0, 0
|
|
_080F3C26:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F3BD4
|
|
|
|
thumb_func_start sub_80F3C2C
|
|
sub_80F3C2C: @ 80F3C2C
|
|
push {r4,lr}
|
|
ldr r0, _080F3C8C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3C90 @ =0x00009348
|
|
adds r4, r0, r1
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3C50
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
bl FreeOamMatrix
|
|
ldr r0, [r4]
|
|
bl DestroySprite
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_080F3C50:
|
|
movs r4, 0
|
|
_080F3C52:
|
|
adds r0, r4, 0
|
|
adds r0, 0xB
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FreeSpriteTilesByTag
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0xB
|
|
bls _080F3C52
|
|
movs r4, 0
|
|
_080F3C6A:
|
|
adds r0, r4, 0
|
|
adds r0, 0xA
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FreeSpritePaletteByTag
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x4
|
|
bls _080F3C6A
|
|
bl sub_80F2F48
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3C8C: .4byte gUnknown_083DFEC4
|
|
_080F3C90: .4byte 0x00009348
|
|
thumb_func_end sub_80F3C2C
|
|
|
|
thumb_func_start sub_80F3C94
|
|
sub_80F3C94: @ 80F3C94
|
|
push {lr}
|
|
sub sp, 0x10
|
|
ldr r0, _080F3CDC @ =gUnknown_083E4784
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
ldr r0, _080F3CE0 @ =gUnknown_083E478C
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
add r0, sp, 0x8
|
|
bl LoadSpritePalette
|
|
movs r1, 0
|
|
ldr r0, _080F3CE4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
movs r3, 0x88
|
|
lsls r3, 8
|
|
adds r2, r0, r3
|
|
movs r3, 0
|
|
_080F3CC6:
|
|
lsls r0, r1, 2
|
|
adds r0, r2, r0
|
|
str r3, [r0]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0x9
|
|
bls _080F3CC6
|
|
add sp, 0x10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3CDC: .4byte gUnknown_083E4784
|
|
_080F3CE0: .4byte gUnknown_083E478C
|
|
_080F3CE4: .4byte gUnknown_083DFEC4
|
|
thumb_func_end sub_80F3C94
|
|
|
|
thumb_func_start sub_80F3CE8
|
|
sub_80F3CE8: @ 80F3CE8
|
|
push {lr}
|
|
bl move_anim_execute
|
|
movs r0, 0x17
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0xF
|
|
bl FreeSpritePaletteByTag
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F3CE8
|
|
|
|
thumb_func_start sub_80F3D00
|
|
sub_80F3D00: @ 80F3D00
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F3D34 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F3D38 @ =0x000087dc
|
|
adds r0, r2, r1
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
lsls r0, 2
|
|
ldr r1, _080F3D3C @ =0x0000893c
|
|
adds r0, r1
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0, 0x3]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F3D94
|
|
ldr r3, _080F3D40 @ =0x00008fe9
|
|
adds r0, r2, r3
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
ldr r3, _080F3D44 @ =0x00008931
|
|
adds r0, r2, r3
|
|
adds r0, r1
|
|
ldrb r5, [r0]
|
|
movs r4, 0
|
|
b _080F3D86
|
|
.align 2, 0
|
|
_080F3D34: .4byte gUnknown_083DFEC4
|
|
_080F3D38: .4byte 0x000087dc
|
|
_080F3D3C: .4byte 0x0000893c
|
|
_080F3D40: .4byte 0x00008fe9
|
|
_080F3D44: .4byte 0x00008931
|
|
_080F3D48:
|
|
ldr r0, _080F3D9C @ =gSpriteTemplate_83E4800
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _080F3D8C
|
|
ldr r0, _080F3DA0 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
lsls r0, r4, 2
|
|
movs r3, 0x88
|
|
lsls r3, 8
|
|
adds r2, r3
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F3DA4 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
_080F3D86:
|
|
adds r0, r5, 0x1
|
|
cmp r4, r0
|
|
blt _080F3D48
|
|
_080F3D8C:
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_80F3F20
|
|
_080F3D94:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3D9C: .4byte gSpriteTemplate_83E4800
|
|
_080F3DA0: .4byte gUnknown_083DFEC4
|
|
_080F3DA4: .4byte gSprites
|
|
thumb_func_end sub_80F3D00
|
|
|
|
thumb_func_start move_anim_execute
|
|
move_anim_execute: @ 80F3DA8
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
ldr r0, _080F3DD8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
movs r1, 0x88
|
|
lsls r1, 8
|
|
adds r6, r0, r1
|
|
_080F3DB6:
|
|
lsls r0, r5, 2
|
|
adds r4, r6, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3DD2
|
|
bl DestroySprite
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x9
|
|
bls _080F3DB6
|
|
_080F3DD2:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3DD8: .4byte gUnknown_083DFEC4
|
|
thumb_func_end move_anim_execute
|
|
|
|
thumb_func_start sub_80F3DDC
|
|
sub_80F3DDC: @ 80F3DDC
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r0, [r1, 0x30]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3C
|
|
ble _080F3DFE
|
|
movs r0, 0
|
|
strh r0, [r1, 0x30]
|
|
ldrh r0, [r1, 0x32]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_80F3F20
|
|
_080F3DFE:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F3DDC
|
|
|
|
thumb_func_start sub_80F3E04
|
|
sub_80F3E04: @ 80F3E04
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F3E1C
|
|
movs r0, 0
|
|
strh r0, [r2, 0x30]
|
|
ldr r0, _080F3E20 @ =sub_80F3DDC
|
|
str r0, [r2, 0x1C]
|
|
_080F3E1C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3E20: .4byte sub_80F3DDC
|
|
thumb_func_end sub_80F3E04
|
|
|
|
thumb_func_start sub_80F3E24
|
|
sub_80F3E24: @ 80F3E24
|
|
push {r4,r5,lr}
|
|
adds r3, r0, 0
|
|
ldr r0, _080F3E64 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3E68 @ =0x00008768
|
|
adds r4, r0, r1
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3E70
|
|
ldrh r1, [r0, 0x24]
|
|
ldrh r0, [r0, 0x20]
|
|
adds r1, r0
|
|
ldr r2, _080F3E6C @ =gUnknown_083E4794
|
|
movs r5, 0x2E
|
|
ldrsh r0, [r3, r5]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
adds r0, r1
|
|
strh r0, [r3, 0x20]
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0x26]
|
|
ldrh r0, [r0, 0x22]
|
|
adds r1, r0
|
|
movs r4, 0x2E
|
|
ldrsh r0, [r3, r4]
|
|
lsls r0, 2
|
|
adds r2, 0x2
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
adds r0, r1
|
|
b _080F3E8E
|
|
.align 2, 0
|
|
_080F3E64: .4byte gUnknown_083DFEC4
|
|
_080F3E68: .4byte 0x00008768
|
|
_080F3E6C: .4byte gUnknown_083E4794
|
|
_080F3E70:
|
|
ldr r1, _080F3E98 @ =gUnknown_083E4794
|
|
movs r5, 0x2E
|
|
ldrsh r0, [r3, r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
adds r0, 0x28
|
|
strh r0, [r3, 0x20]
|
|
movs r2, 0x2E
|
|
ldrsh r0, [r3, r2]
|
|
lsls r0, 2
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
adds r0, 0x68
|
|
_080F3E8E:
|
|
strh r0, [r3, 0x22]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3E98: .4byte gUnknown_083E4794
|
|
thumb_func_end sub_80F3E24
|
|
|
|
thumb_func_start sub_80F3E9C
|
|
sub_80F3E9C: @ 80F3E9C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r1, [r4, 0x30]
|
|
movs r2, 0x30
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
beq _080F3ECA
|
|
subs r0, r1, 0x1
|
|
strh r0, [r4, 0x30]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080F3F14
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl SeekSpriteAnim
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_080F3ECA:
|
|
adds r0, r4, 0
|
|
bl sub_80F3E24
|
|
adds r0, r4, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F3F14
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, 0x34
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, 0x32
|
|
ldrsh r0, [r4, r2]
|
|
cmp r1, r0
|
|
bne _080F3F10
|
|
cmp r1, 0x9
|
|
bne _080F3F08
|
|
bl sub_80F3FAC
|
|
ldr r0, _080F3F04 @ =sub_80F3E04
|
|
b _080F3F12
|
|
.align 2, 0
|
|
_080F3F04: .4byte sub_80F3E04
|
|
_080F3F08:
|
|
ldr r0, _080F3F0C @ =sub_80F3DDC
|
|
b _080F3F12
|
|
.align 2, 0
|
|
_080F3F0C: .4byte sub_80F3DDC
|
|
_080F3F10:
|
|
ldr r0, _080F3F1C @ =SpriteCallbackDummy
|
|
_080F3F12:
|
|
str r0, [r4, 0x1C]
|
|
_080F3F14:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3F1C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80F3E9C
|
|
|
|
thumb_func_start sub_80F3F20
|
|
sub_80F3F20: @ 80F3F20
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
movs r5, 0
|
|
ldr r0, _080F3F6C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
movs r1, 0x88
|
|
lsls r1, 8
|
|
adds r7, r0, r1
|
|
_080F3F3C:
|
|
lsls r0, r5, 2
|
|
adds r4, r7, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3F92
|
|
strh r5, [r0, 0x2E]
|
|
ldr r1, [r4]
|
|
lsls r0, r5, 4
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x30]
|
|
ldr r0, [r4]
|
|
strh r6, [r0, 0x32]
|
|
ldr r0, [r4]
|
|
strh r5, [r0, 0x34]
|
|
mov r3, r8
|
|
cmp r3, 0
|
|
beq _080F3F62
|
|
cmp r6, 0x9
|
|
beq _080F3F74
|
|
_080F3F62:
|
|
ldr r1, [r4]
|
|
ldr r0, _080F3F70 @ =sub_80F3E9C
|
|
str r0, [r1, 0x1C]
|
|
b _080F3F92
|
|
.align 2, 0
|
|
_080F3F6C: .4byte gUnknown_083DFEC4
|
|
_080F3F70: .4byte sub_80F3E9C
|
|
_080F3F74:
|
|
ldr r0, [r4]
|
|
bl sub_80F3E24
|
|
bl sub_80F3FAC
|
|
ldr r2, [r4]
|
|
ldr r0, _080F3FA8 @ =sub_80F3E04
|
|
str r0, [r2, 0x1C]
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r3, 0x5
|
|
negs r3, r3
|
|
adds r1, r3, 0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_080F3F92:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x9
|
|
bls _080F3F3C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3FA8: .4byte sub_80F3E04
|
|
thumb_func_end sub_80F3F20
|
|
|
|
thumb_func_start sub_80F3FAC
|
|
sub_80F3FAC: @ 80F3FAC
|
|
push {r4-r7,lr}
|
|
movs r5, 0
|
|
ldr r0, _080F3FEC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
movs r1, 0x88
|
|
lsls r1, 8
|
|
adds r6, r0, r1
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
adds r7, r0, 0
|
|
_080F3FC0:
|
|
lsls r0, r5, 2
|
|
adds r4, r6, r0
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F3FDA
|
|
movs r1, 0
|
|
bl SeekSpriteAnim
|
|
ldr r1, [r4]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
ands r0, r7
|
|
strb r0, [r1]
|
|
_080F3FDA:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x9
|
|
bls _080F3FC0
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3FEC: .4byte gUnknown_083DFEC4
|
|
thumb_func_end sub_80F3FAC
|
|
|
|
thumb_func_start sub_80F3FF0
|
|
sub_80F3FF0: @ 80F3FF0
|
|
push {lr}
|
|
ldr r0, _080F4018 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F401C @ =0x00000306
|
|
adds r2, r0, r1
|
|
movs r1, 0
|
|
strh r1, [r2]
|
|
ldr r1, _080F4020 @ =0x00006dac
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F4012
|
|
_080F4008:
|
|
bl sub_80F4024
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F4008
|
|
_080F4012:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4018: .4byte gUnknown_083DFEC4
|
|
_080F401C: .4byte 0x00000306
|
|
_080F4020: .4byte 0x00006dac
|
|
thumb_func_end sub_80F3FF0
|
|
|
|
thumb_func_start sub_80F4024
|
|
sub_80F4024: @ 80F4024
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r0, _080F4040 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F4044 @ =0x00000306
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _080F4068
|
|
cmp r0, 0x1
|
|
bgt _080F4048
|
|
cmp r0, 0
|
|
beq _080F4052
|
|
b _080F4106
|
|
.align 2, 0
|
|
_080F4040: .4byte gUnknown_083DFEC4
|
|
_080F4044: .4byte 0x00000306
|
|
_080F4048:
|
|
cmp r0, 0x2
|
|
beq _080F4084
|
|
cmp r0, 0x3
|
|
beq _080F40B8
|
|
b _080F4106
|
|
_080F4052:
|
|
ldr r0, _080F4060 @ =gUnknown_083E329C
|
|
ldr r2, _080F4064 @ =0x000131e4
|
|
adds r1, r4, r2
|
|
bl LZ77UnCompWram
|
|
b _080F4118
|
|
.align 2, 0
|
|
_080F4060: .4byte gUnknown_083E329C
|
|
_080F4064: .4byte 0x000131e4
|
|
_080F4068:
|
|
ldr r1, _080F407C @ =0x000131e4
|
|
adds r0, r4, r1
|
|
str r0, [sp]
|
|
ldr r0, _080F4080 @ =0x00181000
|
|
str r0, [sp, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
b _080F4118
|
|
.align 2, 0
|
|
_080F407C: .4byte 0x000131e4
|
|
_080F4080: .4byte 0x00181000
|
|
_080F4084:
|
|
ldr r0, _080F40B4 @ =gUnknown_083E4818
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
add r0, sp, 0x8
|
|
bl LoadSpritePalette
|
|
movs r0, 0x10
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0xC2
|
|
lsls r1, 2
|
|
adds r2, r4, r1
|
|
adds r0, 0x10
|
|
movs r1, 0x1
|
|
lsls r1, r0
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
bics r0, r1
|
|
str r0, [r2]
|
|
b _080F4118
|
|
.align 2, 0
|
|
_080F40B4: .4byte gUnknown_083E4818
|
|
_080F40B8:
|
|
ldr r0, _080F40E4 @ =gSpriteTemplate_83E4850
|
|
movs r1, 0xDA
|
|
movs r2, 0xE
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _080F40F0
|
|
ldr r0, _080F40E8 @ =0x00006d98
|
|
adds r2, r4, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F40EC @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
movs r1, 0
|
|
strh r1, [r0, 0x2E]
|
|
b _080F40F8
|
|
.align 2, 0
|
|
_080F40E4: .4byte gSpriteTemplate_83E4850
|
|
_080F40E8: .4byte 0x00006d98
|
|
_080F40EC: .4byte gSprites
|
|
_080F40F0:
|
|
ldr r2, _080F410C @ =0x00006d98
|
|
adds r1, r4, r2
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
_080F40F8:
|
|
ldr r0, _080F4110 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F4114 @ =0x00000306
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_080F4106:
|
|
movs r0, 0
|
|
b _080F4128
|
|
.align 2, 0
|
|
_080F410C: .4byte 0x00006d98
|
|
_080F4110: .4byte gUnknown_083DFEC4
|
|
_080F4114: .4byte 0x00000306
|
|
_080F4118:
|
|
ldr r0, _080F4130 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F4134 @ =0x00000306
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
_080F4128:
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F4130: .4byte gUnknown_083DFEC4
|
|
_080F4134: .4byte 0x00000306
|
|
thumb_func_end sub_80F4024
|
|
|
|
thumb_func_start sub_80F4138
|
|
sub_80F4138: @ 80F4138
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _080F4170 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
movs r1, 0xC3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
negs r0, r0
|
|
strh r0, [r2, 0x26]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r1, 0x20
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bgt _080F4174
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0
|
|
bne _080F418E
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
movs r0, 0x1
|
|
b _080F418C
|
|
.align 2, 0
|
|
_080F4170: .4byte gUnknown_083DFEC4
|
|
_080F4174:
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x1
|
|
bne _080F418E
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r3]
|
|
movs r0, 0
|
|
_080F418C:
|
|
strh r0, [r2, 0x2E]
|
|
_080F418E:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F4138
|
|
|
|
thumb_func_start sub_80F4194
|
|
sub_80F4194: @ 80F4194
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r7, r0, 0
|
|
adds r2, r1, 0
|
|
ldr r0, _080F42A4 @ =gUnknown_083DFEC8
|
|
ldr r6, [r0]
|
|
mov r0, sp
|
|
ldr r1, _080F42A8 @ =0x00001111
|
|
adds r5, r1, 0
|
|
strh r5, [r0]
|
|
ldr r4, _080F42AC @ =0x040000d4
|
|
str r0, [r4]
|
|
str r6, [r4, 0x4]
|
|
ldr r3, _080F42B0 @ =0x81000140
|
|
str r3, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
adds r1, r6, r0
|
|
mov r0, sp
|
|
strh r5, [r0]
|
|
str r0, [r4]
|
|
str r1, [r4, 0x4]
|
|
str r3, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
ldr r0, _080F42B4 @ =gWindowConfig_81E70F0
|
|
adds r1, r6, 0
|
|
bl sub_8004E3C
|
|
movs r3, 0x88
|
|
lsls r3, 2
|
|
adds r1, r6, r3
|
|
mov r0, sp
|
|
movs r3, 0
|
|
strh r3, [r0]
|
|
str r0, [r4]
|
|
str r1, [r4, 0x4]
|
|
ldr r2, _080F42B8 @ =0x81000030
|
|
str r2, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
movs r0, 0xC4
|
|
lsls r0, 3
|
|
adds r1, r6, r0
|
|
mov r0, sp
|
|
strh r3, [r0]
|
|
str r0, [r4]
|
|
str r1, [r4, 0x4]
|
|
str r2, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
movs r1, 0x80
|
|
lsls r1, 2
|
|
adds r2, r6, r1
|
|
ldr r0, [r2]
|
|
ldr r1, _080F42BC @ =0x0fffffff
|
|
ands r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
ands r0, r1
|
|
str r0, [r2, 0x4]
|
|
ldr r0, [r2, 0x8]
|
|
ands r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0xC]
|
|
ands r0, r1
|
|
str r0, [r2, 0xC]
|
|
ldr r0, [r2, 0x10]
|
|
ands r0, r1
|
|
str r0, [r2, 0x10]
|
|
ldr r0, [r2, 0x14]
|
|
ands r0, r1
|
|
str r0, [r2, 0x14]
|
|
ldr r0, [r2, 0x18]
|
|
ands r0, r1
|
|
str r0, [r2, 0x18]
|
|
ldr r0, [r2, 0x1C]
|
|
ands r0, r1
|
|
str r0, [r2, 0x1C]
|
|
movs r3, 0xC0
|
|
lsls r3, 3
|
|
adds r2, r6, r3
|
|
ldr r0, [r2]
|
|
ands r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
ands r0, r1
|
|
str r0, [r2, 0x4]
|
|
ldr r0, [r2, 0x8]
|
|
ands r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0xC]
|
|
ands r0, r1
|
|
str r0, [r2, 0xC]
|
|
ldr r0, [r2, 0x10]
|
|
ands r0, r1
|
|
str r0, [r2, 0x10]
|
|
ldr r0, [r2, 0x14]
|
|
ands r0, r1
|
|
str r0, [r2, 0x14]
|
|
ldr r0, [r2, 0x18]
|
|
ands r0, r1
|
|
str r0, [r2, 0x18]
|
|
ldr r0, [r2, 0x1C]
|
|
ands r0, r1
|
|
str r0, [r2, 0x1C]
|
|
movs r1, 0
|
|
ldr r2, _080F42C0 @ =0x80000040
|
|
_080F4268:
|
|
lsls r0, r1, 7
|
|
adds r0, r6, r0
|
|
str r0, [r4]
|
|
lsls r0, r1, 8
|
|
adds r0, r7, r0
|
|
str r0, [r4, 0x4]
|
|
str r2, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
lsls r0, r1, 7
|
|
movs r3, 0x80
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
adds r0, r6, r0
|
|
str r0, [r4]
|
|
lsls r0, r1, 3
|
|
adds r0, 0x4
|
|
lsls r0, 5
|
|
adds r0, r7, r0
|
|
str r0, [r4, 0x4]
|
|
str r2, [r4, 0x8]
|
|
ldr r0, [r4, 0x8]
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x4
|
|
bls _080F4268
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F42A4: .4byte gUnknown_083DFEC8
|
|
_080F42A8: .4byte 0x00001111
|
|
_080F42AC: .4byte 0x040000d4
|
|
_080F42B0: .4byte 0x81000140
|
|
_080F42B4: .4byte gWindowConfig_81E70F0
|
|
_080F42B8: .4byte 0x81000030
|
|
_080F42BC: .4byte 0x0fffffff
|
|
_080F42C0: .4byte 0x80000040
|
|
thumb_func_end sub_80F4194
|
|
|
|
thumb_func_start sub_80F42C4
|
|
sub_80F42C4: @ 80F42C4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
adds r1, r0, 0
|
|
ldr r0, _080F433C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F4340 @ =0x0000d1e4
|
|
adds r0, r2
|
|
str r0, [sp]
|
|
ldr r2, _080F4344 @ =0x001a0500
|
|
str r2, [sp, 0x4]
|
|
bl sub_80F4194
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
ldr r0, _080F4348 @ =gUnknown_083E4868
|
|
bl LoadSpritePalette
|
|
movs r5, 0
|
|
movs r4, 0
|
|
ldr r6, _080F434C @ =gSprites
|
|
_080F42EE:
|
|
lsls r1, r4, 21
|
|
movs r7, 0xE2
|
|
lsls r7, 15
|
|
adds r1, r7
|
|
asrs r1, 16
|
|
ldr r0, _080F4350 @ =gSpriteTemplate_83E4878
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x40
|
|
beq _080F4360
|
|
lsls r3, r0, 4
|
|
adds r3, r0
|
|
lsls r3, 2
|
|
adds r3, r6
|
|
ldrh r2, [r3, 0x4]
|
|
lsls r0, r2, 22
|
|
lsrs r0, 22
|
|
adds r0, r5, r0
|
|
ldr r7, _080F4354 @ =0x000003ff
|
|
adds r1, r7, 0
|
|
ands r0, r1
|
|
ldr r7, _080F4358 @ =0xfffffc00
|
|
adds r1, r7, 0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strh r2, [r3, 0x4]
|
|
ldr r0, _080F433C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 2
|
|
ldr r2, _080F435C @ =0x0000ced4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
b _080F4370
|
|
.align 2, 0
|
|
_080F433C: .4byte gUnknown_083DFEC4
|
|
_080F4340: .4byte 0x0000d1e4
|
|
_080F4344: .4byte 0x001a0500
|
|
_080F4348: .4byte gUnknown_083E4868
|
|
_080F434C: .4byte gSprites
|
|
_080F4350: .4byte gSpriteTemplate_83E4878
|
|
_080F4354: .4byte 0x000003ff
|
|
_080F4358: .4byte 0xfffffc00
|
|
_080F435C: .4byte 0x0000ced4
|
|
_080F4360:
|
|
ldr r0, _080F438C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
lsls r0, r4, 2
|
|
ldr r7, _080F4390 @ =0x0000ced4
|
|
adds r1, r7
|
|
adds r1, r0
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
_080F4370:
|
|
adds r0, r5, 0
|
|
adds r0, 0x8
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x4
|
|
bls _080F42EE
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F438C: .4byte gUnknown_083DFEC4
|
|
_080F4390: .4byte 0x0000ced4
|
|
thumb_func_end sub_80F42C4
|
|
|
|
thumb_func_start sub_80F4394
|
|
sub_80F4394: @ 80F4394
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r0, _080F43CC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F43D0 @ =0x0000ced4
|
|
adds r5, r0, r1
|
|
_080F43A0:
|
|
lsls r0, r4, 2
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F43AE
|
|
bl DestroySprite
|
|
_080F43AE:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x4
|
|
bls _080F43A0
|
|
movs r0, 0x1A
|
|
bl FreeSpriteTilesByTag
|
|
movs r0, 0x12
|
|
bl FreeSpritePaletteByTag
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F43CC: .4byte gUnknown_083DFEC4
|
|
_080F43D0: .4byte 0x0000ced4
|
|
thumb_func_end sub_80F4394
|
|
|
|
thumb_func_start sub_80F43D4
|
|
sub_80F43D4: @ 80F43D4
|
|
push {r4,lr}
|
|
adds r1, r0, 0
|
|
ldr r0, _080F4410 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F4414 @ =0x0000d1e4
|
|
adds r4, r0, r2
|
|
adds r0, r4, 0
|
|
bl sub_80F4194
|
|
movs r0, 0x1A
|
|
bl GetSpriteTileStartByTag
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _080F4418 @ =0x0000ffff
|
|
cmp r1, r0
|
|
beq _080F4408
|
|
lsls r0, r1, 5
|
|
ldr r1, _080F441C @ =0x06010000
|
|
adds r0, r1
|
|
ldr r1, _080F4420 @ =0x040000d4
|
|
str r4, [r1]
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _080F4424 @ =0x84000140
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
_080F4408:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4410: .4byte gUnknown_083DFEC4
|
|
_080F4414: .4byte 0x0000d1e4
|
|
_080F4418: .4byte 0x0000ffff
|
|
_080F441C: .4byte 0x06010000
|
|
_080F4420: .4byte 0x040000d4
|
|
_080F4424: .4byte 0x84000140
|
|
thumb_func_end sub_80F43D4
|
|
|
|
thumb_func_start sub_80F4428
|
|
sub_80F4428: @ 80F4428
|
|
push {lr}
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
bl sub_80F6514
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F4428
|
|
|
|
thumb_func_start sub_80F443C
|
|
sub_80F443C: @ 80F443C
|
|
push {r4,lr}
|
|
lsls r4, r1, 16
|
|
lsrs r4, 16
|
|
ldr r1, _080F4458 @ =gOtherText_Number
|
|
bl StringCopy
|
|
adds r1, r4, 0
|
|
movs r2, 0x38
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F4458: .4byte gOtherText_Number
|
|
thumb_func_end sub_80F443C
|
|
|
|
thumb_func_start sub_80F445C
|
|
sub_80F445C: @ 80F445C
|
|
push {r4,lr}
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r2, 0x17
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r4, r0, 0
|
|
movs r3, 0xFC
|
|
strb r3, [r4]
|
|
movs r2, 0x11
|
|
strb r2, [r4, 0x1]
|
|
movs r1, 0x1
|
|
strb r1, [r4, 0x2]
|
|
adds r4, 0x3
|
|
movs r0, 0xBA
|
|
strb r0, [r4]
|
|
adds r4, 0x1
|
|
strb r3, [r4]
|
|
strb r2, [r4, 0x1]
|
|
strb r1, [r4, 0x2]
|
|
adds r4, 0x3
|
|
ldr r0, _080F44A8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F44AC @ =0x00008774
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
adds r1, 0x1
|
|
adds r0, r4, 0
|
|
movs r2, 0x32
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r4, r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F44A8: .4byte gUnknown_083DFEC4
|
|
_080F44AC: .4byte 0x00008774
|
|
thumb_func_end sub_80F445C
|
|
|
|
thumb_func_start sub_80F44B0
|
|
sub_80F44B0: @ 80F44B0
|
|
push {r4,lr}
|
|
adds r4, r2, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r2, r1, 16
|
|
cmp r0, 0xE
|
|
bne _080F44F4
|
|
cmp r4, 0x2
|
|
beq _080F44C8
|
|
cmp r4, 0x7
|
|
bne _080F44E0
|
|
_080F44C8:
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r1, _080F44DC @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
adds r2, r3, 0
|
|
bl GetMonData
|
|
b _080F453C
|
|
.align 2, 0
|
|
_080F44DC: .4byte gPlayerParty
|
|
_080F44E0:
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r1, _080F44F0 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
bl GetMonData
|
|
b _080F453C
|
|
.align 2, 0
|
|
_080F44F0: .4byte gPlayerParty
|
|
_080F44F4:
|
|
cmp r4, 0x2
|
|
beq _080F44FC
|
|
cmp r4, 0x7
|
|
bne _080F4520
|
|
_080F44FC:
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
ldr r2, _080F451C @ =gPokemonStorage + 0x4
|
|
adds r1, r2
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
adds r2, r3, 0
|
|
bl GetBoxMonData
|
|
b _080F453C
|
|
.align 2, 0
|
|
_080F451C: .4byte gPokemonStorage + 0x4
|
|
_080F4520:
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
ldr r2, _080F4544 @ =gPokemonStorage + 0x4
|
|
adds r1, r2
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
bl GetBoxMonData
|
|
_080F453C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F4544: .4byte gPokemonStorage + 0x4
|
|
thumb_func_end sub_80F44B0
|
|
|
|
thumb_func_start sub_80F4548
|
|
sub_80F4548: @ 80F4548
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
mov r0, sp
|
|
strb r2, [r0]
|
|
cmp r3, 0xE
|
|
bne _080F4574
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _080F4570 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
mov r2, sp
|
|
bl SetMonData
|
|
b _080F4592
|
|
.align 2, 0
|
|
_080F4570: .4byte gPlayerParty
|
|
_080F4574:
|
|
lsls r1, r3, 2
|
|
adds r1, r3
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
ldr r2, _080F459C @ =gPokemonStorage + 0x4
|
|
adds r1, r2
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
mov r2, sp
|
|
bl SetBoxMonData
|
|
_080F4592:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F459C: .4byte gPokemonStorage + 0x4
|
|
thumb_func_end sub_80F4548
|
|
|
|
thumb_func_start sub_80F45A0
|
|
sub_80F45A0: @ 80F45A0
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
ldr r1, _080F45F0 @ =gUnknown_083DFEC4
|
|
ldr r5, [r1]
|
|
lsls r1, r0, 16
|
|
asrs r0, r1, 14
|
|
adds r4, r5, r0
|
|
ldr r2, _080F45F4 @ =0x0000893f
|
|
adds r0, r4, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 25
|
|
lsrs r7, r0, 31
|
|
cmp r7, 0
|
|
beq _080F4644
|
|
lsls r0, r6, 6
|
|
ldr r2, _080F45F8 @ =0x00008829
|
|
adds r0, r2
|
|
adds r0, r5, r0
|
|
lsrs r1, 16
|
|
movs r2, 0
|
|
bl sub_80F4428
|
|
ldr r1, _080F45FC @ =0x0000893d
|
|
adds r0, r4, r1
|
|
ldrb r2, [r0]
|
|
cmp r2, 0xE
|
|
bne _080F4608
|
|
lsls r0, r6, 1
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r2, _080F4600 @ =0x000088e9
|
|
adds r0, r2
|
|
adds r0, r5, r0
|
|
ldr r1, _080F4604 @ =gOtherText_InParty
|
|
movs r2, 0x40
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
b _080F4624
|
|
.align 2, 0
|
|
_080F45F0: .4byte gUnknown_083DFEC4
|
|
_080F45F4: .4byte 0x0000893f
|
|
_080F45F8: .4byte 0x00008829
|
|
_080F45FC: .4byte 0x0000893d
|
|
_080F4600: .4byte 0x000088e9
|
|
_080F4604: .4byte gOtherText_InParty
|
|
_080F4608:
|
|
lsls r0, r6, 1
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r1, _080F4634 @ =0x000088e9
|
|
adds r0, r1
|
|
adds r0, r5, r0
|
|
lsls r1, r2, 3
|
|
adds r1, r2
|
|
ldr r2, _080F4638 @ =gPokemonStorage + 0x8344
|
|
adds r1, r2
|
|
movs r2, 0x40
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
_080F4624:
|
|
ldr r0, _080F463C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F4640 @ =0x00008937
|
|
adds r0, r2
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _080F4676
|
|
.align 2, 0
|
|
_080F4634: .4byte 0x000088e9
|
|
_080F4638: .4byte gPokemonStorage + 0x8344
|
|
_080F463C: .4byte gUnknown_083DFEC4
|
|
_080F4640: .4byte 0x00008937
|
|
_080F4644:
|
|
lsls r0, r6, 6
|
|
ldr r1, _080F467C @ =0x00008829
|
|
adds r0, r1
|
|
adds r0, r5, r0
|
|
ldr r4, _080F4680 @ =gEmptyString_81E72B0
|
|
adds r1, r4, 0
|
|
movs r2, 0x68
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
lsls r0, r6, 1
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r2, _080F4684 @ =0x000088e9
|
|
adds r0, r2
|
|
adds r0, r5, r0
|
|
adds r1, r4, 0
|
|
movs r2, 0x40
|
|
movs r3, 0
|
|
bl sub_8072C74
|
|
ldr r1, _080F4688 @ =0x00008937
|
|
adds r0, r5, r1
|
|
adds r0, r6
|
|
strb r7, [r0]
|
|
_080F4676:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F467C: .4byte 0x00008829
|
|
_080F4680: .4byte gEmptyString_81E72B0
|
|
_080F4684: .4byte 0x000088e9
|
|
_080F4688: .4byte 0x00008937
|
|
thumb_func_end sub_80F45A0
|
|
|
|
thumb_func_start sub_80F468C
|
|
sub_80F468C: @ 80F468C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r9, r1
|
|
ldr r1, _080F475C @ =gUnknown_083DFEC4
|
|
ldr r7, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 14
|
|
adds r1, r7, r0
|
|
ldr r2, _080F4760 @ =0x0000893f
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 25
|
|
cmp r0, 0
|
|
blt _080F46B2
|
|
b _080F47C4
|
|
_080F46B2:
|
|
ldr r3, _080F4764 @ =0x0000893d
|
|
adds r0, r1, r3
|
|
ldrb r5, [r0]
|
|
subs r2, 0x1
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 27
|
|
lsrs r6, r0, 27
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x16
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
mov r3, r9
|
|
lsls r3, 2
|
|
mov r8, r3
|
|
mov r4, r8
|
|
add r4, r9
|
|
ldr r2, _080F4768 @ =0x00008ff0
|
|
adds r1, r7, r2
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x2F
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
ldr r3, _080F476C @ =0x00008ff1
|
|
adds r1, r7, r3
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x21
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
ldr r2, _080F4770 @ =0x00008ff2
|
|
adds r1, r7, r2
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x18
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
ldr r3, _080F4774 @ =0x00008ff3
|
|
adds r1, r7, r3
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x17
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
ldr r2, _080F4778 @ =0x00008ff4
|
|
adds r1, r7, r2
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
ldr r3, _080F477C @ =0x00008931
|
|
adds r0, r7, r3
|
|
mov r7, r9
|
|
adds r4, r0, r7
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x30
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
cmp r0, 0xFF
|
|
beq _080F4780
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x30
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
movs r1, 0x1D
|
|
bl __udivsi3
|
|
b _080F4782
|
|
.align 2, 0
|
|
_080F475C: .4byte gUnknown_083DFEC4
|
|
_080F4760: .4byte 0x0000893f
|
|
_080F4764: .4byte 0x0000893d
|
|
_080F4768: .4byte 0x00008ff0
|
|
_080F476C: .4byte 0x00008ff1
|
|
_080F4770: .4byte 0x00008ff2
|
|
_080F4774: .4byte 0x00008ff3
|
|
_080F4778: .4byte 0x00008ff4
|
|
_080F477C: .4byte 0x00008931
|
|
_080F4780:
|
|
movs r0, 0x9
|
|
_080F4782:
|
|
strb r0, [r4]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x8
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
ldr r1, _080F47B4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r1]
|
|
ldr r3, _080F47B8 @ =0x00008934
|
|
adds r2, r1, r3
|
|
add r2, r9
|
|
strb r0, [r2]
|
|
mov r2, r8
|
|
add r2, r9
|
|
ldr r7, _080F47BC @ =0x00008ff0
|
|
adds r0, r2, r7
|
|
adds r0, r1, r0
|
|
lsls r2, 2
|
|
ldr r3, _080F47C0 @ =0x00009004
|
|
adds r2, r3
|
|
adds r1, r2
|
|
bl sub_80F55AC
|
|
b _080F480A
|
|
.align 2, 0
|
|
_080F47B4: .4byte gUnknown_083DFEC4
|
|
_080F47B8: .4byte 0x00008934
|
|
_080F47BC: .4byte 0x00008ff0
|
|
_080F47C0: .4byte 0x00009004
|
|
_080F47C4:
|
|
movs r3, 0
|
|
mov r0, r9
|
|
lsls r0, 2
|
|
mov r8, r0
|
|
adds r4, r7, 0
|
|
mov r2, r8
|
|
add r2, r9
|
|
ldr r1, _080F4818 @ =0x00008ff0
|
|
adds r6, r4, r1
|
|
lsls r5, r2, 2
|
|
mov r9, r3
|
|
ldr r7, _080F481C @ =0x00009004
|
|
mov r8, r7
|
|
movs r0, 0x9B
|
|
mov r12, r0
|
|
_080F47E2:
|
|
adds r0, r3, r2
|
|
adds r0, r6, r0
|
|
mov r1, r9
|
|
strb r1, [r0]
|
|
lsls r0, r3, 2
|
|
adds r0, r5
|
|
adds r0, r4, r0
|
|
mov r7, r8
|
|
adds r1, r0, r7
|
|
mov r7, r12
|
|
strh r7, [r1]
|
|
ldr r1, _080F4820 @ =0x00009006
|
|
adds r0, r1
|
|
movs r1, 0x5B
|
|
strh r1, [r0]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x4
|
|
bls _080F47E2
|
|
_080F480A:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4818: .4byte 0x00008ff0
|
|
_080F481C: .4byte 0x00009004
|
|
_080F4820: .4byte 0x00009006
|
|
thumb_func_end sub_80F468C
|
|
|
|
thumb_func_start sub_80F4824
|
|
sub_80F4824: @ 80F4824
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r9, r1
|
|
ldr r1, _080F48E0 @ =gUnknown_083DFEC4
|
|
ldr r7, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 14
|
|
adds r1, r7, r0
|
|
ldr r2, _080F48E4 @ =0x0000893f
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 25
|
|
cmp r0, 0
|
|
bge _080F48D0
|
|
ldr r6, _080F48E8 @ =0x0000893d
|
|
adds r0, r1, r6
|
|
ldrb r6, [r0]
|
|
subs r2, 0x1
|
|
adds r0, r1, r2
|
|
ldrb r4, [r0]
|
|
lsls r4, 27
|
|
lsrs r4, 27
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x41
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x1
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
mov r8, r0
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
adds r4, r0, 0
|
|
lsls r0, r5, 3
|
|
ldr r1, _080F48EC @ =gMonFrontPicTable
|
|
adds r0, r1
|
|
ldr r2, _080F48F0 @ =gMonFrontPicCoords
|
|
lsls r1, r5, 2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
ldr r6, _080F48F4 @ =0x000131e4
|
|
adds r3, r7, r6
|
|
mov r6, r9
|
|
lsls r2, r6, 13
|
|
ldr r6, _080F48F8 @ =0x0000d1e4
|
|
adds r2, r6
|
|
adds r2, r7, r2
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0x1
|
|
bl HandleLoadSpecialPokePic
|
|
adds r0, r5, 0
|
|
mov r1, r8
|
|
adds r2, r4, 0
|
|
bl species_and_otid_get_pal
|
|
mov r2, r9
|
|
lsls r1, r2, 7
|
|
adds r1, r7, r1
|
|
bl LZ77UnCompWram
|
|
mov r6, r9
|
|
lsls r1, r6, 1
|
|
ldr r2, _080F48FC @ =0x0000d1d6
|
|
adds r0, r7, r2
|
|
adds r0, r1
|
|
strh r5, [r0]
|
|
_080F48D0:
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F48E0: .4byte gUnknown_083DFEC4
|
|
_080F48E4: .4byte 0x0000893f
|
|
_080F48E8: .4byte 0x0000893d
|
|
_080F48EC: .4byte gMonFrontPicTable
|
|
_080F48F0: .4byte gMonFrontPicCoords
|
|
_080F48F4: .4byte 0x000131e4
|
|
_080F48F8: .4byte 0x0000d1e4
|
|
_080F48FC: .4byte 0x0000d1d6
|
|
thumb_func_end sub_80F4824
|
|
|
|
thumb_func_start sub_80F4900
|
|
sub_80F4900: @ 80F4900
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80F45A0
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80F468C
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80F4824
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F4900
|
|
|
|
thumb_func_start sub_80F492C
|
|
sub_80F492C: @ 80F492C
|
|
ldr r0, _080F493C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F4940 @ =0x00008fe4
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F493C: .4byte gUnknown_083DFEC4
|
|
_080F4940: .4byte 0x00008fe4
|
|
thumb_func_end sub_80F492C
|
|
|
|
thumb_func_start sub_80F4944
|
|
sub_80F4944: @ 80F4944
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r12, r0
|
|
movs r2, 0
|
|
ldr r1, _080F4978 @ =gUnknown_083DFEC4
|
|
ldr r5, [r1]
|
|
ldr r3, _080F497C @ =0x00008fe4
|
|
adds r0, r5, r3
|
|
ldrh r4, [r0]
|
|
lsrs r3, r4, 1
|
|
mov r8, r1
|
|
cmp r4, r3
|
|
beq _080F499C
|
|
adds r6, r5, 0
|
|
mov r0, r12
|
|
ldrb r5, [r0]
|
|
ldr r7, _080F4980 @ =0x0000893c
|
|
_080F4968:
|
|
lsls r0, r3, 2
|
|
adds r0, r6, r0
|
|
adds r0, r7
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bls _080F4984
|
|
adds r4, r3, 0
|
|
b _080F498A
|
|
.align 2, 0
|
|
_080F4978: .4byte gUnknown_083DFEC4
|
|
_080F497C: .4byte 0x00008fe4
|
|
_080F4980: .4byte 0x0000893c
|
|
_080F4984:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
_080F498A:
|
|
subs r0, r4, r2
|
|
lsrs r1, r0, 31
|
|
adds r0, r1
|
|
asrs r0, 1
|
|
adds r0, r2, r0
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r4, r3
|
|
bne _080F4968
|
|
_080F499C:
|
|
mov r1, r8
|
|
ldr r2, [r1]
|
|
ldr r1, _080F49EC @ =0x00008fe4
|
|
adds r0, r2, r1
|
|
ldrh r4, [r0]
|
|
lsls r6, r3, 2
|
|
cmp r4, r3
|
|
bls _080F49C6
|
|
ldr r0, _080F49F0 @ =0x0000893c
|
|
adds r5, r2, r0
|
|
_080F49B0:
|
|
lsls r2, r4, 2
|
|
adds r2, r5, r2
|
|
subs r1, r4, 0x1
|
|
lsls r0, r1, 2
|
|
adds r0, r5, r0
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
cmp r4, r3
|
|
bhi _080F49B0
|
|
_080F49C6:
|
|
mov r1, r8
|
|
ldr r2, [r1]
|
|
ldr r3, _080F49F0 @ =0x0000893c
|
|
adds r0, r2, r3
|
|
adds r0, r6
|
|
mov r3, r12
|
|
ldr r1, [r3]
|
|
str r1, [r0]
|
|
ldr r0, _080F49EC @ =0x00008fe4
|
|
adds r2, r0
|
|
ldrh r0, [r2]
|
|
adds r0, 0x1
|
|
strh r0, [r2]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F49EC: .4byte 0x00008fe4
|
|
_080F49F0: .4byte 0x0000893c
|
|
thumb_func_end sub_80F4944
|
|
|
|
thumb_func_start sub_80F49F4
|
|
sub_80F49F4: @ 80F49F4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r3, _080F4A64 @ =gUnknown_083DFEC4
|
|
ldr r4, [r3]
|
|
ldr r7, _080F4A68 @ =0x0000893e
|
|
adds r2, r4, r7
|
|
ldrh r1, [r2]
|
|
ldr r0, _080F4A6C @ =0xffffc01f
|
|
mov r12, r0
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
movs r5, 0x1
|
|
ldr r1, _080F4A70 @ =0x00008fe4
|
|
adds r0, r4, r1
|
|
ldrh r3, [r0]
|
|
cmp r5, r3
|
|
bcs _080F4A9E
|
|
adds r6, r4, 0
|
|
ldr r1, _080F4A74 @ =0x0000893c
|
|
mov r8, r1
|
|
ldr r3, _080F4A78 @ =0x000001ff
|
|
mov r10, r3
|
|
mov r9, r0
|
|
_080F4A2C:
|
|
lsls r0, r5, 2
|
|
adds r3, r6, r0
|
|
mov r0, r8
|
|
adds r2, r3, r0
|
|
subs r0, r5, 0x1
|
|
lsls r0, 2
|
|
adds r4, r6, r0
|
|
mov r0, r8
|
|
adds r1, r4, r0
|
|
ldrb r0, [r2]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F4A7C
|
|
adds r0, r4, r7
|
|
ldrh r0, [r0]
|
|
lsls r0, 18
|
|
lsrs r0, 23
|
|
adds r3, r7
|
|
ldr r1, _080F4A78 @ =0x000001ff
|
|
ands r1, r0
|
|
lsls r1, 5
|
|
ldrh r2, [r3]
|
|
mov r0, r12
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r3]
|
|
adds r4, r5, 0x1
|
|
b _080F4A92
|
|
.align 2, 0
|
|
_080F4A64: .4byte gUnknown_083DFEC4
|
|
_080F4A68: .4byte 0x0000893e
|
|
_080F4A6C: .4byte 0xffffc01f
|
|
_080F4A70: .4byte 0x00008fe4
|
|
_080F4A74: .4byte 0x0000893c
|
|
_080F4A78: .4byte 0x000001ff
|
|
_080F4A7C:
|
|
adds r4, r5, 0x1
|
|
adds r3, r7
|
|
adds r1, r4, 0
|
|
mov r0, r10
|
|
ands r1, r0
|
|
lsls r1, 5
|
|
ldrh r2, [r3]
|
|
mov r0, r12
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strh r0, [r3]
|
|
_080F4A92:
|
|
lsls r0, r4, 16
|
|
lsrs r5, r0, 16
|
|
mov r1, r9
|
|
ldrh r1, [r1]
|
|
cmp r5, r1
|
|
bcc _080F4A2C
|
|
_080F4A9E:
|
|
ldr r3, _080F4AC4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r3]
|
|
ldr r1, _080F4AC8 @ =0x0000876c
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r3, _080F4ACC @ =0x00008770
|
|
adds r0, r2, r3
|
|
strh r1, [r0]
|
|
subs r3, 0x2
|
|
adds r0, r2, r3
|
|
strh r1, [r0]
|
|
ldr r1, _080F4AD0 @ =0x00008fe4
|
|
adds r0, r2, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _080F4AD4
|
|
subs r1, r0, 0x1
|
|
b _080F4AD6
|
|
.align 2, 0
|
|
_080F4AC4: .4byte gUnknown_083DFEC4
|
|
_080F4AC8: .4byte 0x0000876c
|
|
_080F4ACC: .4byte 0x00008770
|
|
_080F4AD0: .4byte 0x00008fe4
|
|
_080F4AD4:
|
|
movs r1, 0x7
|
|
_080F4AD6:
|
|
ldr r3, _080F4B10 @ =0x00008772
|
|
adds r0, r2, r3
|
|
strh r1, [r0]
|
|
ldr r0, _080F4B14 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F4B18 @ =0x00008fe4
|
|
adds r0, r2, r1
|
|
ldrh r0, [r0]
|
|
subs r0, 0x1
|
|
adds r3, 0x2
|
|
adds r1, r2, r3
|
|
strh r0, [r1]
|
|
movs r1, 0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x7
|
|
ble _080F4AFA
|
|
movs r1, 0x1
|
|
_080F4AFA:
|
|
ldr r3, _080F4B1C @ =0x000087c9
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4B10: .4byte 0x00008772
|
|
_080F4B14: .4byte gUnknown_083DFEC4
|
|
_080F4B18: .4byte 0x00008fe4
|
|
_080F4B1C: .4byte 0x000087c9
|
|
thumb_func_end sub_80F49F4
|
|
|
|
thumb_func_start sub_80F4B20
|
|
sub_80F4B20: @ 80F4B20
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F4B5C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F4B60 @ =0x000087dc
|
|
adds r5, r4, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
movs r1, 0
|
|
bl sub_80F4900
|
|
movs r0, 0
|
|
bl sub_80F2E18
|
|
ldr r0, _080F4B64 @ =0x000087da
|
|
adds r2, r4, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x1
|
|
bne _080F4B6C
|
|
ldr r2, _080F4B68 @ =0x00008fe9
|
|
adds r0, r4, r2
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
b _080F4BBE
|
|
.align 2, 0
|
|
_080F4B5C: .4byte gUnknown_083DFEC4
|
|
_080F4B60: .4byte 0x000087dc
|
|
_080F4B64: .4byte 0x000087da
|
|
_080F4B68: .4byte 0x00008fe9
|
|
_080F4B6C:
|
|
ldr r0, _080F4BC4 @ =0x00008fe9
|
|
adds r1, r4, r0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _080F4BC8 @ =0x00008fea
|
|
adds r1, r4, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r0, _080F4BCC @ =0x00008feb
|
|
adds r1, r4, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldrh r3, [r5]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
asrs r0, 16
|
|
ldrh r6, [r2]
|
|
movs r4, 0
|
|
ldrsh r1, [r2, r4]
|
|
cmp r0, r1
|
|
blt _080F4B9A
|
|
movs r5, 0
|
|
_080F4B9A:
|
|
subs r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r0, 0
|
|
bge _080F4BAA
|
|
subs r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
_080F4BAA:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
movs r1, 0x1
|
|
bl sub_80F4900
|
|
lsls r0, r4, 16
|
|
asrs r0, 16
|
|
movs r1, 0x2
|
|
bl sub_80F4900
|
|
_080F4BBE:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4BC4: .4byte 0x00008fe9
|
|
_080F4BC8: .4byte 0x00008fea
|
|
_080F4BCC: .4byte 0x00008feb
|
|
thumb_func_end sub_80F4B20
|
|
|
|
thumb_func_start sub_80F4BD0
|
|
sub_80F4BD0: @ 80F4BD0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
movs r6, 0
|
|
movs r7, 0
|
|
ldr r0, _080F4CC4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r3, _080F4CC8 @ =0x00008828
|
|
adds r1, r2, r3
|
|
mov r9, r0
|
|
ldrb r1, [r1]
|
|
cmp r7, r1
|
|
bcs _080F4C66
|
|
mov r10, r9
|
|
adds r4, r3, 0
|
|
adds r4, r2
|
|
mov r8, r4
|
|
_080F4BF6:
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _080F4CCC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080F4C58
|
|
mov r0, r10
|
|
ldr r3, [r0]
|
|
lsls r0, r7, 2
|
|
adds r3, r0
|
|
ldr r2, _080F4CD0 @ =0x0000893d
|
|
adds r1, r3, r2
|
|
movs r0, 0xE
|
|
strb r0, [r1]
|
|
ldr r4, _080F4CD4 @ =0x0000893e
|
|
adds r5, r3, r4
|
|
movs r0, 0x1F
|
|
adds r2, r6, 0
|
|
ands r2, r0
|
|
ldrb r0, [r5]
|
|
movs r4, 0x20
|
|
negs r4, r4
|
|
adds r1, r4, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5]
|
|
adds r4, r7, 0x1
|
|
ldr r7, _080F4CD8 @ =0x000001ff
|
|
adds r0, r7, 0
|
|
adds r2, r4, 0
|
|
ands r2, r0
|
|
lsls r2, 5
|
|
ldrh r0, [r5]
|
|
ldr r7, _080F4CDC @ =0xffffc01f
|
|
adds r1, r7, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r5]
|
|
ldr r0, _080F4CE0 @ =0x0000893f
|
|
adds r3, r0
|
|
ldrb r0, [r3]
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
lsls r4, 16
|
|
lsrs r7, r4, 16
|
|
_080F4C58:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
mov r1, r8
|
|
ldrb r1, [r1]
|
|
cmp r6, r1
|
|
bcc _080F4BF6
|
|
_080F4C66:
|
|
mov r2, r9
|
|
ldr r4, [r2]
|
|
lsls r1, r7, 2
|
|
adds r1, r4, r1
|
|
ldr r3, _080F4CD0 @ =0x0000893d
|
|
adds r0, r1, r3
|
|
movs r5, 0
|
|
strb r5, [r0]
|
|
ldr r0, _080F4CD4 @ =0x0000893e
|
|
adds r2, r1, r0
|
|
ldrb r3, [r2]
|
|
movs r0, 0x20
|
|
negs r0, r0
|
|
ands r0, r3
|
|
strb r0, [r2]
|
|
ldrh r3, [r2]
|
|
ldr r0, _080F4CDC @ =0xffffc01f
|
|
ands r0, r3
|
|
strh r0, [r2]
|
|
ldr r2, _080F4CE0 @ =0x0000893f
|
|
adds r1, r2
|
|
ldrb r2, [r1]
|
|
movs r0, 0x41
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r3, _080F4CE4 @ =0x000087dc
|
|
adds r0, r4, r3
|
|
strh r5, [r0]
|
|
adds r1, r7, 0x1
|
|
ldr r7, _080F4CE8 @ =0x000087da
|
|
adds r0, r4, r7
|
|
strh r1, [r0]
|
|
bl sub_80F4B20
|
|
ldr r0, _080F4CEC @ =0x000087cb
|
|
adds r4, r0
|
|
movs r0, 0x1
|
|
strb r0, [r4]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4CC4: .4byte gUnknown_083DFEC4
|
|
_080F4CC8: .4byte 0x00008828
|
|
_080F4CCC: .4byte gPlayerParty
|
|
_080F4CD0: .4byte 0x0000893d
|
|
_080F4CD4: .4byte 0x0000893e
|
|
_080F4CD8: .4byte 0x000001ff
|
|
_080F4CDC: .4byte 0xffffc01f
|
|
_080F4CE0: .4byte 0x0000893f
|
|
_080F4CE4: .4byte 0x000087dc
|
|
_080F4CE8: .4byte 0x000087da
|
|
_080F4CEC: .4byte 0x000087cb
|
|
thumb_func_end sub_80F4BD0
|
|
|
|
thumb_func_start sub_80F4CF0
|
|
sub_80F4CF0: @ 80F4CF0
|
|
push {r4,lr}
|
|
ldr r0, _080F4D1C @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F4D20 @ =0x0000876e
|
|
adds r0, r4, r1
|
|
ldrh r1, [r0]
|
|
ldr r2, _080F4D24 @ =0x000087dc
|
|
adds r0, r4, r2
|
|
strh r1, [r0]
|
|
bl sub_80F4B20
|
|
ldr r1, _080F4D28 @ =0x00008774
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, 0
|
|
bne _080F4D30
|
|
ldr r0, _080F4D2C @ =0x000087cb
|
|
adds r1, r4, r0
|
|
movs r0, 0
|
|
b _080F4D36
|
|
.align 2, 0
|
|
_080F4D1C: .4byte gUnknown_083DFEC4
|
|
_080F4D20: .4byte 0x0000876e
|
|
_080F4D24: .4byte 0x000087dc
|
|
_080F4D28: .4byte 0x00008774
|
|
_080F4D2C: .4byte 0x000087cb
|
|
_080F4D30:
|
|
ldr r2, _080F4D40 @ =0x000087cb
|
|
adds r1, r4, r2
|
|
movs r0, 0x1
|
|
_080F4D36:
|
|
strb r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4D40: .4byte 0x000087cb
|
|
thumb_func_end sub_80F4CF0
|
|
|
|
thumb_func_start sub_80F4D44
|
|
sub_80F4D44: @ 80F4D44
|
|
push {r4,lr}
|
|
ldr r0, _080F4D78 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F4D7C @ =0x00008fe6
|
|
adds r0, r4, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080F4D80 @ =0x00008fe7
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
bl sub_80F492C
|
|
ldr r0, _080F4D84 @ =0x00006dac
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _080F4D70
|
|
_080F4D66:
|
|
bl sub_80F4D88
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F4D66
|
|
_080F4D70:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4D78: .4byte gUnknown_083DFEC4
|
|
_080F4D7C: .4byte 0x00008fe6
|
|
_080F4D80: .4byte 0x00008fe7
|
|
_080F4D84: .4byte 0x00006dac
|
|
thumb_func_end sub_80F4D44
|
|
|
|
thumb_func_start sub_80F4D88
|
|
sub_80F4D88: @ 80F4D88
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
ldr r6, _080F4E98 @ =gUnknown_083DFEC4
|
|
ldr r4, [r6]
|
|
ldr r1, _080F4E9C @ =0x00008fe6
|
|
adds r0, r4, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0xE
|
|
bne _080F4DA4
|
|
b _080F4EB8
|
|
_080F4DA4:
|
|
cmp r3, 0xF
|
|
bne _080F4DAA
|
|
b _080F4F60
|
|
_080F4DAA:
|
|
movs r1, 0x80
|
|
lsls r1, 23
|
|
ldr r0, [sp]
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
movs r7, 0
|
|
mov r10, r6
|
|
ldr r2, _080F4E9C @ =0x00008fe6
|
|
adds r6, r4, r2
|
|
ldr r3, _080F4EA0 @ =0x00008fe7
|
|
adds r5, r4, r3
|
|
ldr r0, _080F4EA4 @ =0x000087d8
|
|
adds r0, r4
|
|
mov r9, r0
|
|
ldr r1, _080F4EA8 @ =gPokemonStorage + 0x4
|
|
mov r8, r1
|
|
_080F4DCA:
|
|
ldrb r0, [r6]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r5]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
add r1, r8
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _080F4E60
|
|
ldrb r0, [r6]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r5]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
add r1, r8
|
|
adds r0, r1
|
|
movs r1, 0x2D
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
bne _080F4E60
|
|
ldrb r1, [r6]
|
|
lsls r1, 8
|
|
ldr r2, _080F4EAC @ =0xffff00ff
|
|
ldr r0, [sp]
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
ldrb r2, [r5]
|
|
movs r1, 0x1F
|
|
ands r2, r1
|
|
lsls r2, 16
|
|
ldr r1, _080F4EB0 @ =0xffe0ffff
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp]
|
|
ldrb r0, [r6]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r5]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
add r1, r8
|
|
adds r0, r1
|
|
mov r2, r9
|
|
ldrb r1, [r2]
|
|
bl GetBoxMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _080F4EB4 @ =0xffffff00
|
|
ldr r1, [sp]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp]
|
|
mov r0, sp
|
|
bl sub_80F4944
|
|
_080F4E60:
|
|
mov r3, r10
|
|
ldr r1, [r3]
|
|
ldr r0, _080F4EA0 @ =0x00008fe7
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2]
|
|
adds r0, 0x1
|
|
movs r4, 0
|
|
strb r0, [r2]
|
|
movs r3, 0xFF
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1E
|
|
bne _080F4E8C
|
|
strb r4, [r2]
|
|
ldr r2, _080F4E9C @ =0x00008fe6
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
ands r0, r3
|
|
cmp r0, 0xE
|
|
beq _080F4F64
|
|
_080F4E8C:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0xE
|
|
bls _080F4DCA
|
|
b _080F4F64
|
|
.align 2, 0
|
|
_080F4E98: .4byte gUnknown_083DFEC4
|
|
_080F4E9C: .4byte 0x00008fe6
|
|
_080F4EA0: .4byte 0x00008fe7
|
|
_080F4EA4: .4byte 0x000087d8
|
|
_080F4EA8: .4byte gPokemonStorage + 0x4
|
|
_080F4EAC: .4byte 0xffff00ff
|
|
_080F4EB0: .4byte 0xffe0ffff
|
|
_080F4EB4: .4byte 0xffffff00
|
|
_080F4EB8:
|
|
mov r2, sp
|
|
ldrb r0, [r2, 0x3]
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x3]
|
|
strb r3, [r2, 0x1]
|
|
movs r7, 0
|
|
ldr r3, _080F4F44 @ =0x00008828
|
|
adds r0, r4, r3
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
bcs _080F4F24
|
|
mov r5, sp
|
|
mov r8, r6
|
|
adds r6, r4, r3
|
|
_080F4ED6:
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _080F4F48 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080F4F18
|
|
movs r0, 0x1F
|
|
adds r2, r7, 0
|
|
ands r2, r0
|
|
ldrb r0, [r5, 0x2]
|
|
movs r3, 0x20
|
|
negs r3, r3
|
|
adds r1, r3, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, 0x2]
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r2, _080F4F4C @ =0x000087d8
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
bl GetMonData
|
|
strb r0, [r5]
|
|
mov r0, sp
|
|
bl sub_80F4944
|
|
_080F4F18:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
ldrb r3, [r6]
|
|
cmp r7, r3
|
|
bcc _080F4ED6
|
|
_080F4F24:
|
|
bl sub_80F49F4
|
|
ldr r0, _080F4F50 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F4F54 @ =0x00008fe4
|
|
adds r0, r1, r2
|
|
ldrh r2, [r0]
|
|
ldr r3, _080F4F58 @ =0x000087da
|
|
adds r0, r1, r3
|
|
strh r2, [r0]
|
|
ldr r0, _080F4F5C @ =0x00008fe6
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F4F64
|
|
.align 2, 0
|
|
_080F4F44: .4byte 0x00008828
|
|
_080F4F48: .4byte gPlayerParty
|
|
_080F4F4C: .4byte 0x000087d8
|
|
_080F4F50: .4byte gUnknown_083DFEC4
|
|
_080F4F54: .4byte 0x00008fe4
|
|
_080F4F58: .4byte 0x000087da
|
|
_080F4F5C: .4byte 0x00008fe6
|
|
_080F4F60:
|
|
movs r0, 0
|
|
b _080F4F66
|
|
_080F4F64:
|
|
movs r0, 0x1
|
|
_080F4F66:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F4D88
|
|
|
|
thumb_func_start sub_80F4F78
|
|
sub_80F4F78: @ 80F4F78
|
|
push {lr}
|
|
ldr r0, _080F4FA4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F4FA8 @ =0x00009040
|
|
adds r0, r1, r2
|
|
ldr r3, _080F4FAC @ =0x00008fe9
|
|
adds r2, r1, r3
|
|
movs r3, 0
|
|
ldrsb r3, [r2, r3]
|
|
lsls r2, r3, 2
|
|
adds r2, r3
|
|
lsls r2, 2
|
|
ldr r3, _080F4FB0 @ =0x00009004
|
|
adds r2, r3
|
|
adds r1, r2
|
|
bl sub_80F53EC
|
|
bl sub_80F5504
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4FA4: .4byte gUnknown_083DFEC4
|
|
_080F4FA8: .4byte 0x00009040
|
|
_080F4FAC: .4byte 0x00008fe9
|
|
_080F4FB0: .4byte 0x00009004
|
|
thumb_func_end sub_80F4F78
|
|
|
|
thumb_func_start sub_80F4FB4
|
|
sub_80F4FB4: @ 80F4FB4
|
|
push {r4,lr}
|
|
bl sub_80F5504
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80F170C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
cmp r4, 0
|
|
bne _080F4FD2
|
|
cmp r0, 0
|
|
beq _080F4FD4
|
|
_080F4FD2:
|
|
movs r1, 0x1
|
|
_080F4FD4:
|
|
adds r0, r1, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F4FB4
|
|
|
|
thumb_func_start sub_80F4FDC
|
|
sub_80F4FDC: @ 80F4FDC
|
|
push {lr}
|
|
ldr r0, _080F5020 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F5024 @ =0x000076aa
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F4FFE
|
|
ldr r3, _080F5028 @ =0x000087dc
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
ldr r3, _080F502C @ =0x00008828
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _080F501A
|
|
_080F4FFE:
|
|
ldr r1, _080F5030 @ =0x00008fe9
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r3, _080F5034 @ =0x00009004
|
|
adds r0, r3
|
|
adds r0, r2, r0
|
|
adds r3, 0x3C
|
|
adds r1, r2, r3
|
|
bl sub_80F53EC
|
|
_080F501A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5020: .4byte gUnknown_083DFEC4
|
|
_080F5024: .4byte 0x000076aa
|
|
_080F5028: .4byte 0x000087dc
|
|
_080F502C: .4byte 0x00008828
|
|
_080F5030: .4byte 0x00008fe9
|
|
_080F5034: .4byte 0x00009004
|
|
thumb_func_end sub_80F4FDC
|
|
|
|
thumb_func_start sub_80F5038
|
|
sub_80F5038: @ 80F5038
|
|
push {r4,lr}
|
|
bl sub_80F5504
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80F173C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
cmp r4, 0
|
|
bne _080F5056
|
|
cmp r0, 0
|
|
beq _080F5058
|
|
_080F5056:
|
|
movs r1, 0x1
|
|
_080F5058:
|
|
adds r0, r1, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F5038
|
|
|
|
thumb_func_start sub_80F5060
|
|
sub_80F5060: @ 80F5060
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0
|
|
beq _080F507C
|
|
ldr r0, _080F5074 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5078 @ =0x00008feb
|
|
adds r0, r1
|
|
b _080F5084
|
|
.align 2, 0
|
|
_080F5074: .4byte gUnknown_083DFEC4
|
|
_080F5078: .4byte 0x00008feb
|
|
_080F507C:
|
|
ldr r0, _080F50FC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F5100 @ =0x00008fea
|
|
adds r0, r2
|
|
_080F5084:
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r0, _080F50FC @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r3, _080F5104 @ =0x00008fe9
|
|
adds r5, r4, r3
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r2, _080F5108 @ =0x00009004
|
|
adds r0, r2
|
|
adds r0, r4, r0
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
adds r1, r4, r1
|
|
bl sub_80F53EC
|
|
ldr r0, _080F510C @ =0x000087dc
|
|
adds r3, r4, r0
|
|
movs r1, 0
|
|
ldrsh r0, [r3, r1]
|
|
lsls r0, 2
|
|
adds r0, r4, r0
|
|
ldr r2, _080F5110 @ =0x0000893f
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 25
|
|
lsrs r0, 31
|
|
mov r12, r0
|
|
cmp r7, 0
|
|
beq _080F5158
|
|
ldr r7, _080F5100 @ =0x00008fea
|
|
adds r1, r4, r7
|
|
ldrb r0, [r1]
|
|
adds r7, 0x1
|
|
adds r2, r4, r7
|
|
strb r0, [r2]
|
|
ldrb r0, [r5]
|
|
strb r0, [r1]
|
|
strb r6, [r5]
|
|
ldrb r1, [r2]
|
|
ldr r2, _080F5114 @ =0x00008fec
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
adds r5, r4, 0
|
|
ldrh r1, [r3]
|
|
movs r7, 0
|
|
ldrsh r0, [r3, r7]
|
|
cmp r0, 0
|
|
beq _080F5118
|
|
subs r2, r1, 0x1
|
|
b _080F5120
|
|
.align 2, 0
|
|
_080F50FC: .4byte gUnknown_083DFEC4
|
|
_080F5100: .4byte 0x00008fea
|
|
_080F5104: .4byte 0x00008fe9
|
|
_080F5108: .4byte 0x00009004
|
|
_080F510C: .4byte 0x000087dc
|
|
_080F5110: .4byte 0x0000893f
|
|
_080F5114: .4byte 0x00008fec
|
|
_080F5118:
|
|
ldr r1, _080F513C @ =0x000087da
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0]
|
|
subs r2, r0, 0x1
|
|
_080F5120:
|
|
ldr r1, _080F5140 @ =0x000087dc
|
|
adds r0, r5, r1
|
|
strh r2, [r0]
|
|
ldr r2, _080F5144 @ =gUnknown_083DFEC4
|
|
ldr r3, [r2]
|
|
adds r1, r3, r1
|
|
ldrh r4, [r1]
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r0, 0
|
|
beq _080F5148
|
|
subs r1, r4, 0x1
|
|
b _080F51CE
|
|
.align 2, 0
|
|
_080F513C: .4byte 0x000087da
|
|
_080F5140: .4byte 0x000087dc
|
|
_080F5144: .4byte gUnknown_083DFEC4
|
|
_080F5148:
|
|
ldr r7, _080F5154 @ =0x000087da
|
|
adds r0, r3, r7
|
|
ldrh r0, [r0]
|
|
subs r1, r0, 0x1
|
|
b _080F51CE
|
|
.align 2, 0
|
|
_080F5154: .4byte 0x000087da
|
|
_080F5158:
|
|
ldr r7, _080F518C @ =0x00008feb
|
|
adds r1, r4, r7
|
|
ldrb r0, [r1]
|
|
subs r7, 0x1
|
|
adds r2, r4, r7
|
|
strb r0, [r2]
|
|
ldrb r0, [r5]
|
|
strb r0, [r1]
|
|
strb r6, [r5]
|
|
ldrb r1, [r2]
|
|
ldr r2, _080F5190 @ =0x00008fec
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
adds r2, r4, 0
|
|
movs r4, 0
|
|
ldrsh r1, [r3, r4]
|
|
ldr r5, _080F5194 @ =0x000087da
|
|
adds r0, r2, r5
|
|
movs r7, 0
|
|
ldrsh r0, [r0, r7]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _080F5198
|
|
ldrh r0, [r3]
|
|
adds r3, r0, 0x1
|
|
b _080F519A
|
|
.align 2, 0
|
|
_080F518C: .4byte 0x00008feb
|
|
_080F5190: .4byte 0x00008fec
|
|
_080F5194: .4byte 0x000087da
|
|
_080F5198:
|
|
movs r3, 0
|
|
_080F519A:
|
|
ldr r1, _080F51C0 @ =0x000087dc
|
|
adds r0, r2, r1
|
|
strh r3, [r0]
|
|
ldr r2, _080F51C4 @ =gUnknown_083DFEC4
|
|
ldr r3, [r2]
|
|
adds r4, r3, r1
|
|
movs r0, 0
|
|
ldrsh r1, [r4, r0]
|
|
ldr r5, _080F51C8 @ =0x000087da
|
|
adds r0, r3, r5
|
|
movs r7, 0
|
|
ldrsh r0, [r0, r7]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _080F51CC
|
|
ldrh r0, [r4]
|
|
adds r1, r0, 0x1
|
|
b _080F51CE
|
|
.align 2, 0
|
|
_080F51C0: .4byte 0x000087dc
|
|
_080F51C4: .4byte gUnknown_083DFEC4
|
|
_080F51C8: .4byte 0x000087da
|
|
_080F51CC:
|
|
movs r1, 0
|
|
_080F51CE:
|
|
ldr r4, _080F51FC @ =0x00008fee
|
|
adds r0, r3, r4
|
|
strh r1, [r0]
|
|
ldr r1, [r2]
|
|
ldr r5, _080F5200 @ =0x000087dc
|
|
adds r0, r1, r5
|
|
movs r7, 0
|
|
ldrsh r0, [r0, r7]
|
|
lsls r0, 2
|
|
adds r0, r1, r0
|
|
ldr r3, _080F5204 @ =0x0000893f
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
lsls r0, 25
|
|
lsrs r0, 31
|
|
mov r4, r12
|
|
cmp r4, 0
|
|
bne _080F520C
|
|
adds r5, 0x4
|
|
adds r1, r5
|
|
ldr r0, _080F5208 @ =sub_80F5264
|
|
b _080F5226
|
|
.align 2, 0
|
|
_080F51FC: .4byte 0x00008fee
|
|
_080F5200: .4byte 0x000087dc
|
|
_080F5204: .4byte 0x0000893f
|
|
_080F5208: .4byte sub_80F5264
|
|
_080F520C:
|
|
cmp r0, 0
|
|
bne _080F5220
|
|
ldr r7, _080F5218 @ =0x000087e0
|
|
adds r1, r7
|
|
ldr r0, _080F521C @ =sub_80F52F8
|
|
b _080F5226
|
|
.align 2, 0
|
|
_080F5218: .4byte 0x000087e0
|
|
_080F521C: .4byte sub_80F52F8
|
|
_080F5220:
|
|
ldr r0, _080F5238 @ =0x000087e0
|
|
adds r1, r0
|
|
ldr r0, _080F523C @ =sub_80F5364
|
|
_080F5226:
|
|
str r0, [r1]
|
|
ldr r0, [r2]
|
|
ldr r1, _080F5240 @ =0x000087de
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5238: .4byte 0x000087e0
|
|
_080F523C: .4byte sub_80F5364
|
|
_080F5240: .4byte 0x000087de
|
|
thumb_func_end sub_80F5060
|
|
|
|
thumb_func_start gpu_sync_bg_show
|
|
gpu_sync_bg_show: @ 80F5244
|
|
push {lr}
|
|
ldr r0, _080F525C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5260 @ =0x000087e0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F525C: .4byte gUnknown_083DFEC4
|
|
_080F5260: .4byte 0x000087e0
|
|
thumb_func_end gpu_sync_bg_show
|
|
|
|
thumb_func_start sub_80F5264
|
|
sub_80F5264: @ 80F5264
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F5280 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5284 @ =0x000087de
|
|
adds r5, r0, r1
|
|
ldrb r1, [r5]
|
|
cmp r1, 0x1
|
|
beq _080F52AA
|
|
cmp r1, 0x1
|
|
bgt _080F5288
|
|
cmp r1, 0
|
|
beq _080F528E
|
|
b _080F52F0
|
|
.align 2, 0
|
|
_080F5280: .4byte gUnknown_083DFEC4
|
|
_080F5284: .4byte 0x000087de
|
|
_080F5288:
|
|
cmp r1, 0x2
|
|
beq _080F52EC
|
|
b _080F52F0
|
|
_080F528E:
|
|
ldr r2, _080F52D8 @ =0x00008fe9
|
|
adds r4, r0, r2
|
|
ldrb r0, [r4]
|
|
bl sub_80F2E18
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80F01E0
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
_080F52AA:
|
|
bl sub_80F4FB4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F52F0
|
|
ldr r0, _080F52DC @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F52E0 @ =0x00008fee
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
ldr r2, _080F52E4 @ =0x00008fec
|
|
adds r1, r4, r2
|
|
ldrb r1, [r1]
|
|
bl sub_80F4900
|
|
ldr r0, _080F52E8 @ =0x000087de
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _080F52F0
|
|
.align 2, 0
|
|
_080F52D8: .4byte 0x00008fe9
|
|
_080F52DC: .4byte gUnknown_083DFEC4
|
|
_080F52E0: .4byte 0x00008fee
|
|
_080F52E4: .4byte 0x00008fec
|
|
_080F52E8: .4byte 0x000087de
|
|
_080F52EC:
|
|
movs r0, 0
|
|
b _080F52F2
|
|
_080F52F0:
|
|
movs r0, 0x1
|
|
_080F52F2:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F5264
|
|
|
|
thumb_func_start sub_80F52F8
|
|
sub_80F52F8: @ 80F52F8
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F5310 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F5314 @ =0x000087de
|
|
adds r5, r4, r0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
beq _080F5318
|
|
cmp r0, 0x1
|
|
beq _080F5358
|
|
b _080F535C
|
|
.align 2, 0
|
|
_080F5310: .4byte gUnknown_083DFEC4
|
|
_080F5314: .4byte 0x000087de
|
|
_080F5318:
|
|
bl sub_80F5038
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F535C
|
|
ldr r1, _080F5350 @ =0x00008fe9
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80F01E0
|
|
ldr r2, _080F5354 @ =0x00008fee
|
|
adds r0, r4, r2
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
subs r2, 0x2
|
|
adds r1, r4, r2
|
|
ldrb r1, [r1]
|
|
bl sub_80F4900
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
b _080F535C
|
|
.align 2, 0
|
|
_080F5350: .4byte 0x00008fe9
|
|
_080F5354: .4byte 0x00008fee
|
|
_080F5358:
|
|
movs r0, 0
|
|
b _080F535E
|
|
_080F535C:
|
|
movs r0, 0x1
|
|
_080F535E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F52F8
|
|
|
|
thumb_func_start sub_80F5364
|
|
sub_80F5364: @ 80F5364
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F5380 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F5384 @ =0x000087de
|
|
adds r5, r4, r0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0x1
|
|
beq _080F53B8
|
|
cmp r0, 0x1
|
|
bgt _080F5388
|
|
cmp r0, 0
|
|
beq _080F538E
|
|
b _080F53E4
|
|
.align 2, 0
|
|
_080F5380: .4byte gUnknown_083DFEC4
|
|
_080F5384: .4byte 0x000087de
|
|
_080F5388:
|
|
cmp r0, 0x2
|
|
beq _080F53CA
|
|
b _080F53E4
|
|
_080F538E:
|
|
bl sub_80F5504
|
|
bl sub_80F173C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F53E4
|
|
ldr r1, _080F53B4 @ =0x00008fe9
|
|
adds r4, r1
|
|
ldrb r0, [r4]
|
|
bl sub_80F2E18
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80F01E0
|
|
b _080F53C2
|
|
.align 2, 0
|
|
_080F53B4: .4byte 0x00008fe9
|
|
_080F53B8:
|
|
bl sub_80F4FB4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F53E4
|
|
_080F53C2:
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
b _080F53E4
|
|
_080F53CA:
|
|
ldr r2, _080F53E0 @ =0x00008fee
|
|
adds r0, r4, r2
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
subs r2, 0x2
|
|
adds r1, r4, r2
|
|
ldrb r1, [r1]
|
|
bl sub_80F4900
|
|
movs r0, 0
|
|
b _080F53E6
|
|
.align 2, 0
|
|
_080F53E0: .4byte 0x00008fee
|
|
_080F53E4:
|
|
movs r0, 0x1
|
|
_080F53E6:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F5364
|
|
|
|
thumb_func_start sub_80F53EC
|
|
sub_80F53EC: @ 80F53EC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
str r0, [sp]
|
|
mov r9, r1
|
|
movs r7, 0
|
|
ldr r0, _080F54F4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x4]
|
|
_080F5404:
|
|
lsls r4, r7, 2
|
|
ldr r1, [sp]
|
|
adds r0, r4, r1
|
|
ldrh r1, [r0]
|
|
lsls r5, r1, 8
|
|
mov r2, r9
|
|
adds r0, r4, r2
|
|
ldrh r0, [r0]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
adds r6, r0, 0
|
|
movs r3, 0
|
|
adds r7, 0x1
|
|
mov r10, r7
|
|
mov r8, r4
|
|
_080F5428:
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
add r0, r8
|
|
ldr r7, [sp, 0x4]
|
|
adds r0, r7, r0
|
|
asrs r2, r5, 8
|
|
asrs r1, r5, 7
|
|
movs r7, 0x1
|
|
ands r1, r7
|
|
adds r2, r1
|
|
ldr r1, _080F54F8 @ =0x00009054
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
adds r5, r6
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x8
|
|
bls _080F5428
|
|
ldr r2, _080F54F4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r2]
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
adds r0, r4, r0
|
|
adds r1, r0
|
|
mov r3, r9
|
|
adds r2, r4, r3
|
|
ldrh r0, [r2]
|
|
ldr r7, _080F54F8 @ =0x00009054
|
|
adds r1, r7
|
|
strh r0, [r1]
|
|
ldr r1, [sp]
|
|
adds r0, r4, r1
|
|
ldrh r1, [r0, 0x2]
|
|
lsls r5, r1, 8
|
|
ldrh r0, [r2, 0x2]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
movs r1, 0xA
|
|
bl __divsi3
|
|
adds r6, r0, 0
|
|
movs r3, 0
|
|
ldr r0, _080F54F4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
mov r12, r0
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0x1
|
|
mov r8, r2
|
|
_080F548E:
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
ldr r7, [sp, 0x8]
|
|
adds r0, r7, r0
|
|
add r0, r12
|
|
asrs r2, r5, 8
|
|
asrs r1, r5, 7
|
|
mov r7, r8
|
|
ands r1, r7
|
|
adds r2, r1
|
|
ldr r1, _080F54FC @ =0x00009056
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
adds r5, r6
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x8
|
|
bls _080F548E
|
|
ldr r7, _080F54F4 @ =gUnknown_083DFEC4
|
|
ldr r2, [r7]
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
adds r0, r4, r0
|
|
adds r0, r2, r0
|
|
mov r3, r9
|
|
adds r1, r4, r3
|
|
ldrh r1, [r1, 0x2]
|
|
ldr r7, _080F54FC @ =0x00009056
|
|
adds r0, r7
|
|
strh r1, [r0]
|
|
mov r1, r10
|
|
lsls r0, r1, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x4
|
|
bls _080F5404
|
|
ldr r3, _080F5500 @ =0x00009342
|
|
adds r1, r2, r3
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F54F4: .4byte gUnknown_083DFEC4
|
|
_080F54F8: .4byte 0x00009054
|
|
_080F54FC: .4byte 0x00009056
|
|
_080F5500: .4byte 0x00009342
|
|
thumb_func_end sub_80F53EC
|
|
|
|
thumb_func_start sub_80F5504
|
|
sub_80F5504: @ 80F5504
|
|
push {r4,lr}
|
|
ldr r0, _080F551C @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F5520 @ =0x00009342
|
|
adds r4, r2, r0
|
|
ldrh r0, [r4]
|
|
adds r1, r0, 0
|
|
cmp r1, 0x9
|
|
bls _080F5524
|
|
movs r0, 0
|
|
b _080F5544
|
|
.align 2, 0
|
|
_080F551C: .4byte gUnknown_083DFEC4
|
|
_080F5520: .4byte 0x00009342
|
|
_080F5524:
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080F554C @ =0x00009054
|
|
adds r0, r1
|
|
adds r0, r2, r0
|
|
bl sub_80F556C
|
|
ldrh r1, [r4]
|
|
movs r0, 0xA
|
|
eors r1, r0
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
_080F5544:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F554C: .4byte 0x00009054
|
|
thumb_func_end sub_80F5504
|
|
|
|
thumb_func_start sub_80F5550
|
|
sub_80F5550: @ 80F5550
|
|
push {lr}
|
|
bl sub_80F53EC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F5550
|
|
|
|
thumb_func_start sub_80F555C
|
|
sub_80F555C: @ 80F555C
|
|
push {lr}
|
|
bl sub_80F5504
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F555C
|
|
|
|
thumb_func_start sub_80F556C
|
|
sub_80F556C: @ 80F556C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r2, 0
|
|
ldr r5, _080F55A0 @ =gUnknown_083DFEC4
|
|
ldr r0, [r5]
|
|
ldr r1, _080F55A4 @ =0x0000911c
|
|
adds r3, r0, r1
|
|
_080F557A:
|
|
lsls r0, r2, 2
|
|
adds r1, r3, r0
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x4
|
|
bls _080F557A
|
|
ldr r0, [r5]
|
|
ldr r1, _080F55A8 @ =0x00009344
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F55A0: .4byte gUnknown_083DFEC4
|
|
_080F55A4: .4byte 0x0000911c
|
|
_080F55A8: .4byte 0x00009344
|
|
thumb_func_end sub_80F556C
|
|
|
|
thumb_func_start sub_80F55AC
|
|
sub_80F55AC: @ 80F55AC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r6, r0, 0
|
|
mov r8, r1
|
|
ldr r1, _080F5674 @ =gUnknown_083E4890
|
|
ldrb r0, [r6]
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
adds r6, 0x1
|
|
movs r0, 0x9B
|
|
mov r3, r8
|
|
strh r0, [r3]
|
|
movs r0, 0x5B
|
|
subs r0, r2
|
|
strh r0, [r3, 0x2]
|
|
movs r7, 0x40
|
|
movs r0, 0
|
|
mov r12, r0
|
|
movs r2, 0x1
|
|
mov r9, r2
|
|
ldr r3, _080F5678 @ =gSineTable
|
|
mov r10, r3
|
|
_080F55DE:
|
|
adds r0, r7, 0
|
|
adds r0, 0x33
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
mov r1, r12
|
|
lsls r0, r1, 24
|
|
movs r2, 0xFF
|
|
lsls r2, 24
|
|
adds r0, r2
|
|
lsrs r3, r0, 24
|
|
mov r12, r3
|
|
cmp r0, 0
|
|
bge _080F55FC
|
|
movs r0, 0x4
|
|
mov r12, r0
|
|
_080F55FC:
|
|
mov r1, r12
|
|
lsls r0, r1, 24
|
|
asrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bne _080F560C
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
_080F560C:
|
|
ldrb r0, [r6]
|
|
ldr r2, _080F5674 @ =gUnknown_083E4890
|
|
adds r0, r2
|
|
ldrb r2, [r0]
|
|
adds r6, 0x1
|
|
lsls r0, r4, 2
|
|
mov r1, r8
|
|
adds r3, r0, r1
|
|
adds r0, r7, 0
|
|
adds r0, 0x40
|
|
lsls r0, 1
|
|
add r0, r10
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
muls r0, r2
|
|
asrs r5, r0, 8
|
|
adds r0, r5, 0
|
|
adds r0, 0x9B
|
|
strh r0, [r3]
|
|
lsls r0, r7, 1
|
|
add r0, r10
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
adds r1, r2, 0
|
|
muls r1, r0
|
|
asrs r1, 8
|
|
movs r0, 0x5B
|
|
subs r0, r1
|
|
strh r0, [r3, 0x2]
|
|
cmp r4, 0x2
|
|
bgt _080F5658
|
|
cmp r2, 0x20
|
|
bne _080F5652
|
|
cmp r4, 0x2
|
|
beq _080F5658
|
|
_080F5652:
|
|
adds r0, r5, 0
|
|
adds r0, 0x9C
|
|
strh r0, [r3]
|
|
_080F5658:
|
|
mov r0, r9
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r9, r0
|
|
cmp r0, 0x4
|
|
bls _080F55DE
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5674: .4byte gUnknown_083E4890
|
|
_080F5678: .4byte gSineTable
|
|
thumb_func_end sub_80F55AC
|
|
|
|
thumb_func_start sub_80F567C
|
|
sub_80F567C: @ 80F567C
|
|
push {lr}
|
|
bl sub_80F55AC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F567C
|
|
|
|
thumb_func_start sub_80F5688
|
|
sub_80F5688: @ 80F5688
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x14
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
str r2, [sp]
|
|
ldr r7, [sp, 0x34]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r9, r3
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
ldrh r0, [r5, 0x2]
|
|
ldrh r1, [r2, 0x2]
|
|
cmp r0, r1
|
|
bcs _080F56D0
|
|
adds r2, r0, 0
|
|
str r2, [sp, 0x4]
|
|
ldr r3, [sp]
|
|
ldrh r0, [r3, 0x2]
|
|
ldrh r1, [r5]
|
|
lsls r4, r1, 10
|
|
ldrh r2, [r3]
|
|
mov r10, r2
|
|
ldr r3, [sp, 0x4]
|
|
subs r0, r3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
beq _080F56FC
|
|
subs r0, r2, r1
|
|
b _080F56F2
|
|
_080F56D0:
|
|
ldrh r0, [r5, 0x2]
|
|
ldr r1, [sp]
|
|
ldrh r1, [r1, 0x2]
|
|
str r1, [sp, 0x4]
|
|
ldr r2, [sp]
|
|
ldrh r1, [r2]
|
|
lsls r4, r1, 10
|
|
ldrh r3, [r5]
|
|
mov r10, r3
|
|
ldr r2, [sp, 0x4]
|
|
subs r0, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
beq _080F56FC
|
|
subs r0, r3, r1
|
|
_080F56F2:
|
|
lsls r0, 10
|
|
mov r1, r8
|
|
bl __divsi3
|
|
str r0, [sp, 0x8]
|
|
_080F56FC:
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r7, 0
|
|
bne _080F5746
|
|
ldr r0, [sp, 0x4]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r6, r0
|
|
movs r5, 0
|
|
mov r3, r9
|
|
lsls r3, 1
|
|
mov r12, r3
|
|
mov r0, r10
|
|
add r0, r9
|
|
str r0, [sp, 0xC]
|
|
cmp r7, r8
|
|
bcs _080F57D4
|
|
movs r7, 0x1
|
|
_080F5726:
|
|
adds r2, r3, r6
|
|
asrs r1, r4, 10
|
|
asrs r0, r4, 9
|
|
ands r0, r7
|
|
adds r1, r0
|
|
add r1, r9
|
|
strh r1, [r2]
|
|
ldr r1, [sp, 0x8]
|
|
adds r4, r1
|
|
adds r6, 0x4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bcc _080F5726
|
|
b _080F57D4
|
|
_080F5746:
|
|
ldr r2, [sp, 0x8]
|
|
cmp r2, 0
|
|
ble _080F57E4
|
|
ldr r0, [sp, 0x4]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r7, r0
|
|
movs r5, 0
|
|
mov r3, r9
|
|
lsls r3, 1
|
|
mov r12, r3
|
|
mov r0, r10
|
|
add r0, r9
|
|
str r0, [sp, 0xC]
|
|
cmp r5, r8
|
|
bcs _080F5798
|
|
ldr r0, _080F57D8 @ =0x00026bff
|
|
cmp r4, r0
|
|
bgt _080F5798
|
|
mov r1, r12
|
|
str r1, [sp, 0x10]
|
|
mov r10, r0
|
|
_080F5772:
|
|
ldr r3, [sp, 0x10]
|
|
adds r2, r3, r7
|
|
asrs r1, r4, 10
|
|
asrs r0, r4, 9
|
|
movs r3, 0x1
|
|
ands r0, r3
|
|
adds r1, r0
|
|
add r1, r9
|
|
strh r1, [r2]
|
|
ldr r0, [sp, 0x8]
|
|
adds r4, r0
|
|
adds r7, 0x4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bcs _080F5798
|
|
cmp r4, r10
|
|
ble _080F5772
|
|
_080F5798:
|
|
ldr r1, _080F57DC @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r2, [sp, 0x4]
|
|
adds r1, r2, r5
|
|
ldr r3, _080F57E0 @ =0x00009340
|
|
adds r0, r3
|
|
strh r1, [r0]
|
|
ldrh r0, [r0]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r6, r0
|
|
cmp r5, r8
|
|
bcs _080F57D4
|
|
mov r3, r12
|
|
movs r7, 0x1
|
|
_080F57B6:
|
|
adds r2, r3, r6
|
|
asrs r1, r4, 10
|
|
asrs r0, r4, 9
|
|
ands r0, r7
|
|
adds r1, r0
|
|
add r1, r9
|
|
strh r1, [r2]
|
|
ldr r0, [sp, 0x8]
|
|
adds r4, r0
|
|
adds r6, 0x4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bcc _080F57B6
|
|
_080F57D4:
|
|
subs r0, r6, 0x4
|
|
b _080F58C4
|
|
.align 2, 0
|
|
_080F57D8: .4byte 0x00026bff
|
|
_080F57DC: .4byte gUnknown_083DFEC4
|
|
_080F57E0: .4byte 0x00009340
|
|
_080F57E4:
|
|
ldr r1, [sp, 0x8]
|
|
cmp r1, 0
|
|
bge _080F5890
|
|
ldr r0, [sp, 0x4]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r6, r0
|
|
movs r5, 0
|
|
mov r2, r9
|
|
lsls r2, 1
|
|
mov r12, r2
|
|
mov r3, r10
|
|
add r3, r9
|
|
str r3, [sp, 0xC]
|
|
cmp r5, r8
|
|
bcs _080F5842
|
|
adds r3, r2, r6
|
|
asrs r1, r4, 10
|
|
asrs r0, r4, 9
|
|
movs r2, 0x1
|
|
ands r0, r2
|
|
adds r1, r0
|
|
add r1, r9
|
|
strh r1, [r3]
|
|
b _080F5838
|
|
_080F5816:
|
|
ldr r0, [sp, 0x8]
|
|
adds r4, r0
|
|
adds r6, 0x4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bcs _080F5842
|
|
mov r1, r12
|
|
adds r3, r1, r6
|
|
asrs r2, r4, 10
|
|
asrs r0, r4, 9
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
adds r2, r0
|
|
add r2, r9
|
|
strh r2, [r3]
|
|
_080F5838:
|
|
ldr r0, _080F5884 @ =0x00026bff
|
|
cmp r4, r0
|
|
bgt _080F5816
|
|
movs r0, 0x9B
|
|
strh r0, [r3]
|
|
_080F5842:
|
|
ldr r2, _080F5888 @ =gUnknown_083DFEC4
|
|
ldr r0, [r2]
|
|
ldr r3, [sp, 0x4]
|
|
adds r1, r3, r5
|
|
ldr r2, _080F588C @ =0x00009340
|
|
adds r0, r2
|
|
strh r1, [r0]
|
|
ldrh r0, [r0]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r7, r0
|
|
cmp r5, r8
|
|
bcs _080F587E
|
|
mov r3, r12
|
|
movs r6, 0x1
|
|
_080F5860:
|
|
adds r2, r3, r7
|
|
asrs r1, r4, 10
|
|
asrs r0, r4, 9
|
|
ands r0, r6
|
|
adds r1, r0
|
|
add r1, r9
|
|
strh r1, [r2]
|
|
ldr r0, [sp, 0x8]
|
|
adds r4, r0
|
|
adds r7, 0x4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, r8
|
|
bcc _080F5860
|
|
_080F587E:
|
|
subs r0, r7, 0x4
|
|
b _080F58C4
|
|
.align 2, 0
|
|
_080F5884: .4byte 0x00026bff
|
|
_080F5888: .4byte gUnknown_083DFEC4
|
|
_080F588C: .4byte 0x00009340
|
|
_080F5890:
|
|
ldr r0, _080F58BC @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F58C0 @ =0x00009340
|
|
adds r0, r1
|
|
mov r2, sp
|
|
ldrh r2, [r2, 0x4]
|
|
strh r2, [r0]
|
|
ldr r0, [sp, 0x4]
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r6, r0
|
|
adds r7, r0
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r6, 0x2]
|
|
ldr r3, [sp]
|
|
ldrh r0, [r3]
|
|
strh r0, [r7]
|
|
movs r0, 0x9B
|
|
strh r0, [r7, 0x2]
|
|
b _080F58CC
|
|
.align 2, 0
|
|
_080F58BC: .4byte gUnknown_083DFEC4
|
|
_080F58C0: .4byte 0x00009340
|
|
_080F58C4:
|
|
add r0, r12
|
|
mov r1, sp
|
|
ldrh r1, [r1, 0xC]
|
|
strh r1, [r0]
|
|
_080F58CC:
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F5688
|
|
|
|
thumb_func_start sub_80F58DC
|
|
sub_80F58DC: @ 80F58DC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
ldrh r0, [r5, 0x2]
|
|
ldrh r1, [r5, 0x6]
|
|
cmp r0, r1
|
|
bcs _080F5914
|
|
adds r4, r0, 0
|
|
mov r8, r4
|
|
ldr r0, _080F590C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5910 @ =0x00009130
|
|
adds r0, r1
|
|
adds r4, r5, 0x4
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_80F5688
|
|
b _080F5930
|
|
.align 2, 0
|
|
_080F590C: .4byte gUnknown_083DFEC4
|
|
_080F5910: .4byte 0x00009130
|
|
_080F5914:
|
|
ldrh r4, [r5, 0x6]
|
|
mov r8, r4
|
|
ldr r0, _080F5A08 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5A0C @ =0x00009130
|
|
adds r0, r1
|
|
adds r4, r5, 0x4
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_80F5688
|
|
_080F5930:
|
|
adds r1, r4, 0
|
|
ldr r0, _080F5A08 @ =gUnknown_083DFEC4
|
|
ldr r6, [r0]
|
|
ldr r0, _080F5A0C @ =0x00009130
|
|
adds r4, r6, r0
|
|
adds r7, r5, 0
|
|
adds r7, 0x8
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
adds r2, r7, 0
|
|
movs r3, 0x1
|
|
bl sub_80F5688
|
|
movs r3, 0
|
|
ldrh r0, [r5, 0xA]
|
|
ldrh r1, [r5, 0xE]
|
|
cmp r0, r1
|
|
bhi _080F5958
|
|
movs r3, 0x1
|
|
_080F5958:
|
|
adds r2, r5, 0
|
|
adds r2, 0xC
|
|
ldr r1, _080F5A10 @ =0x00009238
|
|
adds r0, r6, r1
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r7, 0
|
|
bl sub_80F5688
|
|
movs r2, 0x38
|
|
cmp r2, r8
|
|
bcs _080F5990
|
|
adds r7, r4, 0
|
|
movs r3, 0
|
|
ldr r0, _080F5A14 @ =0x00009132
|
|
adds r4, r6, r0
|
|
_080F5978:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r1, r7, r0
|
|
strh r3, [r1]
|
|
adds r0, r4, r0
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, r8
|
|
bcc _080F5978
|
|
_080F5990:
|
|
ldrh r2, [r5, 0x2]
|
|
ldr r0, _080F5A08 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r4, _080F5A18 @ =0x00009340
|
|
adds r1, r3, r4
|
|
adds r6, r0, 0
|
|
ldrh r0, [r1]
|
|
cmp r2, r0
|
|
bhi _080F59BE
|
|
ldr r4, _080F5A0C @ =0x00009130
|
|
adds r3, r4
|
|
movs r4, 0x9B
|
|
_080F59A8:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r0, r3, r0
|
|
strh r4, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldrh r0, [r1]
|
|
cmp r2, r0
|
|
bls _080F59A8
|
|
_080F59BE:
|
|
ldr r4, [r6]
|
|
ldr r1, _080F5A18 @ =0x00009340
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r5, 0xA]
|
|
cmp r0, r1
|
|
bcs _080F59CE
|
|
adds r0, r1, 0
|
|
_080F59CE:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x79
|
|
bhi _080F59FA
|
|
ldr r0, _080F5A0C @ =0x00009130
|
|
adds r5, r4, r0
|
|
movs r3, 0
|
|
ldr r1, _080F5A14 @ =0x00009132
|
|
adds r4, r1
|
|
_080F59E2:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r1, r5, r0
|
|
strh r3, [r1]
|
|
adds r0, r4, r0
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x79
|
|
bls _080F59E2
|
|
_080F59FA:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5A08: .4byte gUnknown_083DFEC4
|
|
_080F5A0C: .4byte 0x00009130
|
|
_080F5A10: .4byte 0x00009238
|
|
_080F5A14: .4byte 0x00009132
|
|
_080F5A18: .4byte 0x00009340
|
|
thumb_func_end sub_80F58DC
|
|
|
|
thumb_func_start sub_80F5A1C
|
|
sub_80F5A1C: @ 80F5A1C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
ldrh r0, [r5, 0x2]
|
|
ldrh r1, [r5, 0x12]
|
|
cmp r0, r1
|
|
bcs _080F5A54
|
|
adds r7, r0, 0
|
|
ldr r0, _080F5A4C @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F5A50 @ =0x00009238
|
|
adds r0, r2
|
|
adds r4, r5, 0
|
|
adds r4, 0x10
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl sub_80F5688
|
|
b _080F5A70
|
|
.align 2, 0
|
|
_080F5A4C: .4byte gUnknown_083DFEC4
|
|
_080F5A50: .4byte 0x00009238
|
|
_080F5A54:
|
|
ldrh r7, [r5, 0x12]
|
|
ldr r0, _080F5B28 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r4, _080F5B2C @ =0x00009238
|
|
adds r0, r4
|
|
adds r4, r5, 0
|
|
adds r4, 0x10
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0x1
|
|
bl sub_80F5688
|
|
_080F5A70:
|
|
adds r1, r4, 0
|
|
ldr r0, _080F5B28 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
ldr r4, _080F5B2C @ =0x00009238
|
|
add r4, r8
|
|
adds r2, r5, 0
|
|
adds r2, 0xC
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r3, 0
|
|
bl sub_80F5688
|
|
movs r2, 0x38
|
|
cmp r2, r7
|
|
bcs _080F5AB2
|
|
adds r6, r4, 0
|
|
movs r3, 0
|
|
ldr r4, _080F5B30 @ =0x0000923a
|
|
add r4, r8
|
|
_080F5A9A:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r1, r6, r0
|
|
strh r3, [r1]
|
|
adds r0, r4, r0
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, r7
|
|
bcc _080F5A9A
|
|
_080F5AB2:
|
|
ldrh r2, [r5, 0x2]
|
|
ldr r0, _080F5B28 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r4, _080F5B34 @ =0x00009340
|
|
adds r1, r3, r4
|
|
adds r6, r0, 0
|
|
ldrh r0, [r1]
|
|
cmp r2, r0
|
|
bhi _080F5AE0
|
|
ldr r4, _080F5B30 @ =0x0000923a
|
|
adds r3, r4
|
|
movs r4, 0x9B
|
|
_080F5ACA:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r0, r3, r0
|
|
strh r4, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldrh r0, [r1]
|
|
cmp r2, r0
|
|
bls _080F5ACA
|
|
_080F5AE0:
|
|
ldrh r0, [r5, 0xE]
|
|
adds r1, r0, 0x1
|
|
ldr r3, [r6]
|
|
ldr r2, _080F5B34 @ =0x00009340
|
|
adds r0, r3, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, r1
|
|
bge _080F5AF2
|
|
adds r0, r1, 0
|
|
_080F5AF2:
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x79
|
|
bhi _080F5B1C
|
|
ldr r4, _080F5B2C @ =0x00009238
|
|
adds r5, r3, r4
|
|
movs r4, 0
|
|
ldr r0, _080F5B30 @ =0x0000923a
|
|
adds r3, r0
|
|
_080F5B04:
|
|
adds r0, r2, 0
|
|
subs r0, 0x38
|
|
lsls r0, 2
|
|
adds r1, r5, r0
|
|
strh r4, [r1]
|
|
adds r0, r3, r0
|
|
strh r4, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x79
|
|
bls _080F5B04
|
|
_080F5B1C:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5B28: .4byte gUnknown_083DFEC4
|
|
_080F5B2C: .4byte 0x00009238
|
|
_080F5B30: .4byte 0x0000923a
|
|
_080F5B34: .4byte 0x00009340
|
|
thumb_func_end sub_80F5A1C
|
|
|
|
thumb_func_start sub_80F5B38
|
|
sub_80F5B38: @ 80F5B38
|
|
ldr r0, _080F5B48 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5B4C @ =0x00009345
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F5B48: .4byte gUnknown_083DFEC4
|
|
_080F5B4C: .4byte 0x00009345
|
|
thumb_func_end sub_80F5B38
|
|
|
|
thumb_func_start sub_80F5B50
|
|
sub_80F5B50: @ 80F5B50
|
|
push {r4,r5,lr}
|
|
sub sp, 0xC
|
|
ldr r0, _080F5B68 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5B6C @ =0x00009345
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _080F5B70
|
|
cmp r0, 0x1
|
|
beq _080F5BB4
|
|
b _080F5BCC
|
|
.align 2, 0
|
|
_080F5B68: .4byte gUnknown_083DFEC4
|
|
_080F5B6C: .4byte 0x00009345
|
|
_080F5B70:
|
|
bl dp12_8087EA4
|
|
ldr r0, _080F5BA8 @ =gUnknown_03004DE0
|
|
movs r2, 0xEF
|
|
movs r3, 0xF4
|
|
lsls r3, 3
|
|
adds r1, r0, r3
|
|
adds r0, 0x20
|
|
movs r3, 0xF
|
|
_080F5B82:
|
|
strh r2, [r0]
|
|
strh r2, [r0, 0x2]
|
|
strh r2, [r1]
|
|
strh r2, [r1, 0x2]
|
|
adds r1, 0x4
|
|
adds r0, 0x4
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _080F5B82
|
|
ldr r0, _080F5BAC @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r5, _080F5BB0 @ =0x00009345
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
b _080F5BCE
|
|
.align 2, 0
|
|
_080F5BA8: .4byte gUnknown_03004DE0
|
|
_080F5BAC: .4byte gUnknown_083DFEC4
|
|
_080F5BB0: .4byte 0x00009345
|
|
_080F5BB4:
|
|
mov r0, sp
|
|
ldr r1, _080F5BD8 @ =gUnknown_083E4990
|
|
ldm r1!, {r2,r3,r5}
|
|
stm r0!, {r2,r3,r5}
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, 0x4]
|
|
ldr r2, [sp, 0x8]
|
|
bl sub_80895F8
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
_080F5BCC:
|
|
movs r0, 0
|
|
_080F5BCE:
|
|
add sp, 0xC
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F5BD8: .4byte gUnknown_083E4990
|
|
thumb_func_end sub_80F5B50
|
|
|
|
thumb_func_start sub_80F5BDC
|
|
sub_80F5BDC: @ 80F5BDC
|
|
push {lr}
|
|
ldr r1, _080F5BEC @ =gUnknown_03004DC0
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x15]
|
|
bl sub_8089668
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5BEC: .4byte gUnknown_03004DC0
|
|
thumb_func_end sub_80F5BDC
|
|
|
|
thumb_func_start sub_80F5BF0
|
|
sub_80F5BF0: @ 80F5BF0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
ldr r0, _080F5CB8 @ =gUnknown_083DFEC4
|
|
ldr r5, [r0]
|
|
ldr r1, _080F5CBC @ =0x00009344
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F5CA6
|
|
ldr r0, _080F5CC0 @ =0x0000911c
|
|
adds r4, r5, r0
|
|
adds r0, r4, 0
|
|
bl sub_80F58DC
|
|
adds r0, r4, 0
|
|
bl sub_80F5A1C
|
|
movs r6, 0
|
|
ldr r1, _080F5CC4 @ =gUnknown_03004DE0
|
|
mov r12, r1
|
|
movs r0, 0xF0
|
|
lsls r0, 3
|
|
add r0, r12
|
|
mov r9, r0
|
|
adds r7, r5, 0
|
|
ldr r1, _080F5CC8 @ =0x0000ffff
|
|
mov r8, r1
|
|
ldr r5, _080F5CCC @ =0x00009130
|
|
adds r5, r7, r5
|
|
str r5, [sp]
|
|
ldr r0, _080F5CD0 @ =0x00009132
|
|
adds r0, r7, r0
|
|
str r0, [sp, 0x4]
|
|
ldr r1, _080F5CD4 @ =0x00009238
|
|
adds r1, r7
|
|
mov r10, r1
|
|
_080F5C40:
|
|
adds r2, r6, 0
|
|
adds r2, 0x37
|
|
lsls r3, r2, 2
|
|
mov r5, r9
|
|
adds r5, r3, r5
|
|
str r5, [sp, 0x8]
|
|
add r3, r12
|
|
lsls r4, r6, 2
|
|
ldr r1, [sp]
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
lsls r0, 8
|
|
ldr r5, [sp, 0x4]
|
|
adds r1, r5, r4
|
|
ldrh r1, [r1]
|
|
orrs r0, r1
|
|
strh r0, [r3]
|
|
mov r1, r8
|
|
ands r0, r1
|
|
ldr r5, [sp, 0x8]
|
|
strh r0, [r5]
|
|
lsls r2, 1
|
|
adds r2, 0x1
|
|
lsls r2, 1
|
|
mov r0, r9
|
|
adds r3, r2, r0
|
|
add r2, r12
|
|
mov r1, r10
|
|
adds r0, r1, r4
|
|
ldrh r1, [r0]
|
|
lsls r1, 8
|
|
ldr r5, _080F5CD8 @ =0x0000923a
|
|
adds r0, r7, r5
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
mov r0, r8
|
|
ands r1, r0
|
|
strh r1, [r3]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r0, _080F5CB8 @ =gUnknown_083DFEC4
|
|
cmp r6, 0x41
|
|
bls _080F5C40
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5CBC @ =0x00009344
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_080F5CA6:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5CB8: .4byte gUnknown_083DFEC4
|
|
_080F5CBC: .4byte 0x00009344
|
|
_080F5CC0: .4byte 0x0000911c
|
|
_080F5CC4: .4byte gUnknown_03004DE0
|
|
_080F5CC8: .4byte 0x0000ffff
|
|
_080F5CCC: .4byte 0x00009130
|
|
_080F5CD0: .4byte 0x00009132
|
|
_080F5CD4: .4byte 0x00009238
|
|
_080F5CD8: .4byte 0x0000923a
|
|
thumb_func_end sub_80F5BF0
|
|
|
|
thumb_func_start sub_80F5CDC
|
|
sub_80F5CDC: @ 80F5CDC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _080F5DB0 @ =gUnknown_083DFEC4
|
|
ldr r6, [r0]
|
|
ldr r1, _080F5DB4 @ =0x00009344
|
|
adds r0, r6, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F5DA0
|
|
ldr r0, _080F5DB8 @ =0x0000911c
|
|
adds r4, r6, r0
|
|
adds r0, r4, 0
|
|
bl sub_80F58DC
|
|
adds r0, r4, 0
|
|
bl sub_80F5A1C
|
|
movs r0, 0x37
|
|
subs r0, r5
|
|
lsls r0, 17
|
|
lsrs r5, r0, 16
|
|
movs r7, 0
|
|
ldr r1, _080F5DBC @ =gUnknown_03004DE0
|
|
mov r12, r1
|
|
movs r4, 0xF0
|
|
lsls r4, 3
|
|
add r4, r12
|
|
mov r9, r4
|
|
ldr r0, _080F5DC0 @ =0x0000ffff
|
|
mov r8, r0
|
|
ldr r1, _080F5DC4 @ =0x00009130
|
|
adds r1, r6, r1
|
|
str r1, [sp]
|
|
ldr r4, _080F5DC8 @ =0x00009132
|
|
adds r4, r6, r4
|
|
str r4, [sp, 0x4]
|
|
ldr r0, _080F5DCC @ =0x00009238
|
|
adds r0, r6
|
|
mov r10, r0
|
|
_080F5D36:
|
|
lsls r2, r5, 1
|
|
mov r1, r9
|
|
adds r1, r2, r1
|
|
str r1, [sp, 0x8]
|
|
add r2, r12
|
|
lsls r3, r7, 2
|
|
ldr r4, [sp]
|
|
adds r0, r4, r3
|
|
ldrh r0, [r0]
|
|
lsls r0, 8
|
|
ldr r4, [sp, 0x4]
|
|
adds r1, r4, r3
|
|
ldrh r1, [r1]
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
mov r1, r8
|
|
ands r0, r1
|
|
ldr r4, [sp, 0x8]
|
|
strh r0, [r4]
|
|
adds r2, r5, 0x1
|
|
lsls r2, 1
|
|
mov r0, r9
|
|
adds r0, r2, r0
|
|
str r0, [sp, 0x8]
|
|
add r2, r12
|
|
mov r1, r10
|
|
adds r0, r1, r3
|
|
ldrh r1, [r0]
|
|
lsls r1, 8
|
|
ldr r4, _080F5DD0 @ =0x0000923a
|
|
adds r0, r6, r4
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
mov r0, r8
|
|
ands r1, r0
|
|
ldr r4, [sp, 0x8]
|
|
strh r1, [r4]
|
|
adds r0, r5, 0x2
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
ldr r0, _080F5DB0 @ =gUnknown_083DFEC4
|
|
cmp r7, 0x41
|
|
bls _080F5D36
|
|
ldr r0, [r0]
|
|
ldr r1, _080F5DB4 @ =0x00009344
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_080F5DA0:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5DB0: .4byte gUnknown_083DFEC4
|
|
_080F5DB4: .4byte 0x00009344
|
|
_080F5DB8: .4byte 0x0000911c
|
|
_080F5DBC: .4byte gUnknown_03004DE0
|
|
_080F5DC0: .4byte 0x0000ffff
|
|
_080F5DC4: .4byte 0x00009130
|
|
_080F5DC8: .4byte 0x00009132
|
|
_080F5DCC: .4byte 0x00009238
|
|
_080F5DD0: .4byte 0x0000923a
|
|
thumb_func_end sub_80F5CDC
|
|
|
|
thumb_func_start sub_80F5DD4
|
|
sub_80F5DD4: @ 80F5DD4
|
|
push {lr}
|
|
ldr r0, _080F5DE8 @ =gMain
|
|
ldrh r1, [r0, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F5DEC
|
|
bl sub_80F5E20
|
|
b _080F5E18
|
|
.align 2, 0
|
|
_080F5DE8: .4byte gMain
|
|
_080F5DEC:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F5DFA
|
|
bl sub_80F5EE4
|
|
b _080F5E18
|
|
_080F5DFA:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F5E08
|
|
bl sub_80F5FB4
|
|
b _080F5E18
|
|
_080F5E08:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080F5E14
|
|
movs r0, 0
|
|
b _080F5E1C
|
|
_080F5E14:
|
|
bl sub_80F6010
|
|
_080F5E18:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080F5E1C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F5DD4
|
|
|
|
thumb_func_start sub_80F5E20
|
|
sub_80F5E20: @ 80F5E20
|
|
push {r4,r5,lr}
|
|
ldr r0, _080F5E38 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r3, _080F5E3C @ =0x0000876e
|
|
adds r1, r2, r3
|
|
movs r5, 0
|
|
ldrsh r1, [r1, r5]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
bne _080F5E40
|
|
movs r0, 0
|
|
b _080F5EC8
|
|
.align 2, 0
|
|
_080F5E38: .4byte gUnknown_083DFEC4
|
|
_080F5E3C: .4byte 0x0000876e
|
|
_080F5E40:
|
|
ldr r1, _080F5E6C @ =0x000087c9
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F5E74
|
|
ldr r3, _080F5E70 @ =0x0000876c
|
|
adds r0, r2, r3
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r0, 0
|
|
bne _080F5E74
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
bl sub_80F063C
|
|
adds r0, r4, 0
|
|
bl sub_80F6074
|
|
movs r0, 0x2
|
|
b _080F5EC8
|
|
.align 2, 0
|
|
_080F5E6C: .4byte 0x000087c9
|
|
_080F5E70: .4byte 0x0000876c
|
|
_080F5E74:
|
|
ldr r1, [r4]
|
|
ldr r0, _080F5ED0 @ =0x0000876c
|
|
adds r2, r1, r0
|
|
ldrh r0, [r2]
|
|
subs r3, r0, 0x1
|
|
strh r3, [r2]
|
|
ldr r5, _080F5ED4 @ =0x000087c9
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F5E98
|
|
lsls r0, r3, 16
|
|
cmp r0, 0
|
|
bge _080F5E98
|
|
ldr r3, _080F5ED8 @ =0x00008772
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
_080F5E98:
|
|
ldr r0, [r4]
|
|
ldr r5, _080F5EDC @ =0x00008770
|
|
adds r2, r0, r5
|
|
ldr r3, _080F5ED0 @ =0x0000876c
|
|
adds r1, r0, r3
|
|
ldrh r1, [r1]
|
|
ldrh r2, [r2]
|
|
adds r2, r1, r2
|
|
subs r5, 0x2
|
|
adds r4, r0, r5
|
|
strh r2, [r4]
|
|
ldr r1, _080F5EE0 @ =0x00008774
|
|
adds r0, r1
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
ldrh r3, [r0]
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r1, r0
|
|
ble _080F5EC6
|
|
subs r0, r2, 0x1
|
|
subs r0, r3
|
|
strh r0, [r4]
|
|
_080F5EC6:
|
|
movs r0, 0x1
|
|
_080F5EC8:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F5ED0: .4byte 0x0000876c
|
|
_080F5ED4: .4byte 0x000087c9
|
|
_080F5ED8: .4byte 0x00008772
|
|
_080F5EDC: .4byte 0x00008770
|
|
_080F5EE0: .4byte 0x00008774
|
|
thumb_func_end sub_80F5E20
|
|
|
|
thumb_func_start sub_80F5EE4
|
|
sub_80F5EE4: @ 80F5EE4
|
|
push {r4-r6,lr}
|
|
ldr r3, _080F5F04 @ =gUnknown_083DFEC4
|
|
ldr r4, [r3]
|
|
ldr r1, _080F5F08 @ =0x0000876e
|
|
adds r0, r4, r1
|
|
ldr r2, _080F5F0C @ =0x00008774
|
|
adds r1, r4, r2
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
movs r6, 0
|
|
ldrsh r0, [r1, r6]
|
|
adds r5, r3, 0
|
|
cmp r2, r0
|
|
bne _080F5F10
|
|
movs r0, 0
|
|
b _080F5F98
|
|
.align 2, 0
|
|
_080F5F04: .4byte gUnknown_083DFEC4
|
|
_080F5F08: .4byte 0x0000876e
|
|
_080F5F0C: .4byte 0x00008774
|
|
_080F5F10:
|
|
ldr r1, _080F5F38 @ =0x000087c9
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F5F40
|
|
ldr r2, _080F5F3C @ =0x0000876c
|
|
adds r0, r4, r2
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
cmp r0, 0x7
|
|
bne _080F5F40
|
|
movs r0, 0x1
|
|
bl sub_80F063C
|
|
movs r0, 0x1
|
|
bl sub_80F6074
|
|
movs r0, 0x2
|
|
b _080F5F98
|
|
.align 2, 0
|
|
_080F5F38: .4byte 0x000087c9
|
|
_080F5F3C: .4byte 0x0000876c
|
|
_080F5F40:
|
|
ldr r2, [r5]
|
|
ldr r6, _080F5FA0 @ =0x0000876c
|
|
adds r4, r2, r6
|
|
ldrh r0, [r4]
|
|
adds r1, r0, 0x1
|
|
strh r1, [r4]
|
|
ldr r3, _080F5FA4 @ =0x000087c9
|
|
adds r0, r2, r3
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
bne _080F5F68
|
|
adds r6, 0x6
|
|
adds r0, r2, r6
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r1, r0
|
|
ble _080F5F68
|
|
strh r3, [r4]
|
|
_080F5F68:
|
|
ldr r0, [r5]
|
|
ldr r3, _080F5FA8 @ =0x00008770
|
|
adds r2, r0, r3
|
|
ldr r5, _080F5FA0 @ =0x0000876c
|
|
adds r1, r0, r5
|
|
ldrh r1, [r1]
|
|
ldrh r2, [r2]
|
|
adds r2, r1, r2
|
|
ldr r6, _080F5FAC @ =0x0000876e
|
|
adds r4, r0, r6
|
|
strh r2, [r4]
|
|
ldr r1, _080F5FB0 @ =0x00008774
|
|
adds r0, r1
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
ldrh r3, [r0]
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r1, r0
|
|
ble _080F5F96
|
|
subs r0, r2, 0x1
|
|
subs r0, r3
|
|
strh r0, [r4]
|
|
_080F5F96:
|
|
movs r0, 0x1
|
|
_080F5F98:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F5FA0: .4byte 0x0000876c
|
|
_080F5FA4: .4byte 0x000087c9
|
|
_080F5FA8: .4byte 0x00008770
|
|
_080F5FAC: .4byte 0x0000876e
|
|
_080F5FB0: .4byte 0x00008774
|
|
thumb_func_end sub_80F5EE4
|
|
|
|
thumb_func_start sub_80F5FB4
|
|
sub_80F5FB4: @ 80F5FB4
|
|
push {r4,lr}
|
|
ldr r0, _080F5FD8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F5FDC @ =0x00008770
|
|
adds r0, r1, r2
|
|
ldrh r3, [r0]
|
|
movs r4, 0
|
|
ldrsh r2, [r0, r4]
|
|
cmp r2, 0
|
|
beq _080F5FD2
|
|
ldr r4, _080F5FE0 @ =0x000087c9
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F5FE4
|
|
_080F5FD2:
|
|
movs r0, 0
|
|
b _080F6004
|
|
.align 2, 0
|
|
_080F5FD8: .4byte gUnknown_083DFEC4
|
|
_080F5FDC: .4byte 0x00008770
|
|
_080F5FE0: .4byte 0x000087c9
|
|
_080F5FE4:
|
|
cmp r2, 0x7
|
|
bgt _080F5FF0
|
|
negs r0, r3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _080F5FF2
|
|
_080F5FF0:
|
|
ldr r0, _080F600C @ =0x0000fff8
|
|
_080F5FF2:
|
|
lsls r4, r0, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_80F063C
|
|
adds r0, r4, 0
|
|
bl sub_80F6074
|
|
movs r0, 0x2
|
|
_080F6004:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F600C: .4byte 0x0000fff8
|
|
thumb_func_end sub_80F5FB4
|
|
|
|
thumb_func_start sub_80F6010
|
|
sub_80F6010: @ 80F6010
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F603C @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r1, _080F6040 @ =0x00008772
|
|
adds r0, r3, r1
|
|
ldr r2, _080F6044 @ =0x00008774
|
|
adds r1, r3, r2
|
|
ldrh r5, [r0]
|
|
movs r4, 0
|
|
ldrsh r2, [r0, r4]
|
|
ldrh r4, [r1]
|
|
movs r6, 0
|
|
ldrsh r0, [r1, r6]
|
|
cmp r2, r0
|
|
beq _080F6038
|
|
ldr r1, _080F6048 @ =0x000087c9
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080F604C
|
|
_080F6038:
|
|
movs r0, 0
|
|
b _080F606C
|
|
.align 2, 0
|
|
_080F603C: .4byte gUnknown_083DFEC4
|
|
_080F6040: .4byte 0x00008772
|
|
_080F6044: .4byte 0x00008774
|
|
_080F6048: .4byte 0x000087c9
|
|
_080F604C:
|
|
subs r0, r4, r5
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x8
|
|
ble _080F605A
|
|
movs r4, 0x8
|
|
_080F605A:
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_80F063C
|
|
adds r0, r4, 0
|
|
bl sub_80F6074
|
|
movs r0, 0x2
|
|
_080F606C:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6010
|
|
|
|
thumb_func_start sub_80F6074
|
|
sub_80F6074: @ 80F6074
|
|
push {r4-r7,lr}
|
|
ldr r1, _080F6120 @ =gUnknown_083DFEC4
|
|
ldr r6, [r1]
|
|
ldr r1, _080F6124 @ =0x00008770
|
|
adds r3, r6, r1
|
|
ldrh r1, [r3]
|
|
lsls r0, 16
|
|
asrs r7, r0, 16
|
|
adds r2, r7, r1
|
|
strh r2, [r3]
|
|
ldr r5, _080F6128 @ =0x00008774
|
|
adds r4, r6, r5
|
|
lsls r0, r2, 16
|
|
asrs r0, 16
|
|
ldrh r1, [r4]
|
|
mov r12, r1
|
|
movs r5, 0
|
|
ldrsh r1, [r4, r5]
|
|
cmp r0, r1
|
|
ble _080F60A4
|
|
subs r0, r2, 0x1
|
|
mov r1, r12
|
|
subs r0, r1
|
|
strh r0, [r3]
|
|
_080F60A4:
|
|
ldrh r1, [r3]
|
|
movs r2, 0
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, 0
|
|
bge _080F60B6
|
|
adds r0, r1, 0x1
|
|
ldrh r5, [r4]
|
|
adds r0, r5
|
|
strh r0, [r3]
|
|
_080F60B6:
|
|
ldr r0, _080F612C @ =0x00008772
|
|
adds r3, r6, r0
|
|
ldrh r0, [r3]
|
|
adds r2, r7, r0
|
|
strh r2, [r3]
|
|
lsls r0, r2, 16
|
|
asrs r0, 16
|
|
ldrh r1, [r4]
|
|
mov r12, r1
|
|
movs r5, 0
|
|
ldrsh r1, [r4, r5]
|
|
cmp r0, r1
|
|
ble _080F60D8
|
|
subs r0, r2, 0x1
|
|
mov r1, r12
|
|
subs r0, r1
|
|
strh r0, [r3]
|
|
_080F60D8:
|
|
ldrh r1, [r3]
|
|
movs r2, 0
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, 0
|
|
bge _080F60EA
|
|
adds r0, r1, 0x1
|
|
ldrh r5, [r4]
|
|
adds r0, r5
|
|
strh r0, [r3]
|
|
_080F60EA:
|
|
ldr r0, _080F6130 @ =0x0000876e
|
|
adds r3, r6, r0
|
|
ldrh r0, [r3]
|
|
adds r2, r7, r0
|
|
strh r2, [r3]
|
|
lsls r0, r2, 16
|
|
asrs r0, 16
|
|
ldrh r5, [r4]
|
|
movs r6, 0
|
|
ldrsh r1, [r4, r6]
|
|
cmp r0, r1
|
|
ble _080F6108
|
|
subs r0, r2, 0x1
|
|
subs r0, r5
|
|
strh r0, [r3]
|
|
_080F6108:
|
|
ldrh r1, [r3]
|
|
movs r2, 0
|
|
ldrsh r0, [r3, r2]
|
|
cmp r0, 0
|
|
bge _080F611A
|
|
adds r0, r1, 0x1
|
|
ldrh r4, [r4]
|
|
adds r0, r4
|
|
strh r0, [r3]
|
|
_080F611A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6120: .4byte gUnknown_083DFEC4
|
|
_080F6124: .4byte 0x00008770
|
|
_080F6128: .4byte 0x00008774
|
|
_080F612C: .4byte 0x00008772
|
|
_080F6130: .4byte 0x0000876e
|
|
thumb_func_end sub_80F6074
|
|
|
|
thumb_func_start sub_80F6134
|
|
sub_80F6134: @ 80F6134
|
|
push {r4-r6,lr}
|
|
ldr r0, _080F6194 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r1, _080F6198 @ =0x000087c9
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080F61E0
|
|
ldr r2, _080F619C @ =0x000087dc
|
|
adds r5, r3, r2
|
|
movs r4, 0
|
|
ldrsh r1, [r5, r4]
|
|
ldr r6, _080F61A0 @ =0x00008774
|
|
adds r4, r3, r6
|
|
movs r2, 0
|
|
ldrsh r0, [r4, r2]
|
|
subs r0, 0x7
|
|
cmp r1, r0
|
|
bge _080F61AC
|
|
subs r6, 0x8
|
|
adds r1, r3, r6
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldrh r0, [r5]
|
|
ldr r1, _080F61A4 @ =0x00008770
|
|
adds r2, r3, r1
|
|
strh r0, [r2]
|
|
ldrh r1, [r5]
|
|
ldr r5, _080F61A8 @ =0x0000876e
|
|
adds r0, r3, r5
|
|
strh r1, [r0]
|
|
ldrh r5, [r2]
|
|
adds r0, r5, 0x7
|
|
adds r6, 0x6
|
|
adds r2, r3, r6
|
|
strh r0, [r2]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
ldrh r3, [r4]
|
|
movs r6, 0
|
|
ldrsh r1, [r4, r6]
|
|
cmp r0, r1
|
|
ble _080F61F4
|
|
adds r0, r5, 0x6
|
|
subs r0, r3
|
|
strh r0, [r2]
|
|
b _080F61F4
|
|
.align 2, 0
|
|
_080F6194: .4byte gUnknown_083DFEC4
|
|
_080F6198: .4byte 0x000087c9
|
|
_080F619C: .4byte 0x000087dc
|
|
_080F61A0: .4byte 0x00008774
|
|
_080F61A4: .4byte 0x00008770
|
|
_080F61A8: .4byte 0x0000876e
|
|
_080F61AC:
|
|
ldrh r0, [r4]
|
|
subs r0, 0x7
|
|
ldr r2, _080F61D4 @ =0x00008770
|
|
adds r1, r3, r2
|
|
strh r0, [r1]
|
|
ldrh r1, [r4]
|
|
ldr r6, _080F61D8 @ =0x00008772
|
|
adds r0, r3, r6
|
|
strh r1, [r0]
|
|
ldrh r1, [r5]
|
|
subs r2, 0x2
|
|
adds r0, r3, r2
|
|
strh r1, [r0]
|
|
ldrh r0, [r4]
|
|
subs r0, r1
|
|
movs r1, 0x7
|
|
subs r1, r0
|
|
ldr r4, _080F61DC @ =0x0000876c
|
|
adds r0, r3, r4
|
|
b _080F61F2
|
|
.align 2, 0
|
|
_080F61D4: .4byte 0x00008770
|
|
_080F61D8: .4byte 0x00008772
|
|
_080F61DC: .4byte 0x0000876c
|
|
_080F61E0:
|
|
ldr r5, _080F61FC @ =0x000087dc
|
|
adds r2, r3, r5
|
|
ldrh r1, [r2]
|
|
ldr r6, _080F6200 @ =0x0000876c
|
|
adds r0, r3, r6
|
|
strh r1, [r0]
|
|
ldrh r1, [r2]
|
|
ldr r2, _080F6204 @ =0x0000876e
|
|
adds r0, r3, r2
|
|
_080F61F2:
|
|
strh r1, [r0]
|
|
_080F61F4:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F61FC: .4byte 0x000087dc
|
|
_080F6200: .4byte 0x0000876c
|
|
_080F6204: .4byte 0x0000876e
|
|
thumb_func_end sub_80F6134
|
|
|
|
thumb_func_start sub_80F6208
|
|
sub_80F6208: @ 80F6208
|
|
push {lr}
|
|
ldr r0, _080F623C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F6240 @ =0x00008fe6
|
|
adds r0, r1, r2
|
|
movs r2, 0
|
|
strb r2, [r0]
|
|
ldr r3, _080F6244 @ =0x00008fe7
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
ldr r0, _080F6248 @ =0x00008fe8
|
|
adds r2, r1, r0
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
ldr r2, _080F624C @ =0x00006dac
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080F6238
|
|
_080F622E:
|
|
bl sub_80F6250
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F622E
|
|
_080F6238:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F623C: .4byte gUnknown_083DFEC4
|
|
_080F6240: .4byte 0x00008fe6
|
|
_080F6244: .4byte 0x00008fe7
|
|
_080F6248: .4byte 0x00008fe8
|
|
_080F624C: .4byte 0x00006dac
|
|
thumb_func_end sub_80F6208
|
|
|
|
thumb_func_start sub_80F6250
|
|
sub_80F6250: @ 80F6250
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r0, _080F6270 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F6274 @ =0x00008fe8
|
|
adds r3, r2, r0
|
|
movs r1, 0
|
|
ldrsb r1, [r3, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _080F6278
|
|
_080F626C:
|
|
movs r0, 0
|
|
b _080F637E
|
|
.align 2, 0
|
|
_080F6270: .4byte gUnknown_083DFEC4
|
|
_080F6274: .4byte 0x00008fe8
|
|
_080F6278:
|
|
ldr r1, _080F630C @ =0x00008fe6
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7
|
|
beq _080F631C
|
|
cmp r0, 0x8
|
|
beq _080F626C
|
|
movs r6, 0
|
|
adds r7, r2, 0
|
|
adds r5, r7, r1
|
|
ldr r0, _080F6310 @ =0x00008fe7
|
|
adds r4, r7, r0
|
|
ldr r1, _080F6314 @ =gPokemonStorage + 0x4
|
|
mov r8, r1
|
|
ldr r0, _080F6318 @ =0x000041a0
|
|
add r0, r8
|
|
mov r9, r0
|
|
_080F629A:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
add r1, r8
|
|
adds r0, r1
|
|
movs r1, 0x51
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
bne _080F636C
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
add r1, r9
|
|
adds r0, r1
|
|
movs r1, 0x51
|
|
bl GetBoxMonData
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _080F636C
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
movs r2, 0xFF
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1D
|
|
bls _080F62FE
|
|
strb r1, [r4]
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
ands r0, r2
|
|
cmp r0, 0x6
|
|
bhi _080F637C
|
|
_080F62FE:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x9
|
|
bls _080F629A
|
|
b _080F637C
|
|
.align 2, 0
|
|
_080F630C: .4byte 0x00008fe6
|
|
_080F6310: .4byte 0x00008fe7
|
|
_080F6314: .4byte gPokemonStorage + 0x4
|
|
_080F6318: .4byte 0x000041a0
|
|
_080F631C:
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
movs r6, 0
|
|
b _080F632A
|
|
_080F6324:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_080F632A:
|
|
cmp r6, 0x5
|
|
bhi _080F634C
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _080F635C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x51
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _080F6324
|
|
ldr r0, _080F6360 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F6364 @ =0x00008fe8
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
_080F634C:
|
|
ldr r0, _080F6360 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F6368 @ =0x00008fe6
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
b _080F6372
|
|
.align 2, 0
|
|
_080F635C: .4byte gPlayerParty
|
|
_080F6360: .4byte gUnknown_083DFEC4
|
|
_080F6364: .4byte 0x00008fe8
|
|
_080F6368: .4byte 0x00008fe6
|
|
_080F636C:
|
|
ldr r0, _080F6378 @ =0x00008fe8
|
|
adds r1, r7, r0
|
|
movs r0, 0x1
|
|
_080F6372:
|
|
strb r0, [r1]
|
|
b _080F626C
|
|
.align 2, 0
|
|
_080F6378: .4byte 0x00008fe8
|
|
_080F637C:
|
|
movs r0, 0x1
|
|
_080F637E:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6250
|
|
|
|
thumb_func_start sub_80F638C
|
|
sub_80F638C: @ 80F638C
|
|
push {r4,lr}
|
|
ldr r0, _080F63C0 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r1, _080F63C4 @ =0x00008fe6
|
|
adds r0, r4, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r2, _080F63C8 @ =0x00008fe7
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
bl sub_80F492C
|
|
ldr r0, _080F63CC @ =0x00006dac
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _080F63B8
|
|
_080F63AE:
|
|
bl sub_80F63D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F63AE
|
|
_080F63B8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F63C0: .4byte gUnknown_083DFEC4
|
|
_080F63C4: .4byte 0x00008fe6
|
|
_080F63C8: .4byte 0x00008fe7
|
|
_080F63CC: .4byte 0x00006dac
|
|
thumb_func_end sub_80F638C
|
|
|
|
thumb_func_start sub_80F63D0
|
|
sub_80F63D0: @ 80F63D0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _080F647C @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r1, _080F6480 @ =0x00008fe6
|
|
adds r0, r2, r1
|
|
ldrb r3, [r0]
|
|
cmp r3, 0xE
|
|
beq _080F6498
|
|
cmp r3, 0xF
|
|
bne _080F63E8
|
|
b _080F64F6
|
|
_080F63E8:
|
|
movs r1, 0x80
|
|
lsls r1, 23
|
|
ldr r0, [sp]
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
movs r6, 0
|
|
ldr r0, _080F6480 @ =0x00008fe6
|
|
adds r5, r2, r0
|
|
ldr r1, _080F6484 @ =0x00008fe7
|
|
adds r4, r2, r1
|
|
_080F63FC:
|
|
ldrb r0, [r5]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 4
|
|
ldr r2, _080F6488 @ =gPokemonStorage + 0x4
|
|
adds r1, r2
|
|
adds r0, r1
|
|
movs r1, 0x51
|
|
bl GetBoxMonData
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0
|
|
beq _080F644E
|
|
ldrb r1, [r5]
|
|
lsls r1, 8
|
|
ldr r2, _080F648C @ =0xffff00ff
|
|
ldr r0, [sp]
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [sp]
|
|
ldrb r2, [r4]
|
|
movs r1, 0x1F
|
|
ands r2, r1
|
|
lsls r2, 16
|
|
ldr r1, _080F6490 @ =0xffe0ffff
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
ldr r1, _080F6494 @ =0xffffff00
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
str r0, [sp]
|
|
mov r0, sp
|
|
bl sub_80F4944
|
|
_080F644E:
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
movs r2, 0
|
|
strb r0, [r4]
|
|
movs r1, 0xFF
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1E
|
|
bne _080F646E
|
|
strb r2, [r4]
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
ands r0, r1
|
|
cmp r0, 0xE
|
|
beq _080F6508
|
|
_080F646E:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0xE
|
|
bls _080F63FC
|
|
b _080F6508
|
|
.align 2, 0
|
|
_080F647C: .4byte gUnknown_083DFEC4
|
|
_080F6480: .4byte 0x00008fe6
|
|
_080F6484: .4byte 0x00008fe7
|
|
_080F6488: .4byte gPokemonStorage + 0x4
|
|
_080F648C: .4byte 0xffff00ff
|
|
_080F6490: .4byte 0xffe0ffff
|
|
_080F6494: .4byte 0xffffff00
|
|
_080F6498:
|
|
mov r0, sp
|
|
ldrb r1, [r0, 0x3]
|
|
movs r2, 0x40
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x3]
|
|
strb r3, [r0, 0x1]
|
|
movs r6, 0
|
|
mov r4, sp
|
|
_080F64A8:
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _080F64FC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x51
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0
|
|
beq _080F64DA
|
|
movs r0, 0x1F
|
|
adds r2, r6, 0
|
|
ands r2, r0
|
|
ldrb r0, [r4, 0x2]
|
|
movs r5, 0x20
|
|
negs r5, r5
|
|
adds r1, r5, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, 0x2]
|
|
strb r3, [r4]
|
|
mov r0, sp
|
|
bl sub_80F4944
|
|
_080F64DA:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _080F64A8
|
|
bl sub_80F49F4
|
|
ldr r0, _080F6500 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F6504 @ =0x00008fe6
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080F64F6:
|
|
movs r0, 0
|
|
b _080F650A
|
|
.align 2, 0
|
|
_080F64FC: .4byte gPlayerParty
|
|
_080F6500: .4byte gUnknown_083DFEC4
|
|
_080F6504: .4byte 0x00008fe6
|
|
_080F6508:
|
|
movs r0, 0x1
|
|
_080F650A:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F63D0
|
|
|
|
thumb_func_start sub_80F6514
|
|
sub_80F6514: @ 80F6514
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
mov r10, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
str r1, [sp]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp, 0x4]
|
|
mov r5, r10
|
|
ldr r0, _080F65A4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldr r2, _080F65A8 @ =0x0000893d
|
|
adds r1, r0, r2
|
|
ldrb r6, [r1]
|
|
mov r8, r6
|
|
ldr r1, _080F65AC @ =0x0000893e
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 27
|
|
lsrs r4, r0, 27
|
|
adds r7, r4, 0
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x2D
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
cmp r0, 0
|
|
beq _080F655E
|
|
b _080F66CA
|
|
_080F655E:
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x2
|
|
adds r3, r5, 0
|
|
bl sub_80F44B0
|
|
adds r0, r5, 0
|
|
bl StringGetEnd10
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0xB
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r9, r0
|
|
cmp r6, 0xE
|
|
bne _080F65B4
|
|
movs r0, 0x64
|
|
muls r4, r0
|
|
ldr r0, _080F65B0 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
str r0, [sp, 0x8]
|
|
adds r0, r4, 0
|
|
bl GetMonGender
|
|
b _080F65EA
|
|
.align 2, 0
|
|
_080F65A4: .4byte gUnknown_083DFEC4
|
|
_080F65A8: .4byte 0x0000893d
|
|
_080F65AC: .4byte 0x0000893e
|
|
_080F65B0: .4byte gPlayerParty
|
|
_080F65B4:
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
add r1, r8
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 5
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 4
|
|
ldr r2, _080F6620 @ =gPokemonStorage + 0x4
|
|
adds r1, r2
|
|
adds r0, r1
|
|
bl GetLevelFromBoxMonExp
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x8]
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
adds r1, r0, 0
|
|
mov r0, r9
|
|
bl GetGenderFromSpeciesAndPersonality
|
|
_080F65EA:
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
mov r0, r9
|
|
mov r1, r10
|
|
bl sub_8040D8C
|
|
cmp r0, 0
|
|
beq _080F65FC
|
|
movs r4, 0xFF
|
|
_080F65FC:
|
|
adds r0, r5, 0
|
|
bl StringLength
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r5, r0
|
|
movs r1, 0xFC
|
|
strb r1, [r5]
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0x3F
|
|
strb r0, [r5, 0x2]
|
|
adds r5, 0x3
|
|
cmp r4, 0
|
|
beq _080F6624
|
|
cmp r4, 0xFE
|
|
beq _080F663C
|
|
b _080F6656
|
|
.align 2, 0
|
|
_080F6620: .4byte gPokemonStorage + 0x4
|
|
_080F6624:
|
|
strb r1, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0xC
|
|
strb r0, [r5, 0x2]
|
|
strb r1, [r5, 0x3]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x4]
|
|
movs r0, 0xD
|
|
strb r0, [r5, 0x5]
|
|
movs r0, 0xB5
|
|
b _080F6652
|
|
_080F663C:
|
|
strb r1, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0xA
|
|
strb r0, [r5, 0x2]
|
|
strb r1, [r5, 0x3]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x4]
|
|
movs r0, 0xB
|
|
strb r0, [r5, 0x5]
|
|
movs r0, 0xB6
|
|
_080F6652:
|
|
strb r0, [r5, 0x6]
|
|
adds r5, 0x7
|
|
_080F6656:
|
|
movs r4, 0xFC
|
|
strb r4, [r5]
|
|
movs r1, 0x1
|
|
strb r1, [r5, 0x1]
|
|
strb r1, [r5, 0x2]
|
|
strb r4, [r5, 0x3]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x4]
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0x5]
|
|
adds r5, 0x6
|
|
strb r4, [r5]
|
|
movs r6, 0x13
|
|
strb r6, [r5, 0x1]
|
|
movs r0, 0x46
|
|
strb r0, [r5, 0x2]
|
|
adds r5, 0x3
|
|
movs r0, 0xBA
|
|
strb r0, [r5]
|
|
strb r4, [r5, 0x1]
|
|
movs r0, 0x11
|
|
strb r0, [r5, 0x2]
|
|
strb r1, [r5, 0x3]
|
|
movs r0, 0x34
|
|
strb r0, [r5, 0x4]
|
|
adds r5, 0x5
|
|
adds r0, r5, 0
|
|
ldr r1, [sp, 0x8]
|
|
bl ConvertIntToDecimalString
|
|
adds r5, r0, 0
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0x1
|
|
bne _080F66C0
|
|
ldr r0, _080F66B8 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, [sp]
|
|
lsls r1, r2, 2
|
|
adds r0, r1
|
|
ldr r1, _080F66BC @ =0x0000893c
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
adds r0, r5, 0
|
|
movs r2, 0x80
|
|
movs r3, 0x1
|
|
bl sub_8072C14
|
|
adds r5, r0, 0
|
|
b _080F66CE
|
|
.align 2, 0
|
|
_080F66B8: .4byte gUnknown_083DFEC4
|
|
_080F66BC: .4byte 0x0000893c
|
|
_080F66C0:
|
|
strb r4, [r5]
|
|
strb r6, [r5, 0x1]
|
|
movs r0, 0x67
|
|
strb r0, [r5, 0x2]
|
|
adds r5, 0x3
|
|
_080F66CA:
|
|
movs r0, 0xFF
|
|
strb r0, [r5]
|
|
_080F66CE:
|
|
adds r0, r5, 0
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6514
|
|
|
|
thumb_func_start sub_80F66E0
|
|
sub_80F66E0: @ 80F66E0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
ldr r0, _080F676C @ =gUnknown_083DFEC4
|
|
mov r8, r0
|
|
ldr r4, [r0]
|
|
ldr r1, _080F6770 @ =0x00008829
|
|
adds r0, r4, r1
|
|
ldr r2, _080F6774 @ =0x0000876e
|
|
adds r5, r4, r2
|
|
ldrh r1, [r5]
|
|
movs r2, 0
|
|
bl sub_80F6514
|
|
movs r3, 0
|
|
ldrsh r0, [r5, r3]
|
|
movs r1, 0
|
|
bl sub_80F4824
|
|
ldrh r1, [r5]
|
|
ldr r6, _080F6778 @ =0x000087dc
|
|
adds r0, r4, r6
|
|
movs r6, 0
|
|
strh r1, [r0]
|
|
ldr r1, _080F677C @ =0x0000bc8e
|
|
adds r0, r4, r1
|
|
strb r6, [r0]
|
|
movs r2, 0
|
|
mov r9, r2
|
|
movs r3, 0
|
|
ldrsh r1, [r5, r3]
|
|
lsls r1, 2
|
|
adds r1, r4, r1
|
|
ldr r5, _080F6780 @ =0x0000893d
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
ldr r2, _080F6784 @ =0x0000893e
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 27
|
|
lsrs r1, 27
|
|
movs r2, 0x52
|
|
movs r3, 0
|
|
bl sub_80F44B0
|
|
adds r7, r0, 0
|
|
ldr r3, _080F6788 @ =0x0000bc8f
|
|
adds r4, r3
|
|
strb r6, [r4]
|
|
movs r5, 0
|
|
mov r12, r5
|
|
mov r10, r8
|
|
_080F674E:
|
|
ldr r1, _080F678C @ =gUnknown_083E499C
|
|
mov r6, r12
|
|
lsls r0, r6, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x36
|
|
bgt _080F6790
|
|
cmp r0, 0x32
|
|
blt _080F6790
|
|
movs r0, 0x7
|
|
adds r2, r7, 0
|
|
ands r2, r0
|
|
lsrs r7, 3
|
|
movs r0, 0x4
|
|
b _080F679A
|
|
.align 2, 0
|
|
_080F676C: .4byte gUnknown_083DFEC4
|
|
_080F6770: .4byte 0x00008829
|
|
_080F6774: .4byte 0x0000876e
|
|
_080F6778: .4byte 0x000087dc
|
|
_080F677C: .4byte 0x0000bc8e
|
|
_080F6780: .4byte 0x0000893d
|
|
_080F6784: .4byte 0x0000893e
|
|
_080F6788: .4byte 0x0000bc8f
|
|
_080F678C: .4byte gUnknown_083E499C
|
|
_080F6790:
|
|
movs r0, 0x1
|
|
adds r2, r7, 0
|
|
ands r2, r0
|
|
lsrs r7, 1
|
|
movs r0, 0x1
|
|
_080F679A:
|
|
movs r4, 0
|
|
adds r1, r2, 0
|
|
add r0, r9
|
|
mov r8, r0
|
|
cmp r4, r1
|
|
bcs _080F67D4
|
|
mov r3, r10
|
|
ldr r0, [r3]
|
|
ldr r5, _080F6828 @ =0x0000bc8e
|
|
adds r3, r0, r5
|
|
ldr r6, _080F682C @ =0x0000bc4c
|
|
adds r6, r0, r6
|
|
str r6, [sp]
|
|
adds r5, r1, 0
|
|
_080F67B6:
|
|
ldrb r0, [r3]
|
|
adds r1, r0, 0x1
|
|
strb r1, [r3]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, [sp]
|
|
adds r0, r1, r0
|
|
mov r6, r9
|
|
adds r1, r6, r4
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, r5
|
|
bcc _080F67B6
|
|
_080F67D4:
|
|
cmp r2, 0
|
|
beq _080F67EC
|
|
mov r0, r9
|
|
cmp r0, 0x18
|
|
bls _080F67EC
|
|
mov r2, r10
|
|
ldr r1, [r2]
|
|
ldr r3, _080F6830 @ =0x0000bc8f
|
|
adds r1, r3
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080F67EC:
|
|
mov r5, r8
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
mov r0, r12
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r12, r0
|
|
cmp r0, 0x10
|
|
bls _080F674E
|
|
ldr r6, _080F6834 @ =gUnknown_083DFEC4
|
|
ldr r2, [r6]
|
|
ldr r1, _080F6828 @ =0x0000bc8e
|
|
adds r0, r2, r1
|
|
ldr r3, _080F6830 @ =0x0000bc8f
|
|
adds r1, r2, r3
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080F6840
|
|
ldr r5, _080F6838 @ =0x0000bc90
|
|
adds r0, r2, r5
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r6, _080F683C @ =0x0000bc91
|
|
adds r0, r2, r6
|
|
strb r1, [r0]
|
|
b _080F6850
|
|
.align 2, 0
|
|
_080F6828: .4byte 0x0000bc8e
|
|
_080F682C: .4byte 0x0000bc4c
|
|
_080F6830: .4byte 0x0000bc8f
|
|
_080F6834: .4byte gUnknown_083DFEC4
|
|
_080F6838: .4byte 0x0000bc90
|
|
_080F683C: .4byte 0x0000bc91
|
|
_080F6840:
|
|
ldr r0, _080F6888 @ =0x0000bc90
|
|
adds r1, r2, r0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r3, _080F688C @ =0x0000bc91
|
|
adds r1, r2, r3
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
_080F6850:
|
|
ldr r5, _080F6890 @ =gUnknown_083DFEC4
|
|
ldr r1, [r5]
|
|
ldr r6, _080F6894 @ =0x0000bc8e
|
|
adds r0, r1, r6
|
|
ldr r2, _080F6898 @ =0x0000bc8f
|
|
adds r1, r2
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
subs r0, r1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
movs r3, 0
|
|
mov r12, r3
|
|
adds r3, r5, 0
|
|
ldr r1, _080F689C @ =0x0000bc96
|
|
movs r4, 0x9
|
|
_080F6870:
|
|
cmp r2, 0x8
|
|
bls _080F68A0
|
|
ldr r0, [r3]
|
|
adds r0, r1
|
|
add r0, r12
|
|
strb r4, [r0]
|
|
adds r0, r2, 0
|
|
subs r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
b _080F68AA
|
|
.align 2, 0
|
|
_080F6888: .4byte 0x0000bc90
|
|
_080F688C: .4byte 0x0000bc91
|
|
_080F6890: .4byte gUnknown_083DFEC4
|
|
_080F6894: .4byte 0x0000bc8e
|
|
_080F6898: .4byte 0x0000bc8f
|
|
_080F689C: .4byte 0x0000bc96
|
|
_080F68A0:
|
|
ldr r0, [r3]
|
|
adds r0, r1
|
|
add r0, r12
|
|
strb r2, [r0]
|
|
movs r2, 0
|
|
_080F68AA:
|
|
mov r0, r12
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r12, r0
|
|
cmp r0, 0x2
|
|
bls _080F6870
|
|
ldr r5, _080F68DC @ =gUnknown_083DFEC4
|
|
ldr r0, [r5]
|
|
ldr r6, _080F68E0 @ =0x0000bc96
|
|
adds r1, r0, r6
|
|
add r1, r12
|
|
ldr r2, _080F68E4 @ =0x0000bc8f
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F68DC: .4byte gUnknown_083DFEC4
|
|
_080F68E0: .4byte 0x0000bc96
|
|
_080F68E4: .4byte 0x0000bc8f
|
|
thumb_func_end sub_80F66E0
|
|
|
|
thumb_func_start sub_80F68E8
|
|
sub_80F68E8: @ 80F68E8
|
|
push {r4-r7,lr}
|
|
ldr r3, _080F6918 @ =gUnknown_083DFEC4
|
|
ldr r0, [r3]
|
|
ldr r2, _080F691C @ =0x0000bc90
|
|
adds r1, r0, r2
|
|
ldrb r5, [r1]
|
|
ldr r6, _080F6920 @ =0x0000bc91
|
|
adds r0, r6
|
|
ldrb r4, [r0]
|
|
movs r0, 0x1
|
|
mov r12, r0
|
|
ldr r2, _080F6924 @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r6, r3, 0
|
|
adds r7, r2, 0
|
|
cmp r0, 0
|
|
beq _080F692E
|
|
lsls r0, r4, 24
|
|
cmp r0, 0
|
|
ble _080F692E
|
|
b _080F69BC
|
|
.align 2, 0
|
|
_080F6918: .4byte gUnknown_083DFEC4
|
|
_080F691C: .4byte 0x0000bc90
|
|
_080F6920: .4byte 0x0000bc91
|
|
_080F6924: .4byte gMain
|
|
_080F6928:
|
|
ldr r1, _080F69B0 @ =0x0000bc91
|
|
adds r0, r2, r1
|
|
ldrb r4, [r0]
|
|
_080F692E:
|
|
ldrh r1, [r7, 0x30]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080F6978
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x2
|
|
bgt _080F6978
|
|
ldr r3, _080F69B4 @ =gUnknown_083DFEC4
|
|
ldr r2, _080F69B8 @ =0x0000bc96
|
|
_080F6944:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x2
|
|
bgt _080F6960
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
ldr r1, [r3]
|
|
lsrs r4, r0, 24
|
|
asrs r0, 24
|
|
adds r1, r2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080F6944
|
|
_080F6960:
|
|
ldr r2, [r6]
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldr r3, _080F69B8 @ =0x0000bc96
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080F69EC
|
|
ldr r1, _080F69B0 @ =0x0000bc91
|
|
adds r0, r2, r1
|
|
ldrb r4, [r0]
|
|
_080F6978:
|
|
ldrh r2, [r7, 0x30]
|
|
movs r0, 0x20
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080F698A
|
|
lsls r0, r5, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bgt _080F6A3C
|
|
_080F698A:
|
|
movs r0, 0x10
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080F69AA
|
|
lsls r0, r5, 24
|
|
asrs r2, r0, 24
|
|
ldr r1, [r6]
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldr r3, _080F69B8 @ =0x0000bc96
|
|
adds r1, r3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
subs r0, 0x1
|
|
cmp r2, r0
|
|
blt _080F6A38
|
|
_080F69AA:
|
|
movs r0, 0
|
|
mov r12, r0
|
|
b _080F69FC
|
|
.align 2, 0
|
|
_080F69B0: .4byte 0x0000bc91
|
|
_080F69B4: .4byte gUnknown_083DFEC4
|
|
_080F69B8: .4byte 0x0000bc96
|
|
_080F69BC:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
ble _080F69DA
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
ldr r1, [r6]
|
|
lsrs r4, r0, 24
|
|
asrs r0, 24
|
|
ldr r2, _080F6A2C @ =0x0000bc96
|
|
adds r1, r2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080F69BC
|
|
_080F69DA:
|
|
ldr r2, [r6]
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldr r3, _080F6A2C @ =0x0000bc96
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080F6928
|
|
_080F69EC:
|
|
lsls r0, r5, 24
|
|
asrs r0, 24
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
blt _080F69FC
|
|
subs r0, r1, 0x1
|
|
_080F69F8:
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_080F69FC:
|
|
mov r0, r12
|
|
cmp r0, 0
|
|
beq _080F6A44
|
|
lsls r0, r5, 24
|
|
asrs r0, 24
|
|
ldr r3, [r6]
|
|
ldr r1, _080F6A30 @ =0x0000bc90
|
|
adds r2, r3, r1
|
|
ldrb r6, [r2]
|
|
cmp r0, r6
|
|
bne _080F6A20
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldr r6, _080F6A34 @ =0x0000bc91
|
|
adds r1, r3, r6
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080F6A40
|
|
_080F6A20:
|
|
strb r5, [r2]
|
|
ldr r1, _080F6A34 @ =0x0000bc91
|
|
adds r0, r3, r1
|
|
strb r4, [r0]
|
|
b _080F6A44
|
|
.align 2, 0
|
|
_080F6A2C: .4byte 0x0000bc96
|
|
_080F6A30: .4byte 0x0000bc90
|
|
_080F6A34: .4byte 0x0000bc91
|
|
_080F6A38:
|
|
adds r0, r2, 0x1
|
|
b _080F69F8
|
|
_080F6A3C:
|
|
subs r0, 0x1
|
|
b _080F69F8
|
|
_080F6A40:
|
|
movs r2, 0
|
|
mov r12, r2
|
|
_080F6A44:
|
|
mov r0, r12
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F68E8
|
|
|
|
thumb_func_start sub_80F6A4C
|
|
sub_80F6A4C: @ 80F6A4C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
ldr r0, _080F6AC4 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r0, _080F6AC8 @ =0x0000876e
|
|
adds r2, r3, r0
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldrh r1, [r2]
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _080F6A74
|
|
ldr r5, _080F6ACC @ =0x00008774
|
|
adds r0, r3, r5
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
_080F6A74:
|
|
ldr r1, _080F6ACC @ =0x00008774
|
|
adds r0, r3, r1
|
|
movs r5, 0
|
|
ldrsh r1, [r2, r5]
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r1, r0
|
|
ble _080F6A88
|
|
movs r0, 0
|
|
strh r0, [r2]
|
|
_080F6A88:
|
|
ldr r1, _080F6AD0 @ =0x0000bc94
|
|
adds r0, r3, r1
|
|
strb r4, [r0]
|
|
ldrh r1, [r2]
|
|
ldr r2, _080F6AD4 @ =0x000087dc
|
|
adds r0, r3, r2
|
|
strh r1, [r0]
|
|
ldr r1, _080F6AD8 @ =REG_WININ
|
|
ldr r5, _080F6ADC @ =0x00003f37
|
|
adds r0, r5, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _080F6AE0 @ =0x00003f3f
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
subs r1, 0xA
|
|
ldr r5, _080F6AE4 @ =0x000058f0
|
|
adds r0, r5, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r2, _080F6AE8 @ =0x00002060
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r5, _080F6AEC @ =0x000087de
|
|
adds r1, r3, r5
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6AC4: .4byte gUnknown_083DFEC4
|
|
_080F6AC8: .4byte 0x0000876e
|
|
_080F6ACC: .4byte 0x00008774
|
|
_080F6AD0: .4byte 0x0000bc94
|
|
_080F6AD4: .4byte 0x000087dc
|
|
_080F6AD8: .4byte REG_WININ
|
|
_080F6ADC: .4byte 0x00003f37
|
|
_080F6AE0: .4byte 0x00003f3f
|
|
_080F6AE4: .4byte 0x000058f0
|
|
_080F6AE8: .4byte 0x00002060
|
|
_080F6AEC: .4byte 0x000087de
|
|
thumb_func_end sub_80F6A4C
|
|
|
|
thumb_func_start sub_80F6AF0
|
|
sub_80F6AF0: @ 80F6AF0
|
|
push {r4,lr}
|
|
ldr r1, _080F6B10 @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r2, _080F6B14 @ =0x000087de
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x6
|
|
bls _080F6B04
|
|
b _080F6C08
|
|
_080F6B04:
|
|
lsls r0, 2
|
|
ldr r1, _080F6B18 @ =_080F6B1C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F6B10: .4byte gUnknown_083DFEC4
|
|
_080F6B14: .4byte 0x000087de
|
|
_080F6B18: .4byte _080F6B1C
|
|
.align 2, 0
|
|
_080F6B1C:
|
|
.4byte _080F6B38
|
|
.4byte _080F6B54
|
|
.4byte _080F6B6E
|
|
.4byte _080F6B84
|
|
.4byte _080F6B9C
|
|
.4byte _080F6BC0
|
|
.4byte _080F6BE0
|
|
_080F6B38:
|
|
bl sub_80F173C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F6C18
|
|
ldr r0, _080F6B4C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r3, _080F6B50 @ =0x000087de
|
|
adds r1, r3
|
|
b _080F6BCE
|
|
.align 2, 0
|
|
_080F6B4C: .4byte gUnknown_083DFEC4
|
|
_080F6B50: .4byte 0x000087de
|
|
_080F6B54:
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r0, [r2]
|
|
movs r3, 0x80
|
|
lsls r3, 6
|
|
adds r1, r3, 0
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl sub_80F1480
|
|
bl sub_80F66E0
|
|
b _080F6BC6
|
|
_080F6B6E:
|
|
bl sub_80F1238
|
|
ldr r0, _080F6B7C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F6B80 @ =0x000087de
|
|
adds r1, r2
|
|
b _080F6BCE
|
|
.align 2, 0
|
|
_080F6B7C: .4byte gUnknown_083DFEC4
|
|
_080F6B80: .4byte 0x000087de
|
|
_080F6B84:
|
|
bl sub_80F13FC
|
|
ldr r0, _080F6B94 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r3, _080F6B98 @ =0x000087de
|
|
adds r1, r3
|
|
b _080F6BCE
|
|
.align 2, 0
|
|
_080F6B94: .4byte gUnknown_083DFEC4
|
|
_080F6B98: .4byte 0x000087de
|
|
_080F6B9C:
|
|
ldr r4, [r4]
|
|
ldr r1, _080F6BB8 @ =0x0000876e
|
|
adds r0, r4, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
movs r1, 0
|
|
bl sub_80F4824
|
|
ldr r3, _080F6BBC @ =0x000087de
|
|
adds r4, r3
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _080F6C18
|
|
.align 2, 0
|
|
_080F6BB8: .4byte 0x0000876e
|
|
_080F6BBC: .4byte 0x000087de
|
|
_080F6BC0:
|
|
movs r0, 0
|
|
bl sub_80F2E18
|
|
_080F6BC6:
|
|
ldr r0, _080F6BD8 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F6BDC @ =0x000087de
|
|
adds r1, r0
|
|
_080F6BCE:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F6C18
|
|
.align 2, 0
|
|
_080F6BD8: .4byte gUnknown_083DFEC4
|
|
_080F6BDC: .4byte 0x000087de
|
|
_080F6BE0:
|
|
bl sub_80F170C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F6C18
|
|
bl sub_80F1438
|
|
movs r2, 0x80
|
|
lsls r2, 19
|
|
ldrh r1, [r2]
|
|
ldr r0, _080F6C0C @ =0x0000dfff
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _080F6C10 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F6C14 @ =0x000087de
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080F6C08:
|
|
movs r0, 0
|
|
b _080F6C1A
|
|
.align 2, 0
|
|
_080F6C0C: .4byte 0x0000dfff
|
|
_080F6C10: .4byte gUnknown_083DFEC4
|
|
_080F6C14: .4byte 0x000087de
|
|
_080F6C18:
|
|
movs r0, 0x1
|
|
_080F6C1A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6AF0
|
|
|
|
thumb_func_start sub_80F6C20
|
|
sub_80F6C20: @ 80F6C20
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r0, _080F6D44 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F6D48 @ =0x0000d158
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
mov r8, r1
|
|
ldr r2, _080F6D4C @ =gSaveBlock1 + 0x97A
|
|
mov r9, r2
|
|
_080F6C3A:
|
|
ldr r1, _080F6D50 @ =gTrainerEyeTrainers
|
|
mov r4, r8
|
|
lsls r0, r4, 4
|
|
adds r6, r0, r1
|
|
ldrh r7, [r6]
|
|
adds r0, r7, 0
|
|
bl trainer_flag_check
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F6CA0
|
|
ldr r0, _080F6D44 @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r0, _080F6D48 @ =0x0000d158
|
|
adds r5, r4, r0
|
|
ldrh r0, [r5]
|
|
lsls r0, 3
|
|
adds r0, r4, r0
|
|
ldr r1, _080F6D54 @ =0x0000cee8
|
|
adds r0, r1
|
|
strh r7, [r0]
|
|
ldrh r0, [r5]
|
|
lsls r0, 3
|
|
adds r0, r4, r0
|
|
ldr r2, _080F6D58 @ =0x0000ceec
|
|
adds r0, r2
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
ldrh r0, [r5]
|
|
lsls r0, 3
|
|
adds r0, r4, r0
|
|
mov r1, r8
|
|
add r1, r9
|
|
ldrb r1, [r1]
|
|
adds r2, 0x1
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldrh r0, [r6, 0xA]
|
|
ldrh r1, [r6, 0xC]
|
|
bl get_mapheader_by_bank_and_number
|
|
ldrh r1, [r5]
|
|
lsls r1, 3
|
|
adds r4, r1
|
|
ldrb r0, [r0, 0x14]
|
|
ldr r1, _080F6D5C @ =0x0000ceea
|
|
adds r4, r1
|
|
strh r0, [r4]
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
strh r0, [r5]
|
|
_080F6CA0:
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0x37
|
|
bls _080F6C3A
|
|
movs r2, 0
|
|
mov r8, r2
|
|
movs r6, 0
|
|
_080F6CB4:
|
|
ldr r1, _080F6D60 @ =gUnknown_083E49C0
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
adds r5, r0, r1
|
|
ldrh r4, [r5]
|
|
adds r0, r4, 0
|
|
bl trainer_flag_check
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080F6D0E
|
|
ldr r0, _080F6D44 @ =gUnknown_083DFEC4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F6D48 @ =0x0000d158
|
|
adds r3, r2, r0
|
|
ldrh r0, [r3]
|
|
lsls r0, 3
|
|
adds r0, r2, r0
|
|
ldr r1, _080F6D54 @ =0x0000cee8
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
ldrh r0, [r3]
|
|
lsls r0, 3
|
|
adds r0, r2, r0
|
|
ldrh r1, [r5, 0x2]
|
|
ldr r4, _080F6D5C @ =0x0000ceea
|
|
adds r0, r4
|
|
strh r1, [r0]
|
|
ldrh r0, [r3]
|
|
lsls r0, 3
|
|
adds r0, r2, r0
|
|
ldr r1, _080F6D64 @ =0x0000ceed
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldrh r0, [r3]
|
|
lsls r0, 3
|
|
adds r2, r0
|
|
mov r0, r8
|
|
adds r0, 0x38
|
|
adds r4, 0x2
|
|
adds r2, r4
|
|
strb r0, [r2]
|
|
ldrh r0, [r3]
|
|
adds r0, 0x1
|
|
strh r0, [r3]
|
|
_080F6D0E:
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0xC
|
|
bls _080F6CB4
|
|
ldr r3, _080F6D44 @ =gUnknown_083DFEC4
|
|
ldr r2, [r3]
|
|
ldr r1, _080F6D68 @ =0x0000876c
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r4, _080F6D6C @ =0x00008770
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
subs r4, 0x2
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
ldr r1, _080F6D48 @ =0x0000d158
|
|
adds r0, r2, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x8
|
|
bhi _080F6D70
|
|
subs r4, r0, 0x1
|
|
b _080F6D72
|
|
.align 2, 0
|
|
_080F6D44: .4byte gUnknown_083DFEC4
|
|
_080F6D48: .4byte 0x0000d158
|
|
_080F6D4C: .4byte gSaveBlock1 + 0x97A
|
|
_080F6D50: .4byte gTrainerEyeTrainers
|
|
_080F6D54: .4byte 0x0000cee8
|
|
_080F6D58: .4byte 0x0000ceec
|
|
_080F6D5C: .4byte 0x0000ceea
|
|
_080F6D60: .4byte gUnknown_083E49C0
|
|
_080F6D64: .4byte 0x0000ceed
|
|
_080F6D68: .4byte 0x0000876c
|
|
_080F6D6C: .4byte 0x00008770
|
|
_080F6D70:
|
|
movs r4, 0x7
|
|
_080F6D72:
|
|
ldr r1, _080F6DA8 @ =0x00008772
|
|
adds r0, r2, r1
|
|
strh r4, [r0]
|
|
ldr r3, [r3]
|
|
ldr r2, _080F6DAC @ =0x0000d158
|
|
adds r0, r3, r2
|
|
ldrh r0, [r0]
|
|
subs r0, 0x1
|
|
ldr r4, _080F6DB0 @ =0x00008774
|
|
adds r1, r3, r4
|
|
strh r0, [r1]
|
|
movs r1, 0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x7
|
|
ble _080F6D94
|
|
movs r1, 0x1
|
|
_080F6D94:
|
|
ldr r2, _080F6DB4 @ =0x000087c9
|
|
adds r0, r3, r2
|
|
strb r1, [r0]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6DA8: .4byte 0x00008772
|
|
_080F6DAC: .4byte 0x0000d158
|
|
_080F6DB0: .4byte 0x00008774
|
|
_080F6DB4: .4byte 0x000087c9
|
|
thumb_func_end sub_80F6C20
|
|
|
|
thumb_func_start sub_80F6DB8
|
|
sub_80F6DB8: @ 80F6DB8
|
|
push {r4,lr}
|
|
movs r1, 0
|
|
ldr r0, _080F6DEC @ =gUnknown_083DFEC4
|
|
ldr r4, [r0]
|
|
ldr r2, _080F6DF0 @ =0x00008fe9
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_80F6E04
|
|
ldr r0, _080F6DF4 @ =0x0000d15a
|
|
adds r1, r4, r0
|
|
ldr r0, _080F6DF8 @ =0x0000ffb8
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_80F2F7C
|
|
ldr r1, _080F6DFC @ =0x0000876e
|
|
adds r0, r4, r1
|
|
ldrh r0, [r0]
|
|
ldr r2, _080F6E00 @ =0x000087dc
|
|
adds r4, r2
|
|
strh r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6DEC: .4byte gUnknown_083DFEC4
|
|
_080F6DF0: .4byte 0x00008fe9
|
|
_080F6DF4: .4byte 0x0000d15a
|
|
_080F6DF8: .4byte 0x0000ffb8
|
|
_080F6DFC: .4byte 0x0000876e
|
|
_080F6E00: .4byte 0x000087dc
|
|
thumb_func_end sub_80F6DB8
|
|
|
|
thumb_func_start sub_80F6E04
|
|
sub_80F6E04: @ 80F6E04
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080F6E78 @ =gUnknown_083DFEC4
|
|
ldr r5, [r0]
|
|
ldr r1, _080F6E7C @ =0x0000876e
|
|
adds r0, r5, r1
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
lsls r0, 3
|
|
adds r0, r5, r0
|
|
ldr r7, _080F6E80 @ =0x0000cee8
|
|
adds r0, r7
|
|
ldrh r1, [r0]
|
|
ldr r2, _080F6E84 @ =gTrainers
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r6, [r0, 0x3]
|
|
lsls r0, r6, 3
|
|
mov r8, r0
|
|
ldr r0, _080F6E88 @ =gTrainerFrontPicTable
|
|
add r0, r8
|
|
ldr r2, _080F6E8C @ =gTrainerFrontPicCoords
|
|
lsls r1, r6, 2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
ldr r2, _080F6E90 @ =0x000131e4
|
|
adds r3, r5, r2
|
|
lsls r2, r4, 13
|
|
ldr r7, _080F6E94 @ =0x0000d1e4
|
|
adds r2, r7
|
|
adds r2, r5, r2
|
|
str r2, [sp]
|
|
str r6, [sp, 0x4]
|
|
movs r2, 0x1
|
|
bl DecompressPicFromTable_2
|
|
ldr r0, _080F6E98 @ =gTrainerFrontPicPaletteTable
|
|
add r8, r0
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
lsls r4, 7
|
|
adds r5, r4
|
|
adds r1, r5, 0
|
|
bl LZ77UnCompWram
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6E78: .4byte gUnknown_083DFEC4
|
|
_080F6E7C: .4byte 0x0000876e
|
|
_080F6E80: .4byte 0x0000cee8
|
|
_080F6E84: .4byte gTrainers
|
|
_080F6E88: .4byte gTrainerFrontPicTable
|
|
_080F6E8C: .4byte gTrainerFrontPicCoords
|
|
_080F6E90: .4byte 0x000131e4
|
|
_080F6E94: .4byte 0x0000d1e4
|
|
_080F6E98: .4byte gTrainerFrontPicPaletteTable
|
|
thumb_func_end sub_80F6E04
|
|
|
|
thumb_func_start sub_80F6E9C
|
|
sub_80F6E9C: @ 80F6E9C
|
|
push {lr}
|
|
ldr r0, _080F6EB4 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F6EB8 @ =0x0000d15a
|
|
adds r1, r0, r2
|
|
ldrh r2, [r1]
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
bne _080F6EBC
|
|
movs r0, 0
|
|
b _080F6ED0
|
|
.align 2, 0
|
|
_080F6EB4: .4byte gUnknown_083DFEC4
|
|
_080F6EB8: .4byte 0x0000d15a
|
|
_080F6EBC:
|
|
adds r0, r2, 0
|
|
adds r0, 0x8
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _080F6ECC
|
|
movs r0, 0x1
|
|
b _080F6ED0
|
|
_080F6ECC:
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
_080F6ED0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6E9C
|
|
|
|
thumb_func_start sub_80F6ED4
|
|
sub_80F6ED4: @ 80F6ED4
|
|
push {lr}
|
|
ldr r0, _080F6F00 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F6F04 @ =0x0000d15a
|
|
adds r1, r0, r2
|
|
ldrh r3, [r1]
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
movs r2, 0x48
|
|
negs r2, r2
|
|
cmp r0, r2
|
|
beq _080F6F0A
|
|
adds r0, r3, 0
|
|
subs r0, 0x8
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, r2
|
|
ble _080F6F08
|
|
movs r0, 0x1
|
|
b _080F6F0C
|
|
.align 2, 0
|
|
_080F6F00: .4byte gUnknown_083DFEC4
|
|
_080F6F04: .4byte 0x0000d15a
|
|
_080F6F08:
|
|
strh r2, [r1]
|
|
_080F6F0A:
|
|
movs r0, 0
|
|
_080F6F0C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F6ED4
|
|
|
|
thumb_func_start sub_80F6F10
|
|
sub_80F6F10: @ 80F6F10
|
|
push {lr}
|
|
ldr r0, _080F6F48 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r2, _080F6F4C @ =0x0000d15e
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
ldr r1, _080F6F50 @ =0x0000d15f
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r1, _080F6F54 @ =REG_BLDCNT
|
|
movs r0, 0xC8
|
|
strh r0, [r1]
|
|
ldr r0, _080F6F58 @ =REG_BLDY
|
|
strh r2, [r0]
|
|
subs r1, 0x8
|
|
ldr r2, _080F6F5C @ =0x00003f3f
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x2
|
|
ldr r2, _080F6F60 @ =0x00001f1f
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl sub_80F6FB8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6F48: .4byte gUnknown_083DFEC4
|
|
_080F6F4C: .4byte 0x0000d15e
|
|
_080F6F50: .4byte 0x0000d15f
|
|
_080F6F54: .4byte REG_BLDCNT
|
|
_080F6F58: .4byte REG_BLDY
|
|
_080F6F5C: .4byte 0x00003f3f
|
|
_080F6F60: .4byte 0x00001f1f
|
|
thumb_func_end sub_80F6F10
|
|
|
|
thumb_func_start sub_80F6F64
|
|
sub_80F6F64: @ 80F6F64
|
|
push {lr}
|
|
ldr r0, _080F6F9C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F6FA0 @ =0x0000d15e
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2]
|
|
adds r0, 0x1
|
|
strb r0, [r2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x8
|
|
bls _080F6FB0
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
ldr r0, _080F6FA4 @ =0x0000d15f
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _080F6FAC
|
|
ldr r1, _080F6FA8 @ =REG_BLDY
|
|
movs r0, 0x6
|
|
strh r0, [r1]
|
|
b _080F6FB0
|
|
.align 2, 0
|
|
_080F6F9C: .4byte gUnknown_083DFEC4
|
|
_080F6FA0: .4byte 0x0000d15e
|
|
_080F6FA4: .4byte 0x0000d15f
|
|
_080F6FA8: .4byte REG_BLDY
|
|
_080F6FAC:
|
|
ldr r0, _080F6FB4 @ =REG_BLDY
|
|
strh r1, [r0]
|
|
_080F6FB0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6FB4: .4byte REG_BLDY
|
|
thumb_func_end sub_80F6F64
|
|
|
|
thumb_func_start sub_80F6FB8
|
|
sub_80F6FB8: @ 80F6FB8
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F6FDC
|
|
ldr r1, _080F6FD0 @ =REG_WIN0H
|
|
ldr r2, _080F6FD4 @ =0x0000e8f0
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r2, _080F6FD8 @ =0x00000888
|
|
b _080F6FE8
|
|
.align 2, 0
|
|
_080F6FD0: .4byte REG_WIN0H
|
|
_080F6FD4: .4byte 0x0000e8f0
|
|
_080F6FD8: .4byte 0x00000888
|
|
_080F6FDC:
|
|
ldr r1, _080F6FF0 @ =REG_WIN0H
|
|
ldr r2, _080F6FF4 @ =0x0000e8f0
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
adds r1, 0x4
|
|
ldr r2, _080F6FF8 @ =0x00000818
|
|
_080F6FE8:
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F6FF0: .4byte REG_WIN0H
|
|
_080F6FF4: .4byte 0x0000e8f0
|
|
_080F6FF8: .4byte 0x00000818
|
|
thumb_func_end sub_80F6FB8
|
|
|
|
thumb_func_start sub_80F6FFC
|
|
sub_80F6FFC: @ 80F6FFC
|
|
ldr r0, _080F7008 @ =REG_BLDCNT
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
adds r0, 0x4
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F7008: .4byte REG_BLDCNT
|
|
thumb_func_end sub_80F6FFC
|
|
|
|
.section .text_80F708C
|
|
|
|
thumb_func_start sub_80F708C
|
|
sub_80F708C: @ 80F708C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
ldr r0, _080F70E4 @ =gUnknown_083DFEC4
|
|
ldr r3, [r0]
|
|
ldr r0, _080F70E8 @ =0x0000876e
|
|
adds r2, r3, r0
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
ldrh r1, [r2]
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _080F70B4
|
|
ldr r5, _080F70EC @ =0x00008774
|
|
adds r0, r3, r5
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
_080F70B4:
|
|
ldr r1, _080F70EC @ =0x00008774
|
|
adds r0, r3, r1
|
|
movs r5, 0
|
|
ldrsh r1, [r2, r5]
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r1, r0
|
|
ble _080F70C8
|
|
movs r0, 0
|
|
strh r0, [r2]
|
|
_080F70C8:
|
|
ldr r1, _080F70F0 @ =0x0000bc94
|
|
adds r0, r3, r1
|
|
strb r4, [r0]
|
|
ldrh r1, [r2]
|
|
ldr r2, _080F70F4 @ =0x000087dc
|
|
adds r0, r3, r2
|
|
strh r1, [r0]
|
|
ldr r5, _080F70F8 @ =0x000087de
|
|
adds r1, r3, r5
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F70E4: .4byte gUnknown_083DFEC4
|
|
_080F70E8: .4byte 0x0000876e
|
|
_080F70EC: .4byte 0x00008774
|
|
_080F70F0: .4byte 0x0000bc94
|
|
_080F70F4: .4byte 0x000087dc
|
|
_080F70F8: .4byte 0x000087de
|
|
thumb_func_end sub_80F708C
|
|
|
|
thumb_func_start sub_80F70FC
|
|
sub_80F70FC: @ 80F70FC
|
|
push {r4-r6,lr}
|
|
ldr r1, _080F711C @ =gUnknown_083DFEC4
|
|
ldr r0, [r1]
|
|
ldr r2, _080F7120 @ =0x000087de
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x6
|
|
bls _080F7110
|
|
b _080F7218
|
|
_080F7110:
|
|
lsls r0, 2
|
|
ldr r1, _080F7124 @ =_080F7128
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F711C: .4byte gUnknown_083DFEC4
|
|
_080F7120: .4byte 0x000087de
|
|
_080F7124: .4byte _080F7128
|
|
.align 2, 0
|
|
_080F7128:
|
|
.4byte _080F7144
|
|
.4byte _080F714A
|
|
.4byte _080F7164
|
|
.4byte _080F716C
|
|
.4byte _080F71A0
|
|
.4byte _080F71BA
|
|
.4byte _080F71EA
|
|
_080F7144:
|
|
bl sub_80F6ED4
|
|
b _080F71F8
|
|
_080F714A:
|
|
movs r0, 0
|
|
bl sub_80F6E04
|
|
ldr r0, _080F715C @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r2, _080F7160 @ =0x000087de
|
|
adds r1, r2
|
|
b _080F7206
|
|
.align 2, 0
|
|
_080F715C: .4byte gUnknown_083DFEC4
|
|
_080F7160: .4byte 0x000087de
|
|
_080F7164:
|
|
movs r0, 0
|
|
bl sub_80F2F7C
|
|
b _080F71FE
|
|
_080F716C:
|
|
ldr r4, [r4]
|
|
ldr r2, _080F7194 @ =0x00008788
|
|
adds r5, r4, r2
|
|
ldr r0, _080F7198 @ =0x0000876e
|
|
adds r6, r4, r0
|
|
ldrh r1, [r6]
|
|
adds r0, r5, 0
|
|
bl sub_80F700C
|
|
adds r0, r5, 0
|
|
bl sub_80F43D4
|
|
bl sub_80F105C
|
|
ldrb r0, [r6]
|
|
bl sub_80F0FFC
|
|
ldr r2, _080F719C @ =0x000087de
|
|
adds r4, r2
|
|
b _080F71CC
|
|
.align 2, 0
|
|
_080F7194: .4byte 0x00008788
|
|
_080F7198: .4byte 0x0000876e
|
|
_080F719C: .4byte 0x000087de
|
|
_080F71A0:
|
|
bl sub_80F0CD8
|
|
ldr r0, _080F71D4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F71D8 @ =0x0000bc95
|
|
adds r2, r1, r0
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
ldr r2, _080F71DC @ =0x000087de
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080F71BA:
|
|
ldr r0, _080F71D4 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F71D8 @ =0x0000bc95
|
|
adds r4, r1, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x1
|
|
bhi _080F71E0
|
|
bl sub_80F0D5C
|
|
_080F71CC:
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _080F721C
|
|
.align 2, 0
|
|
_080F71D4: .4byte gUnknown_083DFEC4
|
|
_080F71D8: .4byte 0x0000bc95
|
|
_080F71DC: .4byte 0x000087de
|
|
_080F71E0:
|
|
ldr r2, _080F7210 @ =0x000087de
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080F71EA:
|
|
bl sub_80F6E9C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F721C
|
|
bl sub_80F0D5C
|
|
_080F71F8:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080F721C
|
|
_080F71FE:
|
|
ldr r0, _080F7214 @ =gUnknown_083DFEC4
|
|
ldr r1, [r0]
|
|
ldr r0, _080F7210 @ =0x000087de
|
|
adds r1, r0
|
|
_080F7206:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080F721C
|
|
.align 2, 0
|
|
_080F7210: .4byte 0x000087de
|
|
_080F7214: .4byte gUnknown_083DFEC4
|
|
_080F7218:
|
|
movs r0, 0
|
|
b _080F721E
|
|
_080F721C:
|
|
movs r0, 0x1
|
|
_080F721E:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80F70FC
|
|
|
|
thumb_func_start sub_80F7224
|
|
sub_80F7224: @ 80F7224
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080F7260 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x30
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _080F7264 @ =gUnknown_083DFEC4
|
|
ldr r0, [r0]
|
|
ldr r3, _080F7268 @ =0x00008fe9
|
|
adds r1, r0, r3
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r3, _080F726C @ =0x00008931
|
|
adds r0, r3
|
|
adds r4, r0, r1
|
|
cmp r2, 0xFF
|
|
beq _080F7270
|
|
adds r0, r2, 0
|
|
movs r1, 0x1D
|
|
bl __udivsi3
|
|
b _080F7272
|
|
.align 2, 0
|
|
_080F7260: .4byte gPlayerParty
|
|
_080F7264: .4byte gUnknown_083DFEC4
|
|
_080F7268: .4byte 0x00008fe9
|
|
_080F726C: .4byte 0x00008931
|
|
_080F7270:
|
|
movs r0, 0x9
|
|
_080F7272:
|
|
strb r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80F7224
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|