mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 22:28:44 -05:00
23035 lines
384 KiB
ArmAsm
23035 lines
384 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_808B9C0
|
|
sub_808B9C0: @ 808B9C0
|
|
push {lr}
|
|
ldr r1, _0808B9D0 @ =gPokemonStoragePtr
|
|
ldr r1, [r1]
|
|
ldr r2, _0808B9D4 @ =0x000083d0
|
|
bl memcpy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808B9D0: .4byte gPokemonStoragePtr
|
|
_0808B9D4: .4byte 0x000083d0
|
|
thumb_func_end sub_808B9C0
|
|
|
|
thumb_func_start sub_808B9D8
|
|
sub_808B9D8: @ 808B9D8
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldr r0, _0808B9EC @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldr r2, _0808B9F0 @ =0x000083d0
|
|
bl memcpy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808B9EC: .4byte gPokemonStoragePtr
|
|
_0808B9F0: .4byte 0x000083d0
|
|
thumb_func_end sub_808B9D8
|
|
|
|
thumb_func_start StorageGetCurrentBox
|
|
StorageGetCurrentBox: @ 808B9F4
|
|
ldr r0, _0808B9FC @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0808B9FC: .4byte gPokemonStoragePtr
|
|
thumb_func_end StorageGetCurrentBox
|
|
|
|
thumb_func_start sub_808BA00
|
|
sub_808BA00: @ 808BA00
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0xD
|
|
bhi _0808BA10
|
|
ldr r0, _0808BA14 @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_0808BA10:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BA14: .4byte gPokemonStoragePtr
|
|
thumb_func_end sub_808BA00
|
|
|
|
thumb_func_start GetBoxMonDataFromAnyBox
|
|
GetBoxMonDataFromAnyBox: @ 808BA18
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BA54
|
|
cmp r4, 0x1D
|
|
bhi _0808BA54
|
|
ldr r2, _0808BA50 @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
bl GetBoxMonData
|
|
b _0808BA56
|
|
.align 2, 0
|
|
_0808BA50: .4byte gPokemonStoragePtr
|
|
_0808BA54:
|
|
movs r0, 0
|
|
_0808BA56:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetBoxMonDataFromAnyBox
|
|
|
|
thumb_func_start SetBoxMonDataFromAnyBox
|
|
SetBoxMonDataFromAnyBox: @ 808BA5C
|
|
push {r4-r6,lr}
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BA94
|
|
cmp r4, 0x1D
|
|
bhi _0808BA94
|
|
ldr r2, _0808BA9C @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl SetBoxMonData
|
|
_0808BA94:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BA9C: .4byte gPokemonStoragePtr
|
|
thumb_func_end SetBoxMonDataFromAnyBox
|
|
|
|
thumb_func_start GetBoxMonDataFromSelectedBox
|
|
GetBoxMonDataFromSelectedBox: @ 808BAA0
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
adds r2, r1, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldr r0, _0808BABC @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
adds r1, r3, 0
|
|
bl GetBoxMonDataFromAnyBox
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808BABC: .4byte gPokemonStoragePtr
|
|
thumb_func_end GetBoxMonDataFromSelectedBox
|
|
|
|
thumb_func_start SetBoxMonDataFromSelectedBox
|
|
SetBoxMonDataFromSelectedBox: @ 808BAC0
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r3, r2, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0808BAE0 @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl SetBoxMonDataFromAnyBox
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BAE0: .4byte gPokemonStoragePtr
|
|
thumb_func_end SetBoxMonDataFromSelectedBox
|
|
|
|
thumb_func_start GetBoxMonNickFromAnyBox
|
|
GetBoxMonNickFromAnyBox: @ 808BAE4
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BB20
|
|
cmp r4, 0x1D
|
|
bhi _0808BB20
|
|
ldr r2, _0808BB1C @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
bl GetBoxMonData
|
|
b _0808BB24
|
|
.align 2, 0
|
|
_0808BB1C: .4byte gPokemonStoragePtr
|
|
_0808BB20:
|
|
movs r0, 0xFF
|
|
strb r0, [r5]
|
|
_0808BB24:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end GetBoxMonNickFromAnyBox
|
|
|
|
thumb_func_start SetBoxMonNickFromAnyBox
|
|
SetBoxMonNickFromAnyBox: @ 808BB2C
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BB62
|
|
cmp r4, 0x1D
|
|
bhi _0808BB62
|
|
ldr r2, _0808BB68 @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
bl SetBoxMonData
|
|
_0808BB62:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BB68: .4byte gPokemonStoragePtr
|
|
thumb_func_end SetBoxMonNickFromAnyBox
|
|
|
|
thumb_func_start GetAndCopyBoxMonDataFromAnyBox
|
|
GetAndCopyBoxMonDataFromAnyBox: @ 808BB6C
|
|
push {r4-r6,lr}
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BBAC
|
|
cmp r4, 0x1D
|
|
bhi _0808BBAC
|
|
ldr r2, _0808BBA8 @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl GetBoxMonData
|
|
b _0808BBAE
|
|
.align 2, 0
|
|
_0808BBA8: .4byte gPokemonStoragePtr
|
|
_0808BBAC:
|
|
movs r0, 0
|
|
_0808BBAE:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetAndCopyBoxMonDataFromAnyBox
|
|
|
|
thumb_func_start CopyBoxMonFromAnyBox
|
|
CopyBoxMonFromAnyBox: @ 808BBB4
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r4, 0xD
|
|
bhi _0808BBEA
|
|
cmp r1, 0x1D
|
|
bhi _0808BBEA
|
|
ldr r0, _0808BBF0 @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
lsls r3, r1, 2
|
|
adds r3, r1
|
|
lsls r3, 4
|
|
lsls r2, r4, 2
|
|
adds r2, r4
|
|
lsls r1, r2, 4
|
|
subs r1, r2
|
|
lsls r1, 5
|
|
adds r3, r1
|
|
adds r0, r3
|
|
adds r0, 0x4
|
|
adds r1, r5, 0
|
|
movs r2, 0x50
|
|
bl memcpy
|
|
_0808BBEA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BBF0: .4byte gPokemonStoragePtr
|
|
thumb_func_end CopyBoxMonFromAnyBox
|
|
|
|
thumb_func_start sub_808BBF4
|
|
sub_808BBF4: @ 808BBF4
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
cmp r4, 0xD
|
|
bhi _0808BC2A
|
|
cmp r2, 0x1D
|
|
bhi _0808BC2A
|
|
ldr r0, _0808BC30 @ =gPokemonStoragePtr
|
|
ldr r1, [r0]
|
|
lsls r3, r2, 2
|
|
adds r3, r2
|
|
lsls r3, 4
|
|
lsls r2, r4, 2
|
|
adds r2, r4
|
|
lsls r0, r2, 4
|
|
subs r0, r2
|
|
lsls r0, 5
|
|
adds r3, r0
|
|
adds r1, r3
|
|
adds r1, 0x4
|
|
adds r0, r5, 0
|
|
movs r2, 0x50
|
|
bl memcpy
|
|
_0808BC2A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BC30: .4byte gPokemonStoragePtr
|
|
thumb_func_end sub_808BBF4
|
|
|
|
thumb_func_start sub_808BC34
|
|
sub_808BC34: @ 808BC34
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x14
|
|
ldr r4, [sp, 0x30]
|
|
ldr r5, [sp, 0x34]
|
|
ldr r6, [sp, 0x3C]
|
|
mov r12, r6
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r9, r2
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r8, r3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r0, r12
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r7, 0xD
|
|
bhi _0808BCA0
|
|
cmp r6, 0x1D
|
|
bhi _0808BCA0
|
|
ldr r2, _0808BCB0 @ =gPokemonStoragePtr
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
str r5, [sp]
|
|
ldr r1, [sp, 0x38]
|
|
str r1, [sp, 0x4]
|
|
str r3, [sp, 0x8]
|
|
ldr r1, [sp, 0x40]
|
|
str r1, [sp, 0xC]
|
|
mov r1, r9
|
|
mov r2, r8
|
|
adds r3, r4, 0
|
|
bl CreateBoxMon
|
|
_0808BCA0:
|
|
add sp, 0x14
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BCB0: .4byte gPokemonStoragePtr
|
|
thumb_func_end sub_808BC34
|
|
|
|
thumb_func_start sub_808BCB4
|
|
sub_808BCB4: @ 808BCB4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BCE4
|
|
cmp r4, 0x1D
|
|
bhi _0808BCE4
|
|
ldr r2, _0808BCEC @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
bl ZeroBoxMonData
|
|
_0808BCE4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BCEC: .4byte gPokemonStoragePtr
|
|
thumb_func_end sub_808BCB4
|
|
|
|
thumb_func_start sub_808BCF0
|
|
sub_808BCF0: @ 808BCF0
|
|
push {r4,r5,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BD24
|
|
cmp r4, 0x1D
|
|
bhi _0808BD24
|
|
ldr r2, _0808BD2C @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
bl BoxMonToMon
|
|
_0808BD24:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BD2C: .4byte gPokemonStoragePtr
|
|
thumb_func_end sub_808BCF0
|
|
|
|
thumb_func_start GetBoxedMonPtr
|
|
GetBoxedMonPtr: @ 808BD30
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r3, 0xD
|
|
bhi _0808BD64
|
|
cmp r4, 0x1D
|
|
bhi _0808BD64
|
|
ldr r2, _0808BD60 @ =gPokemonStoragePtr
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
lsls r1, r0, 4
|
|
subs r1, r0
|
|
lsls r1, 5
|
|
adds r1, 0x4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
b _0808BD66
|
|
.align 2, 0
|
|
_0808BD60: .4byte gPokemonStoragePtr
|
|
_0808BD64:
|
|
movs r0, 0
|
|
_0808BD66:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetBoxedMonPtr
|
|
|
|
thumb_func_start GetBoxNamePtr
|
|
GetBoxNamePtr: @ 808BD6C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0xD
|
|
bls _0808BD7A
|
|
movs r0, 0
|
|
b _0808BD88
|
|
_0808BD7A:
|
|
ldr r0, _0808BD8C @ =gPokemonStoragePtr
|
|
lsls r1, r2, 3
|
|
adds r1, r2
|
|
ldr r2, _0808BD90 @ =0x00008344
|
|
adds r1, r2
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
_0808BD88:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808BD8C: .4byte gPokemonStoragePtr
|
|
_0808BD90: .4byte 0x00008344
|
|
thumb_func_end GetBoxNamePtr
|
|
|
|
thumb_func_start sub_808BD94
|
|
sub_808BD94: @ 808BD94
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0xD
|
|
bls _0808BDA2
|
|
movs r0, 0
|
|
b _0808BDAE
|
|
_0808BDA2:
|
|
ldr r0, _0808BDB4 @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldr r2, _0808BDB8 @ =0x000083c2
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
_0808BDAE:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808BDB4: .4byte gPokemonStoragePtr
|
|
_0808BDB8: .4byte 0x000083c2
|
|
thumb_func_end sub_808BD94
|
|
|
|
thumb_func_start sub_808BDBC
|
|
sub_808BDBC: @ 808BDBC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r2, 0xD
|
|
bhi _0808BDDA
|
|
cmp r1, 0xF
|
|
bhi _0808BDDA
|
|
ldr r0, _0808BDE0 @ =gPokemonStoragePtr
|
|
ldr r0, [r0]
|
|
ldr r3, _0808BDE4 @ =0x000083c2
|
|
adds r0, r3
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
_0808BDDA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BDE0: .4byte gPokemonStoragePtr
|
|
_0808BDE4: .4byte 0x000083c2
|
|
thumb_func_end sub_808BDBC
|
|
|
|
thumb_func_start sub_808BDE8
|
|
sub_808BDE8: @ 808BDE8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
lsls r1, 24
|
|
lsrs r0, r1, 24
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
adds r4, r3, 0
|
|
ldr r2, _0808BE4C @ =0x0000ffff
|
|
cmp r3, 0x1
|
|
bhi _0808BE0A
|
|
movs r2, 0x1
|
|
cmp r3, 0x1
|
|
beq _0808BE0E
|
|
_0808BE0A:
|
|
cmp r4, 0x3
|
|
bne _0808BE58
|
|
_0808BE0E:
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r2, 16
|
|
asrs r1, r2, 16
|
|
adds r1, r0
|
|
lsls r0, r1, 16
|
|
asrs r1, r0, 16
|
|
adds r6, r2, 0
|
|
cmp r1, 0
|
|
blt _0808BEA4
|
|
cmp r1, r7
|
|
bgt _0808BEA4
|
|
_0808BE26:
|
|
asrs r4, r0, 16
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 4
|
|
add r0, r8
|
|
movs r1, 0xB
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
bne _0808BE50
|
|
asrs r0, r6, 16
|
|
adds r0, r4, r0
|
|
lsls r0, 16
|
|
asrs r2, r0, 16
|
|
cmp r2, 0
|
|
blt _0808BEA4
|
|
cmp r2, r7
|
|
ble _0808BE26
|
|
b _0808BEA4
|
|
.align 2, 0
|
|
_0808BE4C: .4byte 0x0000ffff
|
|
_0808BE50:
|
|
adds r0, r4, 0
|
|
b _0808BEA8
|
|
_0808BE54:
|
|
adds r0, r5, 0
|
|
b _0808BEA8
|
|
_0808BE58:
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r2, 16
|
|
asrs r1, r2, 16
|
|
adds r1, r0
|
|
lsls r0, r1, 16
|
|
asrs r1, r0, 16
|
|
adds r6, r2, 0
|
|
cmp r1, 0
|
|
blt _0808BEA4
|
|
cmp r1, r7
|
|
bgt _0808BEA4
|
|
_0808BE70:
|
|
asrs r5, r0, 16
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 4
|
|
mov r1, r8
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _0808BE94
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _0808BE54
|
|
_0808BE94:
|
|
asrs r0, r6, 16
|
|
adds r0, r5, r0
|
|
lsls r0, 16
|
|
asrs r2, r0, 16
|
|
cmp r2, 0
|
|
blt _0808BEA4
|
|
cmp r2, r7
|
|
ble _0808BE70
|
|
_0808BEA4:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0808BEA8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_808BDE8
|
|
|
|
thumb_func_start sub_808BEB4
|
|
sub_808BEB4: @ 808BEB4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x2C
|
|
str r0, [sp, 0x24]
|
|
adds r7, r1, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp, 0x28]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r9, r3
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp, 0x1C]
|
|
str r1, [sp, 0x20]
|
|
ldr r1, _0808BF30 @ =0x00ffffff
|
|
ldr r0, [sp, 0x1C]
|
|
ands r0, r1
|
|
movs r1, 0xC0
|
|
lsls r1, 21
|
|
orrs r0, r1
|
|
str r0, [sp, 0x1C]
|
|
ldr r1, _0808BF34 @ =0xffffff00
|
|
add r5, sp, 0x1C
|
|
ldr r0, [r5, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
str r0, [r5, 0x4]
|
|
adds r0, r5, 0
|
|
bl AddWindow
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
lsls r4, r0, 24
|
|
lsrs r4, 24
|
|
mov r0, r9
|
|
lsls r1, r0, 4
|
|
orrs r1, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl FillWindowPixelBuffer
|
|
adds r0, r4, 0
|
|
movs r1, 0x7
|
|
bl GetWindowAttribute
|
|
adds r6, r0, 0
|
|
ldrb r0, [r5, 0x3]
|
|
lsls r0, 5
|
|
adds r0, r6
|
|
mov r8, r0
|
|
ldr r1, [sp, 0x28]
|
|
cmp r1, 0
|
|
bne _0808BF38
|
|
add r0, sp, 0x14
|
|
b _0808BF3C
|
|
.align 2, 0
|
|
_0808BF30: .4byte 0x00ffffff
|
|
_0808BF34: .4byte 0xffffff00
|
|
_0808BF38:
|
|
add r0, sp, 0x14
|
|
mov r1, r9
|
|
_0808BF3C:
|
|
strb r1, [r0]
|
|
add r1, sp, 0x14
|
|
movs r2, 0
|
|
movs r0, 0xF
|
|
strb r0, [r1, 0x1]
|
|
movs r0, 0xE
|
|
strb r0, [r1, 0x2]
|
|
mov r0, r10
|
|
lsls r4, r0, 24
|
|
lsrs r0, r4, 24
|
|
str r2, [sp]
|
|
str r2, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [sp, 0xC]
|
|
ldr r1, [sp, 0x24]
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0x1
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParameterized4
|
|
ldr r0, [sp, 0x50]
|
|
mov r10, r4
|
|
cmp r0, 0x6
|
|
ble _0808BF72
|
|
movs r0, 0x6
|
|
_0808BF72:
|
|
ldr r4, [sp, 0x50]
|
|
subs r4, 0x6
|
|
cmp r0, 0
|
|
ble _0808BFA4
|
|
adds r5, r0, 0
|
|
_0808BF7C:
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
movs r2, 0x40
|
|
bl CpuSet
|
|
adds r1, r7, 0
|
|
adds r1, 0x80
|
|
mov r0, r8
|
|
movs r2, 0x40
|
|
bl CpuSet
|
|
adds r6, 0x80
|
|
movs r2, 0x80
|
|
add r8, r2
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
adds r7, r0
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bne _0808BF7C
|
|
_0808BFA4:
|
|
cmp r4, 0
|
|
ble _0808BFC4
|
|
add r0, sp, 0x18
|
|
mov r2, r9
|
|
lsls r1, r2, 4
|
|
orrs r1, r2
|
|
strh r1, [r0]
|
|
lsls r2, r4, 7
|
|
ldr r1, _0808BFDC @ =0x001fffff
|
|
ands r2, r1
|
|
movs r1, 0x80
|
|
lsls r1, 17
|
|
orrs r2, r1
|
|
adds r1, r7, 0
|
|
bl CpuSet
|
|
_0808BFC4:
|
|
mov r1, r10
|
|
lsrs r0, r1, 24
|
|
bl RemoveWindow
|
|
add sp, 0x2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808BFDC: .4byte 0x001fffff
|
|
thumb_func_end sub_808BEB4
|
|
|
|
thumb_func_start sub_808BFE0
|
|
sub_808BFE0: @ 808BFE0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x2C
|
|
str r0, [sp, 0x20]
|
|
str r1, [sp, 0x24]
|
|
adds r6, r3, 0
|
|
ldr r0, [sp, 0x4C]
|
|
mov r9, r0
|
|
ldr r1, [sp, 0x50]
|
|
mov r10, r1
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
str r2, [sp, 0x28]
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
mov r2, r9
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r9, r2
|
|
mov r0, r10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp, 0x18]
|
|
str r1, [sp, 0x1C]
|
|
ldr r0, [sp, 0x20]
|
|
bl StringLength_Multibyte
|
|
lsls r0, 24
|
|
ldr r2, _0808C0CC @ =0x00ffffff
|
|
ldr r1, [sp, 0x18]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp, 0x18]
|
|
ldr r1, _0808C0D0 @ =0xffffff00
|
|
add r2, sp, 0x18
|
|
mov r8, r2
|
|
ldr r0, [r2, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
str r0, [r2, 0x4]
|
|
ldr r5, [sp, 0x18]
|
|
lsrs r5, 24
|
|
lsls r5, 5
|
|
mov r0, r8
|
|
bl AddWindow
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, r6, 4
|
|
orrs r1, r6
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl FillWindowPixelBuffer
|
|
adds r0, r4, 0
|
|
movs r1, 0x7
|
|
bl GetWindowAttribute
|
|
adds r7, r0, 0
|
|
mov r0, r8
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 5
|
|
mov r8, r0
|
|
add r8, r7
|
|
add r0, sp, 0x14
|
|
movs r1, 0
|
|
strb r6, [r0]
|
|
mov r2, r9
|
|
strb r2, [r0, 0x1]
|
|
mov r2, r10
|
|
strb r2, [r0, 0x2]
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp, 0xC]
|
|
ldr r0, [sp, 0x20]
|
|
str r0, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParameterized4
|
|
lsrs r5, 1
|
|
adds r0, r7, 0
|
|
ldr r1, [sp, 0x24]
|
|
adds r2, r5, 0
|
|
bl CpuSet
|
|
ldr r2, [sp, 0x24]
|
|
ldr r0, [sp, 0x28]
|
|
adds r1, r2, r0
|
|
mov r0, r8
|
|
adds r2, r5, 0
|
|
bl CpuSet
|
|
adds r0, r4, 0
|
|
bl RemoveWindow
|
|
add sp, 0x2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C0CC: .4byte 0x00ffffff
|
|
_0808C0D0: .4byte 0xffffff00
|
|
thumb_func_end sub_808BFE0
|
|
|
|
thumb_func_start CountMonsInBox
|
|
CountMonsInBox: @ 808C0D4
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r4, 0
|
|
movs r5, 0
|
|
_0808C0DE:
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
movs r2, 0xB
|
|
bl GetBoxMonDataFromAnyBox
|
|
cmp r0, 0
|
|
beq _0808C0F4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_0808C0F4:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1D
|
|
bls _0808C0DE
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end CountMonsInBox
|
|
|
|
thumb_func_start GetFirstFreeBoxSpot
|
|
GetFirstFreeBoxSpot: @ 808C108
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r4, 0
|
|
_0808C110:
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
movs r2, 0xB
|
|
bl GetBoxMonDataFromAnyBox
|
|
cmp r0, 0
|
|
bne _0808C126
|
|
lsls r0, r4, 16
|
|
asrs r0, 16
|
|
b _0808C134
|
|
_0808C126:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1D
|
|
bls _0808C110
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0808C134:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetFirstFreeBoxSpot
|
|
|
|
thumb_func_start CountPartyNonEggMons
|
|
CountPartyNonEggMons: @ 808C13C
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
movs r6, 0
|
|
_0808C142:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0808C180 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0808C16A
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0808C16A
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_0808C16A:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _0808C142
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808C180: .4byte gPlayerParty
|
|
thumb_func_end CountPartyNonEggMons
|
|
|
|
thumb_func_start CountPartyAliveNonEggMonsExcept
|
|
CountPartyAliveNonEggMonsExcept: @ 808C184
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
movs r5, 0
|
|
movs r6, 0
|
|
lsrs r7, r0, 24
|
|
_0808C18E:
|
|
cmp r5, r7
|
|
beq _0808C1C6
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0808C1DC @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0808C1C6
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0808C1C6
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0808C1C6
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_0808C1C6:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _0808C18E
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808C1DC: .4byte gPlayerParty
|
|
thumb_func_end CountPartyAliveNonEggMonsExcept
|
|
|
|
thumb_func_start CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
|
|
CountPartyAliveNonEggMons_IgnoreVar0x8004Slot: @ 808C1E0
|
|
push {lr}
|
|
ldr r0, _0808C1F4 @ =gSpecialVar_0x8004
|
|
ldrb r0, [r0]
|
|
bl CountPartyAliveNonEggMonsExcept
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808C1F4: .4byte gSpecialVar_0x8004
|
|
thumb_func_end CountPartyAliveNonEggMons_IgnoreVar0x8004Slot
|
|
|
|
thumb_func_start CountPartyMons
|
|
CountPartyMons: @ 808C1F8
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
movs r5, 0
|
|
_0808C1FE:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0808C22C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0808C216
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_0808C216:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x5
|
|
bls _0808C1FE
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808C22C: .4byte gPlayerParty
|
|
thumb_func_end CountPartyMons
|
|
|
|
thumb_func_start StringCopyAndFillWithSpaces
|
|
StringCopyAndFillWithSpaces: @ 808C230
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r4, r2, 16
|
|
lsrs r4, 16
|
|
bl StringCopy
|
|
adds r1, r0, 0
|
|
adds r5, r4
|
|
cmp r1, r5
|
|
bcs _0808C24E
|
|
movs r0, 0
|
|
_0808C246:
|
|
strb r0, [r1]
|
|
adds r1, 0x1
|
|
cmp r1, r5
|
|
bcc _0808C246
|
|
_0808C24E:
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
adds r0, r1, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end StringCopyAndFillWithSpaces
|
|
|
|
thumb_func_start sub_808C25C
|
|
sub_808C25C: @ 808C25C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r6, r0, 0
|
|
adds r7, r3, 0
|
|
ldr r5, [sp, 0x1C]
|
|
ldr r4, [sp, 0x20]
|
|
ldr r0, [sp, 0x24]
|
|
mov r9, r0
|
|
ldr r0, [sp, 0x28]
|
|
ldr r3, [sp, 0x2C]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r0, r9
|
|
lsls r0, 17
|
|
mov r9, r0
|
|
lsrs r2, 11
|
|
adds r2, r1
|
|
lsls r2, 1
|
|
adds r6, r2
|
|
adds r0, r4, 0
|
|
muls r0, r3
|
|
adds r0, r5
|
|
lsls r0, 1
|
|
adds r7, r0
|
|
movs r4, 0
|
|
cmp r4, r8
|
|
bcs _0808C2CC
|
|
mov r0, r9
|
|
lsrs r0, 1
|
|
mov r9, r0
|
|
lsls r5, r3, 1
|
|
_0808C2B2:
|
|
adds r0, r7, 0
|
|
adds r1, r6, 0
|
|
mov r3, r9
|
|
lsrs r2, r3, 16
|
|
bl CpuSet
|
|
adds r6, 0x40
|
|
adds r7, r5
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, r8
|
|
bcc _0808C2B2
|
|
_0808C2CC:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808C25C
|
|
|
|
thumb_func_start sub_808C2D8
|
|
sub_808C2D8: @ 808C2D8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r0, [sp, 0x28]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 16
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
lsrs r2, 11
|
|
adds r2, r1
|
|
lsls r2, 1
|
|
adds r4, r2
|
|
lsls r3, 17
|
|
lsrs r0, r3, 16
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
cmp r0, r10
|
|
bcs _0808C382
|
|
movs r6, 0x80
|
|
lsls r6, 5
|
|
mov r5, sp
|
|
ldr r7, _0808C344 @ =0x040000d4
|
|
lsrs r3, 17
|
|
mov r9, r3
|
|
mov r1, r9
|
|
movs r2, 0x81
|
|
lsls r2, 24
|
|
orrs r1, r2
|
|
mov r9, r1
|
|
_0808C31E:
|
|
adds r3, r4, 0
|
|
ldr r2, [sp, 0x4]
|
|
movs r1, 0x40
|
|
adds r1, r4
|
|
mov r8, r1
|
|
adds r0, 0x1
|
|
mov r12, r0
|
|
cmp r2, r6
|
|
bhi _0808C348
|
|
movs r0, 0
|
|
strh r0, [r5]
|
|
mov r2, sp
|
|
str r2, [r7]
|
|
str r4, [r7, 0x4]
|
|
mov r0, r9
|
|
str r0, [r7, 0x8]
|
|
ldr r0, [r7, 0x8]
|
|
b _0808C376
|
|
.align 2, 0
|
|
_0808C344: .4byte 0x040000d4
|
|
_0808C348:
|
|
movs r4, 0
|
|
strh r4, [r5]
|
|
ldr r1, _0808C394 @ =0x040000d4
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r3, [r1, 0x4]
|
|
ldr r0, _0808C398 @ =0x81000800
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r3, r6
|
|
subs r2, r6
|
|
cmp r2, r6
|
|
bhi _0808C348
|
|
strh r4, [r5]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r3, [r1, 0x4]
|
|
lsrs r0, r2, 1
|
|
movs r2, 0x81
|
|
lsls r2, 24
|
|
orrs r0, r2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
_0808C376:
|
|
mov r4, r8
|
|
mov r1, r12
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
cmp r0, r10
|
|
bcc _0808C31E
|
|
_0808C382:
|
|
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
|
|
_0808C394: .4byte 0x040000d4
|
|
_0808C398: .4byte 0x81000800
|
|
thumb_func_end sub_808C2D8
|
|
|
|
thumb_func_start c3_0808C39C
|
|
c3_0808C39C: @ 808C39C
|
|
push {r4-r7,lr}
|
|
sub sp, 0x10
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0808C3C4 @ =gTasks
|
|
adds r5, r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x4
|
|
bls _0808C3B8
|
|
b _0808C69C
|
|
_0808C3B8:
|
|
lsls r0, 2
|
|
ldr r1, _0808C3C8 @ =_0808C3CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808C3C4: .4byte gTasks
|
|
_0808C3C8: .4byte _0808C3CC
|
|
.align 2, 0
|
|
_0808C3CC:
|
|
.4byte _0808C3E0
|
|
.4byte _0808C448
|
|
.4byte _0808C45C
|
|
.4byte _0808C5A6
|
|
.4byte _0808C680
|
|
_0808C3E0:
|
|
movs r0, 0x1C
|
|
bl HelpSystem_SetSomeVariable2
|
|
ldrb r0, [r5, 0xA]
|
|
adds r1, r5, 0
|
|
adds r1, 0x26
|
|
bl sub_808C72C
|
|
bl sub_80F6E9C
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl DrawDialogueFrame
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0808C444 @ =gUnknown_83CDA20
|
|
movs r2, 0xA
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
movs r3, 0xFF
|
|
bl AddTextPrinterParameterized2
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
ldrh r0, [r5, 0x26]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
b _0808C454
|
|
.align 2, 0
|
|
_0808C444: .4byte gUnknown_83CDA20
|
|
_0808C448:
|
|
bl sub_807AA70
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808C454
|
|
b _0808C69C
|
|
_0808C454:
|
|
ldrh r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0x8]
|
|
b _0808C69C
|
|
_0808C45C:
|
|
bl Menu_ProcessInput
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
strh r0, [r5, 0xC]
|
|
movs r3, 0xC
|
|
ldrsh r1, [r5, r3]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808C50C
|
|
cmp r1, r0
|
|
bgt _0808C47E
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
beq _0808C484
|
|
b _0808C530
|
|
_0808C47E:
|
|
cmp r1, 0x4
|
|
beq _0808C50C
|
|
b _0808C530
|
|
_0808C484:
|
|
ldrh r3, [r5, 0xA]
|
|
strh r3, [r5, 0xE]
|
|
ldr r2, _0808C504 @ =gMain
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C4A2
|
|
subs r0, r3, 0x1
|
|
strh r0, [r5, 0xE]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _0808C4A2
|
|
movs r0, 0x4
|
|
strh r0, [r5, 0xE]
|
|
_0808C4A2:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C4BE
|
|
ldrh r0, [r5, 0xE]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0xE]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x4
|
|
ble _0808C4BE
|
|
movs r0, 0
|
|
strh r0, [r5, 0xE]
|
|
_0808C4BE:
|
|
lsls r0, r3, 16
|
|
asrs r0, 16
|
|
ldrh r2, [r5, 0xE]
|
|
movs r3, 0xE
|
|
ldrsh r1, [r5, r3]
|
|
cmp r0, r1
|
|
bne _0808C4CE
|
|
b _0808C69C
|
|
_0808C4CE:
|
|
movs r4, 0
|
|
strh r2, [r5, 0xA]
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0808C508 @ =gUnknown_83CDA20
|
|
movs r2, 0xA
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
str r4, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl AddTextPrinterParameterized2
|
|
b _0808C69C
|
|
.align 2, 0
|
|
_0808C504: .4byte gMain
|
|
_0808C508: .4byte gUnknown_83CDA20
|
|
_0808C50C:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl ClearStdWindowAndFrame
|
|
ldrh r0, [r5, 0x26]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x1
|
|
bl ClearStdWindowAndFrame
|
|
bl ScriptContext2_Disable
|
|
bl EnableBothScriptContexts
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
b _0808C69C
|
|
_0808C530:
|
|
movs r3, 0xC
|
|
ldrsh r4, [r5, r3]
|
|
cmp r4, 0
|
|
bne _0808C564
|
|
bl CountPartyMons
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x6
|
|
bne _0808C564
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0808C560 @ =gUnknown_84186B0
|
|
str r4, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0xC]
|
|
b _0808C66E
|
|
.align 2, 0
|
|
_0808C560: .4byte gUnknown_84186B0
|
|
_0808C564:
|
|
movs r1, 0xC
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
bne _0808C598
|
|
bl CountPartyMons
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1
|
|
bne _0808C598
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0808C594 @ =gUnknown_8418690
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r4, 0x3
|
|
str r4, [sp, 0xC]
|
|
b _0808C66E
|
|
.align 2, 0
|
|
_0808C594: .4byte gUnknown_8418690
|
|
_0808C598:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl fade_screen
|
|
movs r0, 0x4
|
|
strh r0, [r5, 0x8]
|
|
b _0808C69C
|
|
_0808C5A6:
|
|
ldr r0, _0808C5D0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r7, 0x3
|
|
adds r4, r7, 0
|
|
ands r4, r1
|
|
cmp r4, 0
|
|
beq _0808C5D8
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0808C5D4 @ =gUnknown_83CDA20
|
|
movs r2, 0xA
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
b _0808C664
|
|
.align 2, 0
|
|
_0808C5D0: .4byte gMain
|
|
_0808C5D4: .4byte gUnknown_83CDA20
|
|
_0808C5D8:
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0
|
|
beq _0808C624
|
|
ldrh r0, [r5, 0xA]
|
|
subs r0, 0x1
|
|
strh r0, [r5, 0xA]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _0808C5F4
|
|
movs r0, 0x4
|
|
strh r0, [r5, 0xA]
|
|
_0808C5F4:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl Menu_MoveCursor
|
|
bl Menu_GetCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5, 0xA]
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0808C620 @ =gUnknown_83CDA20
|
|
movs r3, 0xA
|
|
ldrsh r0, [r5, r3]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
str r4, [sp]
|
|
b _0808C664
|
|
.align 2, 0
|
|
_0808C620: .4byte gUnknown_83CDA20
|
|
_0808C624:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C69C
|
|
ldrh r0, [r5, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0xA]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3
|
|
ble _0808C63C
|
|
strh r6, [r5, 0xA]
|
|
_0808C63C:
|
|
movs r0, 0x1
|
|
bl Menu_MoveCursor
|
|
bl Menu_GetCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5, 0xA]
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, _0808C67C @ =gUnknown_83CDA20
|
|
movs r2, 0xA
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
str r6, [sp]
|
|
_0808C664:
|
|
movs r4, 0x2
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
str r7, [sp, 0xC]
|
|
_0808C66E:
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl AddTextPrinterParameterized2
|
|
strh r4, [r5, 0x8]
|
|
b _0808C69C
|
|
.align 2, 0
|
|
_0808C67C: .4byte gUnknown_83CDA20
|
|
_0808C680:
|
|
ldr r0, _0808C6A4 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0808C69C
|
|
bl CleanupOverworldWindowsAndTilemaps
|
|
ldrb r0, [r5, 0xC]
|
|
bl sub_808CDE4
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_0808C69C:
|
|
add sp, 0x10
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C6A4: .4byte gPaletteFade
|
|
thumb_func_end c3_0808C39C
|
|
|
|
thumb_func_start sub_808C6A8
|
|
sub_808C6A8: @ 808C6A8
|
|
push {lr}
|
|
ldr r0, _0808C6D0 @ =c3_0808C39C
|
|
movs r1, 0x50
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0808C6D4 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r0, 0
|
|
strh r0, [r1, 0x8]
|
|
strh r0, [r1, 0xA]
|
|
bl ScriptContext2_Enable
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C6D0: .4byte c3_0808C39C
|
|
_0808C6D4: .4byte gTasks
|
|
thumb_func_end sub_808C6A8
|
|
|
|
thumb_func_start mapldr_0808C6D8
|
|
mapldr_0808C6D8: @ 808C6D8
|
|
push {r4,r5,lr}
|
|
ldr r0, _0808C71C @ =gMain
|
|
ldr r5, [r0, 0xC]
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
ldr r4, _0808C720 @ =c3_0808C39C
|
|
adds r0, r4, 0
|
|
movs r1, 0x50
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0808C724 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r2, 0
|
|
strh r2, [r1, 0x8]
|
|
ldr r2, _0808C728 @ =gUnknown_20397A8
|
|
ldrb r2, [r2]
|
|
strh r2, [r1, 0xA]
|
|
bl _call_via_r4
|
|
adds r0, r5, 0
|
|
bl SetVBlankCallback
|
|
bl sub_807DC00
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C71C: .4byte gMain
|
|
_0808C720: .4byte c3_0808C39C
|
|
_0808C724: .4byte gTasks
|
|
_0808C728: .4byte gUnknown_20397A8
|
|
thumb_func_end mapldr_0808C6D8
|
|
|
|
thumb_func_start sub_808C72C
|
|
sub_808C72C: @ 808C72C
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0xC
|
|
adds r6, r0, 0
|
|
mov r10, r1
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _0808C7AC @ =gUnknown_83CDA48
|
|
bl AddWindow
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r4, r5, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl DrawStdWindowFrame
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl GetMenuCursorDimensionByFont
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x10
|
|
mov r9, r0
|
|
str r0, [sp]
|
|
movs r0, 0x5
|
|
mov r8, r0
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _0808C7B0 @ =gUnknown_83CDA20
|
|
str r0, [sp, 0x8]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
movs r3, 0x2
|
|
bl PrintTextArray
|
|
mov r0, r9
|
|
str r0, [sp]
|
|
mov r0, r8
|
|
str r0, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl Menu_InitCursor
|
|
mov r0, r10
|
|
strh r5, [r0]
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C7AC: .4byte gUnknown_83CDA48
|
|
_0808C7B0: .4byte gUnknown_83CDA20
|
|
thumb_func_end sub_808C72C
|
|
|
|
thumb_func_start sub_808C7B4
|
|
sub_808C7B4: @ 808C7B4
|
|
push {lr}
|
|
bl sub_808FDF0
|
|
ldr r1, _0808C7D0 @ =gUnknown_20397A8
|
|
strb r0, [r1]
|
|
ldr r1, _0808C7D4 @ =gFieldCallback
|
|
ldr r0, _0808C7D8 @ =mapldr_0808C6D8
|
|
str r0, [r1]
|
|
ldr r0, _0808C7DC @ =CB2_ReturnToField
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C7D0: .4byte gUnknown_20397A8
|
|
_0808C7D4: .4byte gFieldCallback
|
|
_0808C7D8: .4byte mapldr_0808C6D8
|
|
_0808C7DC: .4byte CB2_ReturnToField
|
|
thumb_func_end sub_808C7B4
|
|
|
|
thumb_func_start sub_808C7E0
|
|
sub_808C7E0: @ 808C7E0
|
|
push {r4-r6,lr}
|
|
movs r0, 0
|
|
bl sub_808BA00
|
|
movs r5, 0
|
|
_0808C7EA:
|
|
movs r4, 0
|
|
lsls r6, r5, 24
|
|
_0808C7EE:
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
lsrs r0, r6, 24
|
|
bl sub_808BCB4
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1D
|
|
bls _0808C7EE
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0xD
|
|
bls _0808C7EA
|
|
movs r5, 0
|
|
_0808C80E:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl GetBoxNamePtr
|
|
ldr r1, _0808C850 @ =gUnknown_84186CD
|
|
bl StringCopy
|
|
adds r4, r5, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
lsls r4, 16
|
|
lsrs r5, r4, 16
|
|
cmp r5, 0xD
|
|
bls _0808C80E
|
|
movs r5, 0
|
|
_0808C832:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x3
|
|
ands r1, r5
|
|
bl sub_808BDBC
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0xD
|
|
bls _0808C832
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C850: .4byte gUnknown_84186CD
|
|
thumb_func_end sub_808C7E0
|
|
|
|
thumb_func_start sub_808C854
|
|
sub_808C854: @ 808C854
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x20
|
|
adds r5, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r6, r1, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r7, r2, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r8, r3
|
|
ldr r0, _0808C8E8 @ =gUnknown_83CDA98
|
|
str r0, [sp, 0x18]
|
|
ldr r1, _0808C8EC @ =0xffff0000
|
|
add r4, sp, 0x18
|
|
ldr r0, [r4, 0x4]
|
|
ands r0, r1
|
|
orrs r0, r7
|
|
str r0, [r4, 0x4]
|
|
mov r1, sp
|
|
ldr r0, _0808C8F0 @ =gUnknown_83CDAB8
|
|
str r0, [sp]
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
strh r0, [r1, 0x4]
|
|
strh r6, [r1, 0x6]
|
|
ldr r0, _0808C8F4 @ =gUnknown_83CE2B8
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0xC0
|
|
lsls r0, 1
|
|
strh r0, [r1, 0xC]
|
|
adds r0, r6, 0x1
|
|
strh r0, [r1, 0xE]
|
|
add r0, sp, 0x10
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl memset
|
|
ldr r0, [sp, 0x38]
|
|
cmp r0, 0
|
|
beq _0808C8B2
|
|
adds r0, r4, 0
|
|
bl LoadSpritePalette
|
|
_0808C8B2:
|
|
mov r0, sp
|
|
bl LoadSpriteSheets
|
|
ldr r0, _0808C8F8 @ =gUnknown_20397AC
|
|
str r5, [r0]
|
|
movs r1, 0x90
|
|
lsls r1, 2
|
|
adds r0, r5, r1
|
|
strh r6, [r0]
|
|
adds r1, 0x2
|
|
adds r0, r5, r1
|
|
strh r7, [r0]
|
|
adds r1, 0x4
|
|
adds r0, r5, r1
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
movs r1, 0x8F
|
|
lsls r1, 2
|
|
adds r0, r5, r1
|
|
ldr r1, [sp, 0x38]
|
|
str r1, [r0]
|
|
add sp, 0x20
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C8E8: .4byte gUnknown_83CDA98
|
|
_0808C8EC: .4byte 0xffff0000
|
|
_0808C8F0: .4byte gUnknown_83CDAB8
|
|
_0808C8F4: .4byte gUnknown_83CE2B8
|
|
_0808C8F8: .4byte gUnknown_20397AC
|
|
thumb_func_end sub_808C854
|
|
|
|
thumb_func_start sub_808C8FC
|
|
sub_808C8FC: @ 808C8FC
|
|
push {r4,r5,lr}
|
|
ldr r5, _0808C93C @ =gUnknown_20397AC
|
|
ldr r1, [r5]
|
|
movs r2, 0x8F
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808C918
|
|
adds r2, 0x6
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
bl FreeSpritePaletteByTag
|
|
_0808C918:
|
|
ldr r0, [r5]
|
|
movs r4, 0x90
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
bl FreeSpriteTilesByTag
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FreeSpriteTilesByTag
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808C93C: .4byte gUnknown_20397AC
|
|
thumb_func_end sub_808C8FC
|
|
|
|
thumb_func_start sub_808C940
|
|
sub_808C940: @ 808C940
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_808C9C4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808C940
|
|
|
|
thumb_func_start sub_808C950
|
|
sub_808C950: @ 808C950
|
|
push {lr}
|
|
bl sub_808CBA4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808C950
|
|
|
|
thumb_func_start sub_808C95C
|
|
sub_808C95C: @ 808C95C
|
|
push {lr}
|
|
ldr r0, _0808C974 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C978
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0xC9
|
|
b _0808C9C0
|
|
.align 2, 0
|
|
_0808C974: .4byte gMain
|
|
_0808C978:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C998
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808C994 @ =gUnknown_20397AC
|
|
ldr r0, [r0]
|
|
movs r1, 0x91
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
b _0808C9C0
|
|
.align 2, 0
|
|
_0808C994: .4byte gUnknown_20397AC
|
|
_0808C998:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C9AC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808CC44
|
|
b _0808C9BE
|
|
_0808C9AC:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808C9BE
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808CC10
|
|
_0808C9BE:
|
|
movs r0, 0xC8
|
|
_0808C9C0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_808C95C
|
|
|
|
thumb_func_start sub_808C9C4
|
|
sub_808C9C4: @ 808C9C4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x3C
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r0, 0
|
|
movs r1, 0
|
|
str r0, [sp, 0x34]
|
|
str r1, [sp, 0x38]
|
|
movs r1, 0xC0
|
|
lsls r1, 24
|
|
ldr r0, [sp, 0x34]
|
|
orrs r0, r1
|
|
str r0, [sp, 0x34]
|
|
ldr r1, _0808CB78 @ =0xffff0fff
|
|
add r4, sp, 0x34
|
|
ldr r0, [r4, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
orrs r0, r1
|
|
str r0, [r4, 0x4]
|
|
add r0, sp, 0x1C
|
|
mov r8, r0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
mov r0, sp
|
|
adds r0, 0x1E
|
|
strh r1, [r0]
|
|
str r4, [sp, 0x20]
|
|
ldr r0, _0808CB7C @ =gDummySpriteAnimTable
|
|
str r0, [sp, 0x24]
|
|
str r1, [sp, 0x28]
|
|
ldr r0, _0808CB80 @ =gDummySpriteAffineAnimTable
|
|
str r0, [sp, 0x2C]
|
|
ldr r0, _0808CB84 @ =SpriteCallbackDummy
|
|
str r0, [sp, 0x30]
|
|
add r0, sp, 0x4
|
|
mov r1, r8
|
|
movs r2, 0x18
|
|
bl memcpy
|
|
ldr r1, _0808CB88 @ =gUnknown_83CDA94
|
|
mov r0, r8
|
|
movs r2, 0x4
|
|
bl memcpy
|
|
ldr r6, _0808CB8C @ =gUnknown_20397AC
|
|
ldr r0, [r6]
|
|
movs r1, 0x91
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
strb r5, [r0]
|
|
add r2, sp, 0x4
|
|
ldr r1, [r6]
|
|
movs r5, 0x90
|
|
lsls r5, 2
|
|
adds r0, r1, r5
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
ldr r3, _0808CB90 @ =0x00000242
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
strh r0, [r2, 0x2]
|
|
adds r0, r2, 0
|
|
movs r1, 0xA0
|
|
movs r2, 0x60
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r3, [r6]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0808CB94 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r3]
|
|
ldrb r2, [r4, 0x1]
|
|
movs r1, 0x3F
|
|
adds r0, r1, 0
|
|
ands r0, r2
|
|
movs r2, 0x80
|
|
orrs r0, r2
|
|
strb r0, [r4, 0x1]
|
|
ldrb r0, [r4, 0x3]
|
|
ands r1, r0
|
|
movs r0, 0x40
|
|
orrs r1, r0
|
|
strb r1, [r4, 0x3]
|
|
add r1, sp, 0x4
|
|
adds r3, r5
|
|
ldrh r0, [r3]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
ldr r0, _0808CB98 @ =gUnknown_83CDA70
|
|
str r0, [sp, 0xC]
|
|
movs r4, 0
|
|
mov r7, r8
|
|
_0808CA90:
|
|
ldr r0, [r6]
|
|
ldr r1, _0808CB9C @ =0x00000246
|
|
adds r0, r1
|
|
ldrb r3, [r0]
|
|
add r0, sp, 0x4
|
|
movs r1, 0x7C
|
|
movs r2, 0x50
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r2, [r6]
|
|
lsls r3, r4, 2
|
|
adds r2, 0x4
|
|
adds r2, r3
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0808CB94 @ =gSprites
|
|
adds r1, r0, r1
|
|
str r1, [r2]
|
|
movs r5, 0
|
|
movs r0, 0x2
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0808CACA
|
|
movs r0, 0xC4
|
|
strh r0, [r1, 0x20]
|
|
movs r5, 0x2
|
|
_0808CACA:
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0808CAEE
|
|
ldr r1, [r6]
|
|
adds r1, 0x4
|
|
adds r1, r3
|
|
ldr r2, [r1]
|
|
movs r0, 0x70
|
|
strh r0, [r2, 0x22]
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x3]
|
|
movs r0, 0x3F
|
|
ands r0, r1
|
|
strb r0, [r2, 0x3]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_0808CAEE:
|
|
ldr r0, [r6]
|
|
adds r0, 0x4
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x3
|
|
bls _0808CA90
|
|
movs r4, 0
|
|
ldr r5, _0808CB8C @ =gUnknown_20397AC
|
|
_0808CB0C:
|
|
lsls r0, r4, 3
|
|
adds r0, r4
|
|
lsls r0, 19
|
|
movs r3, 0xF8
|
|
lsls r3, 15
|
|
adds r0, r3
|
|
lsrs r0, 16
|
|
lsls r2, r4, 24
|
|
lsrs r2, 24
|
|
ldr r1, [r5]
|
|
ldr r3, _0808CB9C @ =0x00000246
|
|
adds r1, r3
|
|
ldrb r1, [r1]
|
|
str r1, [sp]
|
|
movs r1, 0x58
|
|
movs r3, 0
|
|
bl sub_809223C
|
|
adds r2, r0, 0
|
|
ldr r0, [r5]
|
|
lsls r1, r4, 2
|
|
adds r0, 0x20
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
cmp r2, 0
|
|
beq _0808CB54
|
|
movs r1, 0x1
|
|
cmp r4, 0
|
|
bne _0808CB4C
|
|
movs r3, 0x1
|
|
negs r3, r3
|
|
adds r1, r3, 0
|
|
_0808CB4C:
|
|
strh r1, [r2, 0x2E]
|
|
ldr r1, [r0]
|
|
ldr r0, _0808CBA0 @ =sub_808CD64
|
|
str r0, [r1, 0x1C]
|
|
_0808CB54:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _0808CB0C
|
|
bl sub_808CC74
|
|
adds r0, r7, 0
|
|
movs r1, 0x5
|
|
movs r2, 0x3
|
|
bl sub_808CCFC
|
|
add sp, 0x3C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CB78: .4byte 0xffff0fff
|
|
_0808CB7C: .4byte gDummySpriteAnimTable
|
|
_0808CB80: .4byte gDummySpriteAffineAnimTable
|
|
_0808CB84: .4byte SpriteCallbackDummy
|
|
_0808CB88: .4byte gUnknown_83CDA94
|
|
_0808CB8C: .4byte gUnknown_20397AC
|
|
_0808CB90: .4byte 0x00000242
|
|
_0808CB94: .4byte gSprites
|
|
_0808CB98: .4byte gUnknown_83CDA70
|
|
_0808CB9C: .4byte 0x00000246
|
|
_0808CBA0: .4byte sub_808CD64
|
|
thumb_func_end sub_808C9C4
|
|
|
|
thumb_func_start sub_808CBA4
|
|
sub_808CBA4: @ 808CBA4
|
|
push {r4-r6,lr}
|
|
ldr r4, _0808CC0C @ =gUnknown_20397AC
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808CBBA
|
|
bl DestroySprite
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
_0808CBBA:
|
|
movs r5, 0
|
|
adds r6, r4, 0
|
|
_0808CBBE:
|
|
ldr r0, [r6]
|
|
lsls r4, r5, 2
|
|
adds r0, 0x4
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808CBDA
|
|
bl DestroySprite
|
|
ldr r0, [r6]
|
|
adds r0, 0x4
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_0808CBDA:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x3
|
|
bls _0808CBBE
|
|
movs r5, 0
|
|
_0808CBE6:
|
|
ldr r0, _0808CC0C @ =gUnknown_20397AC
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 2
|
|
adds r0, 0x20
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808CBFA
|
|
bl DestroySprite
|
|
_0808CBFA:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x1
|
|
bls _0808CBE6
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CC0C: .4byte gUnknown_20397AC
|
|
thumb_func_end sub_808CBA4
|
|
|
|
thumb_func_start sub_808CC10
|
|
sub_808CC10: @ 808CC10
|
|
push {lr}
|
|
ldr r2, _0808CC40 @ =gUnknown_20397AC
|
|
ldr r1, [r2]
|
|
movs r0, 0x91
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xD
|
|
bls _0808CC36
|
|
ldr r0, [r2]
|
|
movs r1, 0x91
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_0808CC36:
|
|
bl sub_808CC74
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CC40: .4byte gUnknown_20397AC
|
|
thumb_func_end sub_808CC10
|
|
|
|
thumb_func_start sub_808CC44
|
|
sub_808CC44: @ 808CC44
|
|
push {lr}
|
|
ldr r0, _0808CC5C @ =gUnknown_20397AC
|
|
ldr r2, [r0]
|
|
movs r1, 0x91
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808CC60
|
|
subs r1, r0, 0x1
|
|
b _0808CC62
|
|
.align 2, 0
|
|
_0808CC5C: .4byte gUnknown_20397AC
|
|
_0808CC60:
|
|
movs r1, 0xD
|
|
_0808CC62:
|
|
movs r3, 0x91
|
|
lsls r3, 2
|
|
adds r0, r2, r3
|
|
strb r1, [r0]
|
|
bl sub_808CC74
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808CC44
|
|
|
|
thumb_func_start sub_808CC74
|
|
sub_808CC74: @ 808CC74
|
|
push {r4-r7,lr}
|
|
ldr r6, _0808CCF8 @ =gUnknown_20397AC
|
|
ldr r0, [r6]
|
|
movs r5, 0x91
|
|
lsls r5, 2
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl CountMonsInBox
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, [r6]
|
|
movs r1, 0x8A
|
|
lsls r1, 2
|
|
adds r4, r0, r1
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl GetBoxNamePtr
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
adds r1, r0, 0
|
|
ldr r0, [r6]
|
|
movs r2, 0x8C
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
cmp r1, r0
|
|
bcs _0808CCC0
|
|
movs r4, 0
|
|
adds r3, r6, 0
|
|
_0808CCB4:
|
|
strb r4, [r1]
|
|
adds r1, 0x1
|
|
ldr r0, [r3]
|
|
adds r0, r2
|
|
cmp r1, r0
|
|
bcc _0808CCB4
|
|
_0808CCC0:
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r5, _0808CCF8 @ =gUnknown_20397AC
|
|
ldr r0, [r5]
|
|
movs r4, 0x8A
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_808CCFC
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
adds r1, r7, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x3
|
|
movs r2, 0x3
|
|
bl sub_808CCFC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CCF8: .4byte gUnknown_20397AC
|
|
thumb_func_end sub_808CC74
|
|
|
|
thumb_func_start sub_808CCFC
|
|
sub_808CCFC: @ 808CCFC
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0xC
|
|
mov r8, r0
|
|
adds r5, r1, 0
|
|
adds r4, r2, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r6, _0808CD5C @ =gUnknown_20397AC
|
|
ldr r0, [r6]
|
|
movs r1, 0x90
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl GetSpriteTileStartByTag
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 11
|
|
lsls r4, 8
|
|
ldr r0, _0808CD60 @ =0x06010000
|
|
adds r4, r0
|
|
adds r1, r4
|
|
lsls r5, 5
|
|
adds r1, r5
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
movs r0, 0xF
|
|
str r0, [sp]
|
|
movs r0, 0xE
|
|
str r0, [sp, 0x4]
|
|
ldr r0, [r6]
|
|
adds r0, 0x28
|
|
str r0, [sp, 0x8]
|
|
mov r0, r8
|
|
movs r3, 0x4
|
|
bl sub_808BFE0
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CD5C: .4byte gUnknown_20397AC
|
|
_0808CD60: .4byte 0x06010000
|
|
thumb_func_end sub_808CCFC
|
|
|
|
thumb_func_start sub_808CD64
|
|
sub_808CD64: @ 808CD64
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldrh r0, [r1, 0x30]
|
|
adds r0, 0x1
|
|
movs r2, 0
|
|
strh r0, [r1, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3
|
|
ble _0808CD94
|
|
strh r2, [r1, 0x30]
|
|
ldrh r0, [r1, 0x2E]
|
|
ldrh r3, [r1, 0x24]
|
|
adds r0, r3
|
|
strh r0, [r1, 0x24]
|
|
ldrh r0, [r1, 0x32]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x32]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x5
|
|
ble _0808CD94
|
|
strh r2, [r1, 0x32]
|
|
strh r2, [r1, 0x24]
|
|
_0808CD94:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808CD64
|
|
|
|
thumb_func_start sub_808CD98
|
|
sub_808CD98: @ 808CD98
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl sub_8096BF8
|
|
bl TransferPlttBuffer
|
|
ldr r0, _0808CDC0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xB3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x18
|
|
bl SetGpuReg
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CDC0: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808CD98
|
|
|
|
thumb_func_start c2_Box
|
|
c2_Box: @ 808CDC4
|
|
push {lr}
|
|
bl RunTasks
|
|
bl DoScheduledBgTilemapCopiesToVram
|
|
bl sub_808EFC8
|
|
bl sub_808F99C
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end c2_Box
|
|
|
|
thumb_func_start sub_808CDE4
|
|
sub_808CDE4: @ 808CDE4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl ResetTasks
|
|
ldr r0, _0808CE08 @ =gUnknown_20397B5
|
|
strb r5, [r0]
|
|
ldr r4, _0808CE0C @ =gUnknown_20397B0
|
|
ldr r0, _0808CE10 @ =0x000062bc
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
bne _0808CE18
|
|
ldr r0, _0808CE14 @ =sub_808C7B4
|
|
bl SetMainCallback2
|
|
b _0808CE4A
|
|
.align 2, 0
|
|
_0808CE08: .4byte gUnknown_20397B5
|
|
_0808CE0C: .4byte gUnknown_20397B0
|
|
_0808CE10: .4byte 0x000062bc
|
|
_0808CE14: .4byte sub_808C7B4
|
|
_0808CE18:
|
|
movs r2, 0
|
|
strb r5, [r0, 0x1]
|
|
ldr r0, [r4]
|
|
strb r2, [r0, 0x3]
|
|
ldr r0, _0808CE50 @ =gUnknown_20397BA
|
|
movs r1, 0
|
|
strh r2, [r0]
|
|
ldr r0, [r4]
|
|
strb r1, [r0]
|
|
ldr r0, _0808CE54 @ =task_box_related_3
|
|
movs r1, 0x3
|
|
bl CreateTask
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1C
|
|
bl HelpSystem_SetSomeVariable2
|
|
bl StorageGetCurrentBox
|
|
ldr r1, _0808CE58 @ =gUnknown_20397B8
|
|
strb r0, [r1]
|
|
ldr r0, _0808CE5C @ =c2_Box
|
|
bl SetMainCallback2
|
|
_0808CE4A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CE50: .4byte gUnknown_20397BA
|
|
_0808CE54: .4byte task_box_related_3
|
|
_0808CE58: .4byte gUnknown_20397B8
|
|
_0808CE5C: .4byte c2_Box
|
|
thumb_func_end sub_808CDE4
|
|
|
|
thumb_func_start sub_808CE60
|
|
sub_808CE60: @ 808CE60
|
|
push {r4,lr}
|
|
bl ResetTasks
|
|
ldr r4, _0808CE80 @ =gUnknown_20397B0
|
|
ldr r0, _0808CE84 @ =0x000062bc
|
|
bl Alloc
|
|
adds r1, r0, 0
|
|
str r1, [r4]
|
|
cmp r1, 0
|
|
bne _0808CE8C
|
|
ldr r0, _0808CE88 @ =sub_808C7B4
|
|
bl SetMainCallback2
|
|
b _0808CEB6
|
|
.align 2, 0
|
|
_0808CE80: .4byte gUnknown_20397B0
|
|
_0808CE84: .4byte 0x000062bc
|
|
_0808CE88: .4byte sub_808C7B4
|
|
_0808CE8C:
|
|
ldr r0, _0808CEBC @ =gUnknown_20397B5
|
|
ldrb r0, [r0]
|
|
movs r2, 0
|
|
strb r0, [r1, 0x1]
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x3]
|
|
ldr r0, [r4]
|
|
strb r2, [r0]
|
|
ldr r0, _0808CEC0 @ =task_box_related_3
|
|
movs r1, 0x3
|
|
bl CreateTask
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x1C
|
|
bl HelpSystem_SetSomeVariable2
|
|
ldr r0, _0808CEC4 @ =c2_Box
|
|
bl SetMainCallback2
|
|
_0808CEB6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CEBC: .4byte gUnknown_20397B5
|
|
_0808CEC0: .4byte task_box_related_3
|
|
_0808CEC4: .4byte c2_Box
|
|
thumb_func_end sub_808CE60
|
|
|
|
thumb_func_start sub_808CEC8
|
|
sub_808CEC8: @ 808CEC8
|
|
push {lr}
|
|
movs r0, 0x10
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x12
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x16
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x18
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x1A
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x1C
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x1E
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808CEC8
|
|
|
|
thumb_func_start sub_808CF10
|
|
sub_808CF10: @ 808CF10
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
bl ResetPaletteFade
|
|
bl ResetSpriteData
|
|
bl FreeSpriteTileRanges
|
|
bl FreeAllSpritePalettes
|
|
bl ClearDma3Requests
|
|
ldr r1, _0808CF80 @ =gReservedSpriteTileCount
|
|
movs r2, 0xA0
|
|
lsls r2, 2
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r4, _0808CF84 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0
|
|
adds r0, 0x8
|
|
adds r1, 0x10
|
|
movs r2, 0x8
|
|
bl sub_8096BE4
|
|
ldr r1, _0808CF88 @ =gKeyRepeatStartDelay
|
|
movs r0, 0x14
|
|
strh r0, [r1]
|
|
bl ClearScheduledBgCopiesToVram
|
|
movs r0, 0x3
|
|
bl sub_80F7AD8
|
|
ldr r2, _0808CF8C @ =gUnknown_83CE6F8
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r3, 0x8
|
|
bl sub_80F7B80
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_80F7CAC
|
|
ldr r0, [r4]
|
|
ldr r1, _0808CF90 @ =0x000002c7
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CF80: .4byte gReservedSpriteTileCount
|
|
_0808CF84: .4byte gUnknown_20397B0
|
|
_0808CF88: .4byte gKeyRepeatStartDelay
|
|
_0808CF8C: .4byte gUnknown_83CE6F8
|
|
_0808CF90: .4byte 0x000002c7
|
|
thumb_func_end sub_808CF10
|
|
|
|
thumb_func_start sub_808CF94
|
|
sub_808CF94: @ 808CF94
|
|
push {lr}
|
|
bl sub_8092B50
|
|
ldr r2, _0808CFB8 @ =gUnknown_20397B4
|
|
movs r1, 0
|
|
ldr r0, _0808CFBC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
bne _0808CFAA
|
|
movs r1, 0x1
|
|
_0808CFAA:
|
|
strb r1, [r2]
|
|
ldr r1, _0808CFC0 @ =gUnknown_20397B6
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CFB8: .4byte gUnknown_20397B4
|
|
_0808CFBC: .4byte gUnknown_20397B0
|
|
_0808CFC0: .4byte gUnknown_20397B6
|
|
thumb_func_end sub_808CF94
|
|
|
|
thumb_func_start sub_808CFC4
|
|
sub_808CFC4: @ 808CFC4
|
|
push {lr}
|
|
ldr r0, _0808CFF0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0808CFE2
|
|
movs r1, 0xFC
|
|
lsls r1, 6
|
|
movs r0, 0x50
|
|
bl SetGpuReg
|
|
ldr r1, _0808CFF4 @ =0x00000b07
|
|
movs r0, 0x52
|
|
bl SetGpuReg
|
|
_0808CFE2:
|
|
movs r1, 0xFA
|
|
lsls r1, 5
|
|
movs r0, 0
|
|
bl SetGpuReg
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808CFF0: .4byte gUnknown_20397B0
|
|
_0808CFF4: .4byte 0x00000b07
|
|
thumb_func_end sub_808CFC4
|
|
|
|
thumb_func_start add_to_c3_somehow
|
|
add_to_c3_somehow: @ 808CFF8
|
|
push {r4,lr}
|
|
ldr r4, _0808D018 @ =gTasks
|
|
ldr r1, _0808D01C @ =gUnknown_20397B0
|
|
ldr r3, [r1]
|
|
ldrb r2, [r3, 0x4]
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r4
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D018: .4byte gTasks
|
|
_0808D01C: .4byte gUnknown_20397B0
|
|
thumb_func_end add_to_c3_somehow
|
|
|
|
thumb_func_start task_box_related_3
|
|
task_box_related_3: @ 808D020
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0808D03C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xA
|
|
bls _0808D030
|
|
b _0808D216
|
|
_0808D030:
|
|
lsls r0, 2
|
|
ldr r1, _0808D040 @ =_0808D044
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808D03C: .4byte gUnknown_20397B0
|
|
_0808D040: .4byte _0808D044
|
|
.align 2, 0
|
|
_0808D044:
|
|
.4byte _0808D070
|
|
.4byte _0808D0C8
|
|
.4byte _0808D0D6
|
|
.4byte _0808D104
|
|
.4byte _0808D120
|
|
.4byte _0808D13E
|
|
.4byte _0808D15E
|
|
.4byte _0808D164
|
|
.4byte _0808D16A
|
|
.4byte _0808D178
|
|
.4byte _0808D1BE
|
|
_0808D070:
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
bl sub_808CF10
|
|
ldr r0, _0808D0A0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0
|
|
beq _0808D0BE
|
|
ldr r0, _0808D0A4 @ =gUnknown_20397B7
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0808D0AE
|
|
cmp r0, 0x1
|
|
bgt _0808D0A8
|
|
cmp r0, 0
|
|
beq _0808D0B4
|
|
b _0808D0BE
|
|
.align 2, 0
|
|
_0808D0A0: .4byte gUnknown_20397B0
|
|
_0808D0A4: .4byte gUnknown_20397B7
|
|
_0808D0A8:
|
|
cmp r0, 0x2
|
|
beq _0808D0BA
|
|
b _0808D0BE
|
|
_0808D0AE:
|
|
bl sub_8093660
|
|
b _0808D0BE
|
|
_0808D0B4:
|
|
bl sub_80937B4
|
|
b _0808D0BE
|
|
_0808D0BA:
|
|
bl sub_808EF0C
|
|
_0808D0BE:
|
|
bl sub_808EFE4
|
|
bl sub_808F068
|
|
b _0808D20C
|
|
_0808D0C8:
|
|
bl sub_808F044
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D0D4
|
|
b _0808D20C
|
|
_0808D0D4:
|
|
b _0808D148
|
|
_0808D0D6:
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
ldr r2, _0808D100 @ =0x05000080
|
|
mov r0, sp
|
|
bl CpuSet
|
|
movs r0, 0x1
|
|
movs r1, 0xB
|
|
movs r2, 0xE0
|
|
bl TextWindow_SetUserSelectedFrame
|
|
b _0808D20C
|
|
.align 2, 0
|
|
_0808D100: .4byte 0x05000080
|
|
_0808D104:
|
|
bl sub_808CEC8
|
|
ldr r0, _0808D11C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0
|
|
beq _0808D114
|
|
b _0808D20C
|
|
_0808D114:
|
|
bl sub_808CF94
|
|
b _0808D20C
|
|
.align 2, 0
|
|
_0808D11C: .4byte gUnknown_20397B0
|
|
_0808D120:
|
|
bl sub_808FFAC
|
|
ldr r0, _0808D134 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0
|
|
bne _0808D138
|
|
bl sub_80922C0
|
|
b _0808D20C
|
|
.align 2, 0
|
|
_0808D134: .4byte gUnknown_20397B0
|
|
_0808D138:
|
|
bl sub_8092340
|
|
b _0808D20C
|
|
_0808D13E:
|
|
bl sub_8095050
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D154
|
|
_0808D148:
|
|
ldr r0, _0808D150 @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
b _0808D216
|
|
.align 2, 0
|
|
_0808D150: .4byte sub_808EE18
|
|
_0808D154:
|
|
bl sub_808EF8C
|
|
bl sub_808FB68
|
|
b _0808D20C
|
|
_0808D15E:
|
|
bl sub_808F078
|
|
b _0808D20C
|
|
_0808D164:
|
|
bl sub_808F68C
|
|
b _0808D20C
|
|
_0808D16A:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80913DC
|
|
b _0808D20C
|
|
_0808D178:
|
|
bl sub_809140C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D216
|
|
ldr r0, _0808D1A8 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808D1B4
|
|
movs r1, 0xDA
|
|
lsls r1, 4
|
|
adds r0, r2, r1
|
|
movs r1, 0xD
|
|
strh r1, [r0]
|
|
ldr r1, _0808D1AC @ =0x00000da2
|
|
adds r2, r1
|
|
ldr r1, _0808D1B0 @ =0x0000dace
|
|
strh r1, [r2]
|
|
bl sub_80BE46C
|
|
bl sub_80BE5F0
|
|
b _0808D20C
|
|
.align 2, 0
|
|
_0808D1A8: .4byte gUnknown_20397B0
|
|
_0808D1AC: .4byte 0x00000da2
|
|
_0808D1B0: .4byte 0x0000dace
|
|
_0808D1B4:
|
|
bl sub_8095B5C
|
|
bl sub_808FDFC
|
|
b _0808D20C
|
|
_0808D1BE:
|
|
bl sub_808CFC4
|
|
ldr r0, _0808D1E0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0
|
|
bne _0808D1E8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
ldr r0, _0808D1E4 @ =sub_808D220
|
|
bl add_to_c3_somehow
|
|
b _0808D1FA
|
|
.align 2, 0
|
|
_0808D1E0: .4byte gUnknown_20397B0
|
|
_0808D1E4: .4byte sub_808D220
|
|
_0808D1E8:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
ldr r0, _0808D204 @ =sub_808D26C
|
|
bl add_to_c3_somehow
|
|
_0808D1FA:
|
|
ldr r0, _0808D208 @ =sub_808CD98
|
|
bl SetVBlankCallback
|
|
b _0808D216
|
|
.align 2, 0
|
|
_0808D204: .4byte sub_808D26C
|
|
_0808D208: .4byte sub_808CD98
|
|
_0808D20C:
|
|
ldr r0, _0808D21C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_0808D216:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D21C: .4byte gUnknown_20397B0
|
|
thumb_func_end task_box_related_3
|
|
|
|
thumb_func_start sub_808D220
|
|
sub_808D220: @ 808D220
|
|
push {r4,lr}
|
|
ldr r4, _0808D234 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D238
|
|
cmp r0, 0x1
|
|
beq _0808D252
|
|
b _0808D262
|
|
.align 2, 0
|
|
_0808D234: .4byte gUnknown_20397B0
|
|
_0808D238:
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80A0A48
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808D262
|
|
_0808D252:
|
|
bl sub_80A0A98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D262
|
|
ldr r0, _0808D268 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808D262:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D268: .4byte sub_808D2BC
|
|
thumb_func_end sub_808D220
|
|
|
|
thumb_func_start sub_808D26C
|
|
sub_808D26C: @ 808D26C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0808D280 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D284
|
|
cmp r0, 0x1
|
|
beq _0808D29E
|
|
b _0808D2AE
|
|
.align 2, 0
|
|
_0808D280: .4byte gUnknown_20397B0
|
|
_0808D284:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r0, [sp]
|
|
adds r0, r1, 0
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808D2AE
|
|
_0808D29E:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D2AE
|
|
ldr r0, _0808D2B8 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808D2AE:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D2B8: .4byte sub_808D2BC
|
|
thumb_func_end sub_808D26C
|
|
|
|
thumb_func_start sub_808D2BC
|
|
sub_808D2BC: @ 808D2BC
|
|
push {r4,r5,lr}
|
|
ldr r0, _0808D2D4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xB
|
|
bls _0808D2CA
|
|
b _0808D7B2
|
|
_0808D2CA:
|
|
lsls r0, 2
|
|
ldr r1, _0808D2D8 @ =_0808D2DC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808D2D4: .4byte gUnknown_20397B0
|
|
_0808D2D8: .4byte _0808D2DC
|
|
.align 2, 0
|
|
_0808D2DC:
|
|
.4byte _0808D30C
|
|
.4byte _0808D630
|
|
.4byte _0808D670
|
|
.4byte _0808D6C8
|
|
.4byte _0808D6EC
|
|
.4byte _0808D6F6
|
|
.4byte _0808D710
|
|
.4byte _0808D730
|
|
.4byte _0808D736
|
|
.4byte _0808D74C
|
|
.4byte _0808D778
|
|
.4byte _0808D7A0
|
|
_0808D30C:
|
|
bl sub_80948B4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
cmp r0, 0x19
|
|
bls _0808D31C
|
|
b _0808D7B2
|
|
_0808D31C:
|
|
lsls r0, 2
|
|
ldr r1, _0808D328 @ =_0808D32C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808D328: .4byte _0808D32C
|
|
.align 2, 0
|
|
_0808D32C:
|
|
.4byte _0808D394
|
|
.4byte _0808D7B2
|
|
.4byte _0808D7B2
|
|
.4byte _0808D424
|
|
.4byte _0808D3A8
|
|
.4byte _0808D3DC
|
|
.4byte _0808D43C
|
|
.4byte _0808D450
|
|
.4byte _0808D45C
|
|
.4byte _0808D494
|
|
.4byte _0808D4D8
|
|
.4byte _0808D55C
|
|
.4byte _0808D51C
|
|
.4byte _0808D52E
|
|
.4byte _0808D570
|
|
.4byte _0808D584
|
|
.4byte _0808D598
|
|
.4byte _0808D5AC
|
|
.4byte _0808D430
|
|
.4byte _0808D5C0
|
|
.4byte _0808D5E0
|
|
.4byte _0808D5CA
|
|
.4byte _0808D5EA
|
|
.4byte _0808D628
|
|
.4byte _0808D5EE
|
|
.4byte _0808D608
|
|
_0808D394:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D3A4 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D3A4: .4byte gUnknown_20397B0
|
|
_0808D3A8:
|
|
ldr r4, _0808D3C8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
subs r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bls _0808D3CC
|
|
movs r0, 0x10
|
|
bl sub_808FBA4
|
|
ldr r1, [r4]
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D3C8: .4byte gUnknown_20397B0
|
|
_0808D3CC:
|
|
bl sub_8092B50
|
|
ldr r0, _0808D3D8 @ =sub_808D7BC
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D3D8: .4byte sub_808D7BC
|
|
_0808D3DC:
|
|
ldr r4, _0808D408 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x2
|
|
bne _0808D410
|
|
bl sub_80939A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D416
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D40C @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D404
|
|
b _0808D4F6
|
|
_0808D404:
|
|
b _0808D416
|
|
.align 2, 0
|
|
_0808D408: .4byte gUnknown_20397B0
|
|
_0808D40C: .4byte 0x00000ce2
|
|
_0808D410:
|
|
cmp r0, 0x3
|
|
beq _0808D416
|
|
b _0808D7B2
|
|
_0808D416:
|
|
ldr r0, _0808D420 @ =sub_808D7FC
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D420: .4byte sub_808D7FC
|
|
_0808D424:
|
|
ldr r0, _0808D42C @ =sub_808EBB0
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D42C: .4byte sub_808EBB0
|
|
_0808D430:
|
|
ldr r0, _0808D438 @ =sub_808ECE4
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D438: .4byte sub_808ECE4
|
|
_0808D43C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D44C @ =box_related
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D44C: .4byte box_related
|
|
_0808D450:
|
|
ldr r0, _0808D458 @ =sub_808D878
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D458: .4byte sub_808D878
|
|
_0808D45C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl StorageGetCurrentBox
|
|
ldr r4, _0808D48C @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, 0x1
|
|
ldr r2, _0808D490 @ =0x000002ca
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
cmp r0, 0xD
|
|
ble _0808D47E
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
_0808D47E:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808D4CC
|
|
adds r0, r1, r2
|
|
b _0808D78A
|
|
.align 2, 0
|
|
_0808D48C: .4byte gUnknown_20397B0
|
|
_0808D490: .4byte 0x000002ca
|
|
_0808D494:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl StorageGetCurrentBox
|
|
ldr r4, _0808D4C4 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
ldr r2, _0808D4C8 @ =0x000002ca
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
cmp r0, 0
|
|
bge _0808D4B6
|
|
movs r0, 0xD
|
|
strh r0, [r1]
|
|
_0808D4B6:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808D4CC
|
|
adds r0, r1, r2
|
|
b _0808D78A
|
|
.align 2, 0
|
|
_0808D4C4: .4byte gUnknown_20397B0
|
|
_0808D4C8: .4byte 0x000002ca
|
|
_0808D4CC:
|
|
bl sub_8094D60
|
|
ldr r1, [r4]
|
|
movs r0, 0xA
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
_0808D4D8:
|
|
bl sub_8093900
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D538
|
|
ldr r4, _0808D500 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D504 @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D508
|
|
_0808D4F6:
|
|
ldr r1, [r4]
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D500: .4byte gUnknown_20397B0
|
|
_0808D504: .4byte 0x00000ce2
|
|
_0808D508:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D518 @ =sub_808DD88
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D518: .4byte sub_808DD88
|
|
_0808D51C:
|
|
bl sub_8093900
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D538
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
b _0808D740
|
|
_0808D52E:
|
|
bl sub_809393C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D548
|
|
_0808D538:
|
|
ldr r0, _0808D544 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D544: .4byte gUnknown_20397B0
|
|
_0808D548:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D558 @ =sub_808DC50
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D558: .4byte sub_808DC50
|
|
_0808D55C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D56C @ =sub_808DC9C
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D56C: .4byte sub_808DC9C
|
|
_0808D570:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D580 @ =sub_808DBF0
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D580: .4byte sub_808DBF0
|
|
_0808D584:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D594 @ =sub_808E140
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D594: .4byte sub_808E140
|
|
_0808D598:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D5A8 @ =sub_808E1F4
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D5A8: .4byte sub_808E1F4
|
|
_0808D5AC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808D5BC @ =sub_808E3C8
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D5BC: .4byte sub_808E3C8
|
|
_0808D5C0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
b _0808D616
|
|
_0808D5CA:
|
|
movs r0, 0x1
|
|
bl sub_80950BC
|
|
ldr r0, _0808D5DC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D5DC: .4byte gUnknown_20397B0
|
|
_0808D5E0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x2
|
|
b _0808D5F6
|
|
_0808D5EA:
|
|
movs r0, 0x3
|
|
b _0808D616
|
|
_0808D5EE:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x4
|
|
_0808D5F6:
|
|
bl sub_80950BC
|
|
ldr r0, _0808D604 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x9
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D604: .4byte gUnknown_20397B0
|
|
_0808D608:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x3
|
|
bl sub_808FE54
|
|
movs r0, 0x5
|
|
_0808D616:
|
|
bl sub_80950BC
|
|
ldr r0, _0808D624 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D624: .4byte gUnknown_20397B0
|
|
_0808D628:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
b _0808D7B2
|
|
_0808D630:
|
|
bl sub_80924A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D63C
|
|
b _0808D7B2
|
|
_0808D63C:
|
|
bl sub_80939C8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D64C
|
|
bl sub_808F948
|
|
b _0808D650
|
|
_0808D64C:
|
|
bl sub_808F974
|
|
_0808D650:
|
|
ldr r4, _0808D668 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D66C @ =0x00000ce6
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D662
|
|
bl BoxSetMosaic
|
|
_0808D662:
|
|
ldr r1, [r4]
|
|
b _0808D6DC
|
|
.align 2, 0
|
|
_0808D668: .4byte gUnknown_20397B0
|
|
_0808D66C: .4byte 0x00000ce6
|
|
_0808D670:
|
|
bl sub_80915FC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D67C
|
|
b _0808D7B2
|
|
_0808D67C:
|
|
ldr r0, _0808D6BC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0808D6C0 @ =0x000002ca
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_808BA00
|
|
ldr r0, _0808D6C4 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0808D6A4
|
|
bl sub_80939A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D6A4
|
|
bl sub_8092F54
|
|
bl BoxSetMosaic
|
|
_0808D6A4:
|
|
ldr r4, _0808D6BC @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0808D6DC
|
|
bl sub_8094D84
|
|
ldr r1, [r4]
|
|
movs r0, 0xB
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D6BC: .4byte gUnknown_20397B0
|
|
_0808D6C0: .4byte 0x000002ca
|
|
_0808D6C4: .4byte gUnknown_20397B4
|
|
_0808D6C8:
|
|
ldr r0, _0808D6E4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808D7B2
|
|
bl sub_808FD20
|
|
ldr r0, _0808D6E8 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
_0808D6DC:
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D6E4: .4byte gMain
|
|
_0808D6E8: .4byte gUnknown_20397B0
|
|
_0808D6EC:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0xD
|
|
b _0808D6FE
|
|
_0808D6F6:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0x16
|
|
_0808D6FE:
|
|
bl sub_808FBA4
|
|
ldr r0, _0808D70C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D70C: .4byte gUnknown_20397B0
|
|
_0808D710:
|
|
ldr r0, _0808D728 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808D7B2
|
|
bl sub_808FD20
|
|
ldr r0, _0808D72C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D728: .4byte gMain
|
|
_0808D72C: .4byte sub_808D2BC
|
|
_0808D730:
|
|
bl sub_80950D0
|
|
b _0808D7A4
|
|
_0808D736:
|
|
bl sub_80950D0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D7B2
|
|
_0808D740:
|
|
ldr r0, _0808D748 @ =sub_808DB94
|
|
bl add_to_c3_somehow
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D748: .4byte sub_808DB94
|
|
_0808D74C:
|
|
bl sub_80950D0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _0808D7B2
|
|
ldr r5, _0808D770 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r1, _0808D774 @ =0x00000ce6
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D76A
|
|
bl BoxSetMosaic
|
|
_0808D76A:
|
|
ldr r0, [r5]
|
|
strb r4, [r0]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D770: .4byte gUnknown_20397B0
|
|
_0808D774: .4byte 0x00000ce6
|
|
_0808D778:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D7B2
|
|
ldr r4, _0808D798 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D79C @ =0x000002ca
|
|
adds r0, r1
|
|
_0808D78A:
|
|
ldrb r0, [r0]
|
|
bl sub_8091514
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808D7B2
|
|
.align 2, 0
|
|
_0808D798: .4byte gUnknown_20397B0
|
|
_0808D79C: .4byte 0x000002ca
|
|
_0808D7A0:
|
|
bl sub_809610C
|
|
_0808D7A4:
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _0808D7B2
|
|
ldr r0, _0808D7B8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
strb r1, [r0]
|
|
_0808D7B2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D7B8: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808D2BC
|
|
|
|
thumb_func_start sub_808D7BC
|
|
sub_808D7BC: @ 808D7BC
|
|
push {r4,lr}
|
|
ldr r4, _0808D7D0 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D7D4
|
|
cmp r0, 0x1
|
|
beq _0808D7E2
|
|
b _0808D7F2
|
|
.align 2, 0
|
|
_0808D7D0: .4byte gUnknown_20397B0
|
|
_0808D7D4:
|
|
bl sub_808FAD4
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808D7F2
|
|
_0808D7E2:
|
|
bl sub_808FAF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D7F2
|
|
ldr r0, _0808D7F8 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808D7F2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D7F8: .4byte sub_808D2BC
|
|
thumb_func_end sub_808D7BC
|
|
|
|
thumb_func_start sub_808D7FC
|
|
sub_808D7FC: @ 808D7FC
|
|
push {r4,lr}
|
|
ldr r4, _0808D814 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0808D82A
|
|
cmp r0, 0x1
|
|
bgt _0808D818
|
|
cmp r0, 0
|
|
beq _0808D81E
|
|
b _0808D86A
|
|
.align 2, 0
|
|
_0808D814: .4byte gUnknown_20397B0
|
|
_0808D818:
|
|
cmp r0, 0x2
|
|
beq _0808D84A
|
|
b _0808D86A
|
|
_0808D81E:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808F810
|
|
b _0808D840
|
|
_0808D82A:
|
|
bl sub_808F850
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D86A
|
|
bl sub_8092B70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092B3C
|
|
_0808D840:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808D86A
|
|
_0808D84A:
|
|
bl sub_80924A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D86A
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D870 @ =0x00000ce6
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D864
|
|
bl BoxSetMosaic
|
|
_0808D864:
|
|
ldr r0, _0808D874 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808D86A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808D870: .4byte 0x00000ce6
|
|
_0808D874: .4byte sub_808D2BC
|
|
thumb_func_end sub_808D7FC
|
|
|
|
thumb_func_start sub_808D878
|
|
sub_808D878: @ 808D878
|
|
push {r4,lr}
|
|
ldr r0, _0808D890 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
bls _0808D886
|
|
b _0808DB86
|
|
_0808D886:
|
|
lsls r0, 2
|
|
ldr r1, _0808D894 @ =_0808D898
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808D890: .4byte gUnknown_20397B0
|
|
_0808D894: .4byte _0808D898
|
|
.align 2, 0
|
|
_0808D898:
|
|
.4byte _0808D8B4
|
|
.4byte _0808D918
|
|
.4byte _0808D934
|
|
.4byte _0808DB40
|
|
.4byte _0808DB54
|
|
.4byte _0808DB4A
|
|
.4byte _0808DB70
|
|
_0808D8B4:
|
|
bl sub_808F258
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D8C0
|
|
b _0808DB86
|
|
_0808D8C0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _0808D8D8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808D8DC
|
|
movs r0, 0x4
|
|
bl sub_808FBA4
|
|
b _0808D906
|
|
.align 2, 0
|
|
_0808D8D8: .4byte gUnknown_20397B0
|
|
_0808D8DC:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808D8F2
|
|
ldr r0, [r4]
|
|
ldr r1, _0808D8FC @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808D900
|
|
_0808D8F2:
|
|
movs r0, 0x17
|
|
bl sub_808FBA4
|
|
b _0808D906
|
|
.align 2, 0
|
|
_0808D8FC: .4byte 0x00000ce2
|
|
_0808D900:
|
|
movs r0, 0x18
|
|
bl sub_808FBA4
|
|
_0808D906:
|
|
bl sub_8094E88
|
|
ldr r0, _0808D914 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808D914: .4byte gUnknown_20397B0
|
|
_0808D918:
|
|
bl sub_8094F90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808D924
|
|
b _0808DB86
|
|
_0808D924:
|
|
ldr r0, _0808D930 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808D930: .4byte gUnknown_20397B0
|
|
_0808D934:
|
|
bl sub_8094F94
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x12
|
|
bls _0808D944
|
|
b _0808DB86
|
|
_0808D944:
|
|
lsls r0, 2
|
|
ldr r1, _0808D950 @ =_0808D954
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808D950: .4byte _0808D954
|
|
.align 2, 0
|
|
_0808D954:
|
|
.4byte _0808D9A0
|
|
.4byte _0808D9A0
|
|
.4byte _0808DA20
|
|
.4byte _0808DA08
|
|
.4byte _0808D9B0
|
|
.4byte _0808D9E8
|
|
.4byte _0808D9D0
|
|
.4byte _0808DAC0
|
|
.4byte _0808DA5C
|
|
.4byte _0808DAD4
|
|
.4byte _0808DB86
|
|
.4byte _0808DB86
|
|
.4byte _0808DB86
|
|
.4byte _0808DAE8
|
|
.4byte _0808DAFC
|
|
.4byte _0808DB28
|
|
.4byte _0808DB1C
|
|
.4byte _0808DB10
|
|
.4byte _0808DB34
|
|
_0808D9A0:
|
|
bl sub_808FD20
|
|
ldr r0, _0808D9AC @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808D9AC: .4byte sub_808D2BC
|
|
_0808D9B0:
|
|
bl sub_8093900
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DA66
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808D9CC @ =sub_808DB94
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808D9CC: .4byte sub_808DB94
|
|
_0808D9D0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808D9E4 @ =sub_808DBF0
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808D9E4: .4byte sub_808DBF0
|
|
_0808D9E8:
|
|
bl sub_809393C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808DA66
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808DA04 @ =sub_808DC50
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DA04: .4byte sub_808DC50
|
|
_0808DA08:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808DA1C @ =sub_808DC9C
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DA1C: .4byte sub_808DC9C
|
|
_0808DA20:
|
|
bl sub_8093900
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DA66
|
|
ldr r4, _0808DA50 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r2, _0808DA54 @ =0x00000ce2
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DAA0
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808DA58 @ =sub_808DD88
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DA50: .4byte gUnknown_20397B0
|
|
_0808DA54: .4byte 0x00000ce2
|
|
_0808DA58: .4byte sub_808DD88
|
|
_0808DA5C:
|
|
bl sub_8093900
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808DA74
|
|
_0808DA66:
|
|
ldr r0, _0808DA70 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DA70: .4byte gUnknown_20397B0
|
|
_0808DA74:
|
|
ldr r4, _0808DA88 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r2, _0808DA8C @ =0x00000ce9
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DA90
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DA88: .4byte gUnknown_20397B0
|
|
_0808DA8C: .4byte 0x00000ce9
|
|
_0808DA90:
|
|
ldr r2, _0808DAA8 @ =0x00000ce2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808DAAC
|
|
_0808DAA0:
|
|
ldr r1, [r4]
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DAA8: .4byte 0x00000ce2
|
|
_0808DAAC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808DABC @ =sub_808DECC
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DABC: .4byte sub_808DECC
|
|
_0808DAC0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808DAD0 @ =sub_808EAF0
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DAD0: .4byte sub_808EAF0
|
|
_0808DAD4:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808DAE4 @ =sub_808E0BC
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DAE4: .4byte sub_808E0BC
|
|
_0808DAE8:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808DAF8 @ =sub_808E140
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DAF8: .4byte sub_808E140
|
|
_0808DAFC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808DB0C @ =sub_808E1F4
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB0C: .4byte sub_808E1F4
|
|
_0808DB10:
|
|
ldr r0, _0808DB18 @ =sub_808E2B0
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB18: .4byte sub_808E2B0
|
|
_0808DB1C:
|
|
ldr r0, _0808DB24 @ =sub_808E3C8
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB24: .4byte sub_808E3C8
|
|
_0808DB28:
|
|
ldr r0, _0808DB30 @ =sub_808EB50
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB30: .4byte sub_808EB50
|
|
_0808DB34:
|
|
ldr r0, _0808DB3C @ =sub_808E4B0
|
|
bl add_to_c3_somehow
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB3C: .4byte sub_808E4B0
|
|
_0808DB40:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0xD
|
|
b _0808DB5C
|
|
_0808DB4A:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0x11
|
|
b _0808DB5C
|
|
_0808DB54:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0x16
|
|
_0808DB5C:
|
|
bl sub_808FBA4
|
|
ldr r0, _0808DB6C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
strb r0, [r1]
|
|
b _0808DB86
|
|
.align 2, 0
|
|
_0808DB6C: .4byte gUnknown_20397B0
|
|
_0808DB70:
|
|
ldr r0, _0808DB8C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808DB86
|
|
bl sub_808FD20
|
|
ldr r0, _0808DB90 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808DB86:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DB8C: .4byte gMain
|
|
_0808DB90: .4byte sub_808D2BC
|
|
thumb_func_end sub_808D878
|
|
|
|
thumb_func_start sub_808DB94
|
|
sub_808DB94: @ 808DB94
|
|
push {r4,lr}
|
|
ldr r4, _0808DBA8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DBAC
|
|
cmp r0, 0x1
|
|
beq _0808DBBC
|
|
b _0808DBE6
|
|
.align 2, 0
|
|
_0808DBA8: .4byte gUnknown_20397B0
|
|
_0808DBAC:
|
|
movs r0, 0
|
|
bl sub_8092B7C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DBE6
|
|
_0808DBBC:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DBE6
|
|
ldr r0, _0808DBD8 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DBE0
|
|
ldr r0, _0808DBDC @ =sub_808E688
|
|
bl add_to_c3_somehow
|
|
b _0808DBE6
|
|
.align 2, 0
|
|
_0808DBD8: .4byte gUnknown_20397B4
|
|
_0808DBDC: .4byte sub_808E688
|
|
_0808DBE0:
|
|
ldr r0, _0808DBEC @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808DBE6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DBEC: .4byte sub_808D2BC
|
|
thumb_func_end sub_808DB94
|
|
|
|
thumb_func_start sub_808DBF0
|
|
sub_808DBF0: @ 808DBF0
|
|
push {r4,lr}
|
|
ldr r4, _0808DC04 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DC08
|
|
cmp r0, 0x1
|
|
beq _0808DC1E
|
|
b _0808DC46
|
|
.align 2, 0
|
|
_0808DC04: .4byte gUnknown_20397B0
|
|
_0808DC08:
|
|
movs r0, 0x1
|
|
bl sub_808FE54
|
|
movs r0, 0x1
|
|
bl sub_8092B7C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DC46
|
|
_0808DC1E:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DC46
|
|
ldr r0, _0808DC38 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DC40
|
|
ldr r0, _0808DC3C @ =sub_808E688
|
|
bl add_to_c3_somehow
|
|
b _0808DC46
|
|
.align 2, 0
|
|
_0808DC38: .4byte gUnknown_20397B4
|
|
_0808DC3C: .4byte sub_808E688
|
|
_0808DC40:
|
|
ldr r0, _0808DC4C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808DC46:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DC4C: .4byte sub_808D2BC
|
|
thumb_func_end sub_808DBF0
|
|
|
|
thumb_func_start sub_808DC50
|
|
sub_808DC50: @ 808DC50
|
|
push {r4,lr}
|
|
ldr r4, _0808DC64 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DC68
|
|
cmp r0, 0x1
|
|
beq _0808DC7E
|
|
b _0808DC92
|
|
.align 2, 0
|
|
_0808DC64: .4byte gUnknown_20397B0
|
|
_0808DC68:
|
|
movs r0, 0
|
|
bl sub_808FE54
|
|
movs r0, 0x2
|
|
bl sub_8092B7C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DC92
|
|
_0808DC7E:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DC92
|
|
bl BoxSetMosaic
|
|
ldr r0, _0808DC98 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808DC92:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DC98: .4byte sub_808D2BC
|
|
thumb_func_end sub_808DC50
|
|
|
|
thumb_func_start sub_808DC9C
|
|
sub_808DC9C: @ 808DC9C
|
|
push {lr}
|
|
ldr r0, _0808DCB4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _0808DD7E
|
|
lsls r0, 2
|
|
ldr r1, _0808DCB8 @ =_0808DCBC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808DCB4: .4byte gUnknown_20397B0
|
|
_0808DCB8: .4byte _0808DCBC
|
|
.align 2, 0
|
|
_0808DCBC:
|
|
.4byte _0808DCD4
|
|
.4byte _0808DD0C
|
|
.4byte _0808DD2C
|
|
.4byte _0808DD42
|
|
.4byte _0808DD5A
|
|
.4byte _0808DD78
|
|
_0808DCD4:
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x6
|
|
bne _0808DCF4
|
|
movs r0, 0xE
|
|
bl sub_808FBA4
|
|
ldr r0, _0808DCF0 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DD7E
|
|
.align 2, 0
|
|
_0808DCF0: .4byte gUnknown_20397B0
|
|
_0808DCF4:
|
|
bl sub_8092B5C
|
|
movs r0, 0
|
|
bl sub_8092B7C
|
|
ldr r0, _0808DD08 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808DD7E
|
|
.align 2, 0
|
|
_0808DD08: .4byte gUnknown_20397B0
|
|
_0808DD0C:
|
|
ldr r0, _0808DD24 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808DD7E
|
|
bl sub_808FD20
|
|
ldr r0, _0808DD28 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808DD7E
|
|
.align 2, 0
|
|
_0808DD24: .4byte gMain
|
|
_0808DD28: .4byte sub_808D2BC
|
|
_0808DD2C:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DD7E
|
|
movs r0, 0x1
|
|
bl sub_8091184
|
|
bl sub_808FAD4
|
|
b _0808DD68
|
|
_0808DD42:
|
|
bl sub_808FAF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DD7E
|
|
movs r0, 0x1
|
|
bl sub_808FE54
|
|
movs r0, 0x1
|
|
bl sub_8092B7C
|
|
b _0808DD68
|
|
_0808DD5A:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DD7E
|
|
bl sub_808FAA8
|
|
_0808DD68:
|
|
ldr r0, _0808DD74 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808DD7E
|
|
.align 2, 0
|
|
_0808DD74: .4byte gUnknown_20397B0
|
|
_0808DD78:
|
|
ldr r0, _0808DD84 @ =sub_808D7FC
|
|
bl add_to_c3_somehow
|
|
_0808DD7E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DD84: .4byte sub_808D7FC
|
|
thumb_func_end sub_808DC9C
|
|
|
|
thumb_func_start sub_808DD88
|
|
sub_808DD88: @ 808DD88
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0808DDA4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bls _0808DD98
|
|
b _0808DEBA
|
|
_0808DD98:
|
|
lsls r0, 2
|
|
ldr r1, _0808DDA8 @ =_0808DDAC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808DDA4: .4byte gUnknown_20397B0
|
|
_0808DDA8: .4byte _0808DDAC
|
|
.align 2, 0
|
|
_0808DDAC:
|
|
.4byte _0808DDC0
|
|
.4byte _0808DDFC
|
|
.4byte _0808DE64
|
|
.4byte _0808DE7C
|
|
.4byte _0808DEA0
|
|
_0808DDC0:
|
|
movs r0, 0x6
|
|
bl sub_808FBA4
|
|
ldr r4, _0808DDEC @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808DDF0 @ =0x00001e58
|
|
adds r0, r1
|
|
ldr r2, _0808DDF4 @ =0x0000dac7
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0xA
|
|
movs r3, 0x3
|
|
bl sub_808C854
|
|
ldr r0, _0808DDF8 @ =gUnknown_20397B6
|
|
ldrb r0, [r0]
|
|
bl sub_808C940
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
b _0808DEB8
|
|
.align 2, 0
|
|
_0808DDEC: .4byte gUnknown_20397B0
|
|
_0808DDF0: .4byte 0x00001e58
|
|
_0808DDF4: .4byte 0x0000dac7
|
|
_0808DDF8: .4byte gUnknown_20397B6
|
|
_0808DDFC:
|
|
bl sub_808C95C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
cmp r0, 0xC8
|
|
beq _0808DEBA
|
|
cmp r0, 0xC9
|
|
bne _0808DE1C
|
|
bl sub_808FD20
|
|
bl sub_808C950
|
|
bl sub_808C8FC
|
|
b _0808DE92
|
|
_0808DE1C:
|
|
adds r0, r4, 0
|
|
bl sub_80930E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808DE50
|
|
ldr r0, _0808DE48 @ =gUnknown_20397B6
|
|
strb r4, [r0]
|
|
movs r0, 0x2
|
|
bl sub_808FE54
|
|
bl sub_808FD20
|
|
bl sub_808C950
|
|
bl sub_808C8FC
|
|
ldr r0, _0808DE4C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
b _0808DEB8
|
|
.align 2, 0
|
|
_0808DE48: .4byte gUnknown_20397B6
|
|
_0808DE4C: .4byte gUnknown_20397B0
|
|
_0808DE50:
|
|
movs r0, 0x8
|
|
bl sub_808FBA4
|
|
ldr r0, _0808DE60 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
b _0808DEB8
|
|
.align 2, 0
|
|
_0808DE60: .4byte gUnknown_20397B0
|
|
_0808DE64:
|
|
bl CompactPartySlots
|
|
bl sub_80909F4
|
|
ldr r0, _0808DE78 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
b _0808DEB8
|
|
.align 2, 0
|
|
_0808DE78: .4byte gUnknown_20397B0
|
|
_0808DE7C:
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808DEBA
|
|
bl sub_8093174
|
|
bl BoxSetMosaic
|
|
bl sub_808FAA8
|
|
_0808DE92:
|
|
ldr r0, _0808DE9C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808DEBA
|
|
.align 2, 0
|
|
_0808DE9C: .4byte sub_808D2BC
|
|
_0808DEA0:
|
|
ldr r0, _0808DEC4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808DEBA
|
|
movs r0, 0x6
|
|
bl sub_808FBA4
|
|
ldr r0, _0808DEC8 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
_0808DEB8:
|
|
strb r0, [r1]
|
|
_0808DEBA:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808DEC4: .4byte gMain
|
|
_0808DEC8: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808DD88
|
|
|
|
thumb_func_start sub_808DECC
|
|
sub_808DECC: @ 808DECC
|
|
push {lr}
|
|
ldr r0, _0808DEE4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xD
|
|
bls _0808DEDA
|
|
b _0808E0AE
|
|
_0808DEDA:
|
|
lsls r0, 2
|
|
ldr r1, _0808DEE8 @ =_0808DEEC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808DEE4: .4byte gUnknown_20397B0
|
|
_0808DEE8: .4byte _0808DEEC
|
|
.align 2, 0
|
|
_0808DEEC:
|
|
.4byte _0808DF24
|
|
.4byte _0808DF3A
|
|
.4byte _0808DF72
|
|
.4byte _0808DF98
|
|
.4byte _0808DFA4
|
|
.4byte _0808DFBC
|
|
.4byte _0808DFF8
|
|
.4byte _0808E010
|
|
.4byte _0808E01C
|
|
.4byte _0808E020
|
|
.4byte _0808E034
|
|
.4byte _0808E050
|
|
.4byte _0808E062
|
|
.4byte _0808E098
|
|
_0808DF24:
|
|
movs r0, 0x9
|
|
bl sub_808FBA4
|
|
movs r0, 0x1
|
|
bl sub_808FCE8
|
|
ldr r0, _0808DF54 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_0808DF3A:
|
|
bl Menu_ProcessInputNoWrapClearOnChoose
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0808DF64
|
|
cmp r1, 0
|
|
bgt _0808DF58
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808DF5E
|
|
b _0808E0AE
|
|
.align 2, 0
|
|
_0808DF54: .4byte gUnknown_20397B0
|
|
_0808DF58:
|
|
cmp r1, 0x1
|
|
beq _0808DF5E
|
|
b _0808E0AE
|
|
_0808DF5E:
|
|
bl sub_808FD20
|
|
b _0808E010
|
|
_0808DF64:
|
|
bl sub_808FD20
|
|
bl sub_809328C
|
|
bl sub_8093194
|
|
b _0808E074
|
|
_0808DF72:
|
|
bl sub_8093420
|
|
bl sub_80931EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808DF82
|
|
b _0808E0AE
|
|
_0808DF82:
|
|
b _0808DF8A
|
|
_0808DF84:
|
|
cmp r0, 0
|
|
bne _0808DF8A
|
|
b _0808E088
|
|
_0808DF8A:
|
|
bl sub_8093420
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0808DF84
|
|
b _0808E074
|
|
_0808DF98:
|
|
bl sub_8093218
|
|
bl sub_808F1D0
|
|
movs r0, 0xA
|
|
b _0808E070
|
|
_0808DFA4:
|
|
ldr r0, _0808DFB8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0808DFB2
|
|
b _0808E0AE
|
|
_0808DFB2:
|
|
movs r0, 0xB
|
|
b _0808E070
|
|
.align 2, 0
|
|
_0808DFB8: .4byte gMain
|
|
_0808DFBC:
|
|
ldr r0, _0808DFE0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E0AE
|
|
bl sub_808FD20
|
|
ldr r0, _0808DFE4 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808DFE8
|
|
bl CompactPartySlots
|
|
bl sub_80909F4
|
|
b _0808E074
|
|
.align 2, 0
|
|
_0808DFE0: .4byte gMain
|
|
_0808DFE4: .4byte gUnknown_20397B4
|
|
_0808DFE8:
|
|
ldr r0, _0808DFF4 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x7
|
|
strb r0, [r1]
|
|
b _0808E0AE
|
|
.align 2, 0
|
|
_0808DFF4: .4byte gUnknown_20397B0
|
|
_0808DFF8:
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E0AE
|
|
bl sub_8092F54
|
|
bl BoxSetMosaic
|
|
bl sub_808FAA8
|
|
b _0808E074
|
|
_0808E010:
|
|
ldr r0, _0808E018 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808E0AE
|
|
.align 2, 0
|
|
_0808E018: .4byte sub_808D2BC
|
|
_0808E01C:
|
|
movs r0, 0xA
|
|
b _0808E070
|
|
_0808E020:
|
|
ldr r0, _0808E030 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E0AE
|
|
movs r0, 0x15
|
|
b _0808E070
|
|
.align 2, 0
|
|
_0808E030: .4byte gMain
|
|
_0808E034:
|
|
ldr r0, _0808E04C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E0AE
|
|
bl sub_808FD20
|
|
bl sub_8091114
|
|
b _0808E074
|
|
.align 2, 0
|
|
_0808E04C: .4byte gMain
|
|
_0808E050:
|
|
bl sub_8091150
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E0AE
|
|
bl sub_8093264
|
|
movs r0, 0x13
|
|
b _0808E070
|
|
_0808E062:
|
|
ldr r0, _0808E080 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E0AE
|
|
movs r0, 0x14
|
|
_0808E070:
|
|
bl sub_808FBA4
|
|
_0808E074:
|
|
ldr r0, _0808E084 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E0AE
|
|
.align 2, 0
|
|
_0808E080: .4byte gMain
|
|
_0808E084: .4byte gUnknown_20397B0
|
|
_0808E088:
|
|
ldr r0, _0808E094 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x8
|
|
strb r0, [r1]
|
|
b _0808E0AE
|
|
.align 2, 0
|
|
_0808E094: .4byte gUnknown_20397B0
|
|
_0808E098:
|
|
ldr r0, _0808E0B4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E0AE
|
|
bl sub_808FD20
|
|
ldr r0, _0808E0B8 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E0AE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E0B4: .4byte gMain
|
|
_0808E0B8: .4byte sub_808D2BC
|
|
thumb_func_end sub_808DECC
|
|
|
|
thumb_func_start sub_808E0BC
|
|
sub_808E0BC: @ 808E0BC
|
|
push {r4,lr}
|
|
ldr r4, _0808E0D0 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808E0D4
|
|
cmp r0, 0x1
|
|
beq _0808E108
|
|
b _0808E130
|
|
.align 2, 0
|
|
_0808E0D0: .4byte gUnknown_20397B0
|
|
_0808E0D4:
|
|
movs r0, 0xC
|
|
bl sub_808FBA4
|
|
ldr r0, [r4]
|
|
ldr r2, _0808E100 @ =0x00000ce7
|
|
adds r1, r0, r2
|
|
ldrb r1, [r1]
|
|
ldr r3, _0808E104 @ =0x00000da4
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
movs r1, 0xB0
|
|
movs r2, 0x10
|
|
bl sub_80BE604
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E130
|
|
.align 2, 0
|
|
_0808E100: .4byte 0x00000ce7
|
|
_0808E104: .4byte 0x00000da4
|
|
_0808E108:
|
|
bl sub_80BE6F0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E130
|
|
bl sub_80BE658
|
|
bl sub_808FD20
|
|
ldr r0, [r4]
|
|
ldr r1, _0808E138 @ =0x00000da4
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8093878
|
|
bl sub_808F1D0
|
|
ldr r0, _0808E13C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E130:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E138: .4byte 0x00000da4
|
|
_0808E13C: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E0BC
|
|
|
|
thumb_func_start sub_808E140
|
|
sub_808E140: @ 808E140
|
|
push {r4,r5,lr}
|
|
ldr r5, _0808E158 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0]
|
|
cmp r1, 0x1
|
|
beq _0808E18C
|
|
cmp r1, 0x1
|
|
bgt _0808E15C
|
|
cmp r1, 0
|
|
beq _0808E166
|
|
b _0808E1EA
|
|
.align 2, 0
|
|
_0808E158: .4byte gUnknown_20397B0
|
|
_0808E15C:
|
|
cmp r1, 0x2
|
|
beq _0808E1B4
|
|
cmp r1, 0x3
|
|
beq _0808E1DA
|
|
b _0808E1EA
|
|
_0808E166:
|
|
ldr r1, _0808E17C @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E180
|
|
bl sub_808FD20
|
|
b _0808E1D0
|
|
.align 2, 0
|
|
_0808E17C: .4byte 0x00000ce2
|
|
_0808E180:
|
|
ldr r0, _0808E188 @ =sub_808E6D0
|
|
bl add_to_c3_somehow
|
|
b _0808E1EA
|
|
.align 2, 0
|
|
_0808E188: .4byte sub_808E6D0
|
|
_0808E18C:
|
|
movs r0, 0x2
|
|
bl sub_8094D14
|
|
ldr r0, _0808E1B0 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
negs r4, r0
|
|
orrs r4, r0
|
|
lsrs r4, 31
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8095D84
|
|
b _0808E1D0
|
|
.align 2, 0
|
|
_0808E1B0: .4byte gUnknown_20397B4
|
|
_0808E1B4:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E1EA
|
|
movs r0, 0x3
|
|
bl sub_8094D14
|
|
bl sub_808FD20
|
|
bl sub_8092F54
|
|
bl sub_808F49C
|
|
_0808E1D0:
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E1EA
|
|
_0808E1DA:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E1EA
|
|
ldr r0, _0808E1F0 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E1EA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E1F0: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E140
|
|
|
|
thumb_func_start sub_808E1F4
|
|
sub_808E1F4: @ 808E1F4
|
|
push {r4,lr}
|
|
ldr r0, _0808E20C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bhi _0808E2A4
|
|
lsls r0, 2
|
|
ldr r1, _0808E210 @ =_0808E214
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E20C: .4byte gUnknown_20397B0
|
|
_0808E210: .4byte _0808E214
|
|
.align 2, 0
|
|
_0808E214:
|
|
.4byte _0808E27C
|
|
.4byte _0808E228
|
|
.4byte _0808E250
|
|
.4byte _0808E270
|
|
.4byte _0808E294
|
|
_0808E228:
|
|
movs r0, 0x2
|
|
bl sub_8094D14
|
|
ldr r0, _0808E24C @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
negs r4, r0
|
|
orrs r4, r0
|
|
lsrs r4, 31
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8095F74
|
|
b _0808E280
|
|
.align 2, 0
|
|
_0808E24C: .4byte gUnknown_20397B4
|
|
_0808E250:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E2A4
|
|
movs r0, 0
|
|
bl sub_8094D14
|
|
bl sub_8092F54
|
|
bl sub_808F49C
|
|
movs r0, 0x1C
|
|
bl sub_808FBA4
|
|
b _0808E280
|
|
_0808E270:
|
|
ldr r0, _0808E28C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E2A4
|
|
_0808E27C:
|
|
bl sub_808FD20
|
|
_0808E280:
|
|
ldr r0, _0808E290 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E2A4
|
|
.align 2, 0
|
|
_0808E28C: .4byte gMain
|
|
_0808E290: .4byte gUnknown_20397B0
|
|
_0808E294:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E2A4
|
|
ldr r0, _0808E2AC @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E2A4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E2AC: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E1F4
|
|
|
|
thumb_func_start sub_808E2B0
|
|
sub_808E2B0: @ 808E2B0
|
|
push {r4,r5,lr}
|
|
ldr r1, _0808E2CC @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x4
|
|
bls _0808E2C0
|
|
b _0808E3BA
|
|
_0808E2C0:
|
|
lsls r0, 2
|
|
ldr r1, _0808E2D0 @ =_0808E2D4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E2CC: .4byte gUnknown_20397B0
|
|
_0808E2D0: .4byte _0808E2D4
|
|
.align 2, 0
|
|
_0808E2D4:
|
|
.4byte _0808E2E8
|
|
.4byte _0808E340
|
|
.4byte _0808E360
|
|
.4byte _0808E3A4
|
|
.4byte _0808E38C
|
|
_0808E2E8:
|
|
ldr r0, [r5]
|
|
ldr r1, _0808E310 @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1
|
|
bl AddBagItem
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E314
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0x1A
|
|
bl sub_808FBA4
|
|
ldr r1, [r5]
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
b _0808E3BA
|
|
.align 2, 0
|
|
_0808E310: .4byte 0x00000ce2
|
|
_0808E314:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808E33C @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
negs r4, r0
|
|
orrs r4, r0
|
|
lsrs r4, 31
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8096008
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E3BA
|
|
.align 2, 0
|
|
_0808E33C: .4byte gUnknown_20397B4
|
|
_0808E340:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E3BA
|
|
movs r0, 0x19
|
|
bl sub_808FBA4
|
|
ldr r0, _0808E35C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808E3BA
|
|
.align 2, 0
|
|
_0808E35C: .4byte gUnknown_20397B0
|
|
_0808E360:
|
|
ldr r0, _0808E384 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E3BA
|
|
bl sub_808FD20
|
|
bl sub_8092F54
|
|
bl sub_808F49C
|
|
ldr r0, _0808E388 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
b _0808E3BA
|
|
.align 2, 0
|
|
_0808E384: .4byte gMain
|
|
_0808E388: .4byte gUnknown_20397B0
|
|
_0808E38C:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E3BA
|
|
ldr r0, _0808E3A0 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808E3BA
|
|
.align 2, 0
|
|
_0808E3A0: .4byte sub_808D2BC
|
|
_0808E3A4:
|
|
ldr r0, _0808E3C0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E3BA
|
|
bl sub_808FD20
|
|
ldr r0, _0808E3C4 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E3BA:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E3C0: .4byte gMain
|
|
_0808E3C4: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E2B0
|
|
|
|
thumb_func_start sub_808E3C8
|
|
sub_808E3C8: @ 808E3C8
|
|
push {r4,lr}
|
|
ldr r1, _0808E3E0 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _0808E4A4
|
|
lsls r0, 2
|
|
ldr r1, _0808E3E4 @ =_0808E3E8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E3E0: .4byte gUnknown_20397B0
|
|
_0808E3E4: .4byte _0808E3E8
|
|
.align 2, 0
|
|
_0808E3E8:
|
|
.4byte _0808E3FC
|
|
.4byte _0808E428
|
|
.4byte _0808E450
|
|
.4byte _0808E470
|
|
.4byte _0808E494
|
|
_0808E3FC:
|
|
ldr r0, [r4]
|
|
ldr r1, _0808E418 @ =0x00000ce2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E41C
|
|
bl sub_808FD20
|
|
ldr r1, [r4]
|
|
b _0808E484
|
|
.align 2, 0
|
|
_0808E418: .4byte 0x00000ce2
|
|
_0808E41C:
|
|
ldr r0, _0808E424 @ =sub_808E6D0
|
|
bl add_to_c3_somehow
|
|
b _0808E4A4
|
|
.align 2, 0
|
|
_0808E424: .4byte sub_808E6D0
|
|
_0808E428:
|
|
movs r0, 0x2
|
|
bl sub_8094D14
|
|
ldr r0, _0808E44C @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
negs r4, r0
|
|
orrs r4, r0
|
|
lsrs r4, 31
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8095EA0
|
|
b _0808E480
|
|
.align 2, 0
|
|
_0808E44C: .4byte gUnknown_20397B4
|
|
_0808E450:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E4A4
|
|
movs r0, 0x3
|
|
bl sub_8094D14
|
|
bl sub_8092F54
|
|
bl sub_808F49C
|
|
movs r0, 0x1D
|
|
bl sub_808FBA4
|
|
b _0808E480
|
|
_0808E470:
|
|
ldr r0, _0808E48C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E4A4
|
|
bl sub_808FD20
|
|
_0808E480:
|
|
ldr r0, _0808E490 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
_0808E484:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E4A4
|
|
.align 2, 0
|
|
_0808E48C: .4byte gMain
|
|
_0808E490: .4byte gUnknown_20397B0
|
|
_0808E494:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E4A4
|
|
ldr r0, _0808E4AC @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E4A4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E4AC: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E3C8
|
|
|
|
thumb_func_start sub_808E4B0
|
|
sub_808E4B0: @ 808E4B0
|
|
push {lr}
|
|
ldr r0, _0808E4C8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
bhi _0808E55C
|
|
lsls r0, 2
|
|
ldr r1, _0808E4CC @ =_0808E4D0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E4C8: .4byte gUnknown_20397B0
|
|
_0808E4CC: .4byte _0808E4D0
|
|
.align 2, 0
|
|
_0808E4D0:
|
|
.4byte _0808E4EC
|
|
.4byte _0808E4F2
|
|
.4byte _0808E50C
|
|
.4byte _0808E512
|
|
.4byte _0808E518
|
|
.4byte _0808E530
|
|
.4byte _0808E54C
|
|
_0808E4EC:
|
|
bl sub_808FD20
|
|
b _0808E53A
|
|
_0808E4F2:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E55C
|
|
movs r0, 0x6
|
|
bl PlaySE
|
|
bl sub_8096694
|
|
bl sub_80966F4
|
|
b _0808E53A
|
|
_0808E50C:
|
|
bl sub_8096728
|
|
b _0808E534
|
|
_0808E512:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
b _0808E534
|
|
_0808E518:
|
|
ldr r0, _0808E52C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E55C
|
|
movs r0, 0x6
|
|
bl PlaySE
|
|
b _0808E53A
|
|
.align 2, 0
|
|
_0808E52C: .4byte gMain
|
|
_0808E530:
|
|
bl sub_80967C0
|
|
_0808E534:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E55C
|
|
_0808E53A:
|
|
ldr r0, _0808E548 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E55C
|
|
.align 2, 0
|
|
_0808E548: .4byte gUnknown_20397B0
|
|
_0808E54C:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E55C
|
|
ldr r0, _0808E560 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E55C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E560: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E4B0
|
|
|
|
thumb_func_start sub_808E564
|
|
sub_808E564: @ 808E564
|
|
push {r4,lr}
|
|
ldr r0, _0808E57C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bls _0808E572
|
|
b _0808E67C
|
|
_0808E572:
|
|
lsls r0, 2
|
|
ldr r1, _0808E580 @ =_0808E584
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E57C: .4byte gUnknown_20397B0
|
|
_0808E580: .4byte _0808E584
|
|
.align 2, 0
|
|
_0808E584:
|
|
.4byte _0808E59C
|
|
.4byte _0808E5BC
|
|
.4byte _0808E61A
|
|
.4byte _0808E63C
|
|
.4byte _0808E650
|
|
.4byte _0808E66C
|
|
_0808E59C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1B
|
|
bl sub_808FBA4
|
|
movs r0, 0
|
|
bl sub_808FCE8
|
|
ldr r0, _0808E5B8 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E67C
|
|
.align 2, 0
|
|
_0808E5B8: .4byte gUnknown_20397B0
|
|
_0808E5BC:
|
|
bl Menu_ProcessInputNoWrapClearOnChoose
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0808E5E0
|
|
cmp r1, 0
|
|
bgt _0808E5D6
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808E5DA
|
|
b _0808E67C
|
|
_0808E5D6:
|
|
cmp r1, 0x1
|
|
bne _0808E67C
|
|
_0808E5DA:
|
|
bl sub_808FD20
|
|
b _0808E660
|
|
_0808E5E0:
|
|
ldr r4, _0808E604 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808E608 @ =0x00002224
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1
|
|
bl AddBagItem
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0808E60C
|
|
bl sub_808FD20
|
|
ldr r1, [r4]
|
|
movs r0, 0x3
|
|
strb r0, [r1]
|
|
b _0808E67C
|
|
.align 2, 0
|
|
_0808E604: .4byte gUnknown_20397B0
|
|
_0808E608: .4byte 0x00002224
|
|
_0808E60C:
|
|
movs r0, 0x1A
|
|
bl sub_808FBA4
|
|
ldr r1, [r4]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808E67C
|
|
_0808E61A:
|
|
ldr r0, _0808E634 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E67C
|
|
bl sub_808FD20
|
|
ldr r0, _0808E638 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x5
|
|
strb r0, [r1]
|
|
b _0808E67C
|
|
.align 2, 0
|
|
_0808E634: .4byte gMain
|
|
_0808E638: .4byte gUnknown_20397B0
|
|
_0808E63C:
|
|
bl sub_8096088
|
|
ldr r0, _0808E64C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
strb r0, [r1]
|
|
b _0808E67C
|
|
.align 2, 0
|
|
_0808E64C: .4byte gUnknown_20397B0
|
|
_0808E650:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E67C
|
|
movs r0, 0
|
|
bl sub_8094D14
|
|
_0808E660:
|
|
ldr r0, _0808E668 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808E67C
|
|
.align 2, 0
|
|
_0808E668: .4byte sub_808D2BC
|
|
_0808E66C:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E67C
|
|
ldr r0, _0808E684 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E67C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E684: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E564
|
|
|
|
thumb_func_start sub_808E688
|
|
sub_808E688: @ 808E688
|
|
push {r4,lr}
|
|
ldr r4, _0808E69C @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808E6A0
|
|
cmp r0, 0x1
|
|
beq _0808E6B2
|
|
b _0808E6C6
|
|
.align 2, 0
|
|
_0808E69C: .4byte gUnknown_20397B0
|
|
_0808E6A0:
|
|
bl CompactPartySlots
|
|
bl sub_80909F4
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E6C6
|
|
_0808E6B2:
|
|
bl sub_8090A60
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E6C6
|
|
bl sub_808FAA8
|
|
ldr r0, _0808E6CC @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E6C6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E6CC: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E688
|
|
|
|
thumb_func_start sub_808E6D0
|
|
sub_808E6D0: @ 808E6D0
|
|
push {r4,lr}
|
|
ldr r4, _0808E6E8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0808E6FE
|
|
cmp r0, 0x1
|
|
bgt _0808E6EC
|
|
cmp r0, 0
|
|
beq _0808E6F6
|
|
b _0808E738
|
|
.align 2, 0
|
|
_0808E6E8: .4byte gUnknown_20397B0
|
|
_0808E6EC:
|
|
cmp r0, 0x2
|
|
beq _0808E70A
|
|
cmp r0, 0x3
|
|
beq _0808E728
|
|
b _0808E738
|
|
_0808E6F6:
|
|
movs r0, 0x1E
|
|
bl sub_808FBA4
|
|
b _0808E71A
|
|
_0808E6FE:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E738
|
|
b _0808E71A
|
|
_0808E70A:
|
|
ldr r0, _0808E724 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808E738
|
|
bl sub_808FD20
|
|
_0808E71A:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E738
|
|
.align 2, 0
|
|
_0808E724: .4byte gMain
|
|
_0808E728:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E738
|
|
ldr r0, _0808E740 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E738:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E740: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E6D0
|
|
|
|
thumb_func_start box_related
|
|
box_related: @ 808E744
|
|
push {r4,lr}
|
|
ldr r4, _0808E75C @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0808E77A
|
|
cmp r0, 0x1
|
|
bgt _0808E760
|
|
cmp r0, 0
|
|
beq _0808E766
|
|
b _0808E830
|
|
.align 2, 0
|
|
_0808E75C: .4byte gUnknown_20397B0
|
|
_0808E760:
|
|
cmp r0, 0x2
|
|
beq _0808E78C
|
|
b _0808E830
|
|
_0808E766:
|
|
movs r0, 0x1
|
|
bl sub_808FBA4
|
|
bl sub_8094E88
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E830
|
|
_0808E77A:
|
|
bl sub_8094F90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E830
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_0808E78C:
|
|
bl sub_8094F94
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xC
|
|
bhi _0808E830
|
|
lsls r0, 2
|
|
ldr r1, _0808E7A4 @ =_0808E7A8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E7A4: .4byte _0808E7A8
|
|
.align 2, 0
|
|
_0808E7A8:
|
|
.4byte _0808E7DC
|
|
.4byte _0808E7DC
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E830
|
|
.4byte _0808E820
|
|
.4byte _0808E808
|
|
.4byte _0808E7F4
|
|
_0808E7DC:
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
bl sub_808FD20
|
|
ldr r0, _0808E7F0 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808E830
|
|
.align 2, 0
|
|
_0808E7F0: .4byte sub_808D2BC
|
|
_0808E7F4:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0808E804 @ =sub_808EA90
|
|
bl add_to_c3_somehow
|
|
b _0808E830
|
|
.align 2, 0
|
|
_0808E804: .4byte sub_808EA90
|
|
_0808E808:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808E81C @ =sub_808E83C
|
|
bl add_to_c3_somehow
|
|
b _0808E830
|
|
.align 2, 0
|
|
_0808E81C: .4byte sub_808E83C
|
|
_0808E820:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r0, _0808E838 @ =sub_808E9A0
|
|
bl add_to_c3_somehow
|
|
_0808E830:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E838: .4byte sub_808E9A0
|
|
thumb_func_end box_related
|
|
|
|
thumb_func_start sub_808E83C
|
|
sub_808E83C: @ 808E83C
|
|
push {r4,r5,lr}
|
|
ldr r0, _0808E854 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bls _0808E84A
|
|
b _0808E994
|
|
_0808E84A:
|
|
lsls r0, 2
|
|
ldr r1, _0808E858 @ =_0808E85C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808E854: .4byte gUnknown_20397B0
|
|
_0808E858: .4byte _0808E85C
|
|
.align 2, 0
|
|
_0808E85C:
|
|
.4byte _0808E874
|
|
.4byte _0808E888
|
|
.4byte _0808E8A0
|
|
.4byte _0808E8FA
|
|
.4byte _0808E924
|
|
.4byte _0808E97E
|
|
_0808E874:
|
|
bl sub_808FD34
|
|
movs r0, 0x2
|
|
bl sub_808FBA4
|
|
ldr r0, _0808E884 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
b _0808E976
|
|
.align 2, 0
|
|
_0808E884: .4byte gUnknown_20397B0
|
|
_0808E888:
|
|
bl sub_8094F90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808E894
|
|
b _0808E994
|
|
_0808E894:
|
|
ldr r0, _0808E89C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
b _0808E976
|
|
.align 2, 0
|
|
_0808E89C: .4byte gUnknown_20397B0
|
|
_0808E8A0:
|
|
bl sub_8094F94
|
|
ldr r5, _0808E8CC @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldr r4, _0808E8D0 @ =0x0000078e
|
|
adds r1, r4
|
|
strh r0, [r1]
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0808E8D8
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
bl sub_808FD20
|
|
ldr r0, _0808E8D4 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808E994
|
|
.align 2, 0
|
|
_0808E8CC: .4byte gUnknown_20397B0
|
|
_0808E8D0: .4byte 0x0000078e
|
|
_0808E8D4: .4byte sub_808D2BC
|
|
_0808E8D8:
|
|
cmp r0, r1
|
|
blt _0808E994
|
|
cmp r0, 0x15
|
|
bgt _0808E994
|
|
cmp r0, 0x12
|
|
blt _0808E994
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_8095024
|
|
ldr r1, [r5]
|
|
adds r2, r1, r4
|
|
ldrh r0, [r2]
|
|
subs r0, 0x12
|
|
strh r0, [r2]
|
|
b _0808E976
|
|
_0808E8FA:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E994
|
|
ldr r4, _0808E91C @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _0808E920 @ =0x0000078e
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_808FD5C
|
|
movs r0, 0x3
|
|
bl sub_808FBA4
|
|
b _0808E974
|
|
.align 2, 0
|
|
_0808E91C: .4byte gUnknown_20397B0
|
|
_0808E920: .4byte 0x0000078e
|
|
_0808E924:
|
|
bl sub_8094F94
|
|
ldr r4, _0808E954 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
movs r5, 0xF2
|
|
lsls r5, 3
|
|
adds r1, r5
|
|
strh r0, [r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808E994
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
bne _0808E958
|
|
bl sub_808FD20
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _0808E994
|
|
.align 2, 0
|
|
_0808E954: .4byte gUnknown_20397B0
|
|
_0808E958:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrh r0, [r1]
|
|
subs r0, 0x16
|
|
strh r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8091730
|
|
_0808E974:
|
|
ldr r1, [r4]
|
|
_0808E976:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808E994
|
|
_0808E97E:
|
|
bl sub_8091760
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808E994
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
ldr r0, _0808E99C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808E994:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808E99C: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E83C
|
|
|
|
thumb_func_start sub_808E9A0
|
|
sub_808E9A0: @ 808E9A0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0808E9B8 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldrb r4, [r0]
|
|
cmp r4, 0x1
|
|
beq _0808E9F4
|
|
cmp r4, 0x1
|
|
bgt _0808E9BC
|
|
cmp r4, 0
|
|
beq _0808E9C6
|
|
b _0808EA80
|
|
.align 2, 0
|
|
_0808E9B8: .4byte gUnknown_20397B0
|
|
_0808E9BC:
|
|
cmp r4, 0x2
|
|
beq _0808EA4C
|
|
cmp r4, 0x3
|
|
beq _0808EA64
|
|
b _0808EA80
|
|
_0808E9C6:
|
|
movs r0, 0x5
|
|
bl sub_808FBA4
|
|
ldr r0, [r5]
|
|
ldr r1, _0808E9EC @ =0x00001e58
|
|
adds r0, r1
|
|
ldr r2, _0808E9F0 @ =0x0000dac7
|
|
str r4, [sp]
|
|
movs r1, 0xA
|
|
movs r3, 0x3
|
|
bl sub_808C854
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_808C940
|
|
b _0808EA56
|
|
.align 2, 0
|
|
_0808E9EC: .4byte 0x00001e58
|
|
_0808E9F0: .4byte 0x0000dac7
|
|
_0808E9F4:
|
|
bl sub_808C95C
|
|
ldr r1, [r5]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0808EA44 @ =0x000002ca
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xC8
|
|
beq _0808EA80
|
|
bl sub_808FD20
|
|
bl sub_808C950
|
|
bl sub_808C8FC
|
|
ldr r0, [r5]
|
|
ldr r2, _0808EA44 @ =0x000002ca
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xC9
|
|
beq _0808EA34
|
|
adds r4, r0, 0
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bne _0808EA56
|
|
_0808EA34:
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
ldr r0, _0808EA48 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808EA80
|
|
.align 2, 0
|
|
_0808EA44: .4byte 0x000002ca
|
|
_0808EA48: .4byte sub_808D2BC
|
|
_0808EA4C:
|
|
ldr r1, _0808EA60 @ =0x000002ca
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_8091514
|
|
_0808EA56:
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EA80
|
|
.align 2, 0
|
|
_0808EA60: .4byte 0x000002ca
|
|
_0808EA64:
|
|
bl sub_80915FC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808EA80
|
|
ldr r0, [r5]
|
|
ldr r2, _0808EA88 @ =0x000002ca
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
bl sub_808BA00
|
|
ldr r0, _0808EA8C @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
_0808EA80:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EA88: .4byte 0x000002ca
|
|
_0808EA8C: .4byte sub_808D2BC
|
|
thumb_func_end sub_808E9A0
|
|
|
|
thumb_func_start sub_808EA90
|
|
sub_808EA90: @ 808EA90
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0808EAA4 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
beq _0808EAA8
|
|
cmp r4, 0x1
|
|
beq _0808EAC6
|
|
b _0808EAE0
|
|
.align 2, 0
|
|
_0808EAA4: .4byte gUnknown_20397B0
|
|
_0808EAA8:
|
|
bl sub_8093630
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r4, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EAE0
|
|
_0808EAC6:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808EAE0
|
|
ldr r0, _0808EAE8 @ =gUnknown_20397B7
|
|
strb r4, [r0]
|
|
ldr r1, [r5]
|
|
movs r0, 0x2
|
|
strb r0, [r1, 0x2]
|
|
ldr r0, _0808EAEC @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
_0808EAE0:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EAE8: .4byte gUnknown_20397B7
|
|
_0808EAEC: .4byte sub_808EE18
|
|
thumb_func_end sub_808EA90
|
|
|
|
thumb_func_start sub_808EAF0
|
|
sub_808EAF0: @ 808EAF0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0808EB04 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
beq _0808EB08
|
|
cmp r4, 0x1
|
|
beq _0808EB26
|
|
b _0808EB40
|
|
.align 2, 0
|
|
_0808EB04: .4byte gUnknown_20397B0
|
|
_0808EB08:
|
|
bl sub_80936B8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r4, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EB40
|
|
_0808EB26:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _0808EB40
|
|
ldr r0, _0808EB48 @ =gUnknown_20397B7
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
strb r4, [r0, 0x2]
|
|
ldr r0, _0808EB4C @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
_0808EB40:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EB48: .4byte gUnknown_20397B7
|
|
_0808EB4C: .4byte sub_808EE18
|
|
thumb_func_end sub_808EAF0
|
|
|
|
thumb_func_start sub_808EB50
|
|
sub_808EB50: @ 808EB50
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _0808EB64 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
beq _0808EB68
|
|
cmp r1, 0x1
|
|
beq _0808EB82
|
|
b _0808EB9E
|
|
.align 2, 0
|
|
_0808EB64: .4byte gUnknown_20397B0
|
|
_0808EB68:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EB9E
|
|
_0808EB82:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808EB9E
|
|
ldr r1, _0808EBA8 @ =gUnknown_20397B7
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldr r1, [r4]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x2]
|
|
ldr r0, _0808EBAC @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
_0808EB9E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EBA8: .4byte gUnknown_20397B7
|
|
_0808EBAC: .4byte sub_808EE18
|
|
thumb_func_end sub_808EB50
|
|
|
|
thumb_func_start sub_808EBB0
|
|
sub_808EBB0: @ 808EBB0
|
|
push {r4,lr}
|
|
ldr r0, _0808EBC8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bls _0808EBBE
|
|
b _0808ECD0
|
|
_0808EBBE:
|
|
lsls r0, 2
|
|
ldr r1, _0808EBCC @ =_0808EBD0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808EBC8: .4byte gUnknown_20397B0
|
|
_0808EBCC: .4byte _0808EBD0
|
|
.align 2, 0
|
|
_0808EBD0:
|
|
.4byte _0808EBE4
|
|
.4byte _0808EC40
|
|
.4byte _0808EC54
|
|
.4byte _0808EC90
|
|
.4byte _0808ECAC
|
|
_0808EBE4:
|
|
bl sub_80939A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808EC08
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0xF
|
|
bl sub_808FBA4
|
|
ldr r0, _0808EC04 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808ECD0
|
|
.align 2, 0
|
|
_0808EC04: .4byte gUnknown_20397B0
|
|
_0808EC08:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808EC20
|
|
ldr r0, _0808EC1C @ =sub_808E564
|
|
bl add_to_c3_somehow
|
|
b _0808ECD0
|
|
.align 2, 0
|
|
_0808EC1C: .4byte sub_808E564
|
|
_0808EC20:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
bl sub_808FBA4
|
|
movs r0, 0
|
|
bl sub_808FCE8
|
|
ldr r0, _0808EC3C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808ECD0
|
|
.align 2, 0
|
|
_0808EC3C: .4byte gUnknown_20397B0
|
|
_0808EC40:
|
|
ldr r0, _0808EC50 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808ECD0
|
|
b _0808EC72
|
|
.align 2, 0
|
|
_0808EC50: .4byte gMain
|
|
_0808EC54:
|
|
bl Menu_ProcessInputNoWrapClearOnChoose
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0808EC84
|
|
cmp r1, 0
|
|
bgt _0808EC6E
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808EC72
|
|
b _0808ECD0
|
|
_0808EC6E:
|
|
cmp r1, 0x1
|
|
bne _0808ECD0
|
|
_0808EC72:
|
|
bl sub_808FD20
|
|
ldr r0, _0808EC80 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808ECD0
|
|
.align 2, 0
|
|
_0808EC80: .4byte sub_808D2BC
|
|
_0808EC84:
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
b _0808EC9A
|
|
_0808EC90:
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80A0A70
|
|
_0808EC9A:
|
|
ldr r0, _0808ECA8 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808ECD0
|
|
.align 2, 0
|
|
_0808ECA8: .4byte gUnknown_20397B0
|
|
_0808ECAC:
|
|
bl sub_80A0AAC
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _0808ECD0
|
|
bl sub_808FF70
|
|
bl CalculatePlayerPartyCount
|
|
ldr r1, _0808ECD8 @ =gPlayerPartyCount
|
|
strb r0, [r1]
|
|
ldr r0, _0808ECDC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
strb r4, [r0, 0x2]
|
|
ldr r0, _0808ECE0 @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
_0808ECD0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808ECD8: .4byte gPlayerPartyCount
|
|
_0808ECDC: .4byte gUnknown_20397B0
|
|
_0808ECE0: .4byte sub_808EE18
|
|
thumb_func_end sub_808EBB0
|
|
|
|
thumb_func_start sub_808ECE4
|
|
sub_808ECE4: @ 808ECE4
|
|
push {r4,lr}
|
|
ldr r0, _0808ECFC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bls _0808ECF2
|
|
b _0808EE04
|
|
_0808ECF2:
|
|
lsls r0, 2
|
|
ldr r1, _0808ED00 @ =_0808ED04
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808ECFC: .4byte gUnknown_20397B0
|
|
_0808ED00: .4byte _0808ED04
|
|
.align 2, 0
|
|
_0808ED04:
|
|
.4byte _0808ED18
|
|
.4byte _0808ED74
|
|
.4byte _0808ED88
|
|
.4byte _0808EDC4
|
|
.4byte _0808EDE0
|
|
_0808ED18:
|
|
bl sub_80939A0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808ED3C
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0xF
|
|
bl sub_808FBA4
|
|
ldr r0, _0808ED38 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EE04
|
|
.align 2, 0
|
|
_0808ED38: .4byte gUnknown_20397B0
|
|
_0808ED3C:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808ED54
|
|
ldr r0, _0808ED50 @ =sub_808E564
|
|
bl add_to_c3_somehow
|
|
b _0808EE04
|
|
.align 2, 0
|
|
_0808ED50: .4byte sub_808E564
|
|
_0808ED54:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x12
|
|
bl sub_808FBA4
|
|
movs r0, 0
|
|
bl sub_808FCE8
|
|
ldr r0, _0808ED70 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
b _0808EE04
|
|
.align 2, 0
|
|
_0808ED70: .4byte gUnknown_20397B0
|
|
_0808ED74:
|
|
ldr r0, _0808ED84 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0xF3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0808EE04
|
|
b _0808EDA8
|
|
.align 2, 0
|
|
_0808ED84: .4byte gMain
|
|
_0808ED88:
|
|
bl Menu_ProcessInputNoWrapClearOnChoose
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0808EDA8
|
|
cmp r1, 0
|
|
bgt _0808EDA2
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0808EDB8
|
|
b _0808EE04
|
|
_0808EDA2:
|
|
cmp r1, 0x1
|
|
beq _0808EDB8
|
|
b _0808EE04
|
|
_0808EDA8:
|
|
bl sub_808FD20
|
|
ldr r0, _0808EDB4 @ =sub_808D2BC
|
|
bl add_to_c3_somehow
|
|
b _0808EE04
|
|
.align 2, 0
|
|
_0808EDB4: .4byte sub_808D2BC
|
|
_0808EDB8:
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
bl sub_808FD20
|
|
b _0808EDCE
|
|
_0808EDC4:
|
|
movs r0, 0x14
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80A0A70
|
|
_0808EDCE:
|
|
ldr r0, _0808EDDC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808EE04
|
|
.align 2, 0
|
|
_0808EDDC: .4byte gUnknown_20397B0
|
|
_0808EDE0:
|
|
bl sub_80A0AAC
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _0808EE04
|
|
bl sub_808FF70
|
|
bl CalculatePlayerPartyCount
|
|
ldr r1, _0808EE0C @ =gPlayerPartyCount
|
|
strb r0, [r1]
|
|
ldr r0, _0808EE10 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
strb r4, [r0, 0x2]
|
|
ldr r0, _0808EE14 @ =sub_808EE18
|
|
bl add_to_c3_somehow
|
|
_0808EE04:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EE0C: .4byte gPlayerPartyCount
|
|
_0808EE10: .4byte gUnknown_20397B0
|
|
_0808EE14: .4byte sub_808EE18
|
|
thumb_func_end sub_808ECE4
|
|
|
|
thumb_func_start sub_808EE18
|
|
sub_808EE18: @ 808EE18
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _0808EE44 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r4, [r0, 0x2]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0808EE4C
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0808EE4C
|
|
bl sub_80961C4
|
|
ldr r1, _0808EE48 @ =gUnknown_20397BA
|
|
b _0808EE50
|
|
.align 2, 0
|
|
_0808EE44: .4byte gUnknown_20397B0
|
|
_0808EE48: .4byte gUnknown_20397BA
|
|
_0808EE4C:
|
|
ldr r1, _0808EE70 @ =gUnknown_20397BA
|
|
movs r0, 0
|
|
_0808EE50:
|
|
strh r0, [r1]
|
|
cmp r4, 0x1
|
|
beq _0808EE78
|
|
cmp r4, 0x1
|
|
ble _0808EE62
|
|
cmp r4, 0x2
|
|
beq _0808EEBC
|
|
cmp r4, 0x3
|
|
beq _0808EEE8
|
|
_0808EE62:
|
|
bl sub_808EF68
|
|
ldr r0, _0808EE74 @ =sub_808C7B4
|
|
bl SetMainCallback2
|
|
b _0808EEF6
|
|
.align 2, 0
|
|
_0808EE70: .4byte gUnknown_20397BA
|
|
_0808EE74: .4byte sub_808C7B4
|
|
_0808EE78:
|
|
ldr r0, _0808EEAC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _0808EEB0 @ =0x0000217c
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
subs r2, 0x3
|
|
adds r0, r1, r2
|
|
ldrb r6, [r0]
|
|
subs r2, 0x1
|
|
adds r0, r1, r2
|
|
ldrb r5, [r0]
|
|
ldr r0, _0808EEB4 @ =0x0000217a
|
|
adds r1, r0
|
|
ldrb r4, [r1]
|
|
bl sub_808EF68
|
|
ldr r3, _0808EEB8 @ =sub_808CE60
|
|
str r4, [sp]
|
|
mov r0, r8
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl sub_81344F8
|
|
b _0808EEF6
|
|
.align 2, 0
|
|
_0808EEAC: .4byte gUnknown_20397B0
|
|
_0808EEB0: .4byte 0x0000217c
|
|
_0808EEB4: .4byte 0x0000217a
|
|
_0808EEB8: .4byte sub_808CE60
|
|
_0808EEBC:
|
|
bl sub_808EF68
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl GetBoxNamePtr
|
|
adds r1, r0, 0
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _0808EEE4 @ =sub_808CE60
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl DoNamingScreen
|
|
b _0808EEF6
|
|
.align 2, 0
|
|
_0808EEE4: .4byte sub_808CE60
|
|
_0808EEE8:
|
|
bl sub_808EF68
|
|
ldr r2, _0808EF08 @ =sub_808CE60
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl sub_8107DB4
|
|
_0808EEF6:
|
|
adds r0, r7, 0
|
|
bl DestroyTask
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EF08: .4byte sub_808CE60
|
|
thumb_func_end sub_808EE18
|
|
|
|
thumb_func_start sub_808EF0C
|
|
sub_808EF0C: @ 808EF0C
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0808EF40 @ =gSpecialVar_ItemId
|
|
ldrh r1, [r0]
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
cmp r1, 0
|
|
beq _0808EF60
|
|
bl sub_8094CC8
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _0808EF44 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808EF4C
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0808EF48 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
b _0808EF56
|
|
.align 2, 0
|
|
_0808EF40: .4byte gSpecialVar_ItemId
|
|
_0808EF44: .4byte gUnknown_20397B4
|
|
_0808EF48: .4byte gPlayerParty
|
|
_0808EF4C:
|
|
adds r0, r1, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetBoxMonDataFromSelectedBox
|
|
_0808EF56:
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1
|
|
bl RemoveBagItem
|
|
_0808EF60:
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808EF0C
|
|
|
|
thumb_func_start sub_808EF68
|
|
sub_808EF68: @ 808EF68
|
|
push {r4,lr}
|
|
bl sub_80F7B2C
|
|
bl sub_80950A4
|
|
ldr r4, _0808EF88 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
bl Free
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
bl FreeAllWindowBuffers
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EF88: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808EF68
|
|
|
|
thumb_func_start sub_808EF8C
|
|
sub_808EF8C: @ 808EF8C
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r1, _0808EFB8 @ =0x00001f0f
|
|
movs r0, 0xE
|
|
bl SetGpuReg
|
|
ldr r1, _0808EFBC @ =gUnknown_83CE438
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x3
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl DecompressAndLoadBgGfxUsingHeap
|
|
ldr r0, _0808EFC0 @ =gUnknown_83CE4D0
|
|
ldr r1, _0808EFC4 @ =0x0600f800
|
|
bl LZ77UnCompVram
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808EFB8: .4byte 0x00001f0f
|
|
_0808EFBC: .4byte gUnknown_83CE438
|
|
_0808EFC0: .4byte gUnknown_83CE4D0
|
|
_0808EFC4: .4byte 0x0600f800
|
|
thumb_func_end sub_808EF8C
|
|
|
|
thumb_func_start sub_808EFC8
|
|
sub_808EFC8: @ 808EFC8
|
|
push {lr}
|
|
movs r0, 0x3
|
|
movs r1, 0x80
|
|
movs r2, 0x1
|
|
bl ChangeBgX
|
|
movs r0, 0x3
|
|
movs r1, 0x80
|
|
movs r2, 0x2
|
|
bl ChangeBgY
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808EFC8
|
|
|
|
thumb_func_start sub_808EFE4
|
|
sub_808EFE4: @ 808EFE4
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _0808F030 @ =gUnknown_83CEA50
|
|
movs r0, 0
|
|
movs r2, 0x4
|
|
bl InitBgsFromTemplates
|
|
ldr r1, _0808F034 @ =gUnknown_8E9C438
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl DecompressAndLoadBgGfxUsingHeap
|
|
ldr r0, _0808F038 @ =gUnknown_83CE5FC
|
|
ldr r5, _0808F03C @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldr r4, _0808F040 @ =0x00005abc
|
|
adds r1, r4
|
|
bl LZ77UnCompWram
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
movs r0, 0x1
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F030: .4byte gUnknown_83CEA50
|
|
_0808F034: .4byte gUnknown_8E9C438
|
|
_0808F038: .4byte gUnknown_83CE5FC
|
|
_0808F03C: .4byte gUnknown_20397B0
|
|
_0808F040: .4byte 0x00005abc
|
|
thumb_func_end sub_808EFE4
|
|
|
|
thumb_func_start sub_808F044
|
|
sub_808F044: @ 808F044
|
|
push {lr}
|
|
ldr r0, _0808F05C @ =gUnknown_83CEA30
|
|
bl InitWindows
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0808F060
|
|
bl DeactivateAllTextPrinters
|
|
movs r0, 0x1
|
|
b _0808F062
|
|
.align 2, 0
|
|
_0808F05C: .4byte gUnknown_83CEA30
|
|
_0808F060:
|
|
movs r0, 0
|
|
_0808F062:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_808F044
|
|
|
|
thumb_func_start sub_808F068
|
|
sub_808F068: @ 808F068
|
|
push {lr}
|
|
ldr r0, _0808F074 @ =gUnknown_83CEA60
|
|
bl LoadSpritePalette
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F074: .4byte gUnknown_83CEA60
|
|
thumb_func_end sub_808F068
|
|
|
|
thumb_func_start sub_808F078
|
|
sub_808F078: @ 808F078
|
|
push {lr}
|
|
ldr r0, _0808F0B0 @ =gUnknown_8E9C3F8
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _0808F0B4 @ =gUnknown_8E9C418
|
|
movs r1, 0x20
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _0808F0B8 @ =gUnknown_83CEA10
|
|
movs r1, 0xF0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _0808F0BC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808F0C4
|
|
ldr r0, _0808F0C0 @ =gUnknown_83CE738
|
|
movs r1, 0x30
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
b _0808F0CE
|
|
.align 2, 0
|
|
_0808F0B0: .4byte gUnknown_8E9C3F8
|
|
_0808F0B4: .4byte gUnknown_8E9C418
|
|
_0808F0B8: .4byte gUnknown_83CEA10
|
|
_0808F0BC: .4byte gUnknown_20397B0
|
|
_0808F0C0: .4byte gUnknown_83CE738
|
|
_0808F0C4:
|
|
ldr r0, _0808F0EC @ =gUnknown_83CE758
|
|
movs r1, 0x30
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
_0808F0CE:
|
|
ldr r1, _0808F0F0 @ =0x00001e05
|
|
movs r0, 0xA
|
|
bl SetGpuReg
|
|
bl sub_808F2BC
|
|
bl sub_808F0F4
|
|
bl sub_808F164
|
|
bl sub_808F1D0
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F0EC: .4byte gUnknown_83CE758
|
|
_0808F0F0: .4byte 0x00001e05
|
|
thumb_func_end sub_808F078
|
|
|
|
thumb_func_start sub_808F0F4
|
|
sub_808F0F4: @ 808F0F4
|
|
push {r4,lr}
|
|
ldr r1, _0808F154 @ =0x0000dac8
|
|
movs r0, 0x10
|
|
movs r2, 0
|
|
bl sub_80BEB00
|
|
ldr r4, _0808F158 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
movs r3, 0xD9
|
|
lsls r3, 4
|
|
adds r1, r3
|
|
str r0, [r1]
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r2, [r0]
|
|
movs r1, 0x28
|
|
strh r1, [r2, 0x20]
|
|
ldr r1, [r0]
|
|
movs r0, 0x96
|
|
strh r0, [r1, 0x22]
|
|
movs r0, 0x10
|
|
bl GetSpriteTileStartByTag
|
|
ldr r1, [r4]
|
|
ldr r2, _0808F15C @ =0x00000d9c
|
|
adds r1, r2
|
|
lsls r0, 16
|
|
lsrs r0, 11
|
|
ldr r2, _0808F160 @ =0x06010000
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F154: .4byte 0x0000dac8
|
|
_0808F158: .4byte gUnknown_20397B0
|
|
_0808F15C: .4byte 0x00000d9c
|
|
_0808F160: .4byte 0x06010000
|
|
thumb_func_end sub_808F0F4
|
|
|
|
thumb_func_start sub_808F164
|
|
sub_808F164: @ 808F164
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
ldr r0, _0808F1BC @ =gUnknown_83CEA68
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
bl LoadSpriteSheet
|
|
movs r4, 0
|
|
_0808F17A:
|
|
lsls r1, r4, 6
|
|
subs r1, r4
|
|
adds r1, 0x8
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r0, _0808F1C0 @ =gUnknown_83CEBD8
|
|
movs r2, 0x9
|
|
movs r3, 0x2
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0808F1C4 @ =gUnknown_20397B0
|
|
ldr r2, [r1]
|
|
lsls r1, r4, 2
|
|
ldr r3, _0808F1C8 @ =0x00000d94
|
|
adds r2, r3
|
|
adds r2, r1
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _0808F1CC @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _0808F17A
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F1BC: .4byte gUnknown_83CEA68
|
|
_0808F1C0: .4byte gUnknown_83CEBD8
|
|
_0808F1C4: .4byte gUnknown_20397B0
|
|
_0808F1C8: .4byte 0x00000d94
|
|
_0808F1CC: .4byte gSprites
|
|
thumb_func_end sub_808F164
|
|
|
|
thumb_func_start sub_808F1D0
|
|
sub_808F1D0: @ 808F1D0
|
|
push {lr}
|
|
ldr r0, _0808F1FC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r2, 0xCE
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
subs r2, 0x4
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_808F3F8
|
|
bl sub_808F49C
|
|
bl sub_808F5E8
|
|
movs r0, 0
|
|
bl ScheduleBgCopyTilemapToVram
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F1FC: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808F1D0
|
|
|
|
thumb_func_start BoxSetMosaic
|
|
BoxSetMosaic: @ 808F200
|
|
push {lr}
|
|
bl sub_808F1D0
|
|
ldr r3, _0808F24C @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r1, _0808F250 @ =0x00002238
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
cmp r2, 0
|
|
beq _0808F248
|
|
ldrb r0, [r2, 0x1]
|
|
movs r1, 0x10
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1]
|
|
ldr r1, [r3]
|
|
ldr r0, _0808F250 @ =0x00002238
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
movs r0, 0xA
|
|
strh r0, [r2, 0x2E]
|
|
ldr r2, [r1]
|
|
movs r0, 0x1
|
|
strh r0, [r2, 0x30]
|
|
ldr r2, [r1]
|
|
ldr r0, _0808F254 @ =BoxSetMosaic2
|
|
str r0, [r2, 0x1C]
|
|
ldr r0, [r1]
|
|
ldrh r0, [r0, 0x2E]
|
|
lsls r1, r0, 12
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x4C
|
|
bl SetGpuReg
|
|
_0808F248:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F24C: .4byte gUnknown_20397B0
|
|
_0808F250: .4byte 0x00002238
|
|
_0808F254: .4byte BoxSetMosaic2
|
|
thumb_func_end BoxSetMosaic
|
|
|
|
thumb_func_start sub_808F258
|
|
sub_808F258: @ 808F258
|
|
ldr r0, _0808F26C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0808F270 @ =0x00002238
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 27
|
|
lsrs r0, 31
|
|
bx lr
|
|
.align 2, 0
|
|
_0808F26C: .4byte gUnknown_20397B0
|
|
_0808F270: .4byte 0x00002238
|
|
thumb_func_end sub_808F258
|
|
|
|
thumb_func_start BoxSetMosaic2
|
|
BoxSetMosaic2: @ 808F274
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x2E]
|
|
ldrh r1, [r4, 0x30]
|
|
subs r0, r1
|
|
strh r0, [r4, 0x2E]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _0808F28A
|
|
movs r0, 0
|
|
strh r0, [r4, 0x2E]
|
|
_0808F28A:
|
|
ldrh r0, [r4, 0x2E]
|
|
lsls r1, r0, 12
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x4C
|
|
bl SetGpuReg
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
bne _0808F2B2
|
|
ldrb r0, [r4, 0x1]
|
|
movs r1, 0x11
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r4, 0x1]
|
|
ldr r0, _0808F2B8 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_0808F2B2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F2B8: .4byte SpriteCallbackDummy
|
|
thumb_func_end BoxSetMosaic2
|
|
|
|
thumb_func_start sub_808F2BC
|
|
sub_808F2BC: @ 808F2BC
|
|
push {r4-r7,lr}
|
|
sub sp, 0x28
|
|
ldr r0, _0808F350 @ =gUnknown_20397B0
|
|
mov r12, r0
|
|
ldr r1, [r0]
|
|
ldr r4, _0808F354 @ =0x000022bc
|
|
adds r0, r1, r4
|
|
str r0, [sp, 0x18]
|
|
add r3, sp, 0x18
|
|
movs r0, 0x82
|
|
lsls r0, 10
|
|
str r0, [r3, 0x4]
|
|
ldr r5, _0808F358 @ =0x0000223c
|
|
adds r1, r5
|
|
str r1, [sp, 0x20]
|
|
ldr r0, _0808F35C @ =0x0000dac6
|
|
add r2, sp, 0x20
|
|
str r0, [r2, 0x4]
|
|
mov r1, sp
|
|
ldr r0, _0808F360 @ =gUnknown_83CEA70
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
movs r6, 0
|
|
adds r7, r2, 0
|
|
mov r5, r12
|
|
movs r2, 0
|
|
ldr r1, _0808F364 @ =0x000007ff
|
|
_0808F2F6:
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
adds r0, r6
|
|
strb r2, [r0]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, r1
|
|
bls _0808F2F6
|
|
movs r6, 0
|
|
ldr r5, _0808F350 @ =gUnknown_20397B0
|
|
ldr r4, _0808F358 @ =0x0000223c
|
|
movs r2, 0
|
|
_0808F310:
|
|
ldr r0, [r5]
|
|
lsls r1, r6, 1
|
|
adds r0, r4
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0xF
|
|
bls _0808F310
|
|
ldr r0, _0808F350 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r6, _0808F368 @ =0x00002238
|
|
adds r0, r6
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
adds r0, r3, 0
|
|
bl LoadSpriteSheet
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0
|
|
beq _0808F3C8
|
|
adds r0, r7, 0
|
|
bl LoadSpritePalette
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xFF
|
|
beq _0808F3C8
|
|
b _0808F3B4
|
|
.align 2, 0
|
|
_0808F350: .4byte gUnknown_20397B0
|
|
_0808F354: .4byte 0x000022bc
|
|
_0808F358: .4byte 0x0000223c
|
|
_0808F35C: .4byte 0x0000dac6
|
|
_0808F360: .4byte gUnknown_83CEA70
|
|
_0808F364: .4byte 0x000007ff
|
|
_0808F368: .4byte 0x00002238
|
|
_0808F36C:
|
|
ldr r0, _0808F39C @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r7, _0808F3A0 @ =0x00002238
|
|
adds r3, r2, r7
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0808F3A4 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r3]
|
|
lsls r0, r4, 4
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
ldr r3, _0808F3A8 @ =0x00002232
|
|
adds r1, r2, r3
|
|
strh r0, [r1]
|
|
ldr r6, _0808F3AC @ =0x00002234
|
|
adds r2, r6
|
|
lsls r0, r5, 5
|
|
ldr r7, _0808F3B0 @ =0x06010000
|
|
adds r0, r7
|
|
str r0, [r2]
|
|
b _0808F3C8
|
|
.align 2, 0
|
|
_0808F39C: .4byte gUnknown_20397B0
|
|
_0808F3A0: .4byte 0x00002238
|
|
_0808F3A4: .4byte gSprites
|
|
_0808F3A8: .4byte 0x00002232
|
|
_0808F3AC: .4byte 0x00002234
|
|
_0808F3B0: .4byte 0x06010000
|
|
_0808F3B4:
|
|
mov r0, sp
|
|
movs r1, 0x28
|
|
movs r2, 0x30
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
bne _0808F36C
|
|
_0808F3C8:
|
|
ldr r0, _0808F3EC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0808F3F0 @ =0x00002238
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _0808F3E2
|
|
movs r0, 0x2
|
|
bl FreeSpriteTilesByTag
|
|
ldr r0, _0808F3F4 @ =0x0000dac6
|
|
bl FreeSpritePaletteByTag
|
|
_0808F3E2:
|
|
add sp, 0x28
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F3EC: .4byte gUnknown_20397B0
|
|
_0808F3F0: .4byte 0x00002238
|
|
_0808F3F4: .4byte 0x0000dac6
|
|
thumb_func_end sub_808F2BC
|
|
|
|
thumb_func_start sub_808F3F8
|
|
sub_808F3F8: @ 808F3F8
|
|
push {r4-r7,lr}
|
|
adds r3, r1, 0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r6, _0808F468 @ =gUnknown_20397B0
|
|
ldr r4, [r6]
|
|
ldr r7, _0808F46C @ =0x00002238
|
|
adds r0, r4, r7
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808F496
|
|
cmp r2, 0
|
|
beq _0808F48C
|
|
lsls r0, r2, 3
|
|
ldr r1, _0808F470 @ =gMonFrontPicTable
|
|
adds r0, r1
|
|
ldr r5, _0808F474 @ =0x000022bc
|
|
adds r1, r4, r5
|
|
bl HandleLoadSpecialPokePic
|
|
ldr r1, [r6]
|
|
ldr r2, _0808F478 @ =0x00000cd8
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
ldr r4, _0808F47C @ =0x0000223c
|
|
adds r1, r4
|
|
bl LZ77UnCompWram
|
|
ldr r0, [r6]
|
|
adds r5, r0, r5
|
|
ldr r1, _0808F480 @ =0x00002234
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r2, _0808F484 @ =0x04000200
|
|
adds r0, r5, 0
|
|
bl CpuSet
|
|
ldr r0, [r6]
|
|
adds r4, r0, r4
|
|
ldr r2, _0808F488 @ =0x00002232
|
|
adds r0, r2
|
|
ldrh r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, [r6]
|
|
adds r0, r7
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
b _0808F496
|
|
.align 2, 0
|
|
_0808F468: .4byte gUnknown_20397B0
|
|
_0808F46C: .4byte 0x00002238
|
|
_0808F470: .4byte gMonFrontPicTable
|
|
_0808F474: .4byte 0x000022bc
|
|
_0808F478: .4byte 0x00000cd8
|
|
_0808F47C: .4byte 0x0000223c
|
|
_0808F480: .4byte 0x00002234
|
|
_0808F484: .4byte 0x04000200
|
|
_0808F488: .4byte 0x00002232
|
|
_0808F48C:
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
_0808F496:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808F3F8
|
|
|
|
thumb_func_start sub_808F49C
|
|
sub_808F49C: @ 808F49C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r6, _0808F51C @ =gUnknown_20397B0
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0x3
|
|
beq _0808F528
|
|
movs r4, 0
|
|
movs r5, 0
|
|
mov r8, r6
|
|
_0808F4BC:
|
|
lsls r0, r4, 3
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _0808F520 @ =0x00000cf5
|
|
adds r0, r1
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r2, r1, r0
|
|
movs r3, 0x6
|
|
cmp r4, 0x2
|
|
bne _0808F4D4
|
|
movs r3, 0xA
|
|
_0808F4D4:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r7, 0xFF
|
|
str r7, [sp, 0x4]
|
|
movs r6, 0
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
bl AddTextPrinterParameterized
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r5, 0
|
|
adds r0, 0xE
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r4, 0x2
|
|
bls _0808F4BC
|
|
ldr r0, _0808F51C @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r0, _0808F524 @ =0x00000d61
|
|
adds r2, r0
|
|
adds r0, r5, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r3, 0x6
|
|
bl AddTextPrinterParameterized
|
|
b _0808F57E
|
|
.align 2, 0
|
|
_0808F51C: .4byte gUnknown_20397B0
|
|
_0808F520: .4byte 0x00000cf5
|
|
_0808F524: .4byte 0x00000d61
|
|
_0808F528:
|
|
ldr r1, _0808F5BC @ =0x00000d61
|
|
adds r2, r1
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r3, 0x6
|
|
bl AddTextPrinterParameterized
|
|
movs r4, 0
|
|
movs r5, 0xF
|
|
_0808F542:
|
|
lsls r0, r4, 3
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r2, _0808F5C0 @ =0x00000cf5
|
|
adds r0, r2
|
|
ldr r1, [r6]
|
|
adds r2, r1, r0
|
|
movs r3, 0x6
|
|
cmp r4, 0x2
|
|
bne _0808F558
|
|
movs r3, 0xA
|
|
_0808F558:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r1, 0x2
|
|
bl AddTextPrinterParameterized
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r5, 0
|
|
adds r0, 0xE
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r4, 0x2
|
|
bls _0808F542
|
|
_0808F57E:
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldr r4, _0808F5C4 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
movs r2, 0xCE
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808F5C8
|
|
adds r2, 0x7
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r2, 0xB5
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_80BEBD0
|
|
ldr r0, [r4]
|
|
movs r1, 0xD9
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
b _0808F5D8
|
|
.align 2, 0
|
|
_0808F5BC: .4byte 0x00000d61
|
|
_0808F5C0: .4byte 0x00000cf5
|
|
_0808F5C4: .4byte gUnknown_20397B0
|
|
_0808F5C8:
|
|
movs r2, 0xD9
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
_0808F5D8:
|
|
strb r0, [r1]
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808F49C
|
|
|
|
thumb_func_start sub_808F5E8
|
|
sub_808F5E8: @ 808F5E8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0808F634 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCE
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808F63C
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl sub_80F7CE8
|
|
movs r4, 0
|
|
_0808F60E:
|
|
ldr r0, _0808F634 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 2
|
|
ldr r2, _0808F638 @ =0x00000d94
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r1, 0x1
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnimIfDifferent
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _0808F60E
|
|
b _0808F66E
|
|
.align 2, 0
|
|
_0808F634: .4byte gUnknown_20397B0
|
|
_0808F638: .4byte 0x00000d94
|
|
_0808F63C:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x8
|
|
bl sub_80F7CE8
|
|
movs r4, 0
|
|
_0808F64E:
|
|
ldr r0, _0808F684 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 2
|
|
ldr r2, _0808F688 @ =0x00000d94
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 25
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _0808F64E
|
|
_0808F66E:
|
|
movs r0, 0
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F684: .4byte gUnknown_20397B0
|
|
_0808F688: .4byte 0x00000d94
|
|
thumb_func_end sub_808F5E8
|
|
|
|
thumb_func_start sub_808F68C
|
|
sub_808F68C: @ 808F68C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0808F704 @ =gUnknown_8E9CAEC
|
|
ldr r4, _0808F708 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
adds r1, 0xB0
|
|
bl LZ77UnCompWram
|
|
ldr r0, _0808F70C @ =gUnknown_8E9C3D8
|
|
movs r1, 0x10
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r2, [r4]
|
|
adds r2, 0xB0
|
|
movs r0, 0x16
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r3, 0xC
|
|
bl sub_80F7B80
|
|
ldr r2, _0808F710 @ =gUnknown_83CE778
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r3, 0x9
|
|
bl sub_80F7B80
|
|
movs r0, 0x1
|
|
movs r1, 0xA
|
|
movs r2, 0
|
|
bl sub_80F7CAC
|
|
movs r0, 0x2
|
|
movs r1, 0x15
|
|
movs r2, 0
|
|
bl sub_80F7CAC
|
|
bl sub_808F9FC
|
|
ldr r0, _0808F714 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808F718
|
|
movs r0, 0x1
|
|
bl sub_808F90C
|
|
movs r0, 0x1
|
|
bl sub_809088C
|
|
movs r0, 0x2
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl sub_80F7E54
|
|
b _0808F73A
|
|
.align 2, 0
|
|
_0808F704: .4byte gUnknown_8E9CAEC
|
|
_0808F708: .4byte gUnknown_20397B0
|
|
_0808F70C: .4byte gUnknown_8E9C3D8
|
|
_0808F710: .4byte gUnknown_83CE778
|
|
_0808F714: .4byte gUnknown_20397B4
|
|
_0808F718:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x14
|
|
movs r3, 0xC
|
|
bl sub_80F7CE8
|
|
movs r0, 0x1
|
|
bl sub_808F90C
|
|
movs r0, 0x1
|
|
bl sub_80F7E54
|
|
movs r0, 0x2
|
|
bl sub_80F7E54
|
|
_0808F73A:
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
ldr r0, _0808F754 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0808F758 @ =0x000002c7
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F754: .4byte gUnknown_20397B0
|
|
_0808F758: .4byte 0x000002c7
|
|
thumb_func_end sub_808F68C
|
|
|
|
thumb_func_start sub_808F75C
|
|
sub_808F75C: @ 808F75C
|
|
push {lr}
|
|
ldr r0, _0808F788 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r0, 0xB0
|
|
lsls r0, 2
|
|
adds r2, r1, r0
|
|
movs r3, 0
|
|
movs r0, 0x14
|
|
strh r0, [r2]
|
|
ldr r0, _0808F78C @ =0x000002c2
|
|
adds r2, r1, r0
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
ldr r0, _0808F790 @ =0x000002c5
|
|
adds r1, r0
|
|
strb r3, [r1]
|
|
movs r0, 0
|
|
bl sub_809088C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F788: .4byte gUnknown_20397B0
|
|
_0808F78C: .4byte 0x000002c2
|
|
_0808F790: .4byte 0x000002c5
|
|
thumb_func_end sub_808F75C
|
|
|
|
thumb_func_start sub_808F794
|
|
sub_808F794: @ 808F794
|
|
push {r4,lr}
|
|
ldr r4, _0808F7F0 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
ldr r1, _0808F7F4 @ =0x000002c5
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x14
|
|
beq _0808F802
|
|
movs r0, 0xB0
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
ldr r0, _0808F7F8 @ =0x000002c2
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
movs r2, 0x1
|
|
bl sub_80F7D30
|
|
movs r0, 0x1
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
movs r0, 0x8
|
|
bl sub_8090B98
|
|
ldr r1, [r4]
|
|
ldr r0, _0808F7F4 @ =0x000002c5
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x14
|
|
beq _0808F7FC
|
|
movs r0, 0x1
|
|
b _0808F804
|
|
.align 2, 0
|
|
_0808F7F0: .4byte gUnknown_20397B0
|
|
_0808F7F4: .4byte 0x000002c5
|
|
_0808F7F8: .4byte 0x000002c2
|
|
_0808F7FC:
|
|
ldr r1, _0808F80C @ =gUnknown_20397B4
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
_0808F802:
|
|
movs r0, 0
|
|
_0808F804:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808F80C: .4byte gUnknown_20397B4
|
|
thumb_func_end sub_808F794
|
|
|
|
thumb_func_start sub_808F810
|
|
sub_808F810: @ 808F810
|
|
push {r4,lr}
|
|
ldr r4, _0808F844 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
movs r0, 0xB0
|
|
lsls r0, 2
|
|
adds r2, r1, r0
|
|
movs r3, 0
|
|
movs r0, 0
|
|
strh r0, [r2]
|
|
ldr r0, _0808F848 @ =0x000002c2
|
|
adds r2, r1, r0
|
|
movs r0, 0x16
|
|
strh r0, [r2]
|
|
ldr r0, _0808F84C @ =0x000002c5
|
|
adds r1, r0
|
|
strb r3, [r1]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0808F83C
|
|
bl sub_80960C0
|
|
_0808F83C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F844: .4byte gUnknown_20397B0
|
|
_0808F848: .4byte 0x000002c2
|
|
_0808F84C: .4byte 0x000002c5
|
|
thumb_func_end sub_808F810
|
|
|
|
thumb_func_start sub_808F850
|
|
sub_808F850: @ 808F850
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
ldr r5, _0808F8C8 @ =gUnknown_20397B0
|
|
ldr r2, [r5]
|
|
ldr r1, _0808F8CC @ =0x000002c5
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x14
|
|
beq _0808F8FC
|
|
movs r0, 0xB0
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
ldr r4, _0808F8D0 @ =0x000002c2
|
|
adds r1, r2, r4
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
bl sub_80F7D30
|
|
movs r0, 0x1
|
|
bl sub_80F7E54
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r3, [r0]
|
|
movs r0, 0xC
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
movs r2, 0xA
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
movs r0, 0x8
|
|
negs r0, r0
|
|
bl sub_8090B98
|
|
ldr r1, [r5]
|
|
ldr r0, _0808F8CC @ =0x000002c5
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x14
|
|
beq _0808F8D4
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
movs r0, 0x1
|
|
b _0808F8FE
|
|
.align 2, 0
|
|
_0808F8C8: .4byte gUnknown_20397B0
|
|
_0808F8CC: .4byte 0x000002c5
|
|
_0808F8D0: .4byte 0x000002c2
|
|
_0808F8D4:
|
|
ldr r0, _0808F908 @ =gUnknown_20397B4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
bl sub_8090C44
|
|
bl CompactPartySlots
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x9
|
|
bl sub_80F7CE8
|
|
movs r0, 0x2
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
_0808F8FC:
|
|
movs r0, 0
|
|
_0808F8FE:
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0808F908: .4byte gUnknown_20397B4
|
|
thumb_func_end sub_808F850
|
|
|
|
thumb_func_start sub_808F90C
|
|
sub_808F90C: @ 808F90C
|
|
push {lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808F926
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x9
|
|
bl sub_80F7CE8
|
|
b _0808F934
|
|
_0808F926:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x9
|
|
bl sub_80F7CE8
|
|
_0808F934:
|
|
movs r0, 0x2
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808F90C
|
|
|
|
thumb_func_start sub_808F948
|
|
sub_808F948: @ 808F948
|
|
ldr r2, _0808F968 @ =gUnknown_20397B0
|
|
ldr r0, [r2]
|
|
ldr r1, _0808F96C @ =0x000002c7
|
|
adds r0, r1
|
|
movs r3, 0x1
|
|
strb r3, [r0]
|
|
ldr r0, [r2]
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r1, _0808F970 @ =0x000002c9
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0808F968: .4byte gUnknown_20397B0
|
|
_0808F96C: .4byte 0x000002c7
|
|
_0808F970: .4byte 0x000002c9
|
|
thumb_func_end sub_808F948
|
|
|
|
thumb_func_start sub_808F974
|
|
sub_808F974: @ 808F974
|
|
push {lr}
|
|
ldr r0, _0808F994 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _0808F998 @ =0x000002c7
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _0808F98E
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
bl sub_808F90C
|
|
_0808F98E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F994: .4byte gUnknown_20397B0
|
|
_0808F998: .4byte 0x000002c7
|
|
thumb_func_end sub_808F974
|
|
|
|
thumb_func_start sub_808F99C
|
|
sub_808F99C: @ 808F99C
|
|
push {r4,lr}
|
|
ldr r3, _0808F9F0 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
ldr r2, _0808F9F4 @ =0x000002c7
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808F9E8
|
|
movs r0, 0xB2
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1E
|
|
bls _0808F9E8
|
|
ldr r0, [r3]
|
|
movs r1, 0xB2
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
movs r2, 0
|
|
ldr r4, _0808F9F8 @ =0x000002c9
|
|
adds r1, r0, r4
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _0808F9DC
|
|
movs r2, 0x1
|
|
_0808F9DC:
|
|
strb r2, [r1]
|
|
ldr r0, [r3]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl sub_808F90C
|
|
_0808F9E8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808F9F0: .4byte gUnknown_20397B0
|
|
_0808F9F4: .4byte 0x000002c7
|
|
_0808F9F8: .4byte 0x000002c9
|
|
thumb_func_end sub_808F99C
|
|
|
|
thumb_func_start sub_808F9FC
|
|
sub_808F9FC: @ 808F9FC
|
|
push {r4,lr}
|
|
movs r4, 0x1
|
|
_0808FA00:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0808FA2C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r1, 31
|
|
adds r0, r4, 0
|
|
bl sub_808FA30
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x5
|
|
bls _0808FA00
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FA2C: .4byte gPlayerParty
|
|
thumb_func_end sub_808F9FC
|
|
|
|
thumb_func_start sub_808FA30
|
|
sub_808FA30: @ 808FA30
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
ldr r7, _0808FA9C @ =gUnknown_83CE7D8
|
|
cmp r1, 0
|
|
beq _0808FA40
|
|
ldr r7, _0808FAA0 @ =gUnknown_83CE7C0
|
|
_0808FA40:
|
|
subs r0, 0x1
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
adds r1, 0x1
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 18
|
|
movs r1, 0xE0
|
|
lsls r1, 11
|
|
adds r0, r1
|
|
lsrs r3, r0, 16
|
|
movs r0, 0
|
|
ldr r1, _0808FAA4 @ =gUnknown_20397B0
|
|
mov r12, r1
|
|
_0808FA5C:
|
|
movs r2, 0
|
|
adds r4, r7, 0
|
|
adds r4, 0x8
|
|
adds r5, r3, 0
|
|
adds r5, 0xC
|
|
adds r6, r0, 0x1
|
|
_0808FA68:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r0, r3, r2
|
|
lsls r0, 1
|
|
adds r1, 0xB0
|
|
adds r1, r0
|
|
lsls r0, r2, 1
|
|
adds r0, r7
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x3
|
|
bls _0808FA68
|
|
adds r7, r4, 0
|
|
lsls r0, r5, 16
|
|
lsrs r3, r0, 16
|
|
lsls r0, r6, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x2
|
|
bls _0808FA5C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FA9C: .4byte gUnknown_83CE7D8
|
|
_0808FAA0: .4byte gUnknown_83CE7C0
|
|
_0808FAA4: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_808FA30
|
|
|
|
thumb_func_start sub_808FAA8
|
|
sub_808FAA8: @ 808FAA8
|
|
push {lr}
|
|
sub sp, 0x4
|
|
bl sub_808F9FC
|
|
movs r0, 0x16
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xC
|
|
bl sub_80F7CE8
|
|
movs r0, 0x1
|
|
bl sub_80F7E54
|
|
movs r0, 0x1
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FAA8
|
|
|
|
thumb_func_start sub_808FAD4
|
|
sub_808FAD4: @ 808FAD4
|
|
push {lr}
|
|
ldr r0, _0808FAF0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0808FAF4 @ =0x000002c6
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r0, 0x6
|
|
bl PlaySE
|
|
bl sub_808F75C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FAF0: .4byte gUnknown_20397B0
|
|
_0808FAF4: .4byte 0x000002c6
|
|
thumb_func_end sub_808FAD4
|
|
|
|
thumb_func_start sub_808FAF8
|
|
sub_808FAF8: @ 808FAF8
|
|
push {r4,r5,lr}
|
|
ldr r4, _0808FB14 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r5, _0808FB18 @ =0x000002c6
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _0808FB32
|
|
cmp r0, 0x1
|
|
bgt _0808FB1C
|
|
cmp r0, 0
|
|
beq _0808FB22
|
|
b _0808FB60
|
|
.align 2, 0
|
|
_0808FB14: .4byte gUnknown_20397B0
|
|
_0808FB18: .4byte 0x000002c6
|
|
_0808FB1C:
|
|
cmp r0, 0x2
|
|
beq _0808FB5C
|
|
b _0808FB60
|
|
_0808FB22:
|
|
bl sub_808F794
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808FB60
|
|
bl sub_8092AE4
|
|
b _0808FB4C
|
|
_0808FB32:
|
|
bl sub_80924A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808FB60
|
|
ldr r0, [r4]
|
|
ldr r1, _0808FB58 @ =0x00000ce6
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808FB4C
|
|
bl BoxSetMosaic
|
|
_0808FB4C:
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0808FB60
|
|
.align 2, 0
|
|
_0808FB58: .4byte 0x00000ce6
|
|
_0808FB5C:
|
|
movs r0, 0
|
|
b _0808FB62
|
|
_0808FB60:
|
|
movs r0, 0x1
|
|
_0808FB62:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_808FAF8
|
|
|
|
thumb_func_start sub_808FB68
|
|
sub_808FB68: @ 808FB68
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r1, 0xE8
|
|
lsls r1, 5
|
|
movs r0, 0x8
|
|
bl SetGpuReg
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
movs r2, 0xD0
|
|
bl TextWindow_SetStdFrame0_WithPal
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
movs r0, 0x14
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FB68
|
|
|
|
thumb_func_start sub_808FBA4
|
|
sub_808FBA4: @ 808FBA4
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
bl DynamicPlaceholderTextUtil_Reset
|
|
ldr r1, _0808FBC8 @ =gUnknown_83CEA88
|
|
lsls r0, r6, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x7
|
|
bhi _0808FC7C
|
|
lsls r0, 2
|
|
ldr r1, _0808FBCC @ =_0808FBD0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0808FBC8: .4byte gUnknown_83CEA88
|
|
_0808FBCC: .4byte _0808FBD0
|
|
.align 2, 0
|
|
_0808FBD0:
|
|
.4byte _0808FC7C
|
|
.4byte _0808FBF0
|
|
.4byte _0808FBF0
|
|
.4byte _0808FBF0
|
|
.4byte _0808FC04
|
|
.4byte _0808FC04
|
|
.4byte _0808FC04
|
|
.4byte _0808FC1C
|
|
_0808FBF0:
|
|
ldr r0, _0808FBFC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r0, _0808FC00 @ =0x00000cea
|
|
adds r1, r0
|
|
b _0808FC0C
|
|
.align 2, 0
|
|
_0808FBFC: .4byte gUnknown_20397B0
|
|
_0808FC00: .4byte 0x00000cea
|
|
_0808FC04:
|
|
ldr r0, _0808FC14 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _0808FC18 @ =0x000021d0
|
|
adds r1, r2
|
|
_0808FC0C:
|
|
movs r0, 0
|
|
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
|
|
b _0808FC7C
|
|
.align 2, 0
|
|
_0808FC14: .4byte gUnknown_20397B0
|
|
_0808FC18: .4byte 0x000021d0
|
|
_0808FC1C:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0808FC40
|
|
ldr r0, _0808FC38 @ =gUnknown_20397B0
|
|
ldr r4, [r0]
|
|
ldr r0, _0808FC3C @ =0x000021db
|
|
adds r4, r0
|
|
bl sub_80961A8
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
b _0808FC4C
|
|
.align 2, 0
|
|
_0808FC38: .4byte gUnknown_20397B0
|
|
_0808FC3C: .4byte 0x000021db
|
|
_0808FC40:
|
|
ldr r0, _0808FC54 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _0808FC58 @ =0x000021db
|
|
adds r0, r1, r2
|
|
ldr r2, _0808FC5C @ =0x00000d61
|
|
adds r1, r2
|
|
_0808FC4C:
|
|
bl StringCopy
|
|
adds r2, r0, 0
|
|
b _0808FC62
|
|
.align 2, 0
|
|
_0808FC54: .4byte gUnknown_20397B0
|
|
_0808FC58: .4byte 0x000021db
|
|
_0808FC5C: .4byte 0x00000d61
|
|
_0808FC60:
|
|
adds r2, r1, 0
|
|
_0808FC62:
|
|
subs r1, r2, 0x1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _0808FC60
|
|
movs r0, 0xFF
|
|
strb r0, [r2]
|
|
ldr r0, _0808FCDC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r0, _0808FCE0 @ =0x000021db
|
|
adds r1, r0
|
|
movs r0, 0
|
|
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
|
|
_0808FC7C:
|
|
ldr r5, _0808FCDC @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
movs r4, 0x86
|
|
lsls r4, 6
|
|
adds r0, r4
|
|
ldr r2, _0808FCE4 @ =gUnknown_83CEA88
|
|
lsls r1, r6, 3
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl DynamicPlaceholderTextUtil_ExpandPlaceholders
|
|
movs r0, 0x1
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r3, 0
|
|
bl AddTextPrinterParameterized
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
movs r2, 0xD
|
|
bl DrawTextBorderOuter
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FCDC: .4byte gUnknown_20397B0
|
|
_0808FCE0: .4byte 0x000021db
|
|
_0808FCE4: .4byte gUnknown_83CEA88
|
|
thumb_func_end sub_808FBA4
|
|
|
|
thumb_func_start sub_808FCE8
|
|
sub_808FCE8: @ 808FCE8
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0808FD1C @ =gUnknown_83CEB80
|
|
movs r1, 0xB
|
|
str r1, [sp]
|
|
movs r1, 0xE
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x8]
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl CreateYesNoMenu
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
adds r0, r4, 0
|
|
bl Menu_MoveCursorNoWrapAround
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FD1C: .4byte gUnknown_83CEB80
|
|
thumb_func_end sub_808FCE8
|
|
|
|
thumb_func_start sub_808FD20
|
|
sub_808FD20: @ 808FD20
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl ClearStdWindowAndFrameToTransparent
|
|
movs r0, 0
|
|
bl ScheduleBgCopyTilemapToVram
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FD20
|
|
|
|
thumb_func_start sub_808FD34
|
|
sub_808FD34: @ 808FD34
|
|
push {lr}
|
|
bl sub_8094DA8
|
|
movs r0, 0x12
|
|
bl sub_8094DEC
|
|
movs r0, 0x13
|
|
bl sub_8094DEC
|
|
movs r0, 0x14
|
|
bl sub_8094DEC
|
|
movs r0, 0x15
|
|
bl sub_8094DEC
|
|
bl sub_8094E88
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FD34
|
|
|
|
thumb_func_start sub_808FD5C
|
|
sub_808FD5C: @ 808FD5C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
bl sub_8094DA8
|
|
cmp r4, 0x1
|
|
beq _0808FD9A
|
|
cmp r4, 0x1
|
|
bgt _0808FD76
|
|
cmp r4, 0
|
|
beq _0808FD80
|
|
b _0808FDE6
|
|
_0808FD76:
|
|
cmp r5, 0x2
|
|
beq _0808FDB4
|
|
cmp r5, 0x3
|
|
beq _0808FDCE
|
|
b _0808FDE6
|
|
_0808FD80:
|
|
movs r0, 0x16
|
|
bl sub_8094DEC
|
|
movs r0, 0x17
|
|
bl sub_8094DEC
|
|
movs r0, 0x18
|
|
bl sub_8094DEC
|
|
movs r0, 0x19
|
|
bl sub_8094DEC
|
|
b _0808FDE6
|
|
_0808FD9A:
|
|
movs r0, 0x1A
|
|
bl sub_8094DEC
|
|
movs r0, 0x1B
|
|
bl sub_8094DEC
|
|
movs r0, 0x1C
|
|
bl sub_8094DEC
|
|
movs r0, 0x1D
|
|
bl sub_8094DEC
|
|
b _0808FDE6
|
|
_0808FDB4:
|
|
movs r0, 0x1E
|
|
bl sub_8094DEC
|
|
movs r0, 0x1F
|
|
bl sub_8094DEC
|
|
movs r0, 0x20
|
|
bl sub_8094DEC
|
|
movs r0, 0x21
|
|
bl sub_8094DEC
|
|
b _0808FDE6
|
|
_0808FDCE:
|
|
movs r0, 0x22
|
|
bl sub_8094DEC
|
|
movs r0, 0x23
|
|
bl sub_8094DEC
|
|
movs r0, 0x24
|
|
bl sub_8094DEC
|
|
movs r0, 0x25
|
|
bl sub_8094DEC
|
|
_0808FDE6:
|
|
bl sub_8094E88
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FD5C
|
|
|
|
thumb_func_start sub_808FDF0
|
|
sub_808FDF0: @ 808FDF0
|
|
ldr r0, _0808FDF8 @ =gUnknown_20397B5
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0808FDF8: .4byte gUnknown_20397B5
|
|
thumb_func_end sub_808FDF0
|
|
|
|
thumb_func_start sub_808FDFC
|
|
sub_808FDFC: @ 808FDFC
|
|
push {lr}
|
|
bl sub_80939AC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0808FE38
|
|
ldr r0, _0808FE24 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808FE28
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x1
|
|
bl sub_8095C84
|
|
b _0808FE38
|
|
.align 2, 0
|
|
_0808FE24: .4byte gUnknown_20397B4
|
|
_0808FE28:
|
|
bl sub_8094CC8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
bl sub_8095C84
|
|
_0808FE38:
|
|
ldr r1, _0808FE50 @ =gUnknown_20397BA
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _0808FE4A
|
|
bl sub_8095E2C
|
|
movs r0, 0x3
|
|
bl sub_8094D14
|
|
_0808FE4A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FE50: .4byte gUnknown_20397BA
|
|
thumb_func_end sub_808FDFC
|
|
|
|
thumb_func_start sub_808FE54
|
|
sub_808FE54: @ 808FE54
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl sub_8094D34
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0808FE90 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCE
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldrh r7, [r0]
|
|
ldr r0, _0808FE94 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808FE9C
|
|
movs r6, 0xE
|
|
bl sub_8094CC8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0808FE98 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
b _0808FEB2
|
|
.align 2, 0
|
|
_0808FE90: .4byte gUnknown_20397B0
|
|
_0808FE94: .4byte gUnknown_20397B4
|
|
_0808FE98: .4byte gPlayerParty
|
|
_0808FE9C:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
bl sub_8094CC8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x41
|
|
bl GetBoxMonDataFromSelectedBox
|
|
_0808FEB2:
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
ldr r0, _0808FECC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _0808FED0 @ =0x00002228
|
|
adds r1, r0, r2
|
|
cmp r5, 0x1
|
|
beq _0808FF08
|
|
cmp r5, 0x1
|
|
bgt _0808FED4
|
|
cmp r5, 0
|
|
beq _0808FEDE
|
|
b _0808FF6A
|
|
.align 2, 0
|
|
_0808FECC: .4byte gUnknown_20397B0
|
|
_0808FED0: .4byte 0x00002228
|
|
_0808FED4:
|
|
cmp r5, 0x2
|
|
beq _0808FF3E
|
|
cmp r5, 0x3
|
|
beq _0808FF58
|
|
b _0808FF6A
|
|
_0808FEDE:
|
|
ldr r0, _0808FEF0 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808FEF4
|
|
cmp r4, 0xE
|
|
beq _0808FF6A
|
|
_0808FEEA:
|
|
movs r2, 0x16
|
|
b _0808FF02
|
|
.align 2, 0
|
|
_0808FEF0: .4byte gUnknown_20397B4
|
|
_0808FEF4:
|
|
cmp r4, 0xE
|
|
beq _0808FEEA
|
|
movs r0, 0x15
|
|
cmp r4, r6
|
|
beq _0808FF00
|
|
movs r0, 0x14
|
|
_0808FF00:
|
|
adds r2, r0, 0
|
|
_0808FF02:
|
|
strh r7, [r1]
|
|
strh r3, [r1, 0x2]
|
|
b _0808FF60
|
|
_0808FF08:
|
|
movs r0, 0
|
|
strh r7, [r1]
|
|
strh r0, [r1, 0x2]
|
|
strb r4, [r1, 0x4]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, _0808FF24 @ =gUnknown_20397B4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0808FF28
|
|
cmp r4, 0xE
|
|
beq _0808FF6A
|
|
movs r2, 0x19
|
|
b _0808FF64
|
|
.align 2, 0
|
|
_0808FF24: .4byte gUnknown_20397B4
|
|
_0808FF28:
|
|
cmp r4, 0xE
|
|
bne _0808FF32
|
|
movs r2, 0x1A
|
|
strb r6, [r1, 0x4]
|
|
b _0808FF64
|
|
_0808FF32:
|
|
cmp r4, r6
|
|
beq _0808FF3A
|
|
movs r2, 0x17
|
|
b _0808FF62
|
|
_0808FF3A:
|
|
movs r2, 0x18
|
|
b _0808FF64
|
|
_0808FF3E:
|
|
movs r2, 0x1A
|
|
movs r0, 0
|
|
strh r7, [r1]
|
|
strh r0, [r1, 0x2]
|
|
ldr r0, _0808FF54 @ =gUnknown_20397B6
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x5]
|
|
b _0808FF64
|
|
.align 2, 0
|
|
_0808FF54: .4byte gUnknown_20397B6
|
|
_0808FF58:
|
|
movs r2, 0x1B
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
strh r0, [r1, 0x2]
|
|
_0808FF60:
|
|
strb r4, [r1, 0x4]
|
|
_0808FF62:
|
|
strb r6, [r1, 0x5]
|
|
_0808FF64:
|
|
adds r0, r2, 0
|
|
bl sub_8113550
|
|
_0808FF6A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_808FE54
|
|
|
|
thumb_func_start sub_808FF70
|
|
sub_808FF70: @ 808FF70
|
|
push {r4,lr}
|
|
ldr r4, _0808FFA0 @ =gUnknown_20397B8
|
|
bl StorageGetCurrentBox
|
|
ldrb r1, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
beq _0808FF9A
|
|
ldr r0, _0808FFA4 @ =0x00000843
|
|
bl FlagClear
|
|
ldr r4, _0808FFA8 @ =0x00004037
|
|
bl StorageGetCurrentBox
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl VarSet
|
|
_0808FF9A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808FFA0: .4byte gUnknown_20397B8
|
|
_0808FFA4: .4byte 0x00000843
|
|
_0808FFA8: .4byte 0x00004037
|
|
thumb_func_end sub_808FF70
|
|
|
|
thumb_func_start sub_808FFAC
|
|
sub_808FFAC: @ 808FFAC
|
|
push {r4-r6,lr}
|
|
bl sub_809707C
|
|
movs r2, 0
|
|
ldr r3, _0809003C @ =gUnknown_20397B0
|
|
ldr r5, _08090040 @ =0x00000b04
|
|
movs r4, 0
|
|
adds r6, r3, 0
|
|
_0808FFBC:
|
|
ldr r0, [r3]
|
|
lsls r1, r2, 1
|
|
adds r0, r5
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x27
|
|
bls _0808FFBC
|
|
movs r2, 0
|
|
ldr r5, _0809003C @ =gUnknown_20397B0
|
|
ldr r4, _08090044 @ =0x00000b54
|
|
movs r3, 0
|
|
_0808FFD8:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 1
|
|
adds r0, r4
|
|
adds r0, r1
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x27
|
|
bls _0808FFD8
|
|
movs r2, 0
|
|
ldr r5, _0809003C @ =gUnknown_20397B0
|
|
ldr r4, _08090048 @ =0x00000a6c
|
|
movs r3, 0
|
|
_0808FFF4:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 2
|
|
adds r0, r4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x5
|
|
bls _0808FFF4
|
|
movs r2, 0
|
|
ldr r5, _0809003C @ =gUnknown_20397B0
|
|
ldr r4, _0809004C @ =0x00000a84
|
|
movs r3, 0
|
|
_08090010:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 2
|
|
adds r0, r4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1D
|
|
bls _08090010
|
|
ldr r0, [r6]
|
|
ldr r2, _08090050 @ =0x00000a68
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
str r2, [r1]
|
|
ldr r1, _08090054 @ =0x0000078c
|
|
adds r0, r1
|
|
strh r2, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809003C: .4byte gUnknown_20397B0
|
|
_08090040: .4byte 0x00000b04
|
|
_08090044: .4byte 0x00000b54
|
|
_08090048: .4byte 0x00000a6c
|
|
_0809004C: .4byte 0x00000a84
|
|
_08090050: .4byte 0x00000a68
|
|
_08090054: .4byte 0x0000078c
|
|
thumb_func_end sub_808FFAC
|
|
|
|
thumb_func_start sub_8090058
|
|
sub_8090058: @ 8090058
|
|
push {lr}
|
|
bl sub_80939F4
|
|
lsls r0, 24
|
|
movs r1, 0x1
|
|
cmp r0, 0
|
|
beq _08090068
|
|
movs r1, 0x2
|
|
_08090068:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8090058
|
|
|
|
thumb_func_start sub_8090070
|
|
sub_8090070: @ 8090070
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r5, _080900C4 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _080900C8 @ =0x000020a0
|
|
adds r0, r4
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
bl sub_8090058
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r0, 0x7
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80912E0
|
|
ldr r1, [r5]
|
|
ldr r2, _080900CC @ =0x00000a68
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
ldr r1, _080900D0 @ =sub_80911B0
|
|
str r1, [r0, 0x1C]
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080900C4: .4byte gUnknown_20397B0
|
|
_080900C8: .4byte 0x000020a0
|
|
_080900CC: .4byte 0x00000a68
|
|
_080900D0: .4byte sub_80911B0
|
|
thumb_func_end sub_8090070
|
|
|
|
thumb_func_start sub_80900D4
|
|
sub_80900D4: @ 80900D4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r6, 0
|
|
movs r7, 0
|
|
_080900EE:
|
|
movs r5, 0
|
|
adds r1, r7, 0x1
|
|
mov r10, r1
|
|
_080900F4:
|
|
mov r0, r9
|
|
adds r1, r6, 0
|
|
movs r2, 0x41
|
|
bl GetBoxMonDataFromAnyBox
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
beq _0809015C
|
|
mov r0, r9
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
bl GetBoxMonDataFromAnyBox
|
|
adds r1, r0, 0
|
|
lsls r2, r5, 1
|
|
adds r2, r5
|
|
lsls r2, 19
|
|
movs r3, 0xC8
|
|
lsls r3, 15
|
|
adds r2, r3
|
|
asrs r2, 16
|
|
lsls r3, r7, 1
|
|
adds r3, r7
|
|
lsls r3, 19
|
|
movs r0, 0xB0
|
|
lsls r0, 14
|
|
adds r3, r0
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x13
|
|
subs r0, r5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
asrs r3, 16
|
|
bl sub_80912E0
|
|
ldr r1, _08090154 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
mov r3, r8
|
|
lsls r2, r3, 2
|
|
ldr r3, _08090158 @ =0x00000a84
|
|
adds r1, r3
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
b _0809016C
|
|
.align 2, 0
|
|
_08090154: .4byte gUnknown_20397B0
|
|
_08090158: .4byte 0x00000a84
|
|
_0809015C:
|
|
ldr r0, _080901E4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
mov r2, r8
|
|
lsls r1, r2, 2
|
|
ldr r3, _080901E8 @ =0x00000a84
|
|
adds r0, r3
|
|
adds r0, r1
|
|
str r4, [r0]
|
|
_0809016C:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _080900F4
|
|
mov r1, r10
|
|
lsls r0, r1, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x4
|
|
bls _080900EE
|
|
ldr r0, _080901E4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _080901D2
|
|
movs r6, 0
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
adds r4, r2, 0
|
|
_080901A2:
|
|
mov r0, r9
|
|
adds r1, r6, 0
|
|
movs r2, 0xC
|
|
bl GetBoxMonDataFromAnyBox
|
|
cmp r0, 0
|
|
bne _080901C8
|
|
ldr r0, _080901E4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r6, 2
|
|
ldr r3, _080901E8 @ =0x00000a84
|
|
adds r0, r3
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x1]
|
|
ands r0, r4
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1]
|
|
_080901C8:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x1D
|
|
bls _080901A2
|
|
_080901D2:
|
|
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
|
|
_080901E4: .4byte gUnknown_20397B0
|
|
_080901E8: .4byte 0x00000a84
|
|
thumb_func_end sub_80900D4
|
|
|
|
thumb_func_start sub_80901EC
|
|
sub_80901EC: @ 80901EC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r0, r7, 0
|
|
movs r1, 0x41
|
|
bl GetBoxMonDataFromSelectedBox
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
beq _08090286
|
|
adds r0, r7, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
adds r6, r0, 0
|
|
lsls r0, r6, 24
|
|
lsrs r0, 24
|
|
lsls r5, r0, 1
|
|
adds r5, r0
|
|
lsls r5, 19
|
|
movs r0, 0xC8
|
|
lsls r0, 15
|
|
adds r5, r0
|
|
lsrs r5, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0x6
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 1
|
|
adds r4, r0
|
|
lsls r4, 19
|
|
movs r0, 0xB0
|
|
lsls r0, 14
|
|
adds r4, r0
|
|
lsrs r4, 16
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl GetBoxMonDataFromSelectedBox
|
|
adds r1, r0, 0
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x13
|
|
subs r0, r6
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
mov r0, r8
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl sub_80912E0
|
|
adds r3, r0, 0
|
|
ldr r0, _08090294 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
lsls r1, r7, 2
|
|
ldr r4, _08090298 @ =0x00000a84
|
|
adds r0, r2, r4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08090286
|
|
ldrb r0, [r3, 0x1]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r0
|
|
movs r0, 0x4
|
|
orrs r1, r0
|
|
strb r1, [r3, 0x1]
|
|
_08090286:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090294: .4byte gUnknown_20397B0
|
|
_08090298: .4byte 0x00000a84
|
|
thumb_func_end sub_80901EC
|
|
|
|
thumb_func_start sub_809029C
|
|
sub_809029C: @ 809029C
|
|
push {r4-r7,lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
movs r2, 0
|
|
ldr r7, _080902D4 @ =gUnknown_20397B0
|
|
ldr r6, _080902D8 @ =0x00000a84
|
|
movs r5, 0x1
|
|
ldr r4, _080902DC @ =sub_8090324
|
|
_080902AC:
|
|
ldr r0, [r7]
|
|
lsls r1, r2, 2
|
|
adds r0, r6
|
|
adds r1, r0, r1
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _080902C4
|
|
strh r3, [r0, 0x32]
|
|
ldr r0, [r1]
|
|
strh r5, [r0, 0x36]
|
|
ldr r0, [r1]
|
|
str r4, [r0, 0x1C]
|
|
_080902C4:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1D
|
|
bls _080902AC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080902D4: .4byte gUnknown_20397B0
|
|
_080902D8: .4byte 0x00000a84
|
|
_080902DC: .4byte sub_8090324
|
|
thumb_func_end sub_809029C
|
|
|
|
thumb_func_start sub_80902E0
|
|
sub_80902E0: @ 80902E0
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r1, [r2, 0x30]
|
|
movs r3, 0x30
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
beq _080902FC
|
|
subs r0, r1, 0x1
|
|
strh r0, [r2, 0x30]
|
|
ldrh r0, [r2, 0x32]
|
|
ldrh r1, [r2, 0x20]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x20]
|
|
b _08090312
|
|
_080902FC:
|
|
ldr r0, _08090318 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r3, _0809031C @ =0x00000c62
|
|
adds r1, r3
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
ldrh r0, [r2, 0x34]
|
|
strh r0, [r2, 0x20]
|
|
ldr r0, _08090320 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
_08090312:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090318: .4byte gUnknown_20397B0
|
|
_0809031C: .4byte 0x00000c62
|
|
_08090320: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80902E0
|
|
|
|
thumb_func_start sub_8090324
|
|
sub_8090324: @ 8090324
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r1, [r2, 0x36]
|
|
movs r3, 0x36
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
beq _08090338
|
|
subs r0, r1, 0x1
|
|
strh r0, [r2, 0x36]
|
|
b _08090354
|
|
_08090338:
|
|
ldrh r0, [r2, 0x32]
|
|
ldrh r1, [r2, 0x20]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x20]
|
|
ldrh r1, [r2, 0x24]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x38]
|
|
subs r0, 0x45
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xB6
|
|
bls _08090354
|
|
ldr r0, _08090358 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
_08090354:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090358: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8090324
|
|
|
|
thumb_func_start sub_809035C
|
|
sub_809035C: @ 809035C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r6, 0
|
|
ldr r7, _0809039C @ =gUnknown_20397B0
|
|
_08090366:
|
|
ldr r0, [r7]
|
|
lsls r4, r5, 2
|
|
ldr r1, _080903A0 @ =0x00000a84
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08090386
|
|
bl sub_80913C4
|
|
ldr r0, [r7]
|
|
ldr r1, _080903A0 @ =0x00000a84
|
|
adds r0, r1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090386:
|
|
adds r0, r5, 0x6
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x4
|
|
bls _08090366
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809039C: .4byte gUnknown_20397B0
|
|
_080903A0: .4byte 0x00000a84
|
|
thumb_func_end sub_809035C
|
|
|
|
thumb_func_start sub_80903A4
|
|
sub_80903A4: @ 80903A4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x1C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
str r1, [sp, 0x8]
|
|
lsls r2, 16
|
|
movs r1, 0x2C
|
|
mov r8, r1
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 19
|
|
movs r3, 0xC8
|
|
lsls r3, 15
|
|
adds r1, r3
|
|
lsrs r1, 16
|
|
str r1, [sp, 0x10]
|
|
ldr r1, [sp, 0x8]
|
|
adds r1, 0x1
|
|
lsrs r6, r2, 16
|
|
str r6, [sp, 0xC]
|
|
asrs r2, 16
|
|
muls r1, r2
|
|
ldr r2, [sp, 0x10]
|
|
subs r1, r2, r1
|
|
lsls r1, 16
|
|
lsrs r2, r1, 16
|
|
movs r1, 0x13
|
|
subs r1, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp, 0x14]
|
|
movs r3, 0
|
|
mov r9, r3
|
|
adds r5, r0, 0
|
|
ldr r1, _08090488 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
beq _08090498
|
|
movs r7, 0x4
|
|
lsls r2, 16
|
|
mov r10, r2
|
|
_08090404:
|
|
ldr r6, _08090488 @ =gUnknown_20397B0
|
|
ldr r2, [r6]
|
|
lsls r0, r5, 1
|
|
ldr r3, _0809048C @ =0x00000ba4
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08090470
|
|
lsls r4, r5, 2
|
|
movs r6, 0xBE
|
|
lsls r6, 4
|
|
adds r1, r2, r6
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
mov r2, r8
|
|
lsls r3, r2, 16
|
|
asrs r3, 16
|
|
movs r2, 0x2
|
|
str r2, [sp]
|
|
ldr r6, [sp, 0x14]
|
|
str r6, [sp, 0x4]
|
|
mov r6, r10
|
|
asrs r2, r6, 16
|
|
bl sub_80912E0
|
|
adds r2, r0, 0
|
|
ldr r1, _08090488 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r3, _08090490 @ =0x00000a84
|
|
adds r0, r3
|
|
adds r1, r0, r4
|
|
str r2, [r1]
|
|
cmp r2, 0
|
|
beq _08090470
|
|
mov r6, sp
|
|
ldrh r6, [r6, 0x8]
|
|
strh r6, [r2, 0x30]
|
|
ldr r0, [r1]
|
|
mov r2, sp
|
|
ldrh r2, [r2, 0xC]
|
|
strh r2, [r0, 0x32]
|
|
ldr r0, [r1]
|
|
mov r3, sp
|
|
ldrh r3, [r3, 0x10]
|
|
strh r3, [r0, 0x34]
|
|
ldr r1, [r1]
|
|
ldr r0, _08090494 @ =sub_80902E0
|
|
str r0, [r1, 0x1C]
|
|
mov r0, r9
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
_08090470:
|
|
adds r0, r5, 0x6
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
mov r0, r8
|
|
adds r0, 0x18
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bge _08090404
|
|
b _08090550
|
|
.align 2, 0
|
|
_08090488: .4byte gUnknown_20397B0
|
|
_0809048C: .4byte 0x00000ba4
|
|
_08090490: .4byte 0x00000a84
|
|
_08090494: .4byte sub_80902E0
|
|
_08090498:
|
|
mov r10, r1
|
|
movs r7, 0x4
|
|
lsls r2, 16
|
|
str r2, [sp, 0x18]
|
|
_080904A0:
|
|
mov r6, r10
|
|
ldr r2, [r6]
|
|
lsls r0, r5, 1
|
|
ldr r3, _08090564 @ =0x00000ba4
|
|
adds r1, r2, r3
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _0809053A
|
|
lsls r4, r5, 2
|
|
movs r6, 0xBE
|
|
lsls r6, 4
|
|
adds r1, r2, r6
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
mov r2, r8
|
|
lsls r3, r2, 16
|
|
asrs r3, 16
|
|
movs r2, 0x2
|
|
str r2, [sp]
|
|
ldr r6, [sp, 0x14]
|
|
str r6, [sp, 0x4]
|
|
ldr r6, [sp, 0x18]
|
|
asrs r2, r6, 16
|
|
bl sub_80912E0
|
|
adds r2, r0, 0
|
|
mov r0, r10
|
|
ldr r3, [r0]
|
|
ldr r1, _08090568 @ =0x00000a84
|
|
adds r0, r3, r1
|
|
adds r1, r0, r4
|
|
str r2, [r1]
|
|
cmp r2, 0
|
|
beq _0809053A
|
|
mov r6, sp
|
|
ldrh r6, [r6, 0x8]
|
|
strh r6, [r2, 0x30]
|
|
ldr r0, [r1]
|
|
mov r2, sp
|
|
ldrh r2, [r2, 0xC]
|
|
strh r2, [r0, 0x32]
|
|
ldr r0, [r1]
|
|
mov r6, sp
|
|
ldrh r6, [r6, 0x10]
|
|
strh r6, [r0, 0x34]
|
|
ldr r1, [r1]
|
|
ldr r0, _0809056C @ =sub_80902E0
|
|
str r0, [r1, 0x1C]
|
|
ldr r1, _08090570 @ =0x00000c58
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
adds r1, r5, 0
|
|
movs r2, 0xC
|
|
bl GetBoxMonDataFromAnyBox
|
|
cmp r0, 0
|
|
bne _08090530
|
|
mov r2, r10
|
|
ldr r0, [r2]
|
|
ldr r3, _08090568 @ =0x00000a84
|
|
adds r0, r3
|
|
adds r0, r4
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x1]
|
|
movs r6, 0xD
|
|
negs r6, r6
|
|
adds r0, r6, 0
|
|
ands r1, r0
|
|
movs r0, 0x4
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x1]
|
|
_08090530:
|
|
mov r0, r9
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
_0809053A:
|
|
adds r0, r5, 0x6
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
mov r0, r8
|
|
adds r0, 0x18
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bge _080904A0
|
|
_08090550:
|
|
mov r0, r9
|
|
add sp, 0x1C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08090564: .4byte 0x00000ba4
|
|
_08090568: .4byte 0x00000a84
|
|
_0809056C: .4byte sub_80902E0
|
|
_08090570: .4byte 0x00000c58
|
|
thumb_func_end sub_80903A4
|
|
|
|
thumb_func_start sub_8090574
|
|
sub_8090574: @ 8090574
|
|
push {r4-r7,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r6, _080905D0 @ =gUnknown_20397B0
|
|
ldr r1, [r6]
|
|
ldr r2, _080905D4 @ =0x00000c66
|
|
adds r1, r2
|
|
movs r5, 0
|
|
strb r5, [r1]
|
|
ldr r1, [r6]
|
|
ldr r3, _080905D8 @ =0x00000c67
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
ldr r1, [r6]
|
|
ldr r7, _080905DC @ =0x00000c65
|
|
adds r1, r7
|
|
strb r4, [r1]
|
|
ldr r3, [r6]
|
|
ldr r1, _080905E0 @ =0x00000c5c
|
|
adds r2, r3, r1
|
|
movs r1, 0x20
|
|
strh r1, [r2]
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 1
|
|
negs r1, r1
|
|
subs r7, 0x5
|
|
adds r2, r3, r7
|
|
strh r1, [r2]
|
|
ldr r1, _080905E4 @ =0x00000c62
|
|
adds r3, r1
|
|
strh r5, [r3]
|
|
bl sub_8090794
|
|
cmp r4, 0
|
|
ble _080905EC
|
|
ldr r0, [r6]
|
|
ldr r2, _080905E8 @ =0x00000c64
|
|
adds r0, r2
|
|
movs r1, 0
|
|
b _080905F4
|
|
.align 2, 0
|
|
_080905D0: .4byte gUnknown_20397B0
|
|
_080905D4: .4byte 0x00000c66
|
|
_080905D8: .4byte 0x00000c67
|
|
_080905DC: .4byte 0x00000c65
|
|
_080905E0: .4byte 0x00000c5c
|
|
_080905E4: .4byte 0x00000c62
|
|
_080905E8: .4byte 0x00000c64
|
|
_080905EC:
|
|
ldr r0, [r6]
|
|
ldr r3, _08090620 @ =0x00000c64
|
|
adds r0, r3
|
|
movs r1, 0x5
|
|
_080905F4:
|
|
strb r1, [r0]
|
|
ldr r0, _08090624 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r7, _08090620 @ =0x00000c64
|
|
adds r0, r2, r7
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, 0x64
|
|
ldr r3, _08090628 @ =0x00000c5e
|
|
adds r1, r2, r3
|
|
strh r0, [r1]
|
|
subs r7, 0x4
|
|
adds r2, r7
|
|
movs r1, 0
|
|
ldrsh r0, [r2, r1]
|
|
bl sub_809029C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090620: .4byte 0x00000c64
|
|
_08090624: .4byte gUnknown_20397B0
|
|
_08090628: .4byte 0x00000c5e
|
|
thumb_func_end sub_8090574
|
|
|
|
thumb_func_start sub_809062C
|
|
sub_809062C: @ 809062C
|
|
push {r4-r6,lr}
|
|
ldr r5, _08090658 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _0809065C @ =0x00000c5c
|
|
adds r1, r0, r4
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08090640
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
_08090640:
|
|
ldr r3, [r5]
|
|
ldr r6, _08090660 @ =0x00000c66
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _080906C4
|
|
cmp r0, 0x1
|
|
bgt _08090664
|
|
cmp r0, 0
|
|
beq _0809066C
|
|
b _08090782
|
|
.align 2, 0
|
|
_08090658: .4byte gUnknown_20397B0
|
|
_0809065C: .4byte 0x00000c5c
|
|
_08090660: .4byte 0x00000c66
|
|
_08090664:
|
|
cmp r0, 0x2
|
|
bne _0809066A
|
|
b _08090770
|
|
_0809066A:
|
|
b _08090782
|
|
_0809066C:
|
|
ldr r0, _080906B8 @ =0x00000c5e
|
|
adds r1, r3, r0
|
|
movs r2, 0xC6
|
|
lsls r2, 4
|
|
adds r0, r3, r2
|
|
ldrh r0, [r0]
|
|
ldrh r2, [r1]
|
|
adds r0, r2
|
|
strh r0, [r1]
|
|
subs r0, 0x41
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xBA
|
|
bhi _0809068A
|
|
b _0809078C
|
|
_0809068A:
|
|
ldr r1, _080906BC @ =0x00000c64
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
bl sub_809035C
|
|
ldr r2, [r5]
|
|
ldr r0, _080906B8 @ =0x00000c5e
|
|
adds r3, r2, r0
|
|
ldr r1, _080906C0 @ =0x00000c65
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
ldrh r1, [r3]
|
|
adds r0, r1
|
|
strh r0, [r3]
|
|
adds r2, r6
|
|
ldrb r0, [r2]
|
|
adds r0, 0x1
|
|
strb r0, [r2]
|
|
b _0809078C
|
|
.align 2, 0
|
|
_080906B8: .4byte 0x00000c5e
|
|
_080906BC: .4byte 0x00000c64
|
|
_080906C0: .4byte 0x00000c65
|
|
_080906C4:
|
|
ldr r2, _08090728 @ =0x00000c5e
|
|
adds r1, r3, r2
|
|
movs r6, 0xC6
|
|
lsls r6, 4
|
|
adds r2, r3, r6
|
|
ldrh r0, [r2]
|
|
ldrh r6, [r1]
|
|
adds r0, r6
|
|
strh r0, [r1]
|
|
ldr r6, _0809072C @ =0x00000c64
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
adds r1, r3, r4
|
|
ldrh r1, [r1]
|
|
movs r3, 0
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_80903A4
|
|
ldr r2, [r5]
|
|
ldr r3, _08090730 @ =0x00000c62
|
|
adds r1, r2, r3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r3, [r1]
|
|
adds r0, r3
|
|
strh r0, [r1]
|
|
ldr r1, _08090734 @ =0x00000c65
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
cmp r1, 0
|
|
ble _0809070C
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
beq _08090718
|
|
_0809070C:
|
|
cmp r1, 0
|
|
bge _08090740
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08090740
|
|
_08090718:
|
|
ldr r0, _08090738 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _0809073C @ =0x00000c66
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0809078C
|
|
.align 2, 0
|
|
_08090728: .4byte 0x00000c5e
|
|
_0809072C: .4byte 0x00000c64
|
|
_08090730: .4byte 0x00000c62
|
|
_08090734: .4byte 0x00000c65
|
|
_08090738: .4byte gUnknown_20397B0
|
|
_0809073C: .4byte 0x00000c66
|
|
_08090740:
|
|
ldr r3, _08090760 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r6, _08090764 @ =0x00000c64
|
|
adds r1, r0, r6
|
|
ldr r2, _08090768 @ =0x00000c65
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ldrb r6, [r1]
|
|
adds r0, r6
|
|
movs r2, 0
|
|
strb r0, [r1]
|
|
ldr r0, [r3]
|
|
ldr r1, _0809076C @ =0x00000c66
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
b _0809078C
|
|
.align 2, 0
|
|
_08090760: .4byte gUnknown_20397B0
|
|
_08090764: .4byte 0x00000c64
|
|
_08090768: .4byte 0x00000c65
|
|
_0809076C: .4byte 0x00000c66
|
|
_08090770:
|
|
ldr r2, _08090788 @ =0x00000c62
|
|
adds r0, r3, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809078C
|
|
adds r1, r3, r4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
_08090782:
|
|
movs r0, 0
|
|
b _0809078E
|
|
.align 2, 0
|
|
_08090788: .4byte 0x00000c62
|
|
_0809078C:
|
|
movs r0, 0x1
|
|
_0809078E:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809062C
|
|
|
|
thumb_func_start sub_8090794
|
|
sub_8090794: @ 8090794
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r5, 0
|
|
movs r0, 0
|
|
ldr r1, _08090810 @ =gUnknown_20397B0
|
|
mov r9, r1
|
|
_080907A8:
|
|
adds r0, 0x1
|
|
mov r8, r0
|
|
movs r7, 0x5
|
|
_080907AE:
|
|
lsls r0, r5, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x41
|
|
bl GetBoxMonDataFromAnyBox
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
lsls r2, r5, 1
|
|
ldr r3, _08090814 @ =0x00000ba4
|
|
adds r1, r3
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _080907EA
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl GetBoxMonDataFromAnyBox
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
lsls r2, r5, 2
|
|
movs r3, 0xBE
|
|
lsls r3, 4
|
|
adds r1, r3
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
_080907EA:
|
|
adds r5, 0x1
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bge _080907AE
|
|
mov r0, r8
|
|
cmp r0, 0x4
|
|
ble _080907A8
|
|
ldr r0, _08090810 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08090818 @ =0x00000c58
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090810: .4byte gUnknown_20397B0
|
|
_08090814: .4byte 0x00000ba4
|
|
_08090818: .4byte 0x00000c58
|
|
thumb_func_end sub_8090794
|
|
|
|
thumb_func_start sub_809081C
|
|
sub_809081C: @ 809081C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
ldr r5, _08090848 @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
lsrs r4, r0, 22
|
|
ldr r0, _0809084C @ =0x00000a84
|
|
adds r1, r0
|
|
adds r1, r4
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _08090842
|
|
bl sub_80913C4
|
|
ldr r0, [r5]
|
|
ldr r1, _0809084C @ =0x00000a84
|
|
adds r0, r1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090842:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090848: .4byte gUnknown_20397B0
|
|
_0809084C: .4byte 0x00000a84
|
|
thumb_func_end sub_809081C
|
|
|
|
thumb_func_start sub_8090850
|
|
sub_8090850: @ 8090850
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
ldr r1, _08090884 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
lsrs r0, 22
|
|
ldr r3, _08090888 @ =0x00000a84
|
|
adds r1, r3
|
|
adds r1, r0
|
|
ldr r3, [r1]
|
|
cmp r3, 0
|
|
beq _0809087E
|
|
movs r0, 0x3
|
|
adds r1, r2, 0
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r2, [r3, 0x1]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x1]
|
|
_0809087E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090884: .4byte gUnknown_20397B0
|
|
_08090888: .4byte 0x00000a84
|
|
thumb_func_end sub_8090850
|
|
|
|
thumb_func_start sub_809088C
|
|
sub_809088C: @ 809088C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r4, _0809092C @ =gPlayerParty
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r2, 0x68
|
|
movs r3, 0x40
|
|
bl sub_80912E0
|
|
ldr r1, _08090930 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _08090934 @ =0x00000a6c
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
movs r7, 0x1
|
|
movs r6, 0x1
|
|
_080908D2:
|
|
movs r0, 0x64
|
|
adds r1, r6, 0
|
|
muls r1, r0
|
|
ldr r0, _0809092C @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0
|
|
beq _08090938
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
subs r0, r6, 0x1
|
|
lsls r3, r0, 1
|
|
adds r3, r0
|
|
lsls r3, 19
|
|
movs r0, 0x80
|
|
lsls r0, 13
|
|
adds r3, r0
|
|
asrs r3, 16
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r2, 0x98
|
|
bl sub_80912E0
|
|
ldr r1, _08090930 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
lsls r2, r6, 2
|
|
ldr r3, _08090934 @ =0x00000a6c
|
|
adds r1, r3
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
b _08090946
|
|
.align 2, 0
|
|
_0809092C: .4byte gPlayerParty
|
|
_08090930: .4byte gUnknown_20397B0
|
|
_08090934: .4byte 0x00000a6c
|
|
_08090938:
|
|
ldr r0, _080909E8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r6, 2
|
|
ldr r2, _080909EC @ =0x00000a6c
|
|
adds r0, r2
|
|
adds r0, r1
|
|
str r5, [r0]
|
|
_08090946:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _080908D2
|
|
ldr r3, _080909E8 @ =gUnknown_20397B0
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
bne _0809098A
|
|
movs r6, 0
|
|
cmp r6, r7
|
|
bcs _0809098A
|
|
mov r12, r3
|
|
ldr r5, _080909EC @ =0x00000a6c
|
|
movs r4, 0x4
|
|
_08090964:
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
lsls r0, r6, 2
|
|
adds r1, r5
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
ldrh r0, [r2, 0x22]
|
|
subs r0, 0xA0
|
|
strh r0, [r2, 0x22]
|
|
ldr r1, [r1]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r4
|
|
strb r0, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, r7
|
|
bcc _08090964
|
|
_0809098A:
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _080909DA
|
|
movs r6, 0
|
|
adds r7, r3, 0
|
|
ldr r5, _080909EC @ =0x00000a6c
|
|
_08090998:
|
|
ldr r0, [r7]
|
|
lsls r4, r6, 2
|
|
adds r0, r5
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080909D0
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _080909F0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _080909D0
|
|
ldr r0, [r7]
|
|
adds r0, r5
|
|
adds r0, r4
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x1]
|
|
movs r3, 0xD
|
|
negs r3, r3
|
|
adds r0, r3, 0
|
|
ands r1, r0
|
|
movs r0, 0x4
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x1]
|
|
_080909D0:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _08090998
|
|
_080909DA:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080909E8: .4byte gUnknown_20397B0
|
|
_080909EC: .4byte 0x00000a6c
|
|
_080909F0: .4byte gPlayerParty
|
|
thumb_func_end sub_809088C
|
|
|
|
thumb_func_start sub_80909F4
|
|
sub_80909F4: @ 80909F4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08090A54 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _08090A58 @ =0x00000c5a
|
|
adds r1, r2
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
movs r5, 0
|
|
movs r6, 0
|
|
adds r3, r0, 0
|
|
ldr r7, _08090A5C @ =0x00000a6c
|
|
_08090A0C:
|
|
ldr r0, [r3]
|
|
lsls r4, r5, 2
|
|
adds r0, r7
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08090A42
|
|
cmp r5, r6
|
|
beq _08090A3C
|
|
adds r1, r6, 0
|
|
str r3, [sp]
|
|
bl sub_8090A74
|
|
ldr r3, [sp]
|
|
ldr r2, [r3]
|
|
adds r0, r2, r7
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _08090A58 @ =0x00000c5a
|
|
adds r2, r0
|
|
ldrb r0, [r2]
|
|
adds r0, 0x1
|
|
strb r0, [r2]
|
|
_08090A3C:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
_08090A42:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _08090A0C
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090A54: .4byte gUnknown_20397B0
|
|
_08090A58: .4byte 0x00000c5a
|
|
_08090A5C: .4byte 0x00000a6c
|
|
thumb_func_end sub_80909F4
|
|
|
|
thumb_func_start sub_8090A60
|
|
sub_8090A60: @ 8090A60
|
|
ldr r0, _08090A6C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08090A70 @ =0x00000c5a
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08090A6C: .4byte gUnknown_20397B0
|
|
_08090A70: .4byte 0x00000c5a
|
|
thumb_func_end sub_8090A60
|
|
|
|
thumb_func_start sub_8090A74
|
|
sub_8090A74: @ 8090A74
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
strh r1, [r2, 0x30]
|
|
cmp r1, 0
|
|
bne _08090A88
|
|
movs r3, 0x68
|
|
movs r4, 0x40
|
|
b _08090A9A
|
|
_08090A88:
|
|
movs r3, 0x98
|
|
subs r1, 0x1
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 19
|
|
movs r1, 0x80
|
|
lsls r1, 13
|
|
adds r0, r1
|
|
lsrs r4, r0, 16
|
|
_08090A9A:
|
|
ldrh r0, [r2, 0x20]
|
|
lsls r0, 3
|
|
strh r0, [r2, 0x32]
|
|
ldrh r0, [r2, 0x22]
|
|
lsls r0, 3
|
|
strh r0, [r2, 0x34]
|
|
lsls r1, r3, 3
|
|
movs r3, 0x32
|
|
ldrsh r0, [r2, r3]
|
|
subs r0, r1, r0
|
|
cmp r0, 0
|
|
bge _08090AB4
|
|
adds r0, 0x7
|
|
_08090AB4:
|
|
asrs r0, 3
|
|
strh r0, [r2, 0x36]
|
|
lsls r0, r4, 16
|
|
asrs r0, 13
|
|
movs r3, 0x34
|
|
ldrsh r1, [r2, r3]
|
|
subs r0, r1
|
|
cmp r0, 0
|
|
bge _08090AC8
|
|
adds r0, 0x7
|
|
_08090AC8:
|
|
asrs r0, 3
|
|
strh r0, [r2, 0x38]
|
|
movs r0, 0x8
|
|
strh r0, [r2, 0x3A]
|
|
ldr r0, _08090ADC @ =sub_8090AE0
|
|
str r0, [r2, 0x1C]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090ADC: .4byte sub_8090AE0
|
|
thumb_func_end sub_8090A74
|
|
|
|
thumb_func_start sub_8090AE0
|
|
sub_8090AE0: @ 8090AE0
|
|
push {r4,lr}
|
|
adds r3, r0, 0
|
|
ldrh r2, [r3, 0x3A]
|
|
movs r1, 0x3A
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
beq _08090B10
|
|
ldrh r0, [r3, 0x36]
|
|
ldrh r4, [r3, 0x32]
|
|
adds r0, r4
|
|
strh r0, [r3, 0x32]
|
|
ldrh r1, [r3, 0x38]
|
|
ldrh r4, [r3, 0x34]
|
|
adds r1, r4
|
|
strh r1, [r3, 0x34]
|
|
lsls r0, 16
|
|
asrs r0, 19
|
|
strh r0, [r3, 0x20]
|
|
lsls r1, 16
|
|
asrs r1, 19
|
|
strh r1, [r3, 0x22]
|
|
subs r0, r2, 0x1
|
|
strh r0, [r3, 0x3A]
|
|
b _08090B54
|
|
_08090B10:
|
|
movs r1, 0x30
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, 0
|
|
bne _08090B20
|
|
movs r0, 0x68
|
|
strh r0, [r3, 0x20]
|
|
movs r0, 0x40
|
|
b _08090B32
|
|
_08090B20:
|
|
movs r0, 0x98
|
|
strh r0, [r3, 0x20]
|
|
movs r4, 0x30
|
|
ldrsh r1, [r3, r4]
|
|
subs r1, 0x1
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, 0x10
|
|
_08090B32:
|
|
strh r0, [r3, 0x22]
|
|
ldr r0, _08090B5C @ =SpriteCallbackDummy
|
|
str r0, [r3, 0x1C]
|
|
ldr r0, _08090B60 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
movs r0, 0x30
|
|
ldrsh r1, [r3, r0]
|
|
lsls r1, 2
|
|
ldr r4, _08090B64 @ =0x00000a6c
|
|
adds r0, r2, r4
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
ldr r0, _08090B68 @ =0x00000c5a
|
|
adds r2, r0
|
|
ldrb r0, [r2]
|
|
subs r0, 0x1
|
|
strb r0, [r2]
|
|
_08090B54:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090B5C: .4byte SpriteCallbackDummy
|
|
_08090B60: .4byte gUnknown_20397B0
|
|
_08090B64: .4byte 0x00000a6c
|
|
_08090B68: .4byte 0x00000c5a
|
|
thumb_func_end sub_8090AE0
|
|
|
|
thumb_func_start sub_8090B6C
|
|
sub_8090B6C: @ 8090B6C
|
|
push {r4,lr}
|
|
ldr r4, _08090B90 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _08090B94 @ =0x00000a68
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08090B8A
|
|
bl sub_80913C4
|
|
ldr r0, [r4]
|
|
ldr r1, _08090B94 @ =0x00000a68
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090B8A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090B90: .4byte gUnknown_20397B0
|
|
_08090B94: .4byte 0x00000a68
|
|
thumb_func_end sub_8090B6C
|
|
|
|
thumb_func_start sub_8090B98
|
|
sub_8090B98: @ 8090B98
|
|
push {r4-r6,lr}
|
|
movs r3, 0
|
|
ldr r6, _08090BEC @ =gUnknown_20397B0
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r5, 0x5
|
|
negs r5, r5
|
|
_08090BA6:
|
|
ldr r0, [r6]
|
|
lsls r1, r3, 2
|
|
ldr r2, _08090BF0 @ =0x00000a6c
|
|
adds r0, r2
|
|
adds r2, r0, r1
|
|
ldr r1, [r2]
|
|
cmp r1, 0
|
|
beq _08090BFE
|
|
ldrh r0, [r1, 0x22]
|
|
adds r0, r4, r0
|
|
strh r0, [r1, 0x22]
|
|
ldr r2, [r2]
|
|
ldrh r1, [r2, 0x26]
|
|
ldrh r0, [r2, 0x22]
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
adds r0, 0x29
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
movs r1, 0x80
|
|
lsls r1, 13
|
|
adds r0, r1
|
|
lsrs r0, 16
|
|
cmp r0, 0xC0
|
|
bls _08090BF4
|
|
adds r0, r2, 0
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
b _08090BFE
|
|
.align 2, 0
|
|
_08090BEC: .4byte gUnknown_20397B0
|
|
_08090BF0: .4byte 0x00000a6c
|
|
_08090BF4:
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_08090BFE:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x5
|
|
bls _08090BA6
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8090B98
|
|
|
|
thumb_func_start sub_8090C10
|
|
sub_8090C10: @ 8090C10
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
ldr r5, _08090C3C @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
lsrs r4, r0, 22
|
|
ldr r0, _08090C40 @ =0x00000a6c
|
|
adds r1, r0
|
|
adds r1, r4
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
beq _08090C36
|
|
bl sub_80913C4
|
|
ldr r0, [r5]
|
|
ldr r1, _08090C40 @ =0x00000a6c
|
|
adds r0, r1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090C36:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090C3C: .4byte gUnknown_20397B0
|
|
_08090C40: .4byte 0x00000a6c
|
|
thumb_func_end sub_8090C10
|
|
|
|
thumb_func_start sub_8090C44
|
|
sub_8090C44: @ 8090C44
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
ldr r6, _08090C7C @ =gUnknown_20397B0
|
|
_08090C4A:
|
|
ldr r0, [r6]
|
|
lsls r4, r5, 2
|
|
ldr r1, _08090C80 @ =0x00000a6c
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08090C6A
|
|
bl sub_80913C4
|
|
ldr r0, [r6]
|
|
ldr r1, _08090C80 @ =0x00000a6c
|
|
adds r0, r1
|
|
adds r0, r4
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090C6A:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _08090C4A
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090C7C: .4byte gUnknown_20397B0
|
|
_08090C80: .4byte 0x00000a6c
|
|
thumb_func_end sub_8090C44
|
|
|
|
thumb_func_start sub_8090C84
|
|
sub_8090C84: @ 8090C84
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
ldr r1, _08090CB8 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
lsrs r0, 22
|
|
ldr r3, _08090CBC @ =0x00000a6c
|
|
adds r1, r3
|
|
adds r1, r0
|
|
ldr r3, [r1]
|
|
cmp r3, 0
|
|
beq _08090CB2
|
|
movs r0, 0x3
|
|
adds r1, r2, 0
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r2, [r3, 0x1]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x1]
|
|
_08090CB2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090CB8: .4byte gUnknown_20397B0
|
|
_08090CBC: .4byte 0x00000a6c
|
|
thumb_func_end sub_8090C84
|
|
|
|
thumb_func_start sub_8090CC0
|
|
sub_8090CC0: @ 8090CC0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r5, r1, 0
|
|
cmp r4, 0
|
|
bne _08090CF0
|
|
ldr r3, _08090CE8 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r5, _08090CEC @ =0x00000a68
|
|
adds r2, r0, r5
|
|
lsls r1, 2
|
|
adds r5, 0x4
|
|
adds r0, r5
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
str r1, [r2]
|
|
str r4, [r0]
|
|
b _08090D0C
|
|
.align 2, 0
|
|
_08090CE8: .4byte gUnknown_20397B0
|
|
_08090CEC: .4byte 0x00000a68
|
|
_08090CF0:
|
|
cmp r4, 0x1
|
|
bne _08090D42
|
|
ldr r3, _08090D48 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r1, _08090D4C @ =0x00000a68
|
|
adds r2, r0, r1
|
|
lsls r1, r5, 2
|
|
ldr r4, _08090D50 @ =0x00000a84
|
|
adds r0, r4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
str r1, [r2]
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08090D0C:
|
|
adds r5, r3, 0
|
|
ldr r0, [r5]
|
|
ldr r4, _08090D4C @ =0x00000a68
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
ldr r0, _08090D54 @ =sub_80911B0
|
|
str r0, [r1, 0x1C]
|
|
bl sub_8090058
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldr r3, [r1]
|
|
movs r1, 0x3
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r2, [r3, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x5]
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0x7
|
|
strb r1, [r0]
|
|
_08090D42:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090D48: .4byte gUnknown_20397B0
|
|
_08090D4C: .4byte 0x00000a68
|
|
_08090D50: .4byte 0x00000a84
|
|
_08090D54: .4byte sub_80911B0
|
|
thumb_func_end sub_8090CC0
|
|
|
|
thumb_func_start sub_8090D58
|
|
sub_8090D58: @ 8090D58
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
cmp r0, 0xE
|
|
bne _08090DA4
|
|
ldr r3, _08090D98 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
lsls r5, r6, 2
|
|
ldr r4, _08090D9C @ =0x00000a6c
|
|
adds r0, r1, r4
|
|
adds r0, r5
|
|
ldr r2, _08090DA0 @ =0x00000a68
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
str r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
ldr r0, [r3]
|
|
adds r0, r4
|
|
adds r0, r5
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0xC
|
|
strb r1, [r0]
|
|
b _08090DE0
|
|
.align 2, 0
|
|
_08090D98: .4byte gUnknown_20397B0
|
|
_08090D9C: .4byte 0x00000a6c
|
|
_08090DA0: .4byte 0x00000a68
|
|
_08090DA4:
|
|
ldr r5, _08090DF8 @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
lsls r4, r6, 2
|
|
ldr r3, _08090DFC @ =0x00000a84
|
|
adds r0, r1, r3
|
|
adds r0, r4
|
|
ldr r2, _08090E00 @ =0x00000a68
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
str r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
adds r0, r4
|
|
ldr r4, [r0]
|
|
adds r0, r6, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
movs r1, 0x13
|
|
subs r1, r0
|
|
adds r4, 0x43
|
|
strb r1, [r4]
|
|
adds r3, r5, 0
|
|
_08090DE0:
|
|
ldr r1, [r3]
|
|
ldr r0, _08090E00 @ =0x00000a68
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
ldr r0, _08090E04 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090DF8: .4byte gUnknown_20397B0
|
|
_08090DFC: .4byte 0x00000a84
|
|
_08090E00: .4byte 0x00000a68
|
|
_08090E04: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8090D58
|
|
|
|
thumb_func_start sub_8090E08
|
|
sub_8090E08: @ 8090E08
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r0, 0xE
|
|
bne _08090E30
|
|
ldr r3, _08090E24 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
ldr r0, _08090E28 @ =0x00000afc
|
|
adds r2, r1, r0
|
|
lsls r0, r4, 2
|
|
ldr r4, _08090E2C @ =0x00000a6c
|
|
b _08090E3C
|
|
.align 2, 0
|
|
_08090E24: .4byte gUnknown_20397B0
|
|
_08090E28: .4byte 0x00000afc
|
|
_08090E2C: .4byte 0x00000a6c
|
|
_08090E30:
|
|
ldr r3, _08090E5C @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
ldr r0, _08090E60 @ =0x00000afc
|
|
adds r2, r1, r0
|
|
lsls r0, r4, 2
|
|
ldr r4, _08090E64 @ =0x00000a84
|
|
_08090E3C:
|
|
adds r0, r4
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r1, [r3]
|
|
ldr r2, _08090E68 @ =0x00000a68
|
|
adds r0, r1, r2
|
|
ldr r2, [r0]
|
|
ldr r0, _08090E6C @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
ldr r4, _08090E70 @ =0x00000c59
|
|
adds r1, r4
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08090E5C: .4byte gUnknown_20397B0
|
|
_08090E60: .4byte 0x00000afc
|
|
_08090E64: .4byte 0x00000a84
|
|
_08090E68: .4byte 0x00000a68
|
|
_08090E6C: .4byte SpriteCallbackDummy
|
|
_08090E70: .4byte 0x00000c59
|
|
thumb_func_end sub_8090E08
|
|
|
|
thumb_func_start sub_8090E74
|
|
sub_8090E74: @ 8090E74
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r6, _08090E90 @ =gUnknown_20397B0
|
|
ldr r0, [r6]
|
|
ldr r1, _08090E94 @ =0x00000c59
|
|
mov r9, r1
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x10
|
|
bne _08090E98
|
|
movs r0, 0
|
|
b _08090FA0
|
|
.align 2, 0
|
|
_08090E90: .4byte gUnknown_20397B0
|
|
_08090E94: .4byte 0x00000c59
|
|
_08090E98:
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r2, [r6]
|
|
ldr r5, _08090FAC @ =0x00000c59
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08090EC6
|
|
ldr r1, _08090FB0 @ =0x00000afc
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1, 0x22]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x22]
|
|
ldr r5, _08090FB4 @ =0x00000a68
|
|
adds r0, r2, r5
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1, 0x22]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x22]
|
|
_08090EC6:
|
|
ldr r3, [r6]
|
|
ldr r7, _08090FB0 @ =0x00000afc
|
|
adds r4, r3, r7
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
ldr r5, _08090FB8 @ =gSineTable
|
|
mov r0, r9
|
|
adds r1, r3, r0
|
|
ldrb r0, [r1]
|
|
lsls r0, 4
|
|
adds r0, r5
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, 0
|
|
bge _08090EE8
|
|
adds r0, 0xF
|
|
_08090EE8:
|
|
asrs r0, 4
|
|
mov r2, r8
|
|
strh r0, [r2, 0x24]
|
|
ldr r0, _08090FB4 @ =0x00000a68
|
|
mov r8, r0
|
|
add r3, r8
|
|
ldr r2, [r3]
|
|
ldrb r0, [r1]
|
|
lsls r0, 4
|
|
adds r0, r5
|
|
movs r5, 0
|
|
ldrsh r0, [r0, r5]
|
|
cmp r0, 0
|
|
bge _08090F06
|
|
adds r0, 0xF
|
|
_08090F06:
|
|
asrs r0, 4
|
|
negs r0, r0
|
|
strh r0, [r2, 0x24]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x8
|
|
bne _08090F6A
|
|
ldr r3, [r3]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x5]
|
|
movs r5, 0x3
|
|
movs r1, 0xC
|
|
ands r1, r0
|
|
ldrb r2, [r3, 0x5]
|
|
movs r4, 0xD
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x5]
|
|
ldr r0, [r6]
|
|
mov r2, r8
|
|
adds r1, r0, r2
|
|
ldr r1, [r1]
|
|
adds r0, r7
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
ldrb r0, [r0]
|
|
adds r1, 0x43
|
|
strb r0, [r1]
|
|
bl sub_8090058
|
|
ldr r1, [r6]
|
|
adds r1, r7
|
|
ldr r1, [r1]
|
|
ldr r1, [r1]
|
|
ands r5, r0
|
|
lsls r5, 2
|
|
ldrb r0, [r1, 0x5]
|
|
ands r4, r0
|
|
orrs r4, r5
|
|
strb r4, [r1, 0x5]
|
|
ldr r0, [r6]
|
|
adds r0, r7
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0x7
|
|
strb r1, [r0]
|
|
_08090F6A:
|
|
ldr r1, [r6]
|
|
mov r5, r9
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x10
|
|
bne _08090F9E
|
|
mov r0, r8
|
|
adds r2, r1, r0
|
|
ldr r3, [r2]
|
|
adds r1, r7
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
ldr r0, [r1]
|
|
str r3, [r0]
|
|
ldr r1, [r6]
|
|
mov r2, r8
|
|
adds r0, r1, r2
|
|
ldr r2, [r0]
|
|
ldr r0, _08090FBC @ =sub_80911B0
|
|
str r0, [r2, 0x1C]
|
|
adds r1, r7
|
|
ldr r0, [r1]
|
|
ldr r1, [r0]
|
|
ldr r0, _08090FC0 @ =SpriteCallbackDummy
|
|
str r0, [r1, 0x1C]
|
|
_08090F9E:
|
|
movs r0, 0x1
|
|
_08090FA0:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08090FAC: .4byte 0x00000c59
|
|
_08090FB0: .4byte 0x00000afc
|
|
_08090FB4: .4byte 0x00000a68
|
|
_08090FB8: .4byte gSineTable
|
|
_08090FBC: .4byte sub_80911B0
|
|
_08090FC0: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8090E74
|
|
|
|
thumb_func_start sub_8090FC4
|
|
sub_8090FC4: @ 8090FC4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r0, 0x1
|
|
beq _08090FFC
|
|
cmp r0, 0x1
|
|
bgt _08090FDE
|
|
cmp r0, 0
|
|
beq _08090FE4
|
|
b _08091072
|
|
_08090FDE:
|
|
cmp r2, 0x2
|
|
beq _0809101C
|
|
b _08091072
|
|
_08090FE4:
|
|
ldr r3, _08090FF4 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
movs r0, 0xB0
|
|
lsls r0, 4
|
|
adds r2, r1, r0
|
|
lsls r0, r4, 2
|
|
ldr r4, _08090FF8 @ =0x00000a6c
|
|
b _0809100A
|
|
.align 2, 0
|
|
_08090FF4: .4byte gUnknown_20397B0
|
|
_08090FF8: .4byte 0x00000a6c
|
|
_08090FFC:
|
|
ldr r3, _08091014 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
movs r0, 0xB0
|
|
lsls r0, 4
|
|
adds r2, r1, r0
|
|
lsls r0, r4, 2
|
|
ldr r4, _08091018 @ =0x00000a84
|
|
_0809100A:
|
|
adds r0, r4
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
adds r4, r3, 0
|
|
b _0809102E
|
|
.align 2, 0
|
|
_08091014: .4byte gUnknown_20397B0
|
|
_08091018: .4byte 0x00000a84
|
|
_0809101C:
|
|
ldr r0, _08091078 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r3, 0xB0
|
|
lsls r3, 4
|
|
adds r2, r1, r3
|
|
ldr r4, _0809107C @ =0x00000a68
|
|
adds r1, r4
|
|
str r1, [r2]
|
|
adds r4, r0, 0
|
|
_0809102E:
|
|
ldr r0, [r4]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08091072
|
|
bl InitSpriteAffineAnim
|
|
ldr r0, [r4]
|
|
movs r3, 0xB0
|
|
lsls r3, 4
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x1]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1]
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
ldr r0, [r1]
|
|
ldr r2, [r0]
|
|
ldr r0, _08091080 @ =gUnknown_83CEC38
|
|
str r0, [r2, 0x10]
|
|
ldr r0, [r1]
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl StartSpriteAffineAnim
|
|
_08091072:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091078: .4byte gUnknown_20397B0
|
|
_0809107C: .4byte 0x00000a68
|
|
_08091080: .4byte gUnknown_83CEC38
|
|
thumb_func_end sub_8090FC4
|
|
|
|
thumb_func_start sub_8091084
|
|
sub_8091084: @ 8091084
|
|
push {lr}
|
|
ldr r0, _080910AC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
beq _080910A6
|
|
adds r3, r1, 0
|
|
adds r3, 0x3E
|
|
ldrb r2, [r3]
|
|
movs r0, 0x4
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080910B0
|
|
_080910A6:
|
|
movs r0, 0
|
|
b _080910C6
|
|
.align 2, 0
|
|
_080910AC: .4byte gUnknown_20397B0
|
|
_080910B0:
|
|
adds r0, r1, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080910C4
|
|
movs r0, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r3]
|
|
_080910C4:
|
|
movs r0, 0x1
|
|
_080910C6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091084
|
|
|
|
thumb_func_start sub_80910CC
|
|
sub_80910CC: @ 80910CC
|
|
push {r4,lr}
|
|
ldr r4, _08091110 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08091108
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 26
|
|
lsrs r0, 27
|
|
bl FreeOamMatrix
|
|
ldr r0, [r4]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_80913C4
|
|
ldr r0, [r4]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
_08091108:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091110: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80910CC
|
|
|
|
thumb_func_start sub_8091114
|
|
sub_8091114: @ 8091114
|
|
push {lr}
|
|
ldr r3, _0809114C @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _08091148
|
|
adds r2, r0, 0
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, [r3]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
_08091148:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809114C: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8091114
|
|
|
|
thumb_func_start sub_8091150
|
|
sub_8091150: @ 8091150
|
|
push {lr}
|
|
ldr r0, _08091168 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xB0
|
|
lsls r1, 4
|
|
adds r2, r0, r1
|
|
ldr r0, [r2]
|
|
cmp r0, 0
|
|
bne _0809116C
|
|
movs r0, 0
|
|
b _08091180
|
|
.align 2, 0
|
|
_08091168: .4byte gUnknown_20397B0
|
|
_0809116C:
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809117E
|
|
movs r0, 0
|
|
str r0, [r2]
|
|
_0809117E:
|
|
movs r0, 0x1
|
|
_08091180:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091150
|
|
|
|
thumb_func_start sub_8091184
|
|
sub_8091184: @ 8091184
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080911A8 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _080911AC @ =0x00000a68
|
|
adds r1, r2
|
|
ldr r3, [r1]
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
lsls r0, 2
|
|
ldrb r2, [r3, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3, 0x5]
|
|
bx lr
|
|
.align 2, 0
|
|
_080911A8: .4byte gUnknown_20397B0
|
|
_080911AC: .4byte 0x00000a68
|
|
thumb_func_end sub_8091184
|
|
|
|
thumb_func_start sub_80911B0
|
|
sub_80911B0: @ 80911B0
|
|
ldr r1, _080911D0 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
ldrh r2, [r2, 0x20]
|
|
strh r2, [r0, 0x20]
|
|
ldr r2, [r1]
|
|
ldrh r1, [r2, 0x26]
|
|
ldrh r2, [r2, 0x22]
|
|
adds r1, r2
|
|
adds r1, 0x4
|
|
strh r1, [r0, 0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_080911D0: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80911B0
|
|
|
|
thumb_func_start sub_80911D4
|
|
sub_80911D4: @ 80911D4
|
|
push {r4-r6,lr}
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
movs r4, 0
|
|
ldr r1, _0809123C @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r2, _08091240 @ =0x00000b54
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, r3
|
|
beq _08091208
|
|
adds r6, r2, 0
|
|
ldr r5, _08091240 @ =0x00000b54
|
|
_080911F0:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x27
|
|
bhi _08091208
|
|
ldr r0, [r6]
|
|
lsls r1, r4, 1
|
|
adds r0, r5
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, r3
|
|
bne _080911F0
|
|
_08091208:
|
|
cmp r4, 0x28
|
|
bne _08091248
|
|
movs r4, 0
|
|
ldr r0, [r2]
|
|
ldr r5, _08091240 @ =0x00000b54
|
|
adds r0, r5
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08091234
|
|
adds r6, r2, 0
|
|
_0809121C:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x27
|
|
bhi _08091234
|
|
ldr r0, [r6]
|
|
lsls r1, r4, 1
|
|
adds r0, r5
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0809121C
|
|
_08091234:
|
|
cmp r4, 0x28
|
|
bne _08091248
|
|
ldr r0, _08091244 @ =0x0000ffff
|
|
b _0809127A
|
|
.align 2, 0
|
|
_0809123C: .4byte gUnknown_20397B0
|
|
_08091240: .4byte 0x00000b54
|
|
_08091244: .4byte 0x0000ffff
|
|
_08091248:
|
|
ldr r1, [r2]
|
|
lsls r2, r4, 1
|
|
ldr r5, _08091280 @ =0x00000b54
|
|
adds r0, r1, r5
|
|
adds r0, r2
|
|
strh r3, [r0]
|
|
ldr r0, _08091284 @ =0x00000b04
|
|
adds r1, r0
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r4, 20
|
|
lsrs r4, 16
|
|
adds r0, r3, 0
|
|
movs r1, 0x1
|
|
bl sub_8097028
|
|
lsls r1, r4, 5
|
|
ldr r2, _08091288 @ =0x06010000
|
|
adds r1, r2
|
|
ldr r2, _0809128C @ =0x04000080
|
|
bl CpuSet
|
|
adds r0, r4, 0
|
|
_0809127A:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08091280: .4byte 0x00000b54
|
|
_08091284: .4byte 0x00000b04
|
|
_08091288: .4byte 0x06010000
|
|
_0809128C: .4byte 0x04000080
|
|
thumb_func_end sub_80911D4
|
|
|
|
thumb_func_start sub_8091290
|
|
sub_8091290: @ 8091290
|
|
push {r4-r6,lr}
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
movs r3, 0
|
|
ldr r6, _080912C4 @ =gUnknown_20397B0
|
|
_0809129A:
|
|
ldr r1, [r6]
|
|
lsls r2, r3, 1
|
|
ldr r4, _080912C8 @ =0x00000b54
|
|
adds r0, r1, r4
|
|
adds r4, r0, r2
|
|
ldrh r0, [r4]
|
|
cmp r0, r5
|
|
bne _080912D0
|
|
ldr r0, _080912CC @ =0x00000b04
|
|
adds r1, r0
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
bne _080912DA
|
|
strh r0, [r4]
|
|
b _080912DA
|
|
.align 2, 0
|
|
_080912C4: .4byte gUnknown_20397B0
|
|
_080912C8: .4byte 0x00000b54
|
|
_080912CC: .4byte 0x00000b04
|
|
_080912D0:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x27
|
|
bls _0809129A
|
|
_080912DA:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091290
|
|
|
|
thumb_func_start sub_80912E0
|
|
sub_80912E0: @ 80912E0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x1C
|
|
ldr r4, [sp, 0x3C]
|
|
ldr r5, [sp, 0x40]
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
str r2, [sp, 0x18]
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
mov r8, r3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r9, r5
|
|
mov r2, sp
|
|
ldr r0, _08091390 @ =gUnknown_83CEBF0
|
|
ldm r0!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldm r0!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
adds r0, r6, 0
|
|
bl mon_icon_convert_unown_species_id
|
|
mov r10, r0
|
|
mov r6, r10
|
|
mov r2, sp
|
|
ldr r1, _08091394 @ =gUnknown_83D3E80
|
|
adds r1, r6, r1
|
|
ldr r3, _08091398 @ =0x0000dac0
|
|
adds r0, r3, 0
|
|
ldrb r1, [r1]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x2]
|
|
adds r0, r6, 0
|
|
bl sub_80911D4
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r5, r0, 0
|
|
ldr r0, _0809139C @ =0x0000ffff
|
|
cmp r5, r0
|
|
beq _080913B2
|
|
ldr r7, [sp, 0x18]
|
|
lsls r1, r7, 16
|
|
asrs r1, 16
|
|
mov r0, r8
|
|
lsls r2, r0, 16
|
|
asrs r2, 16
|
|
mov r0, sp
|
|
mov r3, r9
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x40
|
|
beq _080913AC
|
|
ldr r1, _080913A0 @ =gSprites
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r2, _080913A4 @ =0x000003ff
|
|
ands r2, r5
|
|
ldrh r3, [r0, 0x4]
|
|
ldr r1, _080913A8 @ =0xfffffc00
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
strh r1, [r0, 0x4]
|
|
movs r1, 0x3
|
|
ands r4, r1
|
|
lsls r3, r4, 2
|
|
ldrb r2, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
strb r1, [r0, 0x5]
|
|
mov r1, r10
|
|
strh r1, [r0, 0x2E]
|
|
b _080913B4
|
|
.align 2, 0
|
|
_08091390: .4byte gUnknown_83CEBF0
|
|
_08091394: .4byte gUnknown_83D3E80
|
|
_08091398: .4byte 0x0000dac0
|
|
_0809139C: .4byte 0x0000ffff
|
|
_080913A0: .4byte gSprites
|
|
_080913A4: .4byte 0x000003ff
|
|
_080913A8: .4byte 0xfffffc00
|
|
_080913AC:
|
|
adds r0, r6, 0
|
|
bl sub_8091290
|
|
_080913B2:
|
|
movs r0, 0
|
|
_080913B4:
|
|
add sp, 0x1C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80912E0
|
|
|
|
thumb_func_start sub_80913C4
|
|
sub_80913C4: @ 80913C4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r0, [r4, 0x2E]
|
|
bl sub_8091290
|
|
adds r0, r4, 0
|
|
bl DestroySprite
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80913C4
|
|
|
|
thumb_func_start sub_80913DC
|
|
sub_80913DC: @ 80913DC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08091404 @ =sub_8091420
|
|
movs r1, 0x2
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08091408 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0xC]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091404: .4byte sub_8091420
|
|
_08091408: .4byte gTasks
|
|
thumb_func_end sub_80913DC
|
|
|
|
thumb_func_start sub_809140C
|
|
sub_809140C: @ 809140C
|
|
push {lr}
|
|
ldr r0, _0809141C @ =sub_8091420
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809141C: .4byte sub_8091420
|
|
thumb_func_end sub_809140C
|
|
|
|
thumb_func_start sub_8091420
|
|
sub_8091420: @ 8091420
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r1, _08091444 @ =gTasks
|
|
adds r4, r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x4
|
|
bhi _08091504
|
|
lsls r0, 2
|
|
ldr r1, _08091448 @ =_0809144C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08091444: .4byte gTasks
|
|
_08091448: .4byte _0809144C
|
|
.align 2, 0
|
|
_0809144C:
|
|
.4byte _08091460
|
|
.4byte _08091498
|
|
.4byte _080914CC
|
|
.4byte _080914D6
|
|
.4byte _080914FC
|
|
_08091460:
|
|
ldr r1, _0809148C @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r2, _08091490 @ =0x000002d2
|
|
adds r0, r2
|
|
movs r2, 0
|
|
strb r2, [r0]
|
|
ldr r1, [r1]
|
|
movs r3, 0xB3
|
|
lsls r3, 2
|
|
adds r0, r1, r3
|
|
strh r2, [r0]
|
|
ldr r0, _08091494 @ =0x00004abc
|
|
adds r1, r0
|
|
movs r2, 0x80
|
|
lsls r2, 5
|
|
movs r0, 0
|
|
movs r3, 0x1
|
|
bl RequestDma3Fill
|
|
strh r0, [r4, 0xA]
|
|
b _08091508
|
|
.align 2, 0
|
|
_0809148C: .4byte gUnknown_20397B0
|
|
_08091490: .4byte 0x000002d2
|
|
_08091494: .4byte 0x00004abc
|
|
_08091498:
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
bl CheckForSpaceForDma3Request
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
beq _0809150E
|
|
ldr r0, _080914C4 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _080914C8 @ =0x00004abc
|
|
adds r1, r2
|
|
movs r0, 0x2
|
|
bl SetBgTilemapBuffer
|
|
movs r0, 0x2
|
|
bl ShowBg
|
|
b _08091508
|
|
.align 2, 0
|
|
_080914C4: .4byte gUnknown_20397B0
|
|
_080914C8: .4byte 0x00004abc
|
|
_080914CC:
|
|
ldrb r0, [r4, 0xC]
|
|
movs r1, 0
|
|
bl sub_8091850
|
|
b _08091508
|
|
_080914D6:
|
|
bl sub_809196C
|
|
cmp r0, 0
|
|
beq _0809150E
|
|
ldrb r0, [r4, 0xC]
|
|
bl sub_8091A94
|
|
bl sub_8091F80
|
|
ldrb r0, [r4, 0xC]
|
|
bl sub_80900D4
|
|
ldr r1, _080914F8 @ =0x00005b0a
|
|
movs r0, 0xC
|
|
bl SetGpuReg
|
|
b _08091508
|
|
.align 2, 0
|
|
_080914F8: .4byte 0x00005b0a
|
|
_080914FC:
|
|
adds r0, r2, 0
|
|
bl DestroyTask
|
|
b _08091508
|
|
_08091504:
|
|
movs r0, 0
|
|
b _0809150C
|
|
_08091508:
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
_0809150C:
|
|
strh r0, [r4, 0x8]
|
|
_0809150E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091420
|
|
|
|
thumb_func_start sub_8091514
|
|
sub_8091514: @ 8091514
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
mov r8, r4
|
|
adds r0, r4, 0
|
|
bl sub_80916F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r6, r0, 0
|
|
ldr r5, _080915D8 @ =gUnknown_20397B0
|
|
ldr r2, [r5]
|
|
lsls r0, r6, 24
|
|
asrs r3, r0, 24
|
|
movs r0, 0x6
|
|
negs r0, r0
|
|
adds r1, r0, 0
|
|
cmp r3, 0
|
|
ble _08091540
|
|
movs r1, 0x6
|
|
_08091540:
|
|
ldr r7, _080915DC @ =0x000002ce
|
|
adds r0, r2, r7
|
|
strh r1, [r0]
|
|
movs r1, 0x2
|
|
cmp r3, 0
|
|
ble _0809154E
|
|
movs r1, 0x1
|
|
_0809154E:
|
|
ldr r7, _080915E0 @ =0x000002d3
|
|
adds r0, r2, r7
|
|
strb r1, [r0]
|
|
ldr r2, [r5]
|
|
movs r0, 0xB4
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
movs r0, 0x20
|
|
strh r0, [r1]
|
|
movs r1, 0xB5
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
strb r4, [r0]
|
|
ldr r2, [r5]
|
|
movs r1, 0
|
|
cmp r3, 0
|
|
bgt _08091572
|
|
movs r1, 0x5
|
|
_08091572:
|
|
ldr r4, _080915E4 @ =0x000002d6
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
movs r7, 0xB6
|
|
lsls r7, 2
|
|
adds r0, r2, r7
|
|
strh r3, [r0]
|
|
movs r1, 0x38
|
|
cmp r3, 0
|
|
ble _0809158C
|
|
movs r0, 0x84
|
|
lsls r0, 1
|
|
adds r1, r0, 0
|
|
_0809158C:
|
|
ldr r4, _080915E8 @ =0x000002da
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
movs r1, 0
|
|
cmp r3, 0
|
|
bgt _0809159A
|
|
movs r1, 0x5
|
|
_0809159A:
|
|
movs r7, 0xB7
|
|
lsls r7, 2
|
|
adds r0, r2, r7
|
|
strh r1, [r0]
|
|
ldr r0, _080915EC @ =0x000002de
|
|
adds r1, r2, r0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
movs r3, 0xB8
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
movs r0, 0x2
|
|
strh r0, [r1]
|
|
ldr r4, _080915F0 @ =0x00000a64
|
|
adds r0, r2, r4
|
|
mov r7, r8
|
|
strb r7, [r0]
|
|
ldr r0, [r5]
|
|
ldr r1, _080915F4 @ =0x00000a65
|
|
adds r0, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r5]
|
|
ldr r3, _080915F8 @ =0x00000a63
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080915D8: .4byte gUnknown_20397B0
|
|
_080915DC: .4byte 0x000002ce
|
|
_080915E0: .4byte 0x000002d3
|
|
_080915E4: .4byte 0x000002d6
|
|
_080915E8: .4byte 0x000002da
|
|
_080915EC: .4byte 0x000002de
|
|
_080915F0: .4byte 0x00000a64
|
|
_080915F4: .4byte 0x00000a65
|
|
_080915F8: .4byte 0x00000a63
|
|
thumb_func_end sub_8091514
|
|
|
|
thumb_func_start sub_80915FC
|
|
sub_80915FC: @ 80915FC
|
|
push {r4-r6,lr}
|
|
ldr r4, _08091618 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r5, _0809161C @ =0x00000a63
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08091644
|
|
cmp r0, 0x1
|
|
bgt _08091620
|
|
cmp r0, 0
|
|
beq _08091626
|
|
b _080916D4
|
|
.align 2, 0
|
|
_08091618: .4byte gUnknown_20397B0
|
|
_0809161C: .4byte 0x00000a63
|
|
_08091620:
|
|
cmp r0, 0x2
|
|
beq _08091694
|
|
b _080916D4
|
|
_08091626:
|
|
ldr r2, _08091688 @ =0x00000a64
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r2, 0x1
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
bl sub_8091850
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_08091644:
|
|
bl sub_809196C
|
|
cmp r0, 0
|
|
beq _080916E2
|
|
ldr r6, _0809168C @ =gUnknown_20397B0
|
|
ldr r1, [r6]
|
|
ldr r4, _08091688 @ =0x00000a64
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
ldr r5, _08091690 @ =0x00000a65
|
|
adds r1, r5
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
bl sub_8090574
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
ldrb r0, [r4]
|
|
adds r1, r5
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
bl sub_8091C48
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
bl sub_809200C
|
|
b _080916D4
|
|
.align 2, 0
|
|
_08091688: .4byte 0x00000a64
|
|
_0809168C: .4byte gUnknown_20397B0
|
|
_08091690: .4byte 0x00000a65
|
|
_08091694:
|
|
bl sub_809062C
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r2, [r4]
|
|
movs r4, 0xB4
|
|
lsls r4, 2
|
|
adds r3, r2, r4
|
|
ldrh r0, [r3]
|
|
cmp r0, 0
|
|
beq _080916D0
|
|
movs r0, 0xB3
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
subs r4, 0x2
|
|
adds r0, r2, r4
|
|
ldrh r0, [r0]
|
|
ldrh r2, [r1]
|
|
adds r0, r2
|
|
strh r0, [r1]
|
|
ldrh r0, [r3]
|
|
subs r0, 0x1
|
|
strh r0, [r3]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080916E2
|
|
bl sub_8091E34
|
|
bl sub_80920AC
|
|
_080916D0:
|
|
adds r0, r5, 0
|
|
b _080916E4
|
|
_080916D4:
|
|
ldr r0, _080916EC @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r4, _080916F0 @ =0x00000a63
|
|
adds r1, r4
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080916E2:
|
|
movs r0, 0x1
|
|
_080916E4:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080916EC: .4byte gUnknown_20397B0
|
|
_080916F0: .4byte 0x00000a63
|
|
thumb_func_end sub_80915FC
|
|
|
|
thumb_func_start sub_80916F4
|
|
sub_80916F4: @ 80916F4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r2, 0
|
|
cmp r1, r4
|
|
beq _0809171E
|
|
_08091708:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0xD
|
|
bls _08091714
|
|
movs r1, 0
|
|
_08091714:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r1, r4
|
|
bne _08091708
|
|
_0809171E:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, 0x6
|
|
bhi _08091728
|
|
movs r0, 0x1
|
|
_08091728:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80916F4
|
|
|
|
thumb_func_start sub_8091730
|
|
sub_8091730: @ 8091730
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
bl sub_808BDBC
|
|
ldr r0, _08091758 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0809175C @ =0x00000a62
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091758: .4byte gUnknown_20397B0
|
|
_0809175C: .4byte 0x00000a62
|
|
thumb_func_end sub_8091730
|
|
|
|
thumb_func_start sub_8091760
|
|
sub_8091760: @ 8091760
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _08091780 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r2, _08091784 @ =0x00000a62
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r4, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _08091844
|
|
lsls r0, 2
|
|
ldr r1, _08091788 @ =_0809178C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08091780: .4byte gUnknown_20397B0
|
|
_08091784: .4byte 0x00000a62
|
|
_08091788: .4byte _0809178C
|
|
.align 2, 0
|
|
_0809178C:
|
|
.4byte _080917A0
|
|
.4byte _080917C8
|
|
.4byte _080917E2
|
|
.4byte _0809181C
|
|
.4byte _08091840
|
|
_080917A0:
|
|
ldr r0, [r4]
|
|
movs r1, 0xE7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080917C0 @ =0x0000ffff
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r4]
|
|
ldr r2, _080917C4 @ =0x00000a62
|
|
adds r1, r2
|
|
b _0809182E
|
|
.align 2, 0
|
|
_080917C0: .4byte 0x0000ffff
|
|
_080917C4: .4byte 0x00000a62
|
|
_080917C8:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08091844
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_8091850
|
|
b _08091826
|
|
_080917E2:
|
|
bl sub_809196C
|
|
cmp r0, 0x1
|
|
bne _08091844
|
|
bl sub_8091EF0
|
|
ldr r4, _08091810 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
movs r1, 0xE7
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _08091814 @ =0x0000ffff
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r4]
|
|
ldr r2, _08091818 @ =0x00000a62
|
|
adds r1, r2
|
|
b _0809182E
|
|
.align 2, 0
|
|
_08091810: .4byte gUnknown_20397B0
|
|
_08091814: .4byte 0x0000ffff
|
|
_08091818: .4byte 0x00000a62
|
|
_0809181C:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08091844
|
|
_08091826:
|
|
ldr r0, _08091838 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r0, _0809183C @ =0x00000a62
|
|
adds r1, r0
|
|
_0809182E:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08091844
|
|
.align 2, 0
|
|
_08091838: .4byte gUnknown_20397B0
|
|
_0809183C: .4byte 0x00000a62
|
|
_08091840:
|
|
movs r0, 0
|
|
b _08091846
|
|
_08091844:
|
|
movs r0, 0x1
|
|
_08091846:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091760
|
|
|
|
thumb_func_start sub_8091850
|
|
sub_8091850: @ 8091850
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _08091904 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
ldr r3, _08091908 @ =0x000006f9
|
|
adds r2, r3
|
|
movs r3, 0
|
|
strb r3, [r2]
|
|
ldr r2, [r4]
|
|
ldr r3, _0809190C @ =0x000006fa
|
|
adds r2, r3
|
|
strb r0, [r2]
|
|
ldr r0, [r4]
|
|
ldr r2, _08091910 @ =0x000006fb
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r1, [r4]
|
|
adds r2, r1, r2
|
|
movs r0, 0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0
|
|
beq _08091896
|
|
movs r3, 0
|
|
ldr r0, _08091914 @ =0x000002d2
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _0809188A
|
|
movs r3, 0x1
|
|
_0809188A:
|
|
strb r3, [r2]
|
|
ldr r0, [r4]
|
|
ldr r1, _08091918 @ =0x00004abc
|
|
adds r0, r1
|
|
bl sub_8091A24
|
|
_08091896:
|
|
ldr r6, _08091904 @ =gUnknown_20397B0
|
|
ldr r0, [r6]
|
|
ldr r2, _0809190C @ =0x000006fa
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
bl sub_808BD94
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _0809191C @ =gUnknown_83D2A10
|
|
adds r7, r1, r0
|
|
ldr r0, [r7, 0x4]
|
|
ldr r1, [r6]
|
|
ldr r5, _08091920 @ =0x00000792
|
|
adds r1, r5
|
|
bl LZ77UnCompWram
|
|
ldr r1, [r6]
|
|
ldr r3, _08091918 @ =0x00004abc
|
|
adds r0, r1, r3
|
|
adds r5, r1, r5
|
|
ldr r4, _08091910 @ =0x000006fb
|
|
adds r2, r1, r4
|
|
ldrb r2, [r2]
|
|
lsls r2, 24
|
|
asrs r2, 24
|
|
ldr r3, _08091914 @ =0x000002d2
|
|
adds r1, r3
|
|
ldrb r3, [r1]
|
|
adds r1, r5, 0
|
|
bl sub_8091984
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
beq _08091924
|
|
ldr r0, [r7, 0x8]
|
|
ldr r2, _08091914 @ =0x000002d2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 21
|
|
movs r3, 0x80
|
|
lsls r3, 15
|
|
adds r1, r3
|
|
lsrs r1, 16
|
|
movs r2, 0x40
|
|
bl LoadPalette
|
|
b _08091938
|
|
.align 2, 0
|
|
_08091904: .4byte gUnknown_20397B0
|
|
_08091908: .4byte 0x000006f9
|
|
_0809190C: .4byte 0x000006fa
|
|
_08091910: .4byte 0x000006fb
|
|
_08091914: .4byte 0x000002d2
|
|
_08091918: .4byte 0x00004abc
|
|
_0809191C: .4byte gUnknown_83D2A10
|
|
_08091920: .4byte 0x00000792
|
|
_08091924:
|
|
ldr r0, [r7, 0x8]
|
|
ldr r2, _08091960 @ =0x000002d2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 6
|
|
ldr r2, _08091964 @ =gPlttBufferUnfaded + 0x80
|
|
adds r1, r2
|
|
movs r2, 0x20
|
|
bl CpuSet
|
|
_08091938:
|
|
ldr r1, [r7]
|
|
ldr r0, _08091968 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r3, _08091960 @ =0x000002d2
|
|
adds r0, r3
|
|
ldrb r3, [r0]
|
|
lsls r3, 8
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
movs r2, 0
|
|
bl DecompressAndLoadBgGfxUsingHeap
|
|
movs r0, 0x2
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091960: .4byte 0x000002d2
|
|
_08091964: .4byte gPlttBufferUnfaded + 0x80
|
|
_08091968: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8091850
|
|
|
|
thumb_func_start sub_809196C
|
|
sub_809196C: @ 809196C
|
|
push {lr}
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0809197E
|
|
movs r0, 0x1
|
|
b _08091980
|
|
_0809197E:
|
|
movs r0, 0
|
|
_08091980:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809196C
|
|
|
|
thumb_func_start sub_8091984
|
|
sub_8091984: @ 8091984
|
|
push {r4-r7,lr}
|
|
sub sp, 0x24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r5, r3, 17
|
|
ldr r0, _080919F0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r4, 0xB3
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldrh r4, [r0]
|
|
lsrs r4, 3
|
|
adds r4, 0xA
|
|
lsls r2, 24
|
|
asrs r7, r2, 24
|
|
lsls r0, r7, 1
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r6, r4, r0
|
|
movs r0, 0x3F
|
|
ands r6, r0
|
|
movs r4, 0x14
|
|
str r4, [sp]
|
|
movs r2, 0x12
|
|
str r2, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0xC]
|
|
str r4, [sp, 0x10]
|
|
str r2, [sp, 0x14]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x18]
|
|
lsls r3, 24
|
|
asrs r3, 16
|
|
str r3, [sp, 0x1C]
|
|
movs r0, 0xC0
|
|
lsls r0, 10
|
|
adds r5, r0
|
|
asrs r5, 16
|
|
str r5, [sp, 0x20]
|
|
movs r0, 0x2
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl CopyRectToBgTilemapBufferRect
|
|
cmp r7, 0
|
|
beq _08091A16
|
|
cmp r7, 0
|
|
ble _080919F4
|
|
lsls r0, r6, 16
|
|
movs r1, 0xA0
|
|
lsls r1, 13
|
|
adds r0, r1
|
|
b _080919FA
|
|
.align 2, 0
|
|
_080919F0: .4byte gUnknown_20397B0
|
|
_080919F4:
|
|
lsls r0, r6, 16
|
|
ldr r4, _08091A20 @ =0xfffc0000
|
|
adds r0, r4
|
|
_080919FA:
|
|
lsrs r6, r0, 16
|
|
lsls r2, r6, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
movs r0, 0x12
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r3, 0x2
|
|
bl FillBgTilemapBufferRect
|
|
_08091A16:
|
|
add sp, 0x24
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091A20: .4byte 0xfffc0000
|
|
thumb_func_end sub_8091984
|
|
|
|
thumb_func_start sub_8091A24
|
|
sub_8091A24: @ 8091A24
|
|
push {r4-r6,lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _08091A50 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xB3
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
lsrs r0, 3
|
|
adds r3, r0, 0
|
|
adds r3, 0x1E
|
|
movs r0, 0x3F
|
|
ands r3, r0
|
|
adds r0, r3, 0
|
|
cmp r0, 0x1F
|
|
bgt _08091A54
|
|
lsls r0, 1
|
|
movs r6, 0x98
|
|
lsls r6, 3
|
|
adds r0, r6
|
|
b _08091A5C
|
|
.align 2, 0
|
|
_08091A50: .4byte gUnknown_20397B0
|
|
_08091A54:
|
|
lsls r0, 1
|
|
movs r1, 0xC8
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
_08091A5C:
|
|
adds r2, r0
|
|
movs r0, 0
|
|
movs r5, 0
|
|
movs r4, 0x3F
|
|
_08091A64:
|
|
strh r5, [r2]
|
|
adds r2, 0x2
|
|
adds r3, 0x1
|
|
ands r3, r4
|
|
adds r1, r3, 0
|
|
cmp r1, 0
|
|
bne _08091A76
|
|
ldr r6, _08091A90 @ =0xfffff7c0
|
|
adds r2, r6
|
|
_08091A76:
|
|
cmp r1, 0x20
|
|
bne _08091A80
|
|
movs r1, 0xF8
|
|
lsls r1, 3
|
|
adds r2, r1
|
|
_08091A80:
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x2B
|
|
bls _08091A64
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091A90: .4byte 0xfffff7c0
|
|
thumb_func_end sub_8091A24
|
|
|
|
thumb_func_start sub_8091A94
|
|
sub_8091A94: @ 8091A94
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x34
|
|
mov r8, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _08091C1C @ =gUnknown_20397B0
|
|
mov r10, r1
|
|
ldr r1, [r1]
|
|
movs r2, 0xBE
|
|
lsls r2, 2
|
|
adds r0, r1, r2
|
|
str r0, [sp, 0x28]
|
|
mov r3, sp
|
|
adds r3, 0x28
|
|
str r3, [sp, 0x30]
|
|
ldr r0, _08091C20 @ =0x00030200
|
|
str r0, [r3, 0x4]
|
|
ldr r4, _08091C24 @ =0x000006fc
|
|
adds r1, r4
|
|
str r1, [sp, 0x18]
|
|
add r0, sp, 0x1C
|
|
ldr r7, _08091C28 @ =0x0000dac9
|
|
strh r7, [r0]
|
|
add r0, sp, 0x20
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl memset
|
|
add r1, sp, 0x18
|
|
add r0, sp, 0x8
|
|
movs r2, 0x10
|
|
bl memcpy
|
|
mov r0, r8
|
|
bl sub_808BD94
|
|
lsls r0, 24
|
|
mov r5, r10
|
|
ldr r4, [r5]
|
|
ldr r2, _08091C2C @ =gUnknown_83D29D0
|
|
lsrs r0, 22
|
|
adds r1, r0, r2
|
|
ldrh r3, [r1]
|
|
movs r5, 0xE3
|
|
lsls r5, 3
|
|
adds r1, r4, r5
|
|
strh r3, [r1]
|
|
adds r2, 0x2
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
ldr r1, _08091C30 @ =0x0000071a
|
|
adds r4, r1
|
|
strh r0, [r4]
|
|
add r0, sp, 0x8
|
|
bl LoadSpritePalettes
|
|
mov r2, r10
|
|
ldr r0, [r2]
|
|
movs r6, 0xE7
|
|
lsls r6, 3
|
|
adds r0, r6
|
|
movs r1, 0xFC
|
|
lsls r1, 2
|
|
str r1, [r0]
|
|
adds r0, r7, 0
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r4, r10
|
|
ldr r3, [r4]
|
|
lsls r1, r0, 4
|
|
movs r5, 0x87
|
|
lsls r5, 1
|
|
mov r9, r5
|
|
add r1, r9
|
|
ldr r4, _08091C34 @ =0x0000071c
|
|
adds r2, r3, r4
|
|
strh r1, [r2]
|
|
adds r3, r6
|
|
movs r5, 0x80
|
|
lsls r5, 9
|
|
adds r1, r5, 0
|
|
lsls r1, r0
|
|
ldr r0, [r3]
|
|
orrs r0, r1
|
|
str r0, [r3]
|
|
adds r0, r7, 0
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, r10
|
|
ldr r4, [r1]
|
|
lsls r1, r0, 4
|
|
add r1, r9
|
|
ldr r3, _08091C38 @ =0x0000071e
|
|
adds r2, r4, r3
|
|
strh r1, [r2]
|
|
adds r6, r4, r6
|
|
lsls r5, r0
|
|
ldr r0, [r6]
|
|
orrs r0, r5
|
|
str r0, [r6]
|
|
ldr r5, _08091C3C @ =0x000021a8
|
|
adds r4, r5
|
|
mov r0, r8
|
|
bl GetBoxNamePtr
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl StringCopyPadded
|
|
mov r4, r10
|
|
ldr r0, [r4]
|
|
adds r5, r0, r5
|
|
movs r2, 0xBE
|
|
lsls r2, 2
|
|
adds r1, r0, r2
|
|
movs r3, 0x9F
|
|
lsls r3, 3
|
|
adds r0, r3
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_808BEB4
|
|
ldr r0, [sp, 0x30]
|
|
bl LoadSpriteSheet
|
|
mov r0, r8
|
|
bl GetBoxNamePtr
|
|
bl sub_8091F60
|
|
movs r4, 0
|
|
lsls r0, 16
|
|
asrs r6, r0, 16
|
|
_08091BBC:
|
|
lsls r1, r4, 5
|
|
adds r1, r6, r1
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r0, _08091C40 @ =gUnknown_83D2B7C
|
|
movs r2, 0x1C
|
|
movs r3, 0x18
|
|
bl CreateSprite
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r5, _08091C1C @ =gUnknown_20397B0
|
|
ldr r2, [r5]
|
|
lsls r0, r4, 2
|
|
movs r3, 0xE4
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
adds r2, r0
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08091C44 @ =gSprites
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
lsls r1, r4, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x1
|
|
bls _08091BBC
|
|
ldr r0, [r5]
|
|
movs r4, 0xDF
|
|
lsls r4, 3
|
|
adds r0, r4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
add sp, 0x34
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091C1C: .4byte gUnknown_20397B0
|
|
_08091C20: .4byte 0x00030200
|
|
_08091C24: .4byte 0x000006fc
|
|
_08091C28: .4byte 0x0000dac9
|
|
_08091C2C: .4byte gUnknown_83D29D0
|
|
_08091C30: .4byte 0x0000071a
|
|
_08091C34: .4byte 0x0000071c
|
|
_08091C38: .4byte 0x0000071e
|
|
_08091C3C: .4byte 0x000021a8
|
|
_08091C40: .4byte gUnknown_83D2B7C
|
|
_08091C44: .4byte gSprites
|
|
thumb_func_end sub_8091A94
|
|
|
|
thumb_func_start sub_8091C48
|
|
sub_8091C48: @ 8091C48
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x30
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x2C]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r10, r1
|
|
ldr r4, _08091CC4 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
movs r1, 0xBE
|
|
lsls r1, 2
|
|
adds r0, r2, r1
|
|
str r0, [sp, 0x20]
|
|
add r3, sp, 0x20
|
|
ldr r5, _08091CC8 @ =0x0000ffff
|
|
mov r12, r5
|
|
movs r6, 0xC0
|
|
lsls r6, 10
|
|
mov r9, r6
|
|
ldr r0, _08091CCC @ =0x00030200
|
|
str r0, [r3, 0x4]
|
|
add r1, sp, 0x8
|
|
ldr r0, _08091CD0 @ =gUnknown_83D2B7C
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
movs r1, 0
|
|
movs r5, 0xDF
|
|
lsls r5, 3
|
|
adds r2, r5
|
|
ldrb r0, [r2]
|
|
mov r8, r4
|
|
adds r6, r3, 0
|
|
cmp r0, 0
|
|
bne _08091C9C
|
|
movs r1, 0x1
|
|
_08091C9C:
|
|
strb r1, [r2]
|
|
mov r7, r8
|
|
ldr r0, [r7]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08091CD8
|
|
ldr r0, [r6, 0x4]
|
|
mov r1, r12
|
|
ands r0, r1
|
|
mov r2, r9
|
|
orrs r0, r2
|
|
str r0, [r6, 0x4]
|
|
ldr r0, [r7]
|
|
ldr r3, _08091CD4 @ =0x0000071c
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
mov r9, r0
|
|
b _08091CFC
|
|
.align 2, 0
|
|
_08091CC4: .4byte gUnknown_20397B0
|
|
_08091CC8: .4byte 0x0000ffff
|
|
_08091CCC: .4byte 0x00030200
|
|
_08091CD0: .4byte gUnknown_83D2B7C
|
|
_08091CD4: .4byte 0x0000071c
|
|
_08091CD8:
|
|
ldr r0, [r6, 0x4]
|
|
mov r5, r12
|
|
ands r0, r5
|
|
movs r1, 0x80
|
|
lsls r1, 11
|
|
orrs r0, r1
|
|
str r0, [r6, 0x4]
|
|
mov r7, r8
|
|
ldr r0, [r7]
|
|
ldr r1, _08091E18 @ =0x0000071c
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
mov r9, r0
|
|
add r1, sp, 0x8
|
|
movs r0, 0x4
|
|
strh r0, [r1]
|
|
ldr r0, _08091E1C @ =0x0000dac9
|
|
strh r0, [r1, 0x2]
|
|
_08091CFC:
|
|
mov r2, r8
|
|
ldr r4, [r2]
|
|
ldr r5, _08091E20 @ =0x000021a8
|
|
adds r4, r5
|
|
ldr r0, [sp, 0x2C]
|
|
bl GetBoxNamePtr
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl StringCopyPadded
|
|
mov r3, r8
|
|
ldr r0, [r3]
|
|
adds r5, r0, r5
|
|
movs r7, 0xBE
|
|
lsls r7, 2
|
|
adds r1, r0, r7
|
|
movs r2, 0x9F
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_808BEB4
|
|
adds r0, r6, 0
|
|
bl LoadSpriteSheet
|
|
ldr r0, [sp, 0x2C]
|
|
bl sub_808BD94
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
ldr r1, _08091E24 @ =gUnknown_83D29D0
|
|
adds r0, r1
|
|
mov r1, r9
|
|
movs r2, 0x4
|
|
bl LoadPalette
|
|
ldr r0, [sp, 0x2C]
|
|
bl GetBoxNamePtr
|
|
bl sub_8091F60
|
|
lsls r0, 16
|
|
mov r3, r10
|
|
lsls r2, r3, 24
|
|
asrs r2, 24
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
lsls r1, 6
|
|
lsrs r5, r0, 16
|
|
str r5, [sp, 0x28]
|
|
asrs r0, 16
|
|
adds r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
movs r7, 0
|
|
mov r9, r8
|
|
negs r2, r2
|
|
mov r8, r2
|
|
_08091D82:
|
|
lsls r6, r7, 5
|
|
mov r0, r10
|
|
lsls r1, r0, 16
|
|
asrs r1, 16
|
|
adds r1, r6
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
add r0, sp, 0x8
|
|
movs r2, 0x1C
|
|
movs r3, 0x18
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, r9
|
|
ldr r2, [r1]
|
|
lsls r5, r7, 2
|
|
movs r3, 0xE5
|
|
lsls r3, 3
|
|
adds r2, r3
|
|
adds r2, r5
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08091E28 @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
mov r0, r8
|
|
lsls r4, r0, 1
|
|
add r4, r8
|
|
lsls r4, 1
|
|
strh r4, [r1, 0x2E]
|
|
ldr r1, [r2]
|
|
ldr r3, [sp, 0x28]
|
|
lsls r0, r3, 16
|
|
asrs r0, 16
|
|
adds r0, r6
|
|
strh r0, [r1, 0x30]
|
|
ldr r0, [r2]
|
|
movs r6, 0
|
|
strh r6, [r0, 0x32]
|
|
ldr r0, [r2]
|
|
ldr r1, _08091E2C @ =sub_8091E84
|
|
str r1, [r0, 0x1C]
|
|
lsls r1, r7, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
mov r1, r9
|
|
ldr r0, [r1]
|
|
movs r2, 0xE4
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
strh r4, [r1, 0x2E]
|
|
ldr r2, [r0]
|
|
movs r1, 0x1
|
|
strh r1, [r2, 0x30]
|
|
ldr r1, [r0]
|
|
ldr r0, _08091E30 @ =sub_8091EB8
|
|
str r0, [r1, 0x1C]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
cmp r7, 0x1
|
|
bls _08091D82
|
|
add sp, 0x30
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091E18: .4byte 0x0000071c
|
|
_08091E1C: .4byte 0x0000dac9
|
|
_08091E20: .4byte 0x000021a8
|
|
_08091E24: .4byte gUnknown_83D29D0
|
|
_08091E28: .4byte gSprites
|
|
_08091E2C: .4byte sub_8091E84
|
|
_08091E30: .4byte sub_8091EB8
|
|
thumb_func_end sub_8091C48
|
|
|
|
thumb_func_start sub_8091E34
|
|
sub_8091E34: @ 8091E34
|
|
push {lr}
|
|
ldr r0, _08091E50 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xDF
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08091E54
|
|
movs r0, 0x4
|
|
bl FreeSpriteTilesByTag
|
|
b _08091E5A
|
|
.align 2, 0
|
|
_08091E50: .4byte gUnknown_20397B0
|
|
_08091E54:
|
|
movs r0, 0x3
|
|
bl FreeSpriteTilesByTag
|
|
_08091E5A:
|
|
ldr r0, _08091E7C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r3, 0xE4
|
|
lsls r3, 3
|
|
adds r2, r0, r3
|
|
adds r3, 0x8
|
|
adds r1, r0, r3
|
|
ldr r1, [r1]
|
|
str r1, [r2]
|
|
ldr r2, _08091E80 @ =0x00000724
|
|
adds r1, r0, r2
|
|
adds r3, 0x4
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091E7C: .4byte gUnknown_20397B0
|
|
_08091E80: .4byte 0x00000724
|
|
thumb_func_end sub_8091E34
|
|
|
|
thumb_func_start sub_8091E84
|
|
sub_8091E84: @ 8091E84
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r1, [r2, 0x32]
|
|
movs r3, 0x32
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
beq _08091E98
|
|
subs r0, r1, 0x1
|
|
strh r0, [r2, 0x32]
|
|
b _08091EB0
|
|
_08091E98:
|
|
ldrh r0, [r2, 0x2E]
|
|
ldrh r1, [r2, 0x20]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x20]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r3, 0x30
|
|
ldrsh r1, [r2, r3]
|
|
cmp r0, r1
|
|
bne _08091EB0
|
|
ldr r0, _08091EB4 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
_08091EB0:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091EB4: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8091E84
|
|
|
|
thumb_func_start sub_8091EB8
|
|
sub_8091EB8: @ 8091EB8
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r1, [r2, 0x30]
|
|
movs r3, 0x30
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
beq _08091ECC
|
|
subs r0, r1, 0x1
|
|
strh r0, [r2, 0x30]
|
|
b _08091EEA
|
|
_08091ECC:
|
|
ldrh r0, [r2, 0x2E]
|
|
ldrh r1, [r2, 0x20]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x20]
|
|
ldrh r1, [r2, 0x24]
|
|
adds r0, r1
|
|
strh r0, [r2, 0x32]
|
|
subs r0, 0x40
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xC0
|
|
bls _08091EEA
|
|
adds r0, r2, 0
|
|
bl DestroySprite
|
|
_08091EEA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8091EB8
|
|
|
|
thumb_func_start sub_8091EF0
|
|
sub_8091EF0: @ 8091EF0
|
|
push {lr}
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_808BD94
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _08091F2C @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
movs r3, 0xDF
|
|
lsls r3, 3
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08091F38
|
|
lsls r0, r1, 2
|
|
ldr r1, _08091F30 @ =gUnknown_83D29D0
|
|
adds r0, r1
|
|
adds r3, 0x24
|
|
adds r1, r2, r3
|
|
ldrh r1, [r1]
|
|
lsls r1, 1
|
|
ldr r2, _08091F34 @ =gPlttBufferUnfaded
|
|
adds r1, r2
|
|
movs r2, 0x2
|
|
bl CpuSet
|
|
b _08091F50
|
|
.align 2, 0
|
|
_08091F2C: .4byte gUnknown_20397B0
|
|
_08091F30: .4byte gUnknown_83D29D0
|
|
_08091F34: .4byte gPlttBufferUnfaded
|
|
_08091F38:
|
|
lsls r0, r1, 2
|
|
ldr r1, _08091F54 @ =gUnknown_83D29D0
|
|
adds r0, r1
|
|
ldr r3, _08091F58 @ =0x0000071e
|
|
adds r1, r2, r3
|
|
ldrh r1, [r1]
|
|
lsls r1, 1
|
|
ldr r2, _08091F5C @ =gPlttBufferUnfaded
|
|
adds r1, r2
|
|
movs r2, 0x2
|
|
bl CpuSet
|
|
_08091F50:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091F54: .4byte gUnknown_83D29D0
|
|
_08091F58: .4byte 0x0000071e
|
|
_08091F5C: .4byte gPlttBufferUnfaded
|
|
thumb_func_end sub_8091EF0
|
|
|
|
thumb_func_start sub_8091F60
|
|
sub_8091F60: @ 8091F60
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
adds r1, r0, 0
|
|
lsrs r0, r1, 31
|
|
adds r1, r0
|
|
asrs r1, 1
|
|
movs r0, 0xB0
|
|
subs r0, r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8091F60
|
|
|
|
thumb_func_start sub_8091F80
|
|
sub_8091F80: @ 8091F80
|
|
push {r4,r5,lr}
|
|
ldr r0, _08091FFC @ =gUnknown_83D2B54
|
|
bl LoadSpriteSheet
|
|
movs r5, 0
|
|
_08091F8A:
|
|
lsls r1, r5, 4
|
|
adds r1, r5
|
|
lsls r1, 19
|
|
movs r0, 0xB8
|
|
lsls r0, 15
|
|
adds r1, r0
|
|
asrs r1, 16
|
|
ldr r0, _08092000 @ =gUnknown_83D2BB4
|
|
movs r2, 0x1C
|
|
movs r3, 0x16
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x40
|
|
beq _08091FDC
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08092004 @ =gSprites
|
|
adds r4, r0, r1
|
|
lsls r1, r5, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl StartSpriteAnim
|
|
movs r0, 0x1
|
|
cmp r5, 0
|
|
bne _08091FCA
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r1, 0
|
|
_08091FCA:
|
|
strh r0, [r4, 0x34]
|
|
ldr r0, _08092008 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 2
|
|
movs r2, 0xE6
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
adds r0, r1
|
|
str r4, [r0]
|
|
_08091FDC:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x1
|
|
bls _08091F8A
|
|
bl sub_80939AC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08091FF6
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
_08091FF6:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08091FFC: .4byte gUnknown_83D2B54
|
|
_08092000: .4byte gUnknown_83D2BB4
|
|
_08092004: .4byte gSprites
|
|
_08092008: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8091F80
|
|
|
|
thumb_func_start sub_809200C
|
|
sub_809200C: @ 809200C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r2, 0
|
|
ldr r7, _08092060 @ =gUnknown_20397B0
|
|
mov r12, r7
|
|
movs r6, 0xE6
|
|
lsls r6, 3
|
|
movs r4, 0
|
|
movs r3, 0x2
|
|
_08092020:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 2
|
|
adds r1, r6
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
strh r4, [r0, 0x24]
|
|
ldr r0, [r1]
|
|
strh r3, [r0, 0x2E]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1
|
|
bls _08092020
|
|
lsls r0, r5, 24
|
|
cmp r0, 0
|
|
bge _08092068
|
|
ldr r1, [r7]
|
|
movs r2, 0xE6
|
|
lsls r2, 3
|
|
adds r3, r1, r2
|
|
ldr r2, [r3]
|
|
movs r0, 0x1D
|
|
strh r0, [r2, 0x30]
|
|
ldr r0, _08092064 @ =0x00000734
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
movs r0, 0x5
|
|
strh r0, [r2, 0x30]
|
|
ldr r0, [r3]
|
|
movs r2, 0x48
|
|
b _08092084
|
|
.align 2, 0
|
|
_08092060: .4byte gUnknown_20397B0
|
|
_08092064: .4byte 0x00000734
|
|
_08092068:
|
|
ldr r1, [r7]
|
|
movs r2, 0xE6
|
|
lsls r2, 3
|
|
adds r3, r1, r2
|
|
ldr r2, [r3]
|
|
movs r0, 0x5
|
|
strh r0, [r2, 0x30]
|
|
ldr r0, _080920A8 @ =0x00000734
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
movs r0, 0x1D
|
|
strh r0, [r2, 0x30]
|
|
ldr r0, [r3]
|
|
movs r2, 0xF8
|
|
_08092084:
|
|
strh r2, [r0, 0x32]
|
|
ldr r0, [r1]
|
|
strh r2, [r0, 0x32]
|
|
ldr r1, [r7]
|
|
movs r2, 0xE6
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldr r2, [r0]
|
|
movs r0, 0
|
|
strh r0, [r2, 0x3C]
|
|
ldr r0, _080920A8 @ =0x00000734
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x3C]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080920A8: .4byte 0x00000734
|
|
thumb_func_end sub_809200C
|
|
|
|
thumb_func_start sub_80920AC
|
|
sub_80920AC: @ 80920AC
|
|
push {r4-r6,lr}
|
|
movs r3, 0
|
|
movs r5, 0
|
|
movs r6, 0x5
|
|
negs r6, r6
|
|
ldr r4, _080920F8 @ =gUnknown_20397B0
|
|
_080920B8:
|
|
ldr r1, [r4]
|
|
lsls r0, r3, 2
|
|
movs r2, 0xE6
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
adds r1, r0
|
|
ldr r2, [r1]
|
|
lsls r0, r3, 4
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r0, 0x5C
|
|
strh r0, [r2, 0x20]
|
|
ldr r0, [r1]
|
|
strh r5, [r0, 0x24]
|
|
ldr r1, [r1]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
adds r0, r6, 0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
cmp r3, 0x1
|
|
bls _080920B8
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080920F8: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80920AC
|
|
|
|
thumb_func_start sub_80920FC
|
|
sub_80920FC: @ 80920FC
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08092138
|
|
movs r2, 0
|
|
ldr r6, _08092134 @ =gUnknown_20397B0
|
|
movs r5, 0xE6
|
|
lsls r5, 3
|
|
movs r3, 0
|
|
movs r4, 0x1
|
|
_08092110:
|
|
ldr r1, [r6]
|
|
lsls r0, r2, 2
|
|
adds r1, r5
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
strh r4, [r0, 0x2E]
|
|
ldr r0, [r1]
|
|
strh r3, [r0, 0x30]
|
|
ldr r0, [r1]
|
|
strh r3, [r0, 0x32]
|
|
ldr r0, [r1]
|
|
strh r3, [r0, 0x36]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1
|
|
bls _08092110
|
|
b _08092158
|
|
.align 2, 0
|
|
_08092134: .4byte gUnknown_20397B0
|
|
_08092138:
|
|
movs r2, 0
|
|
ldr r5, _08092160 @ =gUnknown_20397B0
|
|
movs r4, 0xE6
|
|
lsls r4, 3
|
|
movs r3, 0
|
|
_08092142:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 2
|
|
adds r0, r4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
strh r3, [r0, 0x2E]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1
|
|
bls _08092142
|
|
_08092158:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092160: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80920FC
|
|
|
|
thumb_func_start sub_8092164
|
|
sub_8092164: @ 8092164
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x4
|
|
bhi _08092230
|
|
lsls r0, 2
|
|
ldr r1, _0809217C @ =_08092180
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809217C: .4byte _08092180
|
|
.align 2, 0
|
|
_08092180:
|
|
.4byte _08092194
|
|
.4byte _0809219A
|
|
.4byte _080921C8
|
|
.4byte _080921CE
|
|
.4byte _08092220
|
|
_08092194:
|
|
movs r0, 0
|
|
strh r0, [r2, 0x24]
|
|
b _08092230
|
|
_0809219A:
|
|
ldrh r0, [r2, 0x30]
|
|
adds r0, 0x1
|
|
movs r1, 0
|
|
strh r0, [r2, 0x30]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3
|
|
ble _08092230
|
|
strh r1, [r2, 0x30]
|
|
ldrh r0, [r2, 0x34]
|
|
ldrh r3, [r2, 0x24]
|
|
adds r0, r3
|
|
strh r0, [r2, 0x24]
|
|
ldrh r0, [r2, 0x32]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x32]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x5
|
|
ble _08092230
|
|
strh r1, [r2, 0x32]
|
|
strh r1, [r2, 0x24]
|
|
b _08092230
|
|
_080921C8:
|
|
movs r0, 0x3
|
|
strh r0, [r2, 0x2E]
|
|
b _08092230
|
|
_080921CE:
|
|
ldr r0, _08092218 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r0, _0809221C @ =0x000002ce
|
|
adds r1, r0
|
|
ldrh r0, [r2, 0x20]
|
|
ldrh r1, [r1]
|
|
subs r0, r1
|
|
strh r0, [r2, 0x20]
|
|
subs r0, 0x49
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xAE
|
|
bls _080921F4
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r0, [r3]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
_080921F4:
|
|
ldrh r0, [r2, 0x30]
|
|
subs r0, 0x1
|
|
strh r0, [r2, 0x30]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _08092230
|
|
ldrh r0, [r2, 0x32]
|
|
strh r0, [r2, 0x20]
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r1, [r3]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
movs r0, 0x4
|
|
strh r0, [r2, 0x2E]
|
|
b _08092230
|
|
.align 2, 0
|
|
_08092218: .4byte gUnknown_20397B0
|
|
_0809221C: .4byte 0x000002ce
|
|
_08092220:
|
|
ldr r0, _08092234 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08092238 @ =0x000002ce
|
|
adds r0, r1
|
|
ldrh r1, [r2, 0x20]
|
|
ldrh r0, [r0]
|
|
subs r1, r0
|
|
strh r1, [r2, 0x20]
|
|
_08092230:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092234: .4byte gUnknown_20397B0
|
|
_08092238: .4byte 0x000002ce
|
|
thumb_func_end sub_8092164
|
|
|
|
thumb_func_start sub_809223C
|
|
sub_809223C: @ 809223C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldr r4, [sp, 0x18]
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r8, r3
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080922A8 @ =gUnknown_83D2BB4
|
|
lsls r5, 16
|
|
asrs r5, 16
|
|
lsls r6, 16
|
|
asrs r6, 16
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
adds r3, r4, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x40
|
|
beq _080922B4
|
|
movs r1, 0x1
|
|
ands r1, r7
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
ldr r5, _080922AC @ =gSprites
|
|
adds r6, r4, r5
|
|
adds r0, r6, 0
|
|
bl StartSpriteAnim
|
|
movs r0, 0x3
|
|
mov r1, r8
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r2, [r6, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r6, 0x5]
|
|
adds r5, 0x1C
|
|
adds r4, r5
|
|
ldr r0, _080922B0 @ =SpriteCallbackDummy
|
|
str r0, [r4]
|
|
adds r0, r6, 0
|
|
b _080922B6
|
|
.align 2, 0
|
|
_080922A8: .4byte gUnknown_83D2BB4
|
|
_080922AC: .4byte gSprites
|
|
_080922B0: .4byte SpriteCallbackDummy
|
|
_080922B4:
|
|
movs r0, 0
|
|
_080922B6:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809223C
|
|
|
|
thumb_func_start sub_80922C0
|
|
sub_80922C0: @ 80922C0
|
|
push {lr}
|
|
ldr r0, _080922D4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x1]
|
|
cmp r1, 0x1
|
|
beq _080922DC
|
|
ldr r1, _080922D8 @ =gUnknown_2039820
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _080922E0
|
|
.align 2, 0
|
|
_080922D4: .4byte gUnknown_20397B0
|
|
_080922D8: .4byte gUnknown_2039820
|
|
_080922DC:
|
|
ldr r0, _0809231C @ =gUnknown_2039820
|
|
strb r1, [r0]
|
|
_080922E0:
|
|
ldr r0, _08092320 @ =gUnknown_2039821
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, _08092324 @ =gUnknown_2039822
|
|
strb r1, [r0]
|
|
ldr r0, _08092328 @ =gUnknown_2039823
|
|
strb r1, [r0]
|
|
ldr r0, _0809232C @ =gUnknown_2039824
|
|
strb r1, [r0]
|
|
ldr r0, _08092330 @ =gUnknown_2039825
|
|
strb r1, [r0]
|
|
bl sub_8092B50
|
|
bl sub_8094AD8
|
|
ldr r2, _08092334 @ =gUnknown_20397B0
|
|
ldr r0, [r2]
|
|
ldr r1, _08092338 @ =0x00000cd2
|
|
adds r0, r1
|
|
movs r3, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r1, _0809233C @ =0x000021ef
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
bl sub_8093A10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809231C: .4byte gUnknown_2039820
|
|
_08092320: .4byte gUnknown_2039821
|
|
_08092324: .4byte gUnknown_2039822
|
|
_08092328: .4byte gUnknown_2039823
|
|
_0809232C: .4byte gUnknown_2039824
|
|
_08092330: .4byte gUnknown_2039825
|
|
_08092334: .4byte gUnknown_20397B0
|
|
_08092338: .4byte 0x00000cd2
|
|
_0809233C: .4byte 0x000021ef
|
|
thumb_func_end sub_80922C0
|
|
|
|
thumb_func_start sub_8092340
|
|
sub_8092340: @ 8092340
|
|
push {lr}
|
|
bl sub_8094AD8
|
|
bl sub_8093AAC
|
|
ldr r3, _08092380 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r1, _08092384 @ =0x00000cd2
|
|
adds r0, r1
|
|
movs r2, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
ldr r1, _08092388 @ =0x000021ef
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
ldr r0, _0809238C @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809237A
|
|
ldr r0, [r3]
|
|
ldr r1, _08092390 @ =0x000020a0
|
|
adds r0, r1
|
|
ldr r1, _08092394 @ =gUnknown_20397BC
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
bl sub_8090070
|
|
_0809237A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092380: .4byte gUnknown_20397B0
|
|
_08092384: .4byte 0x00000cd2
|
|
_08092388: .4byte 0x000021ef
|
|
_0809238C: .4byte gUnknown_2039822
|
|
_08092390: .4byte 0x000020a0
|
|
_08092394: .4byte gUnknown_20397BC
|
|
thumb_func_end sub_8092340
|
|
|
|
thumb_func_start sub_8092398
|
|
sub_8092398: @ 8092398
|
|
push {r4-r6,lr}
|
|
adds r4, r2, 0
|
|
adds r6, r3, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
cmp r0, 0x4
|
|
bhi _08092450
|
|
lsls r0, 2
|
|
ldr r1, _080923B4 @ =_080923B8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080923B4: .4byte _080923B8
|
|
.align 2, 0
|
|
_080923B8:
|
|
.4byte _080923CC
|
|
.4byte _080923FA
|
|
.4byte _08092422
|
|
.4byte _0809242A
|
|
.4byte _08092448
|
|
_080923CC:
|
|
adds r0, r5, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, 0x64
|
|
strh r1, [r4]
|
|
adds r0, r5, 0
|
|
movs r1, 0x6
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, 0x20
|
|
strh r1, [r6]
|
|
b _08092450
|
|
_080923FA:
|
|
cmp r5, 0
|
|
bne _08092406
|
|
movs r0, 0x68
|
|
strh r0, [r4]
|
|
movs r0, 0x34
|
|
b _0809244E
|
|
_08092406:
|
|
cmp r5, 0x6
|
|
bne _08092412
|
|
movs r0, 0x98
|
|
strh r0, [r4]
|
|
movs r0, 0x84
|
|
b _0809244E
|
|
_08092412:
|
|
movs r0, 0x98
|
|
strh r0, [r4]
|
|
subs r1, r5, 0x1
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, 0x4
|
|
b _0809244E
|
|
_08092422:
|
|
movs r0, 0xA2
|
|
strh r0, [r4]
|
|
movs r0, 0xC
|
|
b _0809244E
|
|
_0809242A:
|
|
ldr r0, _08092444 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
movs r1, 0xE
|
|
cmp r0, 0
|
|
beq _08092436
|
|
movs r1, 0x8
|
|
_08092436:
|
|
strh r1, [r6]
|
|
movs r0, 0x58
|
|
muls r0, r5
|
|
adds r0, 0x78
|
|
strh r0, [r4]
|
|
b _08092450
|
|
.align 2, 0
|
|
_08092444: .4byte gUnknown_2039822
|
|
_08092448:
|
|
movs r0, 0xA0
|
|
strh r0, [r4]
|
|
movs r0, 0x60
|
|
_0809244E:
|
|
strh r0, [r6]
|
|
_08092450:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092398
|
|
|
|
thumb_func_start sub_8092458
|
|
sub_8092458: @ 8092458
|
|
push {lr}
|
|
ldr r0, _08092480 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _0809248C
|
|
cmp r0, 0x1
|
|
bne _080924A0
|
|
ldr r0, _08092484 @ =gUnknown_2039821
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08092488 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
b _08092496
|
|
.align 2, 0
|
|
_08092480: .4byte gUnknown_2039820
|
|
_08092484: .4byte gUnknown_2039821
|
|
_08092488: .4byte gPlayerParty
|
|
_0809248C:
|
|
ldr r0, _0809249C @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
movs r1, 0xB
|
|
bl GetBoxMonDataFromSelectedBox
|
|
_08092496:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _080924A2
|
|
.align 2, 0
|
|
_0809249C: .4byte gUnknown_2039821
|
|
_080924A0:
|
|
movs r0, 0
|
|
_080924A2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092458
|
|
|
|
thumb_func_start sub_80924A8
|
|
sub_80924A8: @ 80924A8
|
|
push {r4-r7,lr}
|
|
ldr r7, _080924C4 @ =gUnknown_20397B0
|
|
ldr r5, [r7]
|
|
ldr r0, _080924C8 @ =0x00000ccc
|
|
adds r1, r5, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _080924D6
|
|
ldrb r0, [r5, 0x1]
|
|
cmp r0, 0x3
|
|
beq _080924CC
|
|
movs r0, 0
|
|
b _080925F4
|
|
.align 2, 0
|
|
_080924C4: .4byte gUnknown_20397B0
|
|
_080924C8: .4byte 0x00000ccc
|
|
_080924CC:
|
|
bl sub_809610C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _080925F4
|
|
_080924D6:
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _080925D4
|
|
ldr r1, _080925C4 @ =0x00000cb8
|
|
adds r4, r5, r1
|
|
movs r2, 0xCC
|
|
lsls r2, 4
|
|
adds r1, r5, r2
|
|
ldr r0, [r4]
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
str r0, [r4]
|
|
ldr r0, _080925C8 @ =0x00000cbc
|
|
adds r3, r5, r0
|
|
adds r2, 0x4
|
|
adds r1, r5, r2
|
|
ldr r0, [r3]
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
str r0, [r3]
|
|
movs r6, 0xCB
|
|
lsls r6, 4
|
|
adds r1, r5, r6
|
|
ldr r2, [r1]
|
|
ldr r0, [r4]
|
|
asrs r0, 8
|
|
strh r0, [r2, 0x20]
|
|
ldr r2, [r1]
|
|
ldr r0, [r3]
|
|
asrs r0, 8
|
|
strh r0, [r2, 0x22]
|
|
ldr r1, [r1]
|
|
ldrh r2, [r1, 0x20]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r1, r3]
|
|
movs r3, 0x80
|
|
lsls r3, 1
|
|
cmp r0, r3
|
|
ble _08092534
|
|
ldr r4, _080925CC @ =0xffffff00
|
|
adds r0, r2, r4
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r0, 0x40
|
|
strh r0, [r1, 0x20]
|
|
_08092534:
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
ldrh r2, [r1, 0x20]
|
|
movs r4, 0x20
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0x3F
|
|
bgt _08092550
|
|
movs r0, 0x40
|
|
subs r0, r2
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
subs r0, r3, r0
|
|
strh r0, [r1, 0x20]
|
|
_08092550:
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
ldr r1, [r0]
|
|
ldrh r2, [r1, 0x22]
|
|
movs r3, 0x22
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0xB0
|
|
ble _0809256C
|
|
adds r0, r2, 0
|
|
subs r0, 0xB0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
subs r0, 0x10
|
|
strh r0, [r1, 0x22]
|
|
_0809256C:
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
ldr r2, [r0]
|
|
ldrh r3, [r2, 0x22]
|
|
movs r4, 0x22
|
|
ldrsh r0, [r2, r4]
|
|
movs r1, 0x10
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bge _0809258C
|
|
subs r0, r1, r3
|
|
movs r1, 0xB0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
subs r1, r0
|
|
strh r1, [r2, 0x22]
|
|
_0809258C:
|
|
ldr r0, [r7]
|
|
ldr r2, _080925D0 @ =0x00000cd3
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080925F2
|
|
subs r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080925F2
|
|
ldr r0, [r7]
|
|
adds r0, r6
|
|
ldr r2, [r0]
|
|
adds r2, 0x3F
|
|
ldrb r3, [r2]
|
|
lsrs r1, r3, 1
|
|
movs r0, 0x1
|
|
eors r1, r0
|
|
ands r1, r0
|
|
lsls r1, 1
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
b _080925F2
|
|
.align 2, 0
|
|
_080925C4: .4byte 0x00000cb8
|
|
_080925C8: .4byte 0x00000cbc
|
|
_080925CC: .4byte 0xffffff00
|
|
_080925D0: .4byte 0x00000cd3
|
|
_080925D4:
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r2, r5, r3
|
|
ldr r1, [r2]
|
|
ldr r4, _080925FC @ =0x00000cc8
|
|
adds r0, r5, r4
|
|
ldrh r0, [r0]
|
|
strh r0, [r1, 0x20]
|
|
ldr r1, [r2]
|
|
ldr r2, _08092600 @ =0x00000cca
|
|
adds r0, r5, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r1, 0x22]
|
|
bl sub_80929B0
|
|
_080925F2:
|
|
movs r0, 0x1
|
|
_080925F4:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080925FC: .4byte 0x00000cc8
|
|
_08092600: .4byte 0x00000cca
|
|
thumb_func_end sub_80924A8
|
|
|
|
thumb_func_start sub_8092604
|
|
sub_8092604: @ 8092604
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r6, sp
|
|
adds r6, 0x2
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
mov r2, sp
|
|
adds r3, r6, 0
|
|
bl sub_8092398
|
|
ldr r1, _08092654 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
movs r2, 0xCD
|
|
lsls r2, 4
|
|
adds r0, r2
|
|
strb r4, [r0]
|
|
ldr r0, [r1]
|
|
ldr r3, _08092658 @ =0x00000cd1
|
|
adds r0, r3
|
|
strb r5, [r0]
|
|
ldr r1, [r1]
|
|
mov r0, sp
|
|
ldrh r2, [r0]
|
|
subs r3, 0x9
|
|
adds r0, r1, r3
|
|
strh r2, [r0]
|
|
ldrh r0, [r6]
|
|
ldr r2, _0809265C @ =0x00000cca
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092654: .4byte gUnknown_20397B0
|
|
_08092658: .4byte 0x00000cd1
|
|
_0809265C: .4byte 0x00000cca
|
|
thumb_func_end sub_8092604
|
|
|
|
thumb_func_start sub_8092660
|
|
sub_8092660: @ 8092660
|
|
push {r4-r7,lr}
|
|
ldr r0, _0809267C @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r3, _08092680 @ =0x00000cce
|
|
adds r1, r2, r3
|
|
ldrh r1, [r1]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _08092688
|
|
ldr r0, _08092684 @ =0x00000ccc
|
|
adds r1, r2, r0
|
|
movs r0, 0xC
|
|
b _0809268E
|
|
.align 2, 0
|
|
_0809267C: .4byte gUnknown_20397B0
|
|
_08092680: .4byte 0x00000cce
|
|
_08092684: .4byte 0x00000ccc
|
|
_08092688:
|
|
ldr r3, _080926D4 @ =0x00000ccc
|
|
adds r1, r2, r3
|
|
movs r0, 0x6
|
|
_0809268E:
|
|
strh r0, [r1]
|
|
ldr r1, [r4]
|
|
ldr r0, _080926D8 @ =0x00000cd3
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
beq _080926A6
|
|
ldr r3, _080926D4 @ =0x00000ccc
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
lsrs r0, 1
|
|
strb r0, [r2]
|
|
_080926A6:
|
|
ldr r2, [r4]
|
|
ldr r1, _080926DC @ =0x00000cce
|
|
adds r0, r2, r1
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _080926E4
|
|
cmp r1, 0x1
|
|
beq _08092700
|
|
ldr r3, _080926E0 @ =0x00000cca
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x22
|
|
ldrsh r0, [r0, r2]
|
|
b _08092716
|
|
.align 2, 0
|
|
_080926D4: .4byte 0x00000ccc
|
|
_080926D8: .4byte 0x00000cd3
|
|
_080926DC: .4byte 0x00000cce
|
|
_080926E0: .4byte 0x00000cca
|
|
_080926E4:
|
|
ldr r3, _080926FC @ =0x00000cca
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x22
|
|
ldrsh r0, [r0, r2]
|
|
adds r0, 0xC0
|
|
b _08092716
|
|
.align 2, 0
|
|
_080926FC: .4byte 0x00000cca
|
|
_08092700:
|
|
ldr r3, _08092744 @ =0x00000cca
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x22
|
|
ldrsh r0, [r0, r2]
|
|
subs r0, 0xC0
|
|
_08092716:
|
|
subs r7, r1, r0
|
|
ldr r2, [r4]
|
|
ldr r3, _08092748 @ =0x00000ccf
|
|
adds r0, r2, r3
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08092750
|
|
cmp r1, 0x1
|
|
beq _0809276C
|
|
ldr r1, _0809274C @ =0x00000cc8
|
|
adds r0, r2, r1
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x20
|
|
ldrsh r0, [r0, r2]
|
|
b _08092782
|
|
.align 2, 0
|
|
_08092744: .4byte 0x00000cca
|
|
_08092748: .4byte 0x00000ccf
|
|
_0809274C: .4byte 0x00000cc8
|
|
_08092750:
|
|
ldr r3, _08092768 @ =0x00000cc8
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x20
|
|
ldrsh r0, [r0, r2]
|
|
adds r0, 0xC0
|
|
b _08092782
|
|
.align 2, 0
|
|
_08092768: .4byte 0x00000cc8
|
|
_0809276C:
|
|
ldr r3, _080927D4 @ =0x00000cc8
|
|
adds r0, r2, r3
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r2, 0x20
|
|
ldrsh r0, [r0, r2]
|
|
subs r0, 0xC0
|
|
_08092782:
|
|
subs r0, r1, r0
|
|
lsls r7, 8
|
|
lsls r0, 8
|
|
ldr r4, [r4]
|
|
movs r3, 0xCC
|
|
lsls r3, 4
|
|
adds r6, r4, r3
|
|
ldr r1, _080927D8 @ =0x00000ccc
|
|
adds r5, r4, r1
|
|
ldrh r1, [r5]
|
|
bl __divsi3
|
|
str r0, [r6]
|
|
ldr r2, _080927DC @ =0x00000cc4
|
|
adds r6, r4, r2
|
|
ldrh r1, [r5]
|
|
adds r0, r7, 0
|
|
bl __divsi3
|
|
str r0, [r6]
|
|
ldr r3, _080927E0 @ =0x00000cb8
|
|
adds r2, r4, r3
|
|
movs r0, 0xCB
|
|
lsls r0, 4
|
|
adds r1, r4, r0
|
|
ldr r0, [r1]
|
|
movs r3, 0x20
|
|
ldrsh r0, [r0, r3]
|
|
lsls r0, 8
|
|
str r0, [r2]
|
|
ldr r0, _080927E4 @ =0x00000cbc
|
|
adds r4, r0
|
|
ldr r0, [r1]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r0, r1]
|
|
lsls r0, 8
|
|
str r0, [r4]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080927D4: .4byte 0x00000cc8
|
|
_080927D8: .4byte 0x00000ccc
|
|
_080927DC: .4byte 0x00000cc4
|
|
_080927E0: .4byte 0x00000cb8
|
|
_080927E4: .4byte 0x00000cbc
|
|
thumb_func_end sub_8092660
|
|
|
|
thumb_func_start sub_80927E8
|
|
sub_80927E8: @ 80927E8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_8092604
|
|
bl sub_8092660
|
|
ldr r5, _0809282C @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x3
|
|
beq _08092838
|
|
ldr r2, _08092830 @ =0x000021ef
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092852
|
|
ldr r0, _08092834 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092852
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
b _08092852
|
|
.align 2, 0
|
|
_0809282C: .4byte gUnknown_20397B0
|
|
_08092830: .4byte 0x000021ef
|
|
_08092834: .4byte gUnknown_2039822
|
|
_08092838:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092852
|
|
ldr r0, [r5]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
_08092852:
|
|
ldr r0, _08092874 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _080928AC
|
|
ldr r0, _08092878 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _08092880
|
|
ldr r0, _0809287C @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_8095D44
|
|
b _0809288E
|
|
.align 2, 0
|
|
_08092874: .4byte gUnknown_20397B0
|
|
_08092878: .4byte gUnknown_2039820
|
|
_0809287C: .4byte gUnknown_2039821
|
|
_08092880:
|
|
cmp r0, 0x1
|
|
bne _0809288E
|
|
ldr r0, _0809289C @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_8095D44
|
|
_0809288E:
|
|
cmp r4, 0
|
|
bne _080928A0
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
bl sub_8095C84
|
|
b _080928AC
|
|
.align 2, 0
|
|
_0809289C: .4byte gUnknown_2039821
|
|
_080928A0:
|
|
cmp r4, 0x1
|
|
bne _080928D8
|
|
movs r0, 0x1
|
|
adds r1, r6, 0
|
|
bl sub_8095C84
|
|
_080928AC:
|
|
cmp r4, 0x1
|
|
bne _080928D8
|
|
ldr r0, _08092920 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _080928D8
|
|
ldr r1, _08092924 @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r2, _08092928 @ =0x00000cd2
|
|
adds r0, r2
|
|
strb r4, [r0]
|
|
ldr r0, [r1]
|
|
ldr r1, _0809292C @ =0x00000cb4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
_080928D8:
|
|
cmp r4, 0
|
|
beq _08092930
|
|
cmp r4, 0
|
|
blt _080929A0
|
|
cmp r4, 0x3
|
|
bgt _080929A0
|
|
ldr r5, _08092924 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r2
|
|
ldr r4, [r0]
|
|
ldrb r1, [r4, 0x5]
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
movs r3, 0x4
|
|
orrs r0, r3
|
|
strb r0, [r4, 0x5]
|
|
ldr r0, [r5]
|
|
ldr r4, _0809292C @ =0x00000cb4
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
orrs r0, r3
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x5]
|
|
ands r2, r0
|
|
orrs r2, r3
|
|
strb r2, [r1, 0x5]
|
|
b _080929A0
|
|
.align 2, 0
|
|
_08092920: .4byte gUnknown_2039820
|
|
_08092924: .4byte gUnknown_20397B0
|
|
_08092928: .4byte 0x00000cd2
|
|
_0809292C: .4byte 0x00000cb4
|
|
_08092930:
|
|
ldr r3, _08092964 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
ldr r2, _08092968 @ =0x000021ef
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08092970
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x5]
|
|
ldr r0, [r3]
|
|
ldr r1, _0809296C @ =0x00000cb4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
b _080929A0
|
|
.align 2, 0
|
|
_08092964: .4byte gUnknown_20397B0
|
|
_08092968: .4byte 0x000021ef
|
|
_0809296C: .4byte 0x00000cb4
|
|
_08092970:
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
ldr r0, _080929A8 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _080929A0
|
|
ldr r0, _080929AC @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080929A0
|
|
movs r0, 0x2
|
|
bl sub_8091184
|
|
_080929A0:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080929A8: .4byte gUnknown_2039820
|
|
_080929AC: .4byte gUnknown_2039822
|
|
thumb_func_end sub_80927E8
|
|
|
|
thumb_func_start sub_80929B0
|
|
sub_80929B0: @ 80929B0
|
|
push {r4,lr}
|
|
ldr r1, _080929F4 @ =gUnknown_2039820
|
|
ldr r4, _080929F8 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
movs r3, 0xCD
|
|
lsls r3, 4
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r1, _080929FC @ =gUnknown_2039821
|
|
adds r3, 0x1
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0x3
|
|
beq _08092A08
|
|
ldr r1, _08092A00 @ =0x000021ef
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092A22
|
|
ldr r0, _08092A04 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092A22
|
|
subs r3, 0x21
|
|
adds r0, r2, r3
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
b _08092A22
|
|
.align 2, 0
|
|
_080929F4: .4byte gUnknown_2039820
|
|
_080929F8: .4byte gUnknown_20397B0
|
|
_080929FC: .4byte gUnknown_2039821
|
|
_08092A00: .4byte 0x000021ef
|
|
_08092A04: .4byte gUnknown_2039822
|
|
_08092A08:
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092A22
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
_08092A22:
|
|
bl sub_8093A10
|
|
ldr r0, _08092A3C @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08092A52
|
|
cmp r0, 0x1
|
|
bgt _08092A40
|
|
cmp r0, 0
|
|
beq _08092A74
|
|
b _08092AD0
|
|
.align 2, 0
|
|
_08092A3C: .4byte gUnknown_2039820
|
|
_08092A40:
|
|
cmp r0, 0x2
|
|
beq _08092A4A
|
|
cmp r0, 0x3
|
|
bne _08092AD0
|
|
b _08092A62
|
|
_08092A4A:
|
|
movs r0, 0x1
|
|
bl sub_80920FC
|
|
b _08092AD0
|
|
_08092A52:
|
|
ldr r0, _08092A6C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _08092A70 @ =0x00000cb4
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0xD
|
|
strb r1, [r0]
|
|
_08092A62:
|
|
movs r0, 0x1
|
|
bl sub_8091184
|
|
b _08092AD0
|
|
.align 2, 0
|
|
_08092A6C: .4byte gUnknown_20397B0
|
|
_08092A70: .4byte 0x00000cb4
|
|
_08092A74:
|
|
ldr r4, _08092AD8 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r3, _08092ADC @ =0x000021ef
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092AD0
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r3, [r0]
|
|
ldrb r1, [r3, 0x5]
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x5]
|
|
ldr r0, [r4]
|
|
ldr r3, _08092AE0 @ =0x00000cb4
|
|
adds r0, r3
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x5]
|
|
ands r2, r0
|
|
movs r0, 0x8
|
|
orrs r2, r0
|
|
strb r2, [r1, 0x5]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
adds r0, 0x43
|
|
movs r1, 0x15
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x2
|
|
bl sub_8091184
|
|
_08092AD0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092AD8: .4byte gUnknown_20397B0
|
|
_08092ADC: .4byte 0x000021ef
|
|
_08092AE0: .4byte 0x00000cb4
|
|
thumb_func_end sub_80929B0
|
|
|
|
thumb_func_start sub_8092AE4
|
|
sub_8092AE4: @ 8092AE4
|
|
push {lr}
|
|
ldr r0, _08092AF4 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092AF8
|
|
movs r3, 0
|
|
b _08092B06
|
|
.align 2, 0
|
|
_08092AF4: .4byte gUnknown_2039822
|
|
_08092AF8:
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x5
|
|
bls _08092B06
|
|
movs r3, 0x5
|
|
_08092B06:
|
|
ldr r0, _08092B34 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08092B26
|
|
ldr r0, _08092B38 @ =0x00000cd3
|
|
adds r1, r2, r0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
_08092B26:
|
|
movs r0, 0x1
|
|
adds r1, r3, 0
|
|
bl sub_80927E8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092B34: .4byte gUnknown_20397B0
|
|
_08092B38: .4byte 0x00000cd3
|
|
thumb_func_end sub_8092AE4
|
|
|
|
thumb_func_start sub_8092B3C
|
|
sub_8092B3C: @ 8092B3C
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
bl sub_80927E8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092B3C
|
|
|
|
thumb_func_start sub_8092B50
|
|
sub_8092B50: @ 8092B50
|
|
ldr r1, _08092B58 @ =gUnknown_2039826
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08092B58: .4byte gUnknown_2039826
|
|
thumb_func_end sub_8092B50
|
|
|
|
thumb_func_start sub_8092B5C
|
|
sub_8092B5C: @ 8092B5C
|
|
ldr r0, _08092B68 @ =gUnknown_2039826
|
|
ldr r1, _08092B6C @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08092B68: .4byte gUnknown_2039826
|
|
_08092B6C: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8092B5C
|
|
|
|
thumb_func_start sub_8092B70
|
|
sub_8092B70: @ 8092B70
|
|
ldr r0, _08092B78 @ =gUnknown_2039826
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08092B78: .4byte gUnknown_2039826
|
|
thumb_func_end sub_8092B70
|
|
|
|
thumb_func_start sub_8092B7C
|
|
sub_8092B7C: @ 8092B7C
|
|
lsls r0, 24
|
|
ldr r1, _08092B9C @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _08092BA0 @ =0x00000d88
|
|
adds r3, r1, r2
|
|
ldr r2, _08092BA4 @ =gUnknown_83D346C
|
|
lsrs r0, 22
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
ldr r0, _08092BA8 @ =0x00000d8c
|
|
adds r1, r0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08092B9C: .4byte gUnknown_20397B0
|
|
_08092BA0: .4byte 0x00000d88
|
|
_08092BA4: .4byte gUnknown_83D346C
|
|
_08092BA8: .4byte 0x00000d8c
|
|
thumb_func_end sub_8092B7C
|
|
|
|
thumb_func_start sub_8092BAC
|
|
sub_8092BAC: @ 8092BAC
|
|
push {lr}
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092BCC
|
|
ldr r0, _08092BC0 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _08092BC4 @ =0x00000d88
|
|
adds r1, r2
|
|
ldr r2, _08092BC8 @ =sub_8092E00
|
|
b _08092BD6
|
|
.align 2, 0
|
|
_08092BC0: .4byte gUnknown_20397B0
|
|
_08092BC4: .4byte 0x00000d88
|
|
_08092BC8: .4byte sub_8092E00
|
|
_08092BCC:
|
|
ldr r0, _08092BE8 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _08092BEC @ =0x00000d88
|
|
adds r1, r2
|
|
ldr r2, _08092BF0 @ =sub_8092E10
|
|
_08092BD6:
|
|
str r2, [r1]
|
|
ldr r0, [r0]
|
|
ldr r1, _08092BF4 @ =0x00000d8c
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092BE8: .4byte gUnknown_20397B0
|
|
_08092BEC: .4byte 0x00000d88
|
|
_08092BF0: .4byte sub_8092E10
|
|
_08092BF4: .4byte 0x00000d8c
|
|
thumb_func_end sub_8092BAC
|
|
|
|
thumb_func_start sub_8092BF8
|
|
sub_8092BF8: @ 8092BF8
|
|
push {lr}
|
|
ldr r0, _08092C10 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08092C14 @ =0x00000d88
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08092C10: .4byte gUnknown_20397B0
|
|
_08092C14: .4byte 0x00000d88
|
|
thumb_func_end sub_8092BF8
|
|
|
|
thumb_func_start sub_8092C18
|
|
sub_8092C18: @ 8092C18
|
|
push {r4,r5,lr}
|
|
ldr r4, _08092C34 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r5, _08092C38 @ =0x00000d8c
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08092C68
|
|
cmp r0, 0x1
|
|
bgt _08092C3C
|
|
cmp r0, 0
|
|
beq _08092C46
|
|
b _08092C9C
|
|
.align 2, 0
|
|
_08092C34: .4byte gUnknown_20397B0
|
|
_08092C38: .4byte 0x00000d8c
|
|
_08092C3C:
|
|
cmp r0, 0x2
|
|
beq _08092C88
|
|
cmp r0, 0x3
|
|
beq _08092C4E
|
|
b _08092C9C
|
|
_08092C46:
|
|
ldr r0, _08092C54 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08092C58
|
|
_08092C4E:
|
|
movs r0, 0
|
|
b _08092C9E
|
|
.align 2, 0
|
|
_08092C54: .4byte gUnknown_2039822
|
|
_08092C58:
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
bl StartSpriteAnim
|
|
b _08092C92
|
|
_08092C68:
|
|
bl sub_8092E20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092C9C
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x3
|
|
bl StartSpriteAnim
|
|
bl sub_8092E80
|
|
b _08092C92
|
|
_08092C88:
|
|
bl sub_8092E54
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092C9C
|
|
_08092C92:
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_08092C9C:
|
|
movs r0, 0x1
|
|
_08092C9E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092C18
|
|
|
|
thumb_func_start sub_8092CA4
|
|
sub_8092CA4: @ 8092CA4
|
|
push {r4,r5,lr}
|
|
ldr r4, _08092CC0 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r5, _08092CC4 @ =0x00000d8c
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08092CEE
|
|
cmp r0, 0x1
|
|
bgt _08092CC8
|
|
cmp r0, 0
|
|
beq _08092CCE
|
|
b _08092D18
|
|
.align 2, 0
|
|
_08092CC0: .4byte gUnknown_20397B0
|
|
_08092CC4: .4byte 0x00000d8c
|
|
_08092CC8:
|
|
cmp r0, 0x2
|
|
beq _08092D14
|
|
b _08092D18
|
|
_08092CCE:
|
|
bl sub_8092E20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092D18
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
bl StartSpriteAnim
|
|
bl sub_8092EF4
|
|
b _08092D08
|
|
_08092CEE:
|
|
bl sub_8092E54
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092D18
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
_08092D08:
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08092D18
|
|
_08092D14:
|
|
movs r0, 0
|
|
b _08092D1A
|
|
_08092D18:
|
|
movs r0, 0x1
|
|
_08092D1A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092CA4
|
|
|
|
thumb_func_start sub_8092D20
|
|
sub_8092D20: @ 8092D20
|
|
push {r4,r5,lr}
|
|
ldr r4, _08092D3C @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r5, _08092D40 @ =0x00000d8c
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08092DB4
|
|
cmp r0, 0x1
|
|
bgt _08092D44
|
|
cmp r0, 0
|
|
beq _08092D4A
|
|
b _08092DF8
|
|
.align 2, 0
|
|
_08092D3C: .4byte gUnknown_20397B0
|
|
_08092D40: .4byte 0x00000d8c
|
|
_08092D44:
|
|
cmp r0, 0x2
|
|
beq _08092DF4
|
|
b _08092DF8
|
|
_08092D4A:
|
|
ldr r0, _08092D64 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _08092D6C
|
|
cmp r0, 0x1
|
|
bne _08092DF4
|
|
ldr r0, _08092D68 @ =0x00000d8d
|
|
adds r1, r0
|
|
movs r0, 0xE
|
|
b _08092D76
|
|
.align 2, 0
|
|
_08092D64: .4byte gUnknown_2039820
|
|
_08092D68: .4byte 0x00000d8d
|
|
_08092D6C:
|
|
bl StorageGetCurrentBox
|
|
ldr r1, [r4]
|
|
ldr r2, _08092DA4 @ =0x00000d8d
|
|
adds r1, r2
|
|
_08092D76:
|
|
strb r0, [r1]
|
|
ldr r4, _08092DA8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
bl StartSpriteAnim
|
|
ldr r0, [r4]
|
|
ldr r2, _08092DA4 @ =0x00000d8d
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ldr r1, _08092DAC @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
bl sub_8090E08
|
|
ldr r1, [r4]
|
|
ldr r0, _08092DB0 @ =0x00000d8c
|
|
adds r1, r0
|
|
b _08092DE2
|
|
.align 2, 0
|
|
_08092DA4: .4byte 0x00000d8d
|
|
_08092DA8: .4byte gUnknown_20397B0
|
|
_08092DAC: .4byte gUnknown_2039821
|
|
_08092DB0: .4byte 0x00000d8c
|
|
_08092DB4:
|
|
bl sub_8090E74
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08092DF8
|
|
ldr r0, [r4]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x3
|
|
bl StartSpriteAnim
|
|
ldr r0, [r4]
|
|
ldr r2, _08092DEC @ =0x00000d8d
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ldr r1, _08092DF0 @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
bl diegohint1
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
_08092DE2:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _08092DF8
|
|
.align 2, 0
|
|
_08092DEC: .4byte 0x00000d8d
|
|
_08092DF0: .4byte gUnknown_2039821
|
|
_08092DF4:
|
|
movs r0, 0
|
|
b _08092DFA
|
|
_08092DF8:
|
|
movs r0, 0x1
|
|
_08092DFA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092D20
|
|
|
|
thumb_func_start sub_8092E00
|
|
sub_8092E00: @ 8092E00
|
|
push {lr}
|
|
bl sub_8092E20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092E00
|
|
|
|
thumb_func_start sub_8092E10
|
|
sub_8092E10: @ 8092E10
|
|
push {lr}
|
|
bl sub_8092E54
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092E10
|
|
|
|
thumb_func_start sub_8092E20
|
|
sub_8092E20: @ 8092E20
|
|
push {lr}
|
|
ldr r0, _08092E44 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r2, 0x26
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _08092E3A
|
|
cmp r0, 0x8
|
|
beq _08092E48
|
|
_08092E3A:
|
|
ldrh r0, [r1, 0x26]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x26]
|
|
b _08092E4C
|
|
.align 2, 0
|
|
_08092E44: .4byte gUnknown_20397B0
|
|
_08092E48:
|
|
movs r0, 0
|
|
b _08092E4E
|
|
_08092E4C:
|
|
movs r0, 0x1
|
|
_08092E4E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092E20
|
|
|
|
thumb_func_start sub_8092E54
|
|
sub_8092E54: @ 8092E54
|
|
push {lr}
|
|
ldr r0, _08092E74 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
movs r2, 0x26
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _08092E78
|
|
ldrh r0, [r1, 0x26]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x26]
|
|
movs r0, 0x1
|
|
b _08092E7A
|
|
.align 2, 0
|
|
_08092E74: .4byte gUnknown_20397B0
|
|
_08092E78:
|
|
movs r0, 0
|
|
_08092E7A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8092E54
|
|
|
|
thumb_func_start sub_8092E80
|
|
sub_8092E80: @ 8092E80
|
|
push {r4,lr}
|
|
ldr r0, _08092EA8 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _08092EB0
|
|
cmp r0, 0x1
|
|
bne _08092EDC
|
|
ldr r4, _08092EAC @ =gUnknown_2039821
|
|
ldrb r1, [r4]
|
|
movs r0, 0xE
|
|
bl sub_8092F60
|
|
ldrb r1, [r4]
|
|
movs r0, 0
|
|
bl sub_8090CC0
|
|
b _08092ED6
|
|
.align 2, 0
|
|
_08092EA8: .4byte gUnknown_2039820
|
|
_08092EAC: .4byte gUnknown_2039821
|
|
_08092EB0:
|
|
ldr r0, _08092EE4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08092EE8 @ =0x000021ef
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08092ED6
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08092EEC @ =gUnknown_2039821
|
|
ldrb r1, [r4]
|
|
bl sub_8092F60
|
|
ldrb r1, [r4]
|
|
movs r0, 0x1
|
|
bl sub_8090CC0
|
|
_08092ED6:
|
|
ldr r1, _08092EF0 @ =gUnknown_2039822
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
_08092EDC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092EE4: .4byte gUnknown_20397B0
|
|
_08092EE8: .4byte 0x000021ef
|
|
_08092EEC: .4byte gUnknown_2039821
|
|
_08092EF0: .4byte gUnknown_2039822
|
|
thumb_func_end sub_8092E80
|
|
|
|
thumb_func_start sub_8092EF4
|
|
sub_8092EF4: @ 8092EF4
|
|
push {r4,r5,lr}
|
|
ldr r0, _08092F1C @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _08092F24
|
|
cmp r0, 0x1
|
|
bne _08092F46
|
|
ldr r4, _08092F20 @ =gUnknown_2039821
|
|
ldrb r1, [r4]
|
|
movs r0, 0xE
|
|
bl diegohint2
|
|
ldrb r1, [r4]
|
|
movs r0, 0xE
|
|
bl sub_8090D58
|
|
b _08092F40
|
|
.align 2, 0
|
|
_08092F1C: .4byte gUnknown_2039820
|
|
_08092F20: .4byte gUnknown_2039821
|
|
_08092F24:
|
|
bl StorageGetCurrentBox
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _08092F4C @ =gUnknown_2039821
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl diegohint2
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_8090D58
|
|
_08092F40:
|
|
ldr r1, _08092F50 @ =gUnknown_2039822
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
_08092F46:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092F4C: .4byte gUnknown_2039821
|
|
_08092F50: .4byte gUnknown_2039822
|
|
thumb_func_end sub_8092EF4
|
|
|
|
thumb_func_start sub_8092F54
|
|
sub_8092F54: @ 8092F54
|
|
push {lr}
|
|
bl sub_8093A10
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8092F54
|
|
|
|
thumb_func_start sub_8092F60
|
|
sub_8092F60: @ 8092F60
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
cmp r4, 0xE
|
|
bne _08092F9C
|
|
ldr r0, _08092F8C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08092F90 @ =0x000020a0
|
|
adds r0, r1
|
|
ldr r3, _08092F94 @ =gPlayerParty
|
|
ldr r1, _08092F98 @ =gUnknown_2039821
|
|
movs r2, 0
|
|
ldrsb r2, [r1, r2]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
adds r1, r3
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
b _08092FAC
|
|
.align 2, 0
|
|
_08092F8C: .4byte gUnknown_20397B0
|
|
_08092F90: .4byte 0x000020a0
|
|
_08092F94: .4byte gPlayerParty
|
|
_08092F98: .4byte gUnknown_2039821
|
|
_08092F9C:
|
|
ldr r0, _08092FC4 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r0, _08092FC8 @ =0x000020a0
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_808BCF0
|
|
_08092FAC:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_8093030
|
|
ldr r0, _08092FCC @ =gUnknown_2039823
|
|
strb r4, [r0]
|
|
ldr r0, _08092FD0 @ =gUnknown_2039824
|
|
strb r5, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08092FC4: .4byte gUnknown_20397B0
|
|
_08092FC8: .4byte 0x000020a0
|
|
_08092FCC: .4byte gUnknown_2039823
|
|
_08092FD0: .4byte gUnknown_2039824
|
|
thumb_func_end sub_8092F60
|
|
|
|
thumb_func_start diegohint2
|
|
diegohint2: @ 8092FD4
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
cmp r6, 0xE
|
|
bne _08093008
|
|
ldr r1, _08092FFC @ =gPlayerParty
|
|
movs r0, 0x64
|
|
muls r0, r7
|
|
adds r0, r1
|
|
ldr r1, _08093000 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _08093004 @ =0x000020a0
|
|
adds r1, r2
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
b _08093020
|
|
.align 2, 0
|
|
_08092FFC: .4byte gPlayerParty
|
|
_08093000: .4byte gUnknown_20397B0
|
|
_08093004: .4byte 0x000020a0
|
|
_08093008:
|
|
ldr r5, _08093028 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _0809302C @ =0x000020a0
|
|
adds r0, r4
|
|
bl BoxMonRestorePP
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl CopyBoxMonFromAnyBox
|
|
_08093020:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093028: .4byte gUnknown_20397B0
|
|
_0809302C: .4byte 0x000020a0
|
|
thumb_func_end diegohint2
|
|
|
|
thumb_func_start sub_8093030
|
|
sub_8093030: @ 8093030
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r0, 0xE
|
|
bne _08093050
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0809304C @ =gPlayerParty
|
|
adds r0, r1
|
|
bl ZeroMonData
|
|
b _08093054
|
|
.align 2, 0
|
|
_0809304C: .4byte gPlayerParty
|
|
_08093050:
|
|
bl sub_808BCB4
|
|
_08093054:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8093030
|
|
|
|
thumb_func_start diegohint1
|
|
diegohint1: @ 8093058
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
cmp r6, 0xE
|
|
bne _0809308C
|
|
ldr r0, _08093080 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08093084 @ =0x00002104
|
|
adds r0, r1
|
|
ldr r2, _08093088 @ =gPlayerParty
|
|
movs r1, 0x64
|
|
muls r1, r7
|
|
adds r1, r2
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
b _0809309C
|
|
.align 2, 0
|
|
_08093080: .4byte gUnknown_20397B0
|
|
_08093084: .4byte 0x00002104
|
|
_08093088: .4byte gPlayerParty
|
|
_0809308C:
|
|
ldr r0, _080930D0 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
ldr r0, _080930D4 @ =0x00002104
|
|
adds r2, r0
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl sub_808BCF0
|
|
_0809309C:
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl diegohint2
|
|
ldr r5, _080930D0 @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldr r4, _080930D8 @ =0x000020a0
|
|
adds r0, r1, r4
|
|
ldr r2, _080930D4 @ =0x00002104
|
|
adds r1, r2
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0
|
|
bl sub_8093AD0
|
|
ldr r0, _080930DC @ =gUnknown_2039823
|
|
strb r6, [r0]
|
|
ldr r0, _080930E0 @ =gUnknown_2039824
|
|
strb r7, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080930D0: .4byte gUnknown_20397B0
|
|
_080930D4: .4byte 0x00002104
|
|
_080930D8: .4byte 0x000020a0
|
|
_080930DC: .4byte gUnknown_2039823
|
|
_080930E0: .4byte gUnknown_2039824
|
|
thumb_func_end diegohint1
|
|
|
|
thumb_func_start sub_80930E4
|
|
sub_80930E4: @ 80930E4
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r6, 0
|
|
bl GetFirstFreeBoxSpot
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
asrs r0, 16
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _08093102
|
|
movs r0, 0
|
|
b _08093164
|
|
_08093102:
|
|
ldr r5, _08093120 @ =gUnknown_2039822
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
beq _08093124
|
|
lsls r4, 24
|
|
lsrs r1, r4, 24
|
|
adds r0, r6, 0
|
|
bl diegohint2
|
|
bl sub_8090B6C
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
b _0809313E
|
|
.align 2, 0
|
|
_08093120: .4byte gUnknown_2039822
|
|
_08093124:
|
|
ldr r5, _0809316C @ =gUnknown_2039821
|
|
ldrb r1, [r5]
|
|
movs r0, 0xE
|
|
bl sub_8092F60
|
|
lsls r4, 24
|
|
lsrs r1, r4, 24
|
|
adds r0, r6, 0
|
|
bl diegohint2
|
|
ldrb r0, [r5]
|
|
bl sub_8090C10
|
|
_0809313E:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r6, r0
|
|
bne _08093150
|
|
lsrs r0, r4, 24
|
|
bl sub_80901EC
|
|
_08093150:
|
|
ldr r0, _08093170 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
movs r0, 0x1
|
|
_08093164:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809316C: .4byte gUnknown_2039821
|
|
_08093170: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80930E4
|
|
|
|
thumb_func_start sub_8093174
|
|
sub_8093174: @ 8093174
|
|
push {lr}
|
|
ldr r0, _08093190 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
bl sub_8093A10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093190: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8093174
|
|
|
|
thumb_func_start sub_8093194
|
|
sub_8093194: @ 8093194
|
|
push {lr}
|
|
ldr r0, _080931A4 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080931A8
|
|
movs r2, 0x2
|
|
b _080931B8
|
|
.align 2, 0
|
|
_080931A4: .4byte gUnknown_2039822
|
|
_080931A8:
|
|
ldr r0, _080931D8 @ =gUnknown_2039820
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r2, r0, 31
|
|
_080931B8:
|
|
ldr r0, _080931DC @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
adds r0, r2, 0
|
|
bl sub_8090FC4
|
|
ldr r0, _080931E0 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _080931E4 @ =0x000021d0
|
|
adds r0, r1, r2
|
|
ldr r2, _080931E8 @ =0x00000cea
|
|
adds r1, r2
|
|
bl StringCopy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080931D8: .4byte gUnknown_2039820
|
|
_080931DC: .4byte gUnknown_2039821
|
|
_080931E0: .4byte gUnknown_20397B0
|
|
_080931E4: .4byte 0x000021d0
|
|
_080931E8: .4byte 0x00000cea
|
|
thumb_func_end sub_8093194
|
|
|
|
thumb_func_start sub_80931EC
|
|
sub_80931EC: @ 80931EC
|
|
push {lr}
|
|
bl sub_8091084
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080931FC
|
|
movs r0, 0x1
|
|
b _08093210
|
|
_080931FC:
|
|
ldr r0, _08093214 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
movs r0, 0
|
|
_08093210:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08093214: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80931EC
|
|
|
|
thumb_func_start sub_8093218
|
|
sub_8093218: @ 8093218
|
|
push {lr}
|
|
bl sub_80910CC
|
|
ldr r1, _0809322C @ =gUnknown_2039822
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _08093230
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _08093256
|
|
.align 2, 0
|
|
_0809322C: .4byte gUnknown_2039822
|
|
_08093230:
|
|
ldr r0, _08093240 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08093244
|
|
movs r2, 0xE
|
|
b _0809324C
|
|
.align 2, 0
|
|
_08093240: .4byte gUnknown_2039820
|
|
_08093244:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
_0809324C:
|
|
ldr r0, _08093260 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
adds r0, r2, 0
|
|
bl sub_8093030
|
|
_08093256:
|
|
bl sub_8093A10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093260: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8093218
|
|
|
|
thumb_func_start sub_8093264
|
|
sub_8093264: @ 8093264
|
|
push {lr}
|
|
ldr r0, _08093284 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08093280
|
|
ldr r0, _08093288 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
movs r1, 0x3
|
|
bl StartSpriteAnim
|
|
_08093280:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093284: .4byte gUnknown_2039822
|
|
_08093288: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8093264
|
|
|
|
thumb_func_start sub_809328C
|
|
sub_809328C: @ 809328C
|
|
push {r4-r6,lr}
|
|
ldr r0, _080932C0 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080932D8
|
|
ldr r4, _080932C4 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r2, _080932C8 @ =0x00002104
|
|
adds r0, r1, r2
|
|
ldr r3, _080932CC @ =0x000020a0
|
|
adds r1, r3
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
ldr r0, [r4]
|
|
ldr r1, _080932D0 @ =0x0000216e
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, _080932D4 @ =0x0000216f
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
b _08093354
|
|
.align 2, 0
|
|
_080932C0: .4byte gUnknown_2039822
|
|
_080932C4: .4byte gUnknown_20397B0
|
|
_080932C8: .4byte 0x00002104
|
|
_080932CC: .4byte 0x000020a0
|
|
_080932D0: .4byte 0x0000216e
|
|
_080932D4: .4byte 0x0000216f
|
|
_080932D8:
|
|
ldr r0, _0809330C @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08093324
|
|
ldr r4, _08093310 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r3, _08093314 @ =0x00002104
|
|
adds r0, r3
|
|
ldr r3, _08093318 @ =gPlayerParty
|
|
ldr r1, _0809331C @ =gUnknown_2039821
|
|
movs r2, 0
|
|
ldrsb r2, [r1, r2]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
adds r1, r3
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
ldr r0, [r4]
|
|
ldr r1, _08093320 @ =0x0000216e
|
|
adds r0, r1
|
|
movs r1, 0xE
|
|
strb r1, [r0]
|
|
b _08093348
|
|
.align 2, 0
|
|
_0809330C: .4byte gUnknown_2039820
|
|
_08093310: .4byte gUnknown_20397B0
|
|
_08093314: .4byte 0x00002104
|
|
_08093318: .4byte gPlayerParty
|
|
_0809331C: .4byte gUnknown_2039821
|
|
_08093320: .4byte 0x0000216e
|
|
_08093324:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _080933BC @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
ldr r4, _080933C0 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
ldr r3, _080933C4 @ =0x00002104
|
|
adds r2, r3
|
|
bl sub_808BCF0
|
|
bl StorageGetCurrentBox
|
|
ldr r1, [r4]
|
|
ldr r2, _080933C8 @ =0x0000216e
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
_08093348:
|
|
ldr r0, _080933C0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080933BC @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
ldr r3, _080933CC @ =0x0000216f
|
|
adds r0, r3
|
|
_08093354:
|
|
strb r1, [r0]
|
|
ldr r6, _080933C0 @ =gUnknown_20397B0
|
|
ldr r0, [r6]
|
|
ldr r4, _080933D0 @ =0x0000216a
|
|
adds r0, r4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r6]
|
|
ldr r5, _080933D4 @ =0x0000216b
|
|
adds r0, r5
|
|
strb r1, [r0]
|
|
ldr r0, [r6]
|
|
ldr r1, _080933D8 @ =0x00002172
|
|
adds r2, r0, r1
|
|
movs r1, 0x39
|
|
strh r1, [r2]
|
|
ldr r1, _080933DC @ =0x00002174
|
|
adds r3, r0, r1
|
|
ldr r1, _080933E0 @ =0x00000123
|
|
strh r1, [r3]
|
|
ldr r1, _080933E4 @ =0x00002176
|
|
adds r3, r0, r1
|
|
ldr r1, _080933E8 @ =0x00000163
|
|
strh r1, [r3]
|
|
ldr r3, _080933C4 @ =0x00002104
|
|
adds r0, r3
|
|
movs r1, 0x51
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
ldr r1, [r6]
|
|
movs r2, 0x1
|
|
ands r3, r2
|
|
adds r1, r4
|
|
strb r3, [r1]
|
|
ldr r1, [r6]
|
|
lsrs r0, 17
|
|
movs r2, 0x1
|
|
ands r0, r2
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r1, [r6]
|
|
adds r4, r1, r4
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _080933F0
|
|
ldr r0, _080933EC @ =0x00002169
|
|
adds r1, r0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
b _080933FE
|
|
.align 2, 0
|
|
_080933BC: .4byte gUnknown_2039821
|
|
_080933C0: .4byte gUnknown_20397B0
|
|
_080933C4: .4byte 0x00002104
|
|
_080933C8: .4byte 0x0000216e
|
|
_080933CC: .4byte 0x0000216f
|
|
_080933D0: .4byte 0x0000216a
|
|
_080933D4: .4byte 0x0000216b
|
|
_080933D8: .4byte 0x00002172
|
|
_080933DC: .4byte 0x00002174
|
|
_080933E0: .4byte 0x00000123
|
|
_080933E4: .4byte 0x00002176
|
|
_080933E8: .4byte 0x00000163
|
|
_080933EC: .4byte 0x00002169
|
|
_080933F0:
|
|
ldr r3, _08093410 @ =0x00002169
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
ldr r0, [r6]
|
|
ldr r1, _08093414 @ =0x00002168
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
_080933FE:
|
|
ldr r0, _08093418 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _0809341C @ =0x00002170
|
|
adds r0, r2
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093410: .4byte 0x00002169
|
|
_08093414: .4byte 0x00002168
|
|
_08093418: .4byte gUnknown_20397B0
|
|
_0809341C: .4byte 0x00002170
|
|
thumb_func_end sub_809328C
|
|
|
|
thumb_func_start sub_8093420
|
|
sub_8093420: @ 8093420
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _08093444 @ =gUnknown_20397B0
|
|
ldr r3, [r0]
|
|
ldr r2, _08093448 @ =0x00002169
|
|
adds r1, r3, r2
|
|
ldrb r1, [r1]
|
|
mov r12, r0
|
|
cmp r1, 0
|
|
beq _08093450
|
|
ldr r1, _0809344C @ =0x00002168
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
b _08093604
|
|
.align 2, 0
|
|
_08093444: .4byte gUnknown_20397B0
|
|
_08093448: .4byte 0x00002169
|
|
_0809344C: .4byte 0x00002168
|
|
_08093450:
|
|
ldr r2, _08093460 @ =0x00002170
|
|
adds r0, r3, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08093464
|
|
cmp r0, 0x1
|
|
beq _0809353C
|
|
b _08093600
|
|
.align 2, 0
|
|
_08093460: .4byte 0x00002170
|
|
_08093464:
|
|
movs r6, 0
|
|
mov r5, r12
|
|
movs r7, 0
|
|
_0809346A:
|
|
ldr r2, [r5]
|
|
ldr r1, _08093500 @ =0x0000216e
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0xE
|
|
bne _08093488
|
|
adds r1, 0x1
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, r6
|
|
beq _080934C2
|
|
_08093488:
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _08093504 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08093508 @ =0x00002172
|
|
adds r2, r1
|
|
movs r1, 0x51
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _080934AE
|
|
ldr r0, [r5]
|
|
ldr r2, _0809350C @ =0x0000216a
|
|
adds r0, r2
|
|
strb r7, [r0]
|
|
_080934AE:
|
|
movs r0, 0x2
|
|
ands r4, r0
|
|
ldr r0, _08093510 @ =gUnknown_20397B0
|
|
mov r12, r0
|
|
cmp r4, 0
|
|
beq _080934C2
|
|
ldr r0, [r5]
|
|
ldr r1, _08093514 @ =0x0000216b
|
|
adds r0, r1
|
|
strb r7, [r0]
|
|
_080934C2:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _0809346A
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
ldr r2, _0809350C @ =0x0000216a
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _080934DC
|
|
b _080935EE
|
|
_080934DC:
|
|
ldr r2, _08093518 @ =0x0000216c
|
|
adds r0, r1, r2
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
mov r2, r12
|
|
ldr r0, [r2]
|
|
ldr r2, _0809351C @ =0x0000216d
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
adds r2, 0x3
|
|
adds r1, r2
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _08093600
|
|
.align 2, 0
|
|
_08093500: .4byte 0x0000216e
|
|
_08093504: .4byte gPlayerParty
|
|
_08093508: .4byte 0x00002172
|
|
_0809350C: .4byte 0x0000216a
|
|
_08093510: .4byte gUnknown_20397B0
|
|
_08093514: .4byte 0x0000216b
|
|
_08093518: .4byte 0x0000216c
|
|
_0809351C: .4byte 0x0000216d
|
|
_08093520:
|
|
mov r1, r12
|
|
ldr r0, [r1]
|
|
ldr r2, _08093538 @ =0x00002169
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
mov r1, r12
|
|
ldr r0, [r1]
|
|
subs r2, 0x1
|
|
adds r0, r2
|
|
strb r3, [r0]
|
|
b _080935E0
|
|
.align 2, 0
|
|
_08093538: .4byte 0x00002169
|
|
_0809353C:
|
|
movs r6, 0
|
|
mov r7, r12
|
|
ldr r0, _08093610 @ =0x0000ffff
|
|
mov r8, r0
|
|
_08093544:
|
|
ldr r3, [r7]
|
|
ldr r1, _08093614 @ =0x0000216c
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
ldr r2, _08093618 @ =0x0000216d
|
|
adds r1, r3, r2
|
|
ldrb r1, [r1]
|
|
adds r2, 0x5
|
|
adds r3, r2
|
|
movs r2, 0x51
|
|
bl GetAndCopyBoxMonDataFromAnyBox
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
beq _080935A0
|
|
ldr r5, [r7]
|
|
ldr r1, _0809361C @ =0x0000216e
|
|
adds r0, r5, r1
|
|
ldrh r2, [r0]
|
|
subs r1, 0x2
|
|
adds r0, r5, r1
|
|
ldrh r3, [r0]
|
|
mov r1, r8
|
|
ands r1, r2
|
|
mov r0, r8
|
|
ands r0, r3
|
|
cmp r1, r0
|
|
beq _080935A0
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0809358E
|
|
ldr r2, _08093620 @ =0x0000216a
|
|
adds r1, r5, r2
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
_0809358E:
|
|
movs r0, 0x2
|
|
ands r4, r0
|
|
cmp r4, 0
|
|
beq _080935A0
|
|
ldr r0, [r7]
|
|
ldr r1, _08093624 @ =0x0000216b
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
_080935A0:
|
|
ldr r2, _08093628 @ =gUnknown_20397B0
|
|
ldr r1, [r2]
|
|
ldr r0, _08093618 @ =0x0000216d
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
movs r3, 0
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
mov r12, r2
|
|
cmp r0, 0x1D
|
|
ble _080935D6
|
|
ldr r0, [r2]
|
|
ldr r1, _08093618 @ =0x0000216d
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
ldr r1, [r2]
|
|
ldr r2, _08093614 @ =0x0000216c
|
|
adds r1, r2
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0xD
|
|
bgt _08093520
|
|
_080935D6:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x4
|
|
bls _08093544
|
|
_080935E0:
|
|
mov r0, r12
|
|
ldr r1, [r0]
|
|
ldr r2, _08093620 @ =0x0000216a
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08093600
|
|
_080935EE:
|
|
subs r2, 0x1
|
|
adds r0, r1, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
mov r2, r12
|
|
ldr r0, [r2]
|
|
ldr r2, _0809362C @ =0x00002168
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
_08093600:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_08093604:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08093610: .4byte 0x0000ffff
|
|
_08093614: .4byte 0x0000216c
|
|
_08093618: .4byte 0x0000216d
|
|
_0809361C: .4byte 0x0000216e
|
|
_08093620: .4byte 0x0000216a
|
|
_08093624: .4byte 0x0000216b
|
|
_08093628: .4byte gUnknown_20397B0
|
|
_0809362C: .4byte 0x00002168
|
|
thumb_func_end sub_8093420
|
|
|
|
thumb_func_start sub_8093630
|
|
sub_8093630: @ 8093630
|
|
push {lr}
|
|
ldr r0, _08093650 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809364A
|
|
ldr r0, _08093654 @ =gUnknown_20397BC
|
|
ldr r1, _08093658 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _0809365C @ =0x000020a0
|
|
adds r1, r2
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
_0809364A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093650: .4byte gUnknown_2039822
|
|
_08093654: .4byte gUnknown_20397BC
|
|
_08093658: .4byte gUnknown_20397B0
|
|
_0809365C: .4byte 0x000020a0
|
|
thumb_func_end sub_8093630
|
|
|
|
thumb_func_start sub_8093660
|
|
sub_8093660: @ 8093660
|
|
push {lr}
|
|
ldr r0, _08093684 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080936A8
|
|
ldr r0, _08093688 @ =gUnknown_2039823
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xE
|
|
bne _08093698
|
|
ldr r0, _0809368C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08093690 @ =0x000020a0
|
|
adds r0, r1
|
|
ldr r1, _08093694 @ =gUnknown_20397BC
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
b _080936A8
|
|
.align 2, 0
|
|
_08093684: .4byte gUnknown_2039822
|
|
_08093688: .4byte gUnknown_2039823
|
|
_0809368C: .4byte gUnknown_20397B0
|
|
_08093690: .4byte 0x000020a0
|
|
_08093694: .4byte gUnknown_20397BC
|
|
_08093698:
|
|
ldr r0, _080936AC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080936B0 @ =0x000020a0
|
|
adds r0, r1
|
|
ldr r1, _080936B4 @ =gUnknown_20397BC
|
|
movs r2, 0x50
|
|
bl memcpy
|
|
_080936A8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080936AC: .4byte gUnknown_20397B0
|
|
_080936B0: .4byte 0x000020a0
|
|
_080936B4: .4byte gUnknown_20397BC
|
|
thumb_func_end sub_8093660
|
|
|
|
thumb_func_start sub_80936B8
|
|
sub_80936B8: @ 80936B8
|
|
push {r4,r5,lr}
|
|
ldr r0, _080936EC @ =gUnknown_2039822
|
|
ldrb r5, [r0]
|
|
cmp r5, 0
|
|
beq _08093708
|
|
bl sub_8093630
|
|
ldr r3, _080936F0 @ =gUnknown_20397B0
|
|
ldr r1, [r3]
|
|
ldr r0, _080936F4 @ =0x0000217c
|
|
adds r2, r1, r0
|
|
ldr r0, _080936F8 @ =gUnknown_20397BC
|
|
str r0, [r2]
|
|
ldr r2, _080936FC @ =0x00002179
|
|
adds r1, r2
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
ldr r0, [r3]
|
|
ldr r4, _08093700 @ =0x00002178
|
|
adds r0, r4
|
|
strb r2, [r0]
|
|
ldr r0, [r3]
|
|
ldr r1, _08093704 @ =0x0000217a
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
b _0809379A
|
|
.align 2, 0
|
|
_080936EC: .4byte gUnknown_2039822
|
|
_080936F0: .4byte gUnknown_20397B0
|
|
_080936F4: .4byte 0x0000217c
|
|
_080936F8: .4byte gUnknown_20397BC
|
|
_080936FC: .4byte 0x00002179
|
|
_08093700: .4byte 0x00002178
|
|
_08093704: .4byte 0x0000217a
|
|
_08093708:
|
|
ldr r0, _08093744 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08093764
|
|
ldr r4, _08093748 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r0, _0809374C @ =0x0000217c
|
|
adds r2, r1, r0
|
|
ldr r0, _08093750 @ =gPlayerParty
|
|
str r0, [r2]
|
|
ldr r0, _08093754 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
ldr r2, _08093758 @ =0x00002179
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
bl CountPartyMons
|
|
ldr r1, [r4]
|
|
subs r0, 0x1
|
|
ldr r2, _0809375C @ =0x00002178
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
ldr r4, _08093760 @ =0x0000217a
|
|
adds r0, r4
|
|
strb r5, [r0]
|
|
b _0809379A
|
|
.align 2, 0
|
|
_08093744: .4byte gUnknown_2039820
|
|
_08093748: .4byte gUnknown_20397B0
|
|
_0809374C: .4byte 0x0000217c
|
|
_08093750: .4byte gPlayerParty
|
|
_08093754: .4byte gUnknown_2039821
|
|
_08093758: .4byte 0x00002179
|
|
_0809375C: .4byte 0x00002178
|
|
_08093760: .4byte 0x0000217a
|
|
_08093764:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl GetBoxedMonPtr
|
|
ldr r3, _080937A0 @ =gUnknown_20397B0
|
|
ldr r2, [r3]
|
|
ldr r4, _080937A4 @ =0x0000217c
|
|
adds r1, r2, r4
|
|
str r0, [r1]
|
|
ldr r0, _080937A8 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
ldr r1, _080937AC @ =0x00002179
|
|
adds r2, r1
|
|
strb r0, [r2]
|
|
ldr r0, [r3]
|
|
ldr r2, _080937B0 @ =0x00002178
|
|
adds r0, r2
|
|
movs r1, 0x1D
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
subs r4, 0x2
|
|
adds r0, r4
|
|
movs r1, 0x5
|
|
strb r1, [r0]
|
|
_0809379A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080937A0: .4byte gUnknown_20397B0
|
|
_080937A4: .4byte 0x0000217c
|
|
_080937A8: .4byte gUnknown_2039821
|
|
_080937AC: .4byte 0x00002179
|
|
_080937B0: .4byte 0x00002178
|
|
thumb_func_end sub_80936B8
|
|
|
|
thumb_func_start sub_80937B4
|
|
sub_80937B4: @ 80937B4
|
|
push {r4,lr}
|
|
ldr r0, _080937C4 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080937C8
|
|
bl sub_8093660
|
|
b _080937D0
|
|
.align 2, 0
|
|
_080937C4: .4byte gUnknown_2039822
|
|
_080937C8:
|
|
ldr r4, _080937D8 @ =gUnknown_2039821
|
|
bl sub_8138B20
|
|
strb r0, [r4]
|
|
_080937D0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080937D8: .4byte gUnknown_2039821
|
|
thumb_func_end sub_80937B4
|
|
|
|
thumb_func_start CompactPartySlots
|
|
CompactPartySlots: @ 80937DC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r7, _08093828 @ =0x0000ffff
|
|
movs r6, 0
|
|
movs r5, 0
|
|
movs r0, 0x64
|
|
mov r9, r0
|
|
ldr r1, _0809382C @ =gPlayerParty
|
|
mov r8, r1
|
|
subs r0, 0x65
|
|
mov r10, r0
|
|
_080937F8:
|
|
mov r0, r9
|
|
muls r0, r6
|
|
mov r1, r8
|
|
adds r4, r0, r1
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _08093830
|
|
cmp r6, r5
|
|
beq _08093820
|
|
mov r0, r9
|
|
muls r0, r5
|
|
add r0, r8
|
|
adds r1, r4, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
_08093820:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
b _0809383A
|
|
.align 2, 0
|
|
_08093828: .4byte 0x0000ffff
|
|
_0809382C: .4byte gPlayerParty
|
|
_08093830:
|
|
lsls r0, r7, 16
|
|
asrs r0, 16
|
|
cmp r0, r10
|
|
bne _0809383A
|
|
adds r7, r6, 0
|
|
_0809383A:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
cmp r6, 0x5
|
|
bls _080937F8
|
|
lsls r7, 16
|
|
cmp r5, 0x5
|
|
bhi _08093862
|
|
movs r6, 0x64
|
|
ldr r4, _08093874 @ =gPlayerParty
|
|
_0809384E:
|
|
adds r0, r5, 0
|
|
muls r0, r6
|
|
adds r0, r4
|
|
bl ZeroMonData
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
cmp r5, 0x5
|
|
bls _0809384E
|
|
_08093862:
|
|
asrs r0, r7, 16
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08093874: .4byte gPlayerParty
|
|
thumb_func_end CompactPartySlots
|
|
|
|
thumb_func_start sub_8093878
|
|
sub_8093878: @ 8093878
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
ldr r2, _080938A8 @ =gUnknown_20397B0
|
|
ldr r1, [r2]
|
|
ldr r3, _080938AC @ =0x00000ce7
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
ldr r0, _080938B0 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080938B8
|
|
ldr r0, [r2]
|
|
ldr r1, _080938B4 @ =0x000020a0
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
mov r2, sp
|
|
bl SetMonData
|
|
b _080938EC
|
|
.align 2, 0
|
|
_080938A8: .4byte gUnknown_20397B0
|
|
_080938AC: .4byte 0x00000ce7
|
|
_080938B0: .4byte gUnknown_2039822
|
|
_080938B4: .4byte 0x000020a0
|
|
_080938B8:
|
|
ldr r4, _080938F4 @ =gUnknown_2039820
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0x1
|
|
bne _080938D8
|
|
ldr r0, _080938F8 @ =gUnknown_2039821
|
|
movs r1, 0
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080938FC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
mov r2, sp
|
|
bl SetMonData
|
|
_080938D8:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
bne _080938EC
|
|
ldr r0, _080938F8 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
movs r1, 0x8
|
|
mov r2, sp
|
|
bl SetBoxMonDataFromSelectedBox
|
|
_080938EC:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080938F4: .4byte gUnknown_2039820
|
|
_080938F8: .4byte gUnknown_2039821
|
|
_080938FC: .4byte gPlayerParty
|
|
thumb_func_end sub_8093878
|
|
|
|
thumb_func_start sub_8093900
|
|
sub_8093900: @ 8093900
|
|
push {lr}
|
|
ldr r0, _08093928 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08093934
|
|
ldr r0, _0809392C @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08093934
|
|
ldr r0, _08093930 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
bl CountPartyAliveNonEggMonsExcept
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08093934
|
|
movs r0, 0x1
|
|
b _08093936
|
|
.align 2, 0
|
|
_08093928: .4byte gUnknown_2039820
|
|
_0809392C: .4byte gUnknown_2039822
|
|
_08093930: .4byte gUnknown_2039821
|
|
_08093934:
|
|
movs r0, 0
|
|
_08093936:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8093900
|
|
|
|
thumb_func_start sub_809393C
|
|
sub_809393C: @ 809393C
|
|
push {lr}
|
|
ldr r0, _08093980 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08093998
|
|
ldr r0, _08093984 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0809397C
|
|
ldr r0, _08093988 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
bl CountPartyAliveNonEggMonsExcept
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809397C
|
|
ldr r0, _0809398C @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r2, _08093990 @ =0x00000ce9
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08093998
|
|
ldr r2, _08093994 @ =0x000020a0
|
|
adds r0, r1, r2
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08093998
|
|
_0809397C:
|
|
movs r0, 0x1
|
|
b _0809399A
|
|
.align 2, 0
|
|
_08093980: .4byte gUnknown_2039822
|
|
_08093984: .4byte gUnknown_2039820
|
|
_08093988: .4byte gUnknown_2039821
|
|
_0809398C: .4byte gUnknown_20397B0
|
|
_08093990: .4byte 0x00000ce9
|
|
_08093994: .4byte 0x000020a0
|
|
_08093998:
|
|
movs r0, 0
|
|
_0809399A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809393C
|
|
|
|
thumb_func_start sub_80939A0
|
|
sub_80939A0: @ 80939A0
|
|
ldr r0, _080939A8 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080939A8: .4byte gUnknown_2039822
|
|
thumb_func_end sub_80939A0
|
|
|
|
thumb_func_start sub_80939AC
|
|
sub_80939AC: @ 80939AC
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r0, _080939C4 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _080939BE
|
|
movs r1, 0x1
|
|
_080939BE:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080939C4: .4byte gUnknown_2039820
|
|
thumb_func_end sub_80939AC
|
|
|
|
thumb_func_start sub_80939C8
|
|
sub_80939C8: @ 80939C8
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r0, _080939EC @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x3
|
|
bne _080939E6
|
|
ldr r0, _080939F0 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _080939E6
|
|
movs r1, 0x1
|
|
_080939E6:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080939EC: .4byte gUnknown_2039820
|
|
_080939F0: .4byte gUnknown_2039821
|
|
thumb_func_end sub_80939C8
|
|
|
|
thumb_func_start sub_80939F4
|
|
sub_80939F4: @ 80939F4
|
|
push {lr}
|
|
movs r1, 0
|
|
ldr r0, _08093A0C @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _08093A06
|
|
movs r1, 0x1
|
|
_08093A06:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08093A0C: .4byte gUnknown_2039820
|
|
thumb_func_end sub_80939F4
|
|
|
|
thumb_func_start sub_8093A10
|
|
sub_8093A10: @ 8093A10
|
|
push {r4,lr}
|
|
ldr r0, _08093A44 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r2, 0
|
|
ldr r3, _08093A48 @ =gUnknown_2039822
|
|
ldrb r0, [r3]
|
|
cmp r0, 0
|
|
bne _08093A22
|
|
movs r2, 0x1
|
|
_08093A22:
|
|
ldr r4, _08093A4C @ =0x00000ce6
|
|
adds r0, r1, r4
|
|
strb r2, [r0]
|
|
ldrb r0, [r3]
|
|
cmp r0, 0
|
|
bne _08093AA0
|
|
ldr r0, _08093A50 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08093A5A
|
|
cmp r0, 0x1
|
|
bgt _08093A54
|
|
cmp r0, 0
|
|
beq _08093A8A
|
|
b _08093AA0
|
|
.align 2, 0
|
|
_08093A44: .4byte gUnknown_20397B0
|
|
_08093A48: .4byte gUnknown_2039822
|
|
_08093A4C: .4byte 0x00000ce6
|
|
_08093A50: .4byte gUnknown_2039820
|
|
_08093A54:
|
|
cmp r0, 0x3
|
|
bgt _08093AA0
|
|
b _08093A80
|
|
_08093A5A:
|
|
ldr r1, _08093A78 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x5
|
|
bgt _08093A80
|
|
adds r1, r0, 0
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08093A7C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8093AD0
|
|
b _08093AA0
|
|
.align 2, 0
|
|
_08093A78: .4byte gUnknown_2039821
|
|
_08093A7C: .4byte gPlayerParty
|
|
_08093A80:
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
bl sub_8093AD0
|
|
b _08093AA0
|
|
_08093A8A:
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08093AA8 @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
bl GetBoxedMonPtr
|
|
movs r1, 0x1
|
|
bl sub_8093AD0
|
|
_08093AA0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093AA8: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8093A10
|
|
|
|
thumb_func_start sub_8093AAC
|
|
sub_8093AAC: @ 8093AAC
|
|
push {lr}
|
|
ldr r0, _08093AC0 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08093AC8
|
|
ldr r0, _08093AC4 @ =gUnknown_20397BC
|
|
movs r1, 0
|
|
bl sub_8093AD0
|
|
b _08093ACC
|
|
.align 2, 0
|
|
_08093AC0: .4byte gUnknown_2039822
|
|
_08093AC4: .4byte gUnknown_20397BC
|
|
_08093AC8:
|
|
bl sub_8093A10
|
|
_08093ACC:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8093AAC
|
|
|
|
thumb_func_start sub_8093AD0
|
|
sub_8093AD0: @ 8093AD0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r5, r1, 0
|
|
ldr r0, _08093B38 @ =gUnknown_20397B0
|
|
mov r8, r0
|
|
ldr r1, [r0]
|
|
ldr r3, _08093B3C @ =0x00000ce2
|
|
adds r2, r1, r3
|
|
movs r0, 0
|
|
strh r0, [r2]
|
|
mov r9, r0
|
|
mov r10, r0
|
|
cmp r5, 0
|
|
bne _08093BEC
|
|
adds r6, r4, 0
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
movs r3, 0xCE
|
|
lsls r3, 4
|
|
adds r1, r3
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _08093B16
|
|
b _08093D0C
|
|
_08093B16:
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
cmp r0, 0
|
|
beq _08093B44
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r2, _08093B40 @ =0x00000ce9
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
b _08093B56
|
|
.align 2, 0
|
|
_08093B38: .4byte gUnknown_20397B0
|
|
_08093B3C: .4byte 0x00000ce2
|
|
_08093B40: .4byte 0x00000ce9
|
|
_08093B44:
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
ldr r2, _08093BCC @ =0x00000ce9
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
_08093B56:
|
|
ldr r4, _08093BD0 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
ldr r5, _08093BD4 @ =0x00000cea
|
|
adds r2, r5
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
bl GetMonData
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
bl StringGetEnd10
|
|
adds r0, r6, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
ldr r3, _08093BD8 @ =0x00000ce8
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0x8
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
ldr r2, _08093BDC @ =0x00000ce7
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
ldr r3, _08093BE0 @ =0x00000cdc
|
|
adds r1, r3
|
|
str r0, [r1]
|
|
adds r0, r6, 0
|
|
bl GetMonFrontSpritePal
|
|
ldr r1, [r4]
|
|
ldr r2, _08093BE4 @ =0x00000cd8
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
adds r0, r6, 0
|
|
bl GetMonGender
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
ldr r1, [r4]
|
|
ldr r3, _08093BE8 @ =0x00000ce2
|
|
adds r1, r3
|
|
strh r0, [r1]
|
|
b _08093CFC
|
|
.align 2, 0
|
|
_08093BCC: .4byte 0x00000ce9
|
|
_08093BD0: .4byte gUnknown_20397B0
|
|
_08093BD4: .4byte 0x00000cea
|
|
_08093BD8: .4byte 0x00000ce8
|
|
_08093BDC: .4byte 0x00000ce7
|
|
_08093BE0: .4byte 0x00000cdc
|
|
_08093BE4: .4byte 0x00000cd8
|
|
_08093BE8: .4byte 0x00000ce2
|
|
_08093BEC:
|
|
cmp r5, 0x1
|
|
beq _08093BF2
|
|
b _08093CF0
|
|
_08093BF2:
|
|
adds r7, r4, 0
|
|
adds r0, r7, 0
|
|
movs r1, 0x41
|
|
bl GetBoxMonData
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
movs r3, 0xCE
|
|
lsls r3, 4
|
|
adds r1, r3
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _08093C10
|
|
b _08093D0C
|
|
_08093C10:
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl GetBoxMonData
|
|
mov r9, r0
|
|
adds r0, r7, 0
|
|
movs r1, 0x4
|
|
bl GetBoxMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
cmp r0, 0
|
|
beq _08093C3C
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r2, _08093C38 @ =0x00000ce9
|
|
adds r0, r2
|
|
strb r5, [r0]
|
|
b _08093C4E
|
|
.align 2, 0
|
|
_08093C38: .4byte 0x00000ce9
|
|
_08093C3C:
|
|
adds r0, r7, 0
|
|
movs r1, 0x2D
|
|
bl GetBoxMonData
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
ldr r2, _08093CD0 @ =0x00000ce9
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
_08093C4E:
|
|
ldr r5, _08093CD4 @ =gUnknown_20397B0
|
|
ldr r2, [r5]
|
|
ldr r4, _08093CD8 @ =0x00000cea
|
|
adds r2, r4
|
|
adds r0, r7, 0
|
|
movs r1, 0x2
|
|
bl GetBoxMonData
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
bl StringGetEnd10
|
|
adds r0, r7, 0
|
|
bl GetLevelFromBoxMonExp
|
|
ldr r1, [r5]
|
|
ldr r3, _08093CDC @ =0x00000ce8
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
adds r0, r7, 0
|
|
movs r1, 0x8
|
|
bl GetBoxMonData
|
|
ldr r1, [r5]
|
|
ldr r2, _08093CE0 @ =0x00000ce7
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl GetBoxMonData
|
|
adds r2, r0, 0
|
|
ldr r1, [r5]
|
|
ldr r6, _08093CE4 @ =0x00000cdc
|
|
adds r0, r1, r6
|
|
str r2, [r0]
|
|
subs r4, 0xA
|
|
adds r1, r4
|
|
ldrh r0, [r1]
|
|
mov r1, r9
|
|
bl GetMonSpritePalFromSpeciesAndPersonality
|
|
ldr r1, [r5]
|
|
ldr r3, _08093CE8 @ =0x00000cd8
|
|
adds r2, r1, r3
|
|
str r0, [r2]
|
|
adds r4, r1, r4
|
|
ldrh r0, [r4]
|
|
adds r1, r6
|
|
ldr r1, [r1]
|
|
bl GetGenderFromSpeciesAndPersonality
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
adds r0, r7, 0
|
|
movs r1, 0xC
|
|
bl GetBoxMonData
|
|
ldr r1, [r5]
|
|
ldr r2, _08093CEC @ =0x00000ce2
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
b _08093CFC
|
|
.align 2, 0
|
|
_08093CD0: .4byte 0x00000ce9
|
|
_08093CD4: .4byte gUnknown_20397B0
|
|
_08093CD8: .4byte 0x00000cea
|
|
_08093CDC: .4byte 0x00000ce8
|
|
_08093CE0: .4byte 0x00000ce7
|
|
_08093CE4: .4byte 0x00000cdc
|
|
_08093CE8: .4byte 0x00000cd8
|
|
_08093CEC: .4byte 0x00000ce2
|
|
_08093CF0:
|
|
movs r3, 0xCE
|
|
lsls r3, 4
|
|
adds r0, r1, r3
|
|
mov r1, r9
|
|
strh r1, [r0]
|
|
strh r1, [r2]
|
|
_08093CFC:
|
|
ldr r0, _08093D50 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r2, 0xCE
|
|
lsls r2, 4
|
|
adds r0, r1, r2
|
|
ldrh r2, [r0]
|
|
cmp r2, 0
|
|
bne _08093D68
|
|
_08093D0C:
|
|
ldr r4, _08093D50 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r3, _08093D54 @ =0x00000cea
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r1, _08093D58 @ =0x00000cf5
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r2, _08093D5C @ =0x00000d19
|
|
adds r0, r2
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r3, _08093D60 @ =0x00000d3d
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r1, _08093D64 @ =0x00000d61
|
|
adds r0, r1
|
|
b _08093DC6
|
|
.align 2, 0
|
|
_08093D50: .4byte gUnknown_20397B0
|
|
_08093D54: .4byte 0x00000cea
|
|
_08093D58: .4byte 0x00000cf5
|
|
_08093D5C: .4byte 0x00000d19
|
|
_08093D60: .4byte 0x00000d3d
|
|
_08093D64: .4byte 0x00000d61
|
|
_08093D68:
|
|
ldr r3, _08093D8C @ =0x00000ce9
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08093DE8
|
|
mov r0, r10
|
|
cmp r0, 0
|
|
beq _08093D94
|
|
ldr r2, _08093D90 @ =0x00000cf5
|
|
adds r0, r1, r2
|
|
adds r3, 0x1
|
|
adds r1, r3
|
|
movs r2, 0
|
|
movs r3, 0x5
|
|
bl StringCopyPadded
|
|
b _08093DA2
|
|
.align 2, 0
|
|
_08093D8C: .4byte 0x00000ce9
|
|
_08093D90: .4byte 0x00000cf5
|
|
_08093D94:
|
|
ldr r2, _08093DD0 @ =0x00000cf5
|
|
adds r0, r1, r2
|
|
ldr r1, _08093DD4 @ =gText_EggNickname
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl StringCopyPadded
|
|
_08093DA2:
|
|
ldr r4, _08093DD8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r3, _08093DDC @ =0x00000d19
|
|
adds r0, r3
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r1, _08093DE0 @ =0x00000d3d
|
|
adds r0, r1
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
ldr r0, [r4]
|
|
ldr r2, _08093DE4 @ =0x00000d61
|
|
adds r0, r2
|
|
_08093DC6:
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
b _08093F84
|
|
.align 2, 0
|
|
_08093DD0: .4byte 0x00000cf5
|
|
_08093DD4: .4byte gText_EggNickname
|
|
_08093DD8: .4byte gUnknown_20397B0
|
|
_08093DDC: .4byte 0x00000d19
|
|
_08093DE0: .4byte 0x00000d3d
|
|
_08093DE4: .4byte 0x00000d61
|
|
_08093DE8:
|
|
cmp r2, 0x1D
|
|
beq _08093DF0
|
|
cmp r2, 0x20
|
|
bne _08093DF4
|
|
_08093DF0:
|
|
movs r3, 0xFF
|
|
mov r9, r3
|
|
_08093DF4:
|
|
ldr r4, _08093E78 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r2, _08093E7C @ =0x00000cf5
|
|
adds r0, r1, r2
|
|
ldr r3, _08093E80 @ =0x00000cea
|
|
adds r1, r3
|
|
movs r2, 0
|
|
movs r3, 0x5
|
|
bl StringCopyPadded
|
|
ldr r1, [r4]
|
|
ldr r0, _08093E84 @ =0x00000d19
|
|
adds r2, r1, r0
|
|
movs r0, 0xBA
|
|
strb r0, [r2]
|
|
ldr r3, _08093E88 @ =0x00000d1a
|
|
adds r2, r1, r3
|
|
ldr r0, [r4]
|
|
movs r1, 0xCE
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0xB
|
|
muls r1, r0
|
|
ldr r0, _08093E8C @ =gSpeciesNames
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
movs r2, 0
|
|
movs r3, 0x5
|
|
bl StringCopyPadded
|
|
ldr r4, [r4]
|
|
ldr r3, _08093E90 @ =0x00000d3d
|
|
adds r2, r4, r3
|
|
movs r0, 0xFC
|
|
strb r0, [r2]
|
|
ldr r0, _08093E94 @ =0x00000d3e
|
|
adds r2, r4, r0
|
|
movs r0, 0x4
|
|
strb r0, [r2]
|
|
ldr r1, _08093E98 @ =0x00000d3f
|
|
adds r2, r4, r1
|
|
mov r3, r9
|
|
cmp r3, 0
|
|
beq _08093EA4
|
|
cmp r3, 0xFE
|
|
beq _08093ED0
|
|
movs r0, 0x2
|
|
strb r0, [r2]
|
|
movs r0, 0xD4
|
|
lsls r0, 4
|
|
adds r2, r4, r0
|
|
movs r0, 0x1
|
|
strb r0, [r2]
|
|
adds r1, 0x2
|
|
adds r2, r4, r1
|
|
movs r0, 0x3
|
|
strb r0, [r2]
|
|
ldr r3, _08093E9C @ =0x00000d42
|
|
adds r2, r4, r3
|
|
movs r0, 0
|
|
strb r0, [r2]
|
|
ldr r0, _08093EA0 @ =0x00000d43
|
|
adds r2, r4, r0
|
|
b _08093EF2
|
|
.align 2, 0
|
|
_08093E78: .4byte gUnknown_20397B0
|
|
_08093E7C: .4byte 0x00000cf5
|
|
_08093E80: .4byte 0x00000cea
|
|
_08093E84: .4byte 0x00000d19
|
|
_08093E88: .4byte 0x00000d1a
|
|
_08093E8C: .4byte gSpeciesNames
|
|
_08093E90: .4byte 0x00000d3d
|
|
_08093E94: .4byte 0x00000d3e
|
|
_08093E98: .4byte 0x00000d3f
|
|
_08093E9C: .4byte 0x00000d42
|
|
_08093EA0: .4byte 0x00000d43
|
|
_08093EA4:
|
|
strb r0, [r2]
|
|
movs r1, 0xD4
|
|
lsls r1, 4
|
|
adds r2, r4, r1
|
|
movs r0, 0x1
|
|
strb r0, [r2]
|
|
ldr r3, _08093EC8 @ =0x00000d41
|
|
adds r2, r4, r3
|
|
movs r0, 0x5
|
|
strb r0, [r2]
|
|
ldr r0, _08093ECC @ =0x00000d42
|
|
adds r2, r4, r0
|
|
movs r0, 0xB5
|
|
strb r0, [r2]
|
|
adds r1, 0x3
|
|
adds r2, r4, r1
|
|
b _08093EF2
|
|
.align 2, 0
|
|
_08093EC8: .4byte 0x00000d41
|
|
_08093ECC: .4byte 0x00000d42
|
|
_08093ED0:
|
|
movs r0, 0x6
|
|
strb r0, [r2]
|
|
movs r3, 0xD4
|
|
lsls r3, 4
|
|
adds r2, r4, r3
|
|
movs r0, 0x1
|
|
strb r0, [r2]
|
|
ldr r0, _08093F60 @ =0x00000d41
|
|
adds r2, r4, r0
|
|
movs r0, 0x7
|
|
strb r0, [r2]
|
|
ldr r1, _08093F64 @ =0x00000d42
|
|
adds r2, r4, r1
|
|
movs r0, 0xB6
|
|
strb r0, [r2]
|
|
adds r3, 0x3
|
|
adds r2, r4, r3
|
|
_08093EF2:
|
|
movs r0, 0xFC
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0x4
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0x2
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0x1
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0x3
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r5, 0
|
|
strb r5, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0xF9
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
movs r0, 0x5
|
|
strb r0, [r2]
|
|
adds r2, 0x1
|
|
ldr r4, _08093F68 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
ldr r1, _08093F6C @ =0x00000ce8
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
adds r0, r2, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
adds r2, r0, 0
|
|
strb r5, [r2]
|
|
movs r0, 0xFF
|
|
strb r0, [r2, 0x1]
|
|
ldr r4, [r4]
|
|
ldr r2, _08093F70 @ =0x00000ce2
|
|
adds r1, r4, r2
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08093F78
|
|
ldr r3, _08093F74 @ =0x00000d61
|
|
adds r4, r3
|
|
bl ItemId_GetName
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x8
|
|
bl StringCopyPadded
|
|
b _08093F84
|
|
.align 2, 0
|
|
_08093F60: .4byte 0x00000d41
|
|
_08093F64: .4byte 0x00000d42
|
|
_08093F68: .4byte gUnknown_20397B0
|
|
_08093F6C: .4byte 0x00000ce8
|
|
_08093F70: .4byte 0x00000ce2
|
|
_08093F74: .4byte 0x00000d61
|
|
_08093F78:
|
|
ldr r1, _08093F94 @ =0x00000d61
|
|
adds r0, r4, r1
|
|
movs r1, 0
|
|
movs r2, 0x8
|
|
bl StringFill
|
|
_08093F84:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08093F94: .4byte 0x00000d61
|
|
thumb_func_end sub_8093AD0
|
|
|
|
thumb_func_start sub_8093F98
|
|
sub_8093F98: @ 8093F98
|
|
push {lr}
|
|
ldr r0, _08093FB8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08093FBC @ =0x000021ef
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _08093FC0
|
|
cmp r0, 0x1
|
|
ble _08093FB0
|
|
cmp r0, 0x2
|
|
beq _08093FC6
|
|
_08093FB0:
|
|
bl sub_8093FD4
|
|
b _08093FCA
|
|
.align 2, 0
|
|
_08093FB8: .4byte gUnknown_20397B0
|
|
_08093FBC: .4byte 0x000021ef
|
|
_08093FC0:
|
|
bl sub_8094240
|
|
b _08093FCA
|
|
_08093FC6:
|
|
bl sub_8094378
|
|
_08093FCA:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8093F98
|
|
|
|
thumb_func_start sub_8093FD4
|
|
sub_8093FD4: @ 8093FD4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _08094058 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
ldr r2, _0809405C @ =gUnknown_2039821
|
|
ldrb r4, [r2]
|
|
ldr r5, _08094060 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r1, _08094064 @ =0x00000cce
|
|
mov r10, r1
|
|
add r0, r10
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
ldr r7, _08094068 @ =0x00000ccf
|
|
adds r0, r7
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
ldr r3, _0809406C @ =0x00000cd3
|
|
mov r9, r3
|
|
add r0, r9
|
|
strb r1, [r0]
|
|
ldr r6, _08094070 @ =gMain
|
|
ldrh r1, [r6, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r3, r2, 0
|
|
cmp r0, 0
|
|
beq _08094018
|
|
b _08094208
|
|
_08094018:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094074
|
|
movs r6, 0x1
|
|
lsls r0, r4, 24
|
|
movs r1, 0xC0
|
|
lsls r1, 19
|
|
adds r0, r1
|
|
lsrs r4, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1D
|
|
bgt _08094034
|
|
b _08094224
|
|
_08094034:
|
|
movs r2, 0x3
|
|
mov r8, r2
|
|
subs r0, 0x1E
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, [r5]
|
|
add r0, r10
|
|
strb r6, [r0]
|
|
ldr r0, [r5]
|
|
add r0, r9
|
|
strb r6, [r0]
|
|
b _08094224
|
|
.align 2, 0
|
|
_08094058: .4byte gUnknown_2039820
|
|
_0809405C: .4byte gUnknown_2039821
|
|
_08094060: .4byte gUnknown_20397B0
|
|
_08094064: .4byte 0x00000cce
|
|
_08094068: .4byte 0x00000ccf
|
|
_0809406C: .4byte 0x00000cd3
|
|
_08094070: .4byte gMain
|
|
_08094074:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080940AA
|
|
movs r6, 0x1
|
|
movs r0, 0
|
|
ldrsb r0, [r3, r0]
|
|
movs r1, 0x6
|
|
bl __modsi3
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08094096
|
|
lsls r0, r4, 24
|
|
movs r3, 0xFF
|
|
lsls r3, 24
|
|
b _08094218
|
|
_08094096:
|
|
ldr r0, [r5]
|
|
adds r0, r7
|
|
movs r1, 0xFF
|
|
strb r1, [r0]
|
|
lsls r0, r4, 24
|
|
movs r1, 0xA0
|
|
lsls r1, 19
|
|
adds r0, r1
|
|
lsrs r4, r0, 24
|
|
b _08094224
|
|
_080940AA:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080940DE
|
|
movs r6, 0x1
|
|
movs r0, 0
|
|
ldrsb r0, [r3, r0]
|
|
adds r0, 0x1
|
|
movs r1, 0x6
|
|
bl __modsi3
|
|
cmp r0, 0
|
|
beq _080940D0
|
|
lsls r0, r4, 24
|
|
movs r2, 0x80
|
|
lsls r2, 17
|
|
adds r0, r2
|
|
lsrs r4, r0, 24
|
|
b _08094224
|
|
_080940D0:
|
|
ldr r0, [r5]
|
|
adds r0, r7
|
|
strb r6, [r0]
|
|
lsls r0, r4, 24
|
|
movs r3, 0xFB
|
|
lsls r3, 24
|
|
b _08094218
|
|
_080940DE:
|
|
ldrh r1, [r6, 0x2E]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080940EC
|
|
movs r6, 0x1
|
|
b _0809421E
|
|
_080940EC:
|
|
movs r4, 0x1
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080941B0
|
|
bl sub_8094924
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080941B0
|
|
ldr r0, _0809410C @ =gUnknown_2039825
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08094110
|
|
movs r0, 0x8
|
|
b _08094232
|
|
.align 2, 0
|
|
_0809410C: .4byte gUnknown_2039825
|
|
_08094110:
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x2
|
|
bne _08094120
|
|
ldr r0, _0809413C @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _080941A0
|
|
_08094120:
|
|
movs r0, 0
|
|
bl sub_8094E50
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0xE
|
|
bhi _080941B0
|
|
lsls r0, 2
|
|
ldr r1, _08094140 @ =_08094144
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809413C: .4byte gUnknown_2039822
|
|
_08094140: .4byte _08094144
|
|
.align 2, 0
|
|
_08094144:
|
|
.4byte _08094180
|
|
.4byte _08094184
|
|
.4byte _08094188
|
|
.4byte _0809418C
|
|
.4byte _08094190
|
|
.4byte _080941B0
|
|
.4byte _080941B0
|
|
.4byte _080941B0
|
|
.4byte _080941B0
|
|
.4byte _080941B0
|
|
.4byte _080941B0
|
|
.4byte _08094194
|
|
.4byte _08094198
|
|
.4byte _080941B0
|
|
.4byte _0809419C
|
|
_08094180:
|
|
movs r0, 0xB
|
|
b _08094232
|
|
_08094184:
|
|
movs r0, 0xC
|
|
b _08094232
|
|
_08094188:
|
|
movs r0, 0xD
|
|
b _08094232
|
|
_0809418C:
|
|
movs r0, 0xE
|
|
b _08094232
|
|
_08094190:
|
|
movs r0, 0xF
|
|
b _08094232
|
|
_08094194:
|
|
movs r0, 0x10
|
|
b _08094232
|
|
_08094198:
|
|
movs r0, 0x11
|
|
b _08094232
|
|
_0809419C:
|
|
movs r0, 0x12
|
|
b _08094232
|
|
_080941A0:
|
|
ldr r2, _080941AC @ =0x000021ef
|
|
adds r0, r1, r2
|
|
strb r4, [r0]
|
|
movs r0, 0x14
|
|
b _08094232
|
|
.align 2, 0
|
|
_080941AC: .4byte 0x000021ef
|
|
_080941B0:
|
|
ldr r2, _080941C0 @ =gMain
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080941C4
|
|
movs r0, 0x13
|
|
b _08094232
|
|
.align 2, 0
|
|
_080941C0: .4byte gMain
|
|
_080941C4:
|
|
ldr r0, _080941E0 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r0, 0x1
|
|
bne _080941F2
|
|
ldrh r1, [r2, 0x2C]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080941E4
|
|
movs r0, 0xA
|
|
b _08094232
|
|
.align 2, 0
|
|
_080941E0: .4byte gSaveBlock2Ptr
|
|
_080941E4:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080941F2
|
|
movs r0, 0x9
|
|
b _08094232
|
|
_080941F2:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094204
|
|
bl sub_8094C84
|
|
movs r0, 0
|
|
b _08094232
|
|
_08094204:
|
|
movs r6, 0
|
|
b _08094230
|
|
_08094208:
|
|
movs r6, 0x1
|
|
movs r0, 0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, 0x5
|
|
ble _0809421E
|
|
lsls r0, r4, 24
|
|
movs r3, 0xFA
|
|
lsls r3, 24
|
|
_08094218:
|
|
adds r0, r3
|
|
lsrs r4, r0, 24
|
|
b _08094224
|
|
_0809421E:
|
|
movs r0, 0x2
|
|
mov r8, r0
|
|
movs r4, 0
|
|
_08094224:
|
|
cmp r6, 0
|
|
beq _08094230
|
|
mov r0, r8
|
|
adds r1, r4, 0
|
|
bl sub_80927E8
|
|
_08094230:
|
|
adds r0, r6, 0
|
|
_08094232:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8093FD4
|
|
|
|
thumb_func_start sub_8094240
|
|
sub_8094240: @ 8094240
|
|
push {r4,lr}
|
|
ldr r1, _08094270 @ =gMain
|
|
ldrh r0, [r1, 0x2C]
|
|
movs r4, 0x1
|
|
ands r4, r0
|
|
cmp r4, 0
|
|
beq _080942F4
|
|
ldrh r1, [r1, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094278
|
|
ldr r4, _08094274 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x6
|
|
bl __divsi3
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080942EC
|
|
ldrb r1, [r4]
|
|
subs r1, 0x6
|
|
b _080942DA
|
|
.align 2, 0
|
|
_08094270: .4byte gMain
|
|
_08094274: .4byte gUnknown_2039821
|
|
_08094278:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094298
|
|
ldr r1, _08094294 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
adds r0, 0x6
|
|
cmp r0, 0x1D
|
|
bgt _080942EC
|
|
ldrb r1, [r1]
|
|
adds r1, 0x6
|
|
b _080942DA
|
|
.align 2, 0
|
|
_08094294: .4byte gUnknown_2039821
|
|
_08094298:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080942BC
|
|
ldr r4, _080942B8 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x6
|
|
bl __modsi3
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080942EC
|
|
ldrb r1, [r4]
|
|
subs r1, 0x1
|
|
b _080942DA
|
|
.align 2, 0
|
|
_080942B8: .4byte gUnknown_2039821
|
|
_080942BC:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080942F0
|
|
ldr r4, _080942E8 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
adds r0, 0x1
|
|
movs r1, 0x6
|
|
bl __modsi3
|
|
cmp r0, 0
|
|
beq _080942EC
|
|
ldrb r1, [r4]
|
|
adds r1, 0x1
|
|
_080942DA:
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
bl sub_80927E8
|
|
movs r0, 0x15
|
|
b _08094364
|
|
.align 2, 0
|
|
_080942E8: .4byte gUnknown_2039821
|
|
_080942EC:
|
|
movs r0, 0x18
|
|
b _08094364
|
|
_080942F0:
|
|
movs r0, 0
|
|
b _08094364
|
|
_080942F4:
|
|
bl sub_8095AA0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08094330 @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
cmp r0, r1
|
|
beq _08094344
|
|
ldr r2, _08094334 @ =gUnknown_2039822
|
|
ldr r0, _08094338 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
movs r3, 0xCE
|
|
lsls r3, 4
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
negs r0, r0
|
|
lsrs r0, 31
|
|
strb r0, [r2]
|
|
ldr r0, _0809433C @ =0x000021ef
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
bl StorageGetCurrentBox
|
|
ldr r1, _08094340 @ =gUnknown_2039823
|
|
strb r0, [r1]
|
|
movs r0, 0x17
|
|
b _08094364
|
|
.align 2, 0
|
|
_08094330: .4byte gUnknown_2039821
|
|
_08094334: .4byte gUnknown_2039822
|
|
_08094338: .4byte gUnknown_20397B0
|
|
_0809433C: .4byte 0x000021ef
|
|
_08094340: .4byte gUnknown_2039823
|
|
_08094344:
|
|
ldr r1, _0809436C @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
ldr r2, _08094370 @ =0x000021ef
|
|
adds r0, r2
|
|
strb r4, [r0]
|
|
ldr r0, [r1]
|
|
ldr r3, _08094374 @ =0x00000cb4
|
|
adds r0, r3
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r2, [r1]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
movs r0, 0x16
|
|
_08094364:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809436C: .4byte gUnknown_20397B0
|
|
_08094370: .4byte 0x000021ef
|
|
_08094374: .4byte 0x00000cb4
|
|
thumb_func_end sub_8094240
|
|
|
|
thumb_func_start sub_8094378
|
|
sub_8094378: @ 8094378
|
|
push {r4,lr}
|
|
ldr r2, _0809439C @ =gMain
|
|
ldrh r1, [r2, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080943A4
|
|
movs r0, 0
|
|
bl sub_8095474
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08094450
|
|
ldr r0, _080943A0 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
subs r1, 0x6
|
|
b _08094402
|
|
.align 2, 0
|
|
_0809439C: .4byte gMain
|
|
_080943A0: .4byte gUnknown_2039821
|
|
_080943A4:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080943C4
|
|
movs r0, 0x1
|
|
bl sub_8095474
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08094450
|
|
ldr r0, _080943C0 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
adds r1, 0x6
|
|
b _08094402
|
|
.align 2, 0
|
|
_080943C0: .4byte gUnknown_2039821
|
|
_080943C4:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080943E4
|
|
movs r0, 0x2
|
|
bl sub_8095474
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809446A
|
|
ldr r0, _080943E0 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
subs r1, 0x1
|
|
b _08094402
|
|
.align 2, 0
|
|
_080943E0: .4byte gUnknown_2039821
|
|
_080943E4:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
beq _08094414
|
|
movs r0, 0x3
|
|
bl sub_8095474
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809447E
|
|
ldr r0, _08094410 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
adds r1, 0x1
|
|
_08094402:
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
bl sub_80927E8
|
|
movs r0, 0x19
|
|
b _08094484
|
|
.align 2, 0
|
|
_08094410: .4byte gUnknown_2039821
|
|
_08094414:
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094448
|
|
bl sub_8095ABC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08094450
|
|
ldr r0, _0809443C @ =gUnknown_2039822
|
|
strb r4, [r0]
|
|
ldr r0, _08094440 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08094444 @ =0x000021ef
|
|
adds r0, r1
|
|
strb r4, [r0]
|
|
movs r0, 0x1A
|
|
b _08094484
|
|
.align 2, 0
|
|
_0809443C: .4byte gUnknown_2039822
|
|
_08094440: .4byte gUnknown_20397B0
|
|
_08094444: .4byte 0x000021ef
|
|
_08094448:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094454
|
|
_08094450:
|
|
movs r0, 0x18
|
|
b _08094484
|
|
_08094454:
|
|
ldr r0, _08094470 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r0, 0x1
|
|
bne _08094482
|
|
ldrh r1, [r2, 0x2C]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094474
|
|
_0809446A:
|
|
movs r0, 0xA
|
|
b _08094484
|
|
.align 2, 0
|
|
_08094470: .4byte gSaveBlock2Ptr
|
|
_08094474:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094482
|
|
_0809447E:
|
|
movs r0, 0x9
|
|
b _08094484
|
|
_08094482:
|
|
movs r0, 0
|
|
_08094484:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8094378
|
|
|
|
thumb_func_start sub_809448C
|
|
sub_809448C: @ 809448C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r0, _080944FC @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
mov r9, r0
|
|
ldr r6, _08094500 @ =gUnknown_2039821
|
|
ldrb r4, [r6]
|
|
ldr r2, _08094504 @ =gUnknown_20397B0
|
|
ldr r0, [r2]
|
|
ldr r1, _08094508 @ =0x00000ccf
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r3, _0809450C @ =0x00000cce
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r3, 0x5
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
mov r8, r1
|
|
movs r7, 0
|
|
ldr r1, _08094510 @ =gMain
|
|
ldrh r3, [r1, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r3
|
|
adds r5, r6, 0
|
|
mov r12, r1
|
|
cmp r0, 0
|
|
beq _080944D0
|
|
b _08094670
|
|
_080944D0:
|
|
movs r0, 0x80
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08094514
|
|
lsls r0, r4, 24
|
|
movs r1, 0x80
|
|
lsls r1, 17
|
|
adds r0, r1
|
|
lsrs r4, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x6
|
|
ble _080944EA
|
|
movs r4, 0
|
|
_080944EA:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
cmp r0, r1
|
|
bne _080944F8
|
|
b _0809468E
|
|
_080944F8:
|
|
movs r7, 0x1
|
|
b _08094692
|
|
.align 2, 0
|
|
_080944FC: .4byte gUnknown_2039820
|
|
_08094500: .4byte gUnknown_2039821
|
|
_08094504: .4byte gUnknown_20397B0
|
|
_08094508: .4byte 0x00000ccf
|
|
_0809450C: .4byte 0x00000cce
|
|
_08094510: .4byte gMain
|
|
_08094514:
|
|
movs r0, 0x20
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08094538
|
|
ldrb r1, [r5]
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, 0
|
|
beq _08094538
|
|
movs r7, 0x1
|
|
ldr r0, [r2]
|
|
ldr r2, _08094534 @ =0x00000cd2
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
movs r4, 0
|
|
b _0809468E
|
|
.align 2, 0
|
|
_08094534: .4byte 0x00000cd2
|
|
_08094538:
|
|
mov r3, r12
|
|
ldrh r1, [r3, 0x30]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094566
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, 0
|
|
bne _0809455C
|
|
movs r7, 0x1
|
|
ldr r0, [r2]
|
|
ldr r1, _08094558 @ =0x00000cd2
|
|
adds r0, r1
|
|
ldrb r4, [r0]
|
|
b _0809468E
|
|
.align 2, 0
|
|
_08094558: .4byte 0x00000cd2
|
|
_0809455C:
|
|
movs r7, 0x6
|
|
movs r2, 0
|
|
mov r9, r2
|
|
movs r4, 0
|
|
b _0809468E
|
|
_08094566:
|
|
mov r3, r12
|
|
ldrh r1, [r3, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094624
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, 0x6
|
|
bne _0809458C
|
|
ldr r0, [r2]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
bne _08094586
|
|
movs r0, 0x4
|
|
b _080946A0
|
|
_08094586:
|
|
movs r0, 0x1
|
|
mov r8, r0
|
|
b _08094624
|
|
_0809458C:
|
|
bl sub_8094924
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08094624
|
|
ldr r0, _080945A4 @ =gUnknown_2039825
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080945A8
|
|
movs r0, 0x8
|
|
b _080946A0
|
|
.align 2, 0
|
|
_080945A4: .4byte gUnknown_2039825
|
|
_080945A8:
|
|
movs r0, 0
|
|
bl sub_8094E50
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0xE
|
|
bhi _08094624
|
|
lsls r0, 2
|
|
ldr r1, _080945C4 @ =_080945C8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080945C4: .4byte _080945C8
|
|
.align 2, 0
|
|
_080945C8:
|
|
.4byte _08094604
|
|
.4byte _08094608
|
|
.4byte _0809460C
|
|
.4byte _08094610
|
|
.4byte _08094614
|
|
.4byte _08094624
|
|
.4byte _08094624
|
|
.4byte _08094624
|
|
.4byte _08094624
|
|
.4byte _08094624
|
|
.4byte _08094624
|
|
.4byte _08094618
|
|
.4byte _0809461C
|
|
.4byte _08094624
|
|
.4byte _08094620
|
|
_08094604:
|
|
movs r0, 0xB
|
|
b _080946A0
|
|
_08094608:
|
|
movs r0, 0xC
|
|
b _080946A0
|
|
_0809460C:
|
|
movs r0, 0xD
|
|
b _080946A0
|
|
_08094610:
|
|
movs r0, 0xE
|
|
b _080946A0
|
|
_08094614:
|
|
movs r0, 0xF
|
|
b _080946A0
|
|
_08094618:
|
|
movs r0, 0x10
|
|
b _080946A0
|
|
_0809461C:
|
|
movs r0, 0x11
|
|
b _080946A0
|
|
_08094620:
|
|
movs r0, 0x12
|
|
b _080946A0
|
|
_08094624:
|
|
ldr r2, _08094640 @ =gMain
|
|
ldrh r1, [r2, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
mov r12, r2
|
|
cmp r0, 0
|
|
beq _0809464C
|
|
ldr r0, _08094644 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
bne _08094648
|
|
movs r0, 0x13
|
|
b _080946A0
|
|
.align 2, 0
|
|
_08094640: .4byte gMain
|
|
_08094644: .4byte gUnknown_20397B0
|
|
_08094648:
|
|
movs r1, 0x1
|
|
mov r8, r1
|
|
_0809464C:
|
|
mov r2, r8
|
|
cmp r2, 0
|
|
beq _0809465C
|
|
movs r7, 0x6
|
|
movs r3, 0
|
|
mov r9, r3
|
|
movs r4, 0
|
|
b _0809468E
|
|
_0809465C:
|
|
mov r0, r12
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809468E
|
|
bl sub_8094C84
|
|
movs r0, 0
|
|
b _080946A0
|
|
_08094670:
|
|
lsls r0, r4, 24
|
|
movs r1, 0xFF
|
|
lsls r1, 24
|
|
adds r0, r1
|
|
lsrs r4, r0, 24
|
|
cmp r0, 0
|
|
bge _08094680
|
|
movs r4, 0x6
|
|
_08094680:
|
|
lsls r0, r4, 24
|
|
asrs r0, 24
|
|
movs r1, 0
|
|
ldrsb r1, [r6, r1]
|
|
cmp r0, r1
|
|
beq _0809468E
|
|
movs r7, 0x1
|
|
_0809468E:
|
|
cmp r7, 0
|
|
beq _0809469E
|
|
_08094692:
|
|
cmp r7, 0x6
|
|
beq _0809469E
|
|
mov r0, r9
|
|
adds r1, r4, 0
|
|
bl sub_80927E8
|
|
_0809469E:
|
|
adds r0, r7, 0
|
|
_080946A0:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809448C
|
|
|
|
thumb_func_start sub_80946AC
|
|
sub_80946AC: @ 80946AC
|
|
push {r4-r6,lr}
|
|
ldr r3, _080946E8 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r1, _080946EC @ =0x00000ccf
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
ldr r2, _080946F0 @ =0x00000cce
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
ldr r5, _080946F4 @ =0x00000cd3
|
|
adds r0, r5
|
|
strb r1, [r0]
|
|
ldr r1, _080946F8 @ =gMain
|
|
ldrh r2, [r1, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _08094772
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080946FC
|
|
movs r4, 0x1
|
|
movs r1, 0
|
|
movs r6, 0x2
|
|
b _0809477E
|
|
.align 2, 0
|
|
_080946E8: .4byte gUnknown_20397B0
|
|
_080946EC: .4byte 0x00000ccf
|
|
_080946F0: .4byte 0x00000cce
|
|
_080946F4: .4byte 0x00000cd3
|
|
_080946F8: .4byte gMain
|
|
_080946FC:
|
|
ldrh r2, [r1, 0x2C]
|
|
movs r0, 0x20
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _08094722
|
|
movs r0, 0x10
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _08094736
|
|
ldr r0, _08094728 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r0, 0x1
|
|
bne _0809473A
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0809472C
|
|
_08094722:
|
|
movs r0, 0xA
|
|
b _0809479A
|
|
.align 2, 0
|
|
_08094728: .4byte gSaveBlock2Ptr
|
|
_0809472C:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0809473A
|
|
_08094736:
|
|
movs r0, 0x9
|
|
b _0809479A
|
|
_0809473A:
|
|
ldrh r1, [r1, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094752
|
|
movs r0, 0
|
|
bl sub_80920FC
|
|
bl sub_8094900
|
|
movs r0, 0x7
|
|
b _0809479A
|
|
_08094752:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809475E
|
|
movs r0, 0x13
|
|
b _0809479A
|
|
_0809475E:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809476E
|
|
bl sub_8094C84
|
|
movs r0, 0
|
|
b _0809479A
|
|
_0809476E:
|
|
movs r4, 0
|
|
b _08094798
|
|
_08094772:
|
|
movs r4, 0x1
|
|
movs r1, 0x3
|
|
movs r6, 0
|
|
ldr r0, [r3]
|
|
adds r0, r5
|
|
strb r4, [r0]
|
|
_0809477E:
|
|
cmp r4, 0
|
|
beq _08094798
|
|
lsls r5, r1, 24
|
|
cmp r1, 0x2
|
|
beq _0809478E
|
|
movs r0, 0
|
|
bl sub_80920FC
|
|
_0809478E:
|
|
lsrs r0, r5, 24
|
|
lsls r1, r6, 24
|
|
lsrs r1, 24
|
|
bl sub_80927E8
|
|
_08094798:
|
|
adds r0, r4, 0
|
|
_0809479A:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80946AC
|
|
|
|
thumb_func_start sub_80947A0
|
|
sub_80947A0: @ 80947A0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080947F0 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
ldr r0, _080947F4 @ =gUnknown_2039821
|
|
mov r12, r0
|
|
ldrb r2, [r0]
|
|
ldr r3, _080947F8 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldr r1, _080947FC @ =0x00000ccf
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
ldr r6, _08094800 @ =0x00000cce
|
|
adds r0, r6
|
|
strb r1, [r0]
|
|
ldr r0, [r3]
|
|
ldr r5, _08094804 @ =0x00000cd3
|
|
adds r0, r5
|
|
strb r1, [r0]
|
|
ldr r7, _08094808 @ =gMain
|
|
ldrh r1, [r7, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
adds r4, r3, 0
|
|
cmp r0, 0
|
|
bne _0809487A
|
|
movs r0, 0x88
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809480C
|
|
movs r7, 0x1
|
|
movs r0, 0x2
|
|
mov r8, r0
|
|
movs r2, 0
|
|
ldr r0, [r4]
|
|
b _08094898
|
|
.align 2, 0
|
|
_080947F0: .4byte gUnknown_2039820
|
|
_080947F4: .4byte gUnknown_2039821
|
|
_080947F8: .4byte gUnknown_20397B0
|
|
_080947FC: .4byte 0x00000ccf
|
|
_08094800: .4byte 0x00000cce
|
|
_08094804: .4byte 0x00000cd3
|
|
_08094808: .4byte gMain
|
|
_0809480C:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094828
|
|
movs r7, 0x1
|
|
lsls r0, r2, 24
|
|
movs r1, 0xFF
|
|
lsls r1, 24
|
|
adds r0, r1
|
|
lsrs r2, r0, 24
|
|
cmp r0, 0
|
|
bge _0809489C
|
|
movs r2, 0x1
|
|
b _0809489C
|
|
_08094828:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094846
|
|
movs r7, 0x1
|
|
lsls r0, r2, 24
|
|
movs r1, 0x80
|
|
lsls r1, 17
|
|
adds r0, r1
|
|
lsrs r2, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
ble _0809489C
|
|
movs r2, 0
|
|
b _0809489C
|
|
_08094846:
|
|
ldrh r1, [r7, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809485A
|
|
movs r0, 0x4
|
|
cmp r2, 0
|
|
bne _080948AA
|
|
movs r0, 0x5
|
|
b _080948AA
|
|
_0809485A:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094866
|
|
movs r0, 0x13
|
|
b _080948AA
|
|
_08094866:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094876
|
|
bl sub_8094C84
|
|
movs r0, 0
|
|
b _080948AA
|
|
_08094876:
|
|
movs r7, 0
|
|
b _080948A8
|
|
_0809487A:
|
|
movs r7, 0x1
|
|
movs r0, 0
|
|
mov r8, r0
|
|
ldr r0, [r3]
|
|
adds r0, r6
|
|
movs r1, 0xFF
|
|
strb r1, [r0]
|
|
mov r1, r12
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
movs r2, 0x1D
|
|
cmp r0, 0
|
|
bne _08094896
|
|
movs r2, 0x18
|
|
_08094896:
|
|
ldr r0, [r3]
|
|
_08094898:
|
|
adds r0, r5
|
|
strb r7, [r0]
|
|
_0809489C:
|
|
cmp r7, 0
|
|
beq _080948A8
|
|
mov r0, r8
|
|
adds r1, r2, 0
|
|
bl sub_80927E8
|
|
_080948A8:
|
|
adds r0, r7, 0
|
|
_080948AA:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80947A0
|
|
|
|
thumb_func_start sub_80948B4
|
|
sub_80948B4: @ 80948B4
|
|
push {r4,r5,lr}
|
|
movs r3, 0
|
|
ldr r0, _080948E0 @ =gUnknown_83D3478
|
|
ldr r1, [r0]
|
|
adds r4, r0, 0
|
|
cmp r1, 0
|
|
beq _080948F8
|
|
ldr r5, _080948E4 @ =gUnknown_2039820
|
|
_080948C4:
|
|
lsls r0, r3, 3
|
|
adds r2, r0, r4
|
|
movs r1, 0x4
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r1, r0
|
|
bne _080948E8
|
|
ldr r0, [r2]
|
|
bl _call_via_r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _080948FA
|
|
.align 2, 0
|
|
_080948E0: .4byte gUnknown_83D3478
|
|
_080948E4: .4byte gUnknown_2039820
|
|
_080948E8:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
lsls r0, r3, 3
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
bne _080948C4
|
|
_080948F8:
|
|
movs r0, 0
|
|
_080948FA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80948B4
|
|
|
|
thumb_func_start sub_8094900
|
|
sub_8094900: @ 8094900
|
|
push {lr}
|
|
bl sub_8094DA8
|
|
movs r0, 0x9
|
|
bl sub_8094DEC
|
|
movs r0, 0xA
|
|
bl sub_8094DEC
|
|
movs r0, 0xB
|
|
bl sub_8094DEC
|
|
movs r0, 0
|
|
bl sub_8094DEC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8094900
|
|
|
|
thumb_func_start sub_8094924
|
|
sub_8094924: @ 8094924
|
|
push {lr}
|
|
bl sub_8094DA8
|
|
ldr r0, _0809493C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08094940
|
|
bl sub_8094A0C
|
|
b _08094944
|
|
.align 2, 0
|
|
_0809493C: .4byte gUnknown_20397B0
|
|
_08094940:
|
|
bl sub_809494C
|
|
_08094944:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8094924
|
|
|
|
thumb_func_start sub_809494C
|
|
sub_809494C: @ 809494C
|
|
push {lr}
|
|
bl sub_8092458
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _0809496C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
beq _08094976
|
|
cmp r0, 0x1
|
|
bgt _08094970
|
|
cmp r0, 0
|
|
beq _08094982
|
|
b _080949BC
|
|
.align 2, 0
|
|
_0809496C: .4byte gUnknown_20397B0
|
|
_08094970:
|
|
cmp r0, 0x2
|
|
beq _0809498E
|
|
b _080949BC
|
|
_08094976:
|
|
cmp r1, 0
|
|
beq _080949BC
|
|
movs r0, 0x1
|
|
bl sub_8094DEC
|
|
b _080949C0
|
|
_08094982:
|
|
cmp r1, 0
|
|
beq _080949BC
|
|
movs r0, 0x2
|
|
bl sub_8094DEC
|
|
b _080949C0
|
|
_0809498E:
|
|
ldr r0, _080949A4 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080949B0
|
|
cmp r1, 0
|
|
beq _080949A8
|
|
movs r0, 0x4
|
|
bl sub_8094DEC
|
|
b _080949C0
|
|
.align 2, 0
|
|
_080949A4: .4byte gUnknown_2039822
|
|
_080949A8:
|
|
movs r0, 0x5
|
|
bl sub_8094DEC
|
|
b _080949C0
|
|
_080949B0:
|
|
cmp r1, 0
|
|
beq _080949BC
|
|
movs r0, 0x3
|
|
bl sub_8094DEC
|
|
b _080949C0
|
|
_080949BC:
|
|
movs r0, 0
|
|
b _08094A06
|
|
_080949C0:
|
|
movs r0, 0x6
|
|
bl sub_8094DEC
|
|
ldr r0, _080949E4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x2
|
|
bne _080949F2
|
|
ldr r0, _080949E8 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _080949EC
|
|
movs r0, 0x2
|
|
bl sub_8094DEC
|
|
b _080949F2
|
|
.align 2, 0
|
|
_080949E4: .4byte gUnknown_20397B0
|
|
_080949E8: .4byte gUnknown_2039820
|
|
_080949EC:
|
|
movs r0, 0x1
|
|
bl sub_8094DEC
|
|
_080949F2:
|
|
movs r0, 0x8
|
|
bl sub_8094DEC
|
|
movs r0, 0x7
|
|
bl sub_8094DEC
|
|
movs r0, 0
|
|
bl sub_8094DEC
|
|
movs r0, 0x1
|
|
_08094A06:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809494C
|
|
|
|
thumb_func_start sub_8094A0C
|
|
sub_8094A0C: @ 8094A0C
|
|
push {r4,r5,lr}
|
|
ldr r4, _08094A48 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
movs r5, 0xCE
|
|
lsls r5, 4
|
|
adds r0, r5
|
|
ldrh r1, [r0]
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
beq _08094A9E
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08094A70
|
|
ldr r2, [r4]
|
|
ldr r0, _08094A4C @ =0x00000ce2
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08094A50
|
|
adds r0, r2, r5
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08094A9E
|
|
movs r0, 0xE
|
|
bl sub_8094DEC
|
|
b _08094AA8
|
|
.align 2, 0
|
|
_08094A48: .4byte gUnknown_20397B0
|
|
_08094A4C: .4byte 0x00000ce2
|
|
_08094A50:
|
|
ldrh r0, [r1]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08094A68
|
|
movs r0, 0xC
|
|
bl sub_8094DEC
|
|
movs r0, 0x10
|
|
bl sub_8094DEC
|
|
_08094A68:
|
|
movs r0, 0x11
|
|
bl sub_8094DEC
|
|
b _08094AA8
|
|
_08094A70:
|
|
ldr r2, [r4]
|
|
ldr r0, _08094A8C @ =0x00000ce2
|
|
adds r1, r2, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08094A90
|
|
adds r0, r2, r5
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08094A9E
|
|
movs r0, 0xD
|
|
bl sub_8094DEC
|
|
b _08094AA8
|
|
.align 2, 0
|
|
_08094A8C: .4byte 0x00000ce2
|
|
_08094A90:
|
|
ldrh r0, [r1]
|
|
bl ItemIsMail
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08094AA2
|
|
_08094A9E:
|
|
movs r0, 0
|
|
b _08094AB0
|
|
_08094AA2:
|
|
movs r0, 0xF
|
|
bl sub_8094DEC
|
|
_08094AA8:
|
|
movs r0, 0
|
|
bl sub_8094DEC
|
|
movs r0, 0x1
|
|
_08094AB0:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8094A0C
|
|
|
|
thumb_func_start sub_8094AB8
|
|
sub_8094AB8: @ 8094AB8
|
|
ldr r1, _08094AD4 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r1, r2
|
|
ldr r2, [r1]
|
|
ldrh r2, [r2, 0x20]
|
|
strh r2, [r0, 0x20]
|
|
ldr r1, [r1]
|
|
ldrh r1, [r1, 0x22]
|
|
adds r1, 0x14
|
|
strh r1, [r0, 0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_08094AD4: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8094AB8
|
|
|
|
thumb_func_start sub_8094AD8
|
|
sub_8094AD8: @ 8094AD8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x2C
|
|
mov r1, sp
|
|
ldr r0, _08094BA4 @ =gUnknown_83D34A0
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
add r4, sp, 0x18
|
|
adds r1, r4, 0
|
|
ldr r0, _08094BA8 @ =gUnknown_83D34B8
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
mov r0, sp
|
|
bl LoadSpriteSheets
|
|
adds r0, r4, 0
|
|
bl LoadSpritePalettes
|
|
ldr r0, _08094BAC @ =0x0000daca
|
|
bl IndexOfSpritePaletteTag
|
|
ldr r6, _08094BB0 @ =gUnknown_20397B0
|
|
ldr r1, [r6]
|
|
ldr r4, _08094BB4 @ =0x00000cd4
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
ldr r0, _08094BB8 @ =0x0000dac7
|
|
bl IndexOfSpritePaletteTag
|
|
ldr r1, [r6]
|
|
ldr r5, _08094BBC @ =0x00000cd5
|
|
adds r1, r5
|
|
strb r0, [r1]
|
|
ldr r0, _08094BC0 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
ldr r1, _08094BC4 @ =gUnknown_2039821
|
|
ldrb r1, [r1]
|
|
add r4, sp, 0x28
|
|
mov r5, sp
|
|
adds r5, 0x2A
|
|
adds r2, r4, 0
|
|
adds r3, r5, 0
|
|
bl sub_8092398
|
|
ldr r0, _08094BC8 @ =gUnknown_83D350C
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
movs r3, 0
|
|
ldrsh r2, [r5, r3]
|
|
movs r3, 0x6
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x40
|
|
beq _08094BD8
|
|
ldr r2, [r6]
|
|
movs r4, 0xCB
|
|
lsls r4, 4
|
|
adds r3, r2, r4
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08094BCC @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r3]
|
|
ldr r0, _08094BD0 @ =gUnknown_2039825
|
|
ldr r5, _08094BB4 @ =0x00000cd4
|
|
adds r2, r5
|
|
ldrb r0, [r0]
|
|
adds r2, r0
|
|
ldrb r2, [r2]
|
|
lsls r2, 4
|
|
ldrb r3, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
ldr r0, _08094BD4 @ =gUnknown_2039822
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08094BE4
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
movs r1, 0x3
|
|
bl StartSpriteAnim
|
|
b _08094BE4
|
|
.align 2, 0
|
|
_08094BA4: .4byte gUnknown_83D34A0
|
|
_08094BA8: .4byte gUnknown_83D34B8
|
|
_08094BAC: .4byte 0x0000daca
|
|
_08094BB0: .4byte gUnknown_20397B0
|
|
_08094BB4: .4byte 0x00000cd4
|
|
_08094BB8: .4byte 0x0000dac7
|
|
_08094BBC: .4byte 0x00000cd5
|
|
_08094BC0: .4byte gUnknown_2039820
|
|
_08094BC4: .4byte gUnknown_2039821
|
|
_08094BC8: .4byte gUnknown_83D350C
|
|
_08094BCC: .4byte gSprites
|
|
_08094BD0: .4byte gUnknown_2039825
|
|
_08094BD4: .4byte gUnknown_2039822
|
|
_08094BD8:
|
|
ldr r0, [r6]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08094BE4:
|
|
ldr r0, _08094BF8 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08094BFC
|
|
movs r3, 0xD
|
|
movs r4, 0x1
|
|
b _08094C00
|
|
.align 2, 0
|
|
_08094BF8: .4byte gUnknown_2039820
|
|
_08094BFC:
|
|
movs r3, 0x15
|
|
movs r4, 0x2
|
|
_08094C00:
|
|
ldr r0, _08094C54 @ =gUnknown_83D3524
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x40
|
|
beq _08094C68
|
|
ldr r5, _08094C58 @ =gUnknown_20397B0
|
|
ldr r2, [r5]
|
|
ldr r3, _08094C5C @ =0x00000cb4
|
|
adds r2, r3
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08094C60 @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
lsls r3, r4, 2
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, _08094C64 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
beq _08094C74
|
|
ldr r0, [r5]
|
|
ldr r4, _08094C5C @ =0x00000cb4
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
b _08094C74
|
|
.align 2, 0
|
|
_08094C54: .4byte gUnknown_83D3524
|
|
_08094C58: .4byte gUnknown_20397B0
|
|
_08094C5C: .4byte 0x00000cb4
|
|
_08094C60: .4byte gSprites
|
|
_08094C64: .4byte gUnknown_2039820
|
|
_08094C68:
|
|
ldr r0, _08094C7C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r5, _08094C80 @ =0x00000cb4
|
|
adds r0, r5
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
_08094C74:
|
|
add sp, 0x2C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094C7C: .4byte gUnknown_20397B0
|
|
_08094C80: .4byte 0x00000cb4
|
|
thumb_func_end sub_8094AD8
|
|
|
|
thumb_func_start sub_8094C84
|
|
sub_8094C84: @ 8094C84
|
|
push {lr}
|
|
ldr r2, _08094CBC @ =gUnknown_2039825
|
|
movs r1, 0
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
bne _08094C92
|
|
movs r1, 0x1
|
|
_08094C92:
|
|
strb r1, [r2]
|
|
ldr r0, _08094CC0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r3, 0xCB
|
|
lsls r3, 4
|
|
adds r1, r0, r3
|
|
ldr r3, [r1]
|
|
ldr r1, _08094CC4 @ =0x00000cd4
|
|
adds r0, r1
|
|
ldrb r2, [r2]
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
lsls r1, 4
|
|
ldrb r2, [r3, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x5]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094CBC: .4byte gUnknown_2039825
|
|
_08094CC0: .4byte gUnknown_20397B0
|
|
_08094CC4: .4byte 0x00000cd4
|
|
thumb_func_end sub_8094C84
|
|
|
|
thumb_func_start sub_8094CC8
|
|
sub_8094CC8: @ 8094CC8
|
|
ldr r0, _08094CD0 @ =gUnknown_2039821
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08094CD0: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8094CC8
|
|
|
|
thumb_func_start sub_8094CD4
|
|
sub_8094CD4: @ 8094CD4
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldr r0, _08094D00 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _08094D08
|
|
ldr r4, _08094D04 @ =gUnknown_2039821
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x6
|
|
bl __modsi3
|
|
strb r0, [r5]
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x6
|
|
bl __divsi3
|
|
b _08094D0C
|
|
.align 2, 0
|
|
_08094D00: .4byte gUnknown_2039820
|
|
_08094D04: .4byte gUnknown_2039821
|
|
_08094D08:
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
_08094D0C:
|
|
strb r0, [r6]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8094CD4
|
|
|
|
thumb_func_start sub_8094D14
|
|
sub_8094D14: @ 8094D14
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r0, _08094D30 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r2, 0xCB
|
|
lsls r2, 4
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
bl StartSpriteAnim
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094D30: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8094D14
|
|
|
|
thumb_func_start sub_8094D34
|
|
sub_8094D34: @ 8094D34
|
|
ldr r0, _08094D3C @ =gUnknown_2039823
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08094D3C: .4byte gUnknown_2039823
|
|
thumb_func_end sub_8094D34
|
|
|
|
thumb_func_start sub_8094D40
|
|
sub_8094D40: @ 8094D40
|
|
ldr r0, _08094D5C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
bx lr
|
|
.align 2, 0
|
|
_08094D5C: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8094D40
|
|
|
|
thumb_func_start sub_8094D60
|
|
sub_8094D60: @ 8094D60
|
|
push {lr}
|
|
ldr r0, _08094D7C @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _08094D78
|
|
ldr r0, _08094D80 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_8095D44
|
|
_08094D78:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094D7C: .4byte gUnknown_2039820
|
|
_08094D80: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8094D60
|
|
|
|
thumb_func_start sub_8094D84
|
|
sub_8094D84: @ 8094D84
|
|
push {lr}
|
|
ldr r0, _08094DA0 @ =gUnknown_2039820
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0
|
|
bne _08094D9C
|
|
ldr r0, _08094DA4 @ =gUnknown_2039821
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_8095C84
|
|
_08094D9C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094DA0: .4byte gUnknown_2039820
|
|
_08094DA4: .4byte gUnknown_2039821
|
|
thumb_func_end sub_8094D84
|
|
|
|
thumb_func_start sub_8094DA8
|
|
sub_8094DA8: @ 8094DA8
|
|
ldr r2, _08094DDC @ =gUnknown_20397B0
|
|
ldr r0, [r2]
|
|
ldr r1, _08094DE0 @ =0x00000ca8
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r3, _08094DE4 @ =0x00000ca9
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
subs r3, 0x41
|
|
adds r0, r3
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
ldr r1, _08094DE8 @ =0x00000c6d
|
|
adds r0, r1
|
|
movs r1, 0xF
|
|
strb r1, [r0]
|
|
ldr r0, [r2]
|
|
adds r3, 0x6
|
|
adds r0, r3
|
|
movs r1, 0x5C
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08094DDC: .4byte gUnknown_20397B0
|
|
_08094DE0: .4byte 0x00000ca8
|
|
_08094DE4: .4byte 0x00000ca9
|
|
_08094DE8: .4byte 0x00000c6d
|
|
thumb_func_end sub_8094DA8
|
|
|
|
thumb_func_start sub_8094DEC
|
|
sub_8094DEC: @ 8094DEC
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r4, _08094E40 @ =gUnknown_20397B0
|
|
ldr r2, [r4]
|
|
ldr r5, _08094E44 @ =0x00000ca8
|
|
adds r1, r2, r5
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x6
|
|
bhi _08094E38
|
|
adds r1, r0, 0
|
|
lsls r1, 3
|
|
movs r0, 0xC7
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
adds r1, r2, r1
|
|
ldr r2, _08094E48 @ =gUnknown_83D353C
|
|
lsls r0, r3, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
str r3, [r1, 0x4]
|
|
bl StringLength
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, [r4]
|
|
ldr r2, _08094E4C @ =0x00000ca9
|
|
adds r0, r2
|
|
ldrb r2, [r0]
|
|
cmp r1, r2
|
|
bls _08094E2E
|
|
strb r1, [r0]
|
|
_08094E2E:
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_08094E38:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094E40: .4byte gUnknown_20397B0
|
|
_08094E44: .4byte 0x00000ca8
|
|
_08094E48: .4byte gUnknown_83D353C
|
|
_08094E4C: .4byte 0x00000ca9
|
|
thumb_func_end sub_8094DEC
|
|
|
|
thumb_func_start sub_8094E50
|
|
sub_8094E50: @ 8094E50
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08094E74 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldr r3, _08094E78 @ =0x00000ca8
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _08094E80
|
|
lsls r0, r2, 3
|
|
ldr r2, _08094E7C @ =0x00000c74
|
|
adds r1, r2
|
|
adds r1, r0
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
b _08094E84
|
|
.align 2, 0
|
|
_08094E74: .4byte gUnknown_20397B0
|
|
_08094E78: .4byte 0x00000ca8
|
|
_08094E7C: .4byte 0x00000c74
|
|
_08094E80:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_08094E84:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8094E50
|
|
|
|
thumb_func_start sub_8094E88
|
|
sub_8094E88: @ 8094E88
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0xC
|
|
ldr r5, _08094F6C @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldr r2, _08094F70 @ =0x00000ca9
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r0, 0x2
|
|
subs r2, 0x3E
|
|
adds r1, r2
|
|
movs r3, 0
|
|
mov r10, r3
|
|
strb r0, [r1]
|
|
ldr r1, [r5]
|
|
ldr r0, _08094F74 @ =0x00000ca8
|
|
mov r8, r0
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
ldr r3, _08094F78 @ =0x00000c6c
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
ldr r1, [r5]
|
|
adds r2, r1, r2
|
|
ldrb r2, [r2]
|
|
movs r0, 0x1D
|
|
subs r0, r2
|
|
ldr r2, _08094F7C @ =0x00000c69
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r1, [r5]
|
|
adds r3, r1, r3
|
|
ldrb r2, [r3]
|
|
movs r0, 0xF
|
|
subs r0, r2
|
|
ldr r3, _08094F80 @ =0x00000c6a
|
|
adds r1, r3
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, _08094F84 @ =0x00000c68
|
|
adds r0, r1
|
|
bl AddWindow
|
|
ldr r1, [r5]
|
|
ldr r4, _08094F88 @ =0x00000cac
|
|
adds r1, r4
|
|
movs r2, 0
|
|
mov r9, r2
|
|
strh r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl ClearWindowTilemap
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0xB
|
|
movs r3, 0xE
|
|
bl DrawStdFrameWithCustomTileAndPalette
|
|
ldr r2, [r5]
|
|
adds r0, r2, r4
|
|
ldrb r0, [r0]
|
|
movs r6, 0x10
|
|
str r6, [sp]
|
|
mov r3, r8
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0xC7
|
|
lsls r1, 4
|
|
adds r2, r1
|
|
str r2, [sp, 0x8]
|
|
movs r1, 0x1
|
|
movs r2, 0x8
|
|
movs r3, 0x2
|
|
bl PrintTextArray
|
|
ldr r1, [r5]
|
|
adds r4, r1, r4
|
|
ldrb r0, [r4]
|
|
str r6, [sp]
|
|
add r1, r8
|
|
ldrb r1, [r1]
|
|
str r1, [sp, 0x4]
|
|
mov r2, r10
|
|
str r2, [sp, 0x8]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl Menu_InitCursor
|
|
movs r0, 0
|
|
bl ScheduleBgCopyTilemapToVram
|
|
ldr r0, [r5]
|
|
ldr r3, _08094F8C @ =0x00000caa
|
|
adds r0, r3
|
|
mov r1, r9
|
|
strb r1, [r0]
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08094F6C: .4byte gUnknown_20397B0
|
|
_08094F70: .4byte 0x00000ca9
|
|
_08094F74: .4byte 0x00000ca8
|
|
_08094F78: .4byte 0x00000c6c
|
|
_08094F7C: .4byte 0x00000c69
|
|
_08094F80: .4byte 0x00000c6a
|
|
_08094F84: .4byte 0x00000c68
|
|
_08094F88: .4byte 0x00000cac
|
|
_08094F8C: .4byte 0x00000caa
|
|
thumb_func_end sub_8094E88
|
|
|
|
thumb_func_start sub_8094F90
|
|
sub_8094F90: @ 8094F90
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_8094F90
|
|
|
|
thumb_func_start sub_8094F94
|
|
sub_8094F94: @ 8094F94
|
|
push {r4,r5,lr}
|
|
movs r5, 0x2
|
|
negs r5, r5
|
|
ldr r4, _08094FD0 @ =gMain
|
|
ldrh r1, [r4, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08094FEA
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094FB6
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r5, 0x1
|
|
_08094FB6:
|
|
ldrh r1, [r4, 0x2E]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094FD4
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl Menu_MoveCursor
|
|
b _08094FF2
|
|
.align 2, 0
|
|
_08094FD0: .4byte gMain
|
|
_08094FD4:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08094FF2
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl Menu_MoveCursor
|
|
b _08094FF2
|
|
_08094FEA:
|
|
bl Menu_GetCursorPos
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_08094FF2:
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08094FFE
|
|
bl sub_8095024
|
|
_08094FFE:
|
|
cmp r5, 0
|
|
blt _08095010
|
|
ldr r0, _0809501C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 3
|
|
ldr r2, _08095020 @ =0x00000c74
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r5, [r0]
|
|
_08095010:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809501C: .4byte gUnknown_20397B0
|
|
_08095020: .4byte 0x00000c74
|
|
thumb_func_end sub_8094F94
|
|
|
|
thumb_func_start sub_8095024
|
|
sub_8095024: @ 8095024
|
|
push {r4,r5,lr}
|
|
ldr r5, _08095048 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _0809504C @ =0x00000cac
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x1
|
|
bl ClearStdWindowAndFrameToTransparent
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl RemoveWindow
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095048: .4byte gUnknown_20397B0
|
|
_0809504C: .4byte 0x00000cac
|
|
thumb_func_end sub_8095024
|
|
|
|
thumb_func_start sub_8095050
|
|
sub_8095050: @ 8095050
|
|
push {r4,lr}
|
|
ldr r4, _08095088 @ =gUnknown_2039828
|
|
ldr r0, _0809508C @ =0x00000974
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0809509C
|
|
ldr r0, _08095090 @ =gUnknown_83D35D4
|
|
bl AddWindow8Bit
|
|
adds r1, r0, 0
|
|
ldr r0, _08095094 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _08095098 @ =0x000021f0
|
|
adds r0, r2
|
|
strh r1, [r0]
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xFF
|
|
beq _0809509C
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0x1
|
|
b _0809509E
|
|
.align 2, 0
|
|
_08095088: .4byte gUnknown_2039828
|
|
_0809508C: .4byte 0x00000974
|
|
_08095090: .4byte gUnknown_83D35D4
|
|
_08095094: .4byte gUnknown_20397B0
|
|
_08095098: .4byte 0x000021f0
|
|
_0809509C:
|
|
movs r0, 0
|
|
_0809509E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095050
|
|
|
|
thumb_func_start sub_80950A4
|
|
sub_80950A4: @ 80950A4
|
|
push {lr}
|
|
ldr r0, _080950B8 @ =gUnknown_2039828
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080950B2
|
|
bl Free
|
|
_080950B2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080950B8: .4byte gUnknown_2039828
|
|
thumb_func_end sub_80950A4
|
|
|
|
thumb_func_start sub_80950BC
|
|
sub_80950BC: @ 80950BC
|
|
ldr r2, _080950CC @ =gUnknown_2039828
|
|
ldr r1, [r2]
|
|
movs r3, 0
|
|
strb r0, [r1]
|
|
ldr r0, [r2]
|
|
strb r3, [r0, 0x1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080950CC: .4byte gUnknown_2039828
|
|
thumb_func_end sub_80950BC
|
|
|
|
thumb_func_start sub_80950D0
|
|
sub_80950D0: @ 80950D0
|
|
push {lr}
|
|
ldr r0, _080950E8 @ =gUnknown_2039828
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x5
|
|
bhi _08095130
|
|
lsls r0, 2
|
|
ldr r1, _080950EC @ =_080950F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080950E8: .4byte gUnknown_2039828
|
|
_080950EC: .4byte _080950F0
|
|
.align 2, 0
|
|
_080950F0:
|
|
.4byte _08095108
|
|
.4byte _0809510E
|
|
.4byte _08095114
|
|
.4byte _0809511A
|
|
.4byte _08095120
|
|
.4byte _08095126
|
|
_08095108:
|
|
bl sub_8095138
|
|
b _0809512A
|
|
_0809510E:
|
|
bl sub_8095234
|
|
b _0809512A
|
|
_08095114:
|
|
bl sub_80952A0
|
|
b _0809512A
|
|
_0809511A:
|
|
bl sub_8095314
|
|
b _0809512A
|
|
_08095120:
|
|
bl sub_8095394
|
|
b _0809512A
|
|
_08095126:
|
|
bl sub_80953BC
|
|
_0809512A:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _08095132
|
|
_08095130:
|
|
movs r0, 0
|
|
_08095132:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80950D0
|
|
|
|
thumb_func_start sub_8095138
|
|
sub_8095138: @ 8095138
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r6, _08095150 @ =gUnknown_2039828
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x1
|
|
beq _08095168
|
|
cmp r0, 0x1
|
|
bgt _08095154
|
|
cmp r0, 0
|
|
beq _0809515A
|
|
b _08095228
|
|
.align 2, 0
|
|
_08095150: .4byte gUnknown_2039828
|
|
_08095154:
|
|
cmp r0, 0x2
|
|
beq _08095214
|
|
b _08095228
|
|
_0809515A:
|
|
movs r0, 0
|
|
bl HideBg
|
|
movs r0, 0x80
|
|
bl sub_8097198
|
|
b _080951F8
|
|
_08095168:
|
|
adds r0, r1, 0x2
|
|
adds r1, 0x3
|
|
bl sub_8094CD4
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x2]
|
|
strb r0, [r1, 0x4]
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x3]
|
|
strb r0, [r1, 0x5]
|
|
ldr r4, _08095204 @ =0xfffffc00
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
ldr r5, _08095208 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _0809520C @ =0x000021f0
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer8Bit
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x2]
|
|
ldrb r1, [r1, 0x3]
|
|
bl sub_80956A4
|
|
movs r0, 0
|
|
movs r1, 0x4
|
|
movs r2, 0x1
|
|
bl SetBgAttribute
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl PutWindowTilemap
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram8Bit
|
|
movs r0, 0xFC
|
|
lsls r0, 6
|
|
ldr r2, _08095210 @ =0x00007fff
|
|
movs r1, 0x8
|
|
bl BlendPalettes
|
|
movs r0, 0x2
|
|
bl sub_8094D14
|
|
movs r0, 0x8
|
|
movs r1, 0x80
|
|
bl SetGpuRegBits
|
|
_080951F8:
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
b _08095228
|
|
.align 2, 0
|
|
_08095204: .4byte 0xfffffc00
|
|
_08095208: .4byte gUnknown_20397B0
|
|
_0809520C: .4byte 0x000021f0
|
|
_08095210: .4byte 0x00007fff
|
|
_08095214:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08095228
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0
|
|
b _0809522A
|
|
_08095228:
|
|
movs r0, 0x1
|
|
_0809522A:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095138
|
|
|
|
thumb_func_start sub_8095234
|
|
sub_8095234: @ 8095234
|
|
push {r4,lr}
|
|
ldr r4, _0809524C @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
beq _0809525E
|
|
cmp r0, 0x1
|
|
bgt _08095250
|
|
cmp r0, 0
|
|
beq _08095256
|
|
b _08095298
|
|
.align 2, 0
|
|
_0809524C: .4byte gUnknown_2039828
|
|
_08095250:
|
|
cmp r0, 0x2
|
|
beq _08095272
|
|
b _08095298
|
|
_08095256:
|
|
movs r0, 0
|
|
bl HideBg
|
|
b _08095268
|
|
_0809525E:
|
|
bl sub_8095A58
|
|
movs r0, 0
|
|
bl sub_8094D14
|
|
_08095268:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
b _08095298
|
|
_08095272:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08095298
|
|
bl sub_8094D40
|
|
movs r0, 0x3
|
|
bl stdpal_get
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0
|
|
b _0809529A
|
|
_08095298:
|
|
movs r0, 0x1
|
|
_0809529A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095234
|
|
|
|
thumb_func_start sub_80952A0
|
|
sub_80952A0: @ 80952A0
|
|
push {r4,lr}
|
|
ldr r4, _080952B4 @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0
|
|
beq _080952B8
|
|
cmp r0, 0x1
|
|
beq _08095300
|
|
b _0809530A
|
|
.align 2, 0
|
|
_080952B4: .4byte gUnknown_2039828
|
|
_080952B8:
|
|
bl sub_80924A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809530A
|
|
ldr r1, [r4]
|
|
adds r0, r1, 0x6
|
|
adds r1, 0x7
|
|
bl sub_8094CD4
|
|
bl sub_8095520
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x6]
|
|
strb r0, [r1, 0x4]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x7]
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, _080952F8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080952FC @ =0x000021f0
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram8Bit
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
b _0809530A
|
|
.align 2, 0
|
|
_080952F8: .4byte gUnknown_20397B0
|
|
_080952FC: .4byte 0x000021f0
|
|
_08095300:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0809530C
|
|
_0809530A:
|
|
movs r0, 0x1
|
|
_0809530C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80952A0
|
|
|
|
thumb_func_start sub_8095314
|
|
sub_8095314: @ 8095314
|
|
push {r4,lr}
|
|
ldr r4, _0809532C @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
beq _08095342
|
|
cmp r0, 0x1
|
|
bgt _08095330
|
|
cmp r0, 0
|
|
beq _08095336
|
|
b _0809538C
|
|
.align 2, 0
|
|
_0809532C: .4byte gUnknown_2039828
|
|
_08095330:
|
|
cmp r0, 0x2
|
|
beq _0809536E
|
|
b _0809538C
|
|
_08095336:
|
|
bl sub_80957C8
|
|
bl sub_80958A0
|
|
movs r0, 0
|
|
b _08095360
|
|
_08095342:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809538C
|
|
movs r0, 0x3
|
|
bl sub_8094D14
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
movs r0, 0
|
|
movs r2, 0x8
|
|
bl sub_8095780
|
|
movs r0, 0x1
|
|
_08095360:
|
|
bl sub_8092BAC
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
b _0809538C
|
|
_0809536E:
|
|
bl sub_8095790
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, 0
|
|
bne _0809538C
|
|
cmp r0, 0
|
|
bne _0809538C
|
|
movs r0, 0
|
|
b _0809538E
|
|
_0809538C:
|
|
movs r0, 0x1
|
|
_0809538E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095314
|
|
|
|
thumb_func_start sub_8095394
|
|
sub_8095394: @ 8095394
|
|
push {r4,lr}
|
|
bl sub_80924A8
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8095790
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, 0
|
|
bne _080953B4
|
|
cmp r0, 0
|
|
bne _080953B4
|
|
movs r0, 0
|
|
b _080953B6
|
|
_080953B4:
|
|
movs r0, 0x1
|
|
_080953B6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095394
|
|
|
|
thumb_func_start sub_80953BC
|
|
sub_80953BC: @ 80953BC
|
|
push {r4,lr}
|
|
ldr r4, _080953D4 @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x1
|
|
beq _080953FA
|
|
cmp r0, 0x1
|
|
bgt _080953D8
|
|
cmp r0, 0
|
|
beq _080953E2
|
|
b _0809546A
|
|
.align 2, 0
|
|
_080953D4: .4byte gUnknown_2039828
|
|
_080953D8:
|
|
cmp r0, 0x2
|
|
beq _08095426
|
|
cmp r0, 0x3
|
|
beq _08095444
|
|
b _0809546A
|
|
_080953E2:
|
|
bl sub_80959A8
|
|
movs r1, 0xFF
|
|
lsls r1, 8
|
|
movs r0, 0
|
|
movs r2, 0x8
|
|
bl sub_8095780
|
|
movs r0, 0
|
|
bl sub_8092BAC
|
|
b _0809543A
|
|
_080953FA:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809546A
|
|
bl sub_8095790
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809546A
|
|
bl sub_8095918
|
|
movs r0, 0x2
|
|
bl sub_8094D14
|
|
movs r0, 0x1
|
|
bl sub_8092BAC
|
|
movs r0, 0
|
|
bl HideBg
|
|
b _0809543A
|
|
_08095426:
|
|
bl sub_8092BF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809546A
|
|
movs r0, 0
|
|
bl sub_8094D14
|
|
bl sub_8095A58
|
|
_0809543A:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x1]
|
|
b _0809546A
|
|
_08095444:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809546A
|
|
movs r0, 0x3
|
|
bl stdpal_get
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
bl sub_8094D40
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0
|
|
b _0809546C
|
|
_0809546A:
|
|
movs r0, 0x1
|
|
_0809546C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80953BC
|
|
|
|
thumb_func_start sub_8095474
|
|
sub_8095474: @ 8095474
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r0, 0
|
|
cmp r0, 0x1
|
|
beq _080954B0
|
|
cmp r0, 0x1
|
|
bgt _0809548A
|
|
cmp r0, 0
|
|
beq _08095494
|
|
b _08095518
|
|
_0809548A:
|
|
cmp r1, 0x2
|
|
beq _080954D0
|
|
cmp r1, 0x3
|
|
beq _080954F0
|
|
b _08095518
|
|
_08095494:
|
|
ldr r0, _080954AC @ =gUnknown_2039828
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x9]
|
|
cmp r0, 0
|
|
beq _080954FE
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r1, 0x80
|
|
lsls r1, 3
|
|
movs r0, 0
|
|
b _080954E4
|
|
.align 2, 0
|
|
_080954AC: .4byte gUnknown_2039828
|
|
_080954B0:
|
|
ldr r0, _080954CC @ =gUnknown_2039828
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x9]
|
|
ldrb r0, [r1, 0xB]
|
|
adds r0, r2, r0
|
|
cmp r0, 0x4
|
|
bgt _080954FE
|
|
adds r0, r2, 0x1
|
|
strb r0, [r1, 0x9]
|
|
movs r1, 0xFC
|
|
lsls r1, 8
|
|
movs r0, 0
|
|
b _080954E4
|
|
.align 2, 0
|
|
_080954CC: .4byte gUnknown_2039828
|
|
_080954D0:
|
|
ldr r0, _080954EC @ =gUnknown_2039828
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x8]
|
|
cmp r0, 0
|
|
beq _080954FE
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x8]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
movs r1, 0
|
|
_080954E4:
|
|
movs r2, 0x6
|
|
bl sub_8095780
|
|
b _08095518
|
|
.align 2, 0
|
|
_080954EC: .4byte gUnknown_2039828
|
|
_080954F0:
|
|
ldr r0, _08095504 @ =gUnknown_2039828
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x8]
|
|
ldrb r0, [r1, 0xA]
|
|
adds r0, r2, r0
|
|
cmp r0, 0x5
|
|
ble _08095508
|
|
_080954FE:
|
|
movs r0, 0
|
|
b _0809551A
|
|
.align 2, 0
|
|
_08095504: .4byte gUnknown_2039828
|
|
_08095508:
|
|
adds r0, r2, 0x1
|
|
strb r0, [r1, 0x8]
|
|
movs r0, 0xFC
|
|
lsls r0, 8
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
bl sub_8095780
|
|
_08095518:
|
|
movs r0, 0x1
|
|
_0809551A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095474
|
|
|
|
thumb_func_start sub_8095520
|
|
sub_8095520: @ 8095520
|
|
push {r4-r7,lr}
|
|
ldr r6, _080955C0 @ =gUnknown_2039828
|
|
ldr r2, [r6]
|
|
ldrb r3, [r2, 0x2]
|
|
ldrb r5, [r2, 0x6]
|
|
subs r1, r3, r5
|
|
cmp r1, 0
|
|
bge _08095532
|
|
negs r1, r1
|
|
_08095532:
|
|
ldrb r0, [r2, 0x4]
|
|
subs r0, r3, r0
|
|
cmp r0, 0
|
|
bge _0809553C
|
|
negs r0, r0
|
|
_0809553C:
|
|
subs r0, r1, r0
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldrb r1, [r2, 0x3]
|
|
ldrb r0, [r2, 0x7]
|
|
subs r3, r1, r0
|
|
cmp r3, 0
|
|
bge _0809554E
|
|
negs r3, r3
|
|
_0809554E:
|
|
ldrb r2, [r2, 0x5]
|
|
subs r0, r1, r2
|
|
cmp r0, 0
|
|
bge _08095558
|
|
negs r0, r0
|
|
_08095558:
|
|
subs r0, r3, r0
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
lsls r0, r4, 16
|
|
asrs r4, r0, 16
|
|
cmp r4, 0
|
|
ble _0809556C
|
|
adds r0, r5, 0
|
|
bl sub_80955C4
|
|
_0809556C:
|
|
cmp r4, 0
|
|
bge _08095588
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x4]
|
|
ldrb r1, [r2, 0x3]
|
|
ldrb r2, [r2, 0x5]
|
|
bl sub_8095634
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x6]
|
|
ldrb r1, [r2, 0x3]
|
|
ldrb r2, [r2, 0x5]
|
|
bl sub_80955C4
|
|
_08095588:
|
|
lsls r0, r7, 16
|
|
asrs r4, r0, 16
|
|
cmp r4, 0
|
|
ble _0809559C
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x7]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r2, [r2, 0x4]
|
|
bl sub_80955FC
|
|
_0809559C:
|
|
cmp r4, 0
|
|
bge _080955B8
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x5]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r2, [r2, 0x4]
|
|
bl sub_809566C
|
|
ldr r2, [r6]
|
|
ldrb r0, [r2, 0x7]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r2, [r2, 0x4]
|
|
bl sub_80955FC
|
|
_080955B8:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080955C0: .4byte gUnknown_2039828
|
|
thumb_func_end sub_8095520
|
|
|
|
thumb_func_start sub_80955C4
|
|
sub_80955C4: @ 80955C4
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r4, 0
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
adds r0, r5, 0
|
|
cmp r4, r5
|
|
bls _080955E2
|
|
adds r4, r5, 0
|
|
adds r5, r1, 0
|
|
cmp r0, r5
|
|
bhi _080955F4
|
|
_080955E2:
|
|
adds r1, r4, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r6, 0
|
|
bl sub_80956A4
|
|
cmp r4, r5
|
|
bls _080955E2
|
|
_080955F4:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80955C4
|
|
|
|
thumb_func_start sub_80955FC
|
|
sub_80955FC: @ 80955FC
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r4, 0
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
adds r0, r5, 0
|
|
cmp r4, r5
|
|
bls _0809561A
|
|
adds r4, r5, 0
|
|
adds r5, r1, 0
|
|
cmp r0, r5
|
|
bhi _0809562C
|
|
_0809561A:
|
|
adds r0, r4, 0
|
|
adds r1, r0, 0x1
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r6, 0
|
|
bl sub_80956A4
|
|
cmp r4, r5
|
|
bls _0809561A
|
|
_0809562C:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80955FC
|
|
|
|
thumb_func_start sub_8095634
|
|
sub_8095634: @ 8095634
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r4, 0
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
adds r0, r5, 0
|
|
cmp r4, r5
|
|
bls _08095652
|
|
adds r4, r5, 0
|
|
adds r5, r1, 0
|
|
cmp r0, r5
|
|
bhi _08095664
|
|
_08095652:
|
|
adds r1, r4, 0
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r6, 0
|
|
bl sub_809572C
|
|
cmp r4, r5
|
|
bls _08095652
|
|
_08095664:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8095634
|
|
|
|
thumb_func_start sub_809566C
|
|
sub_809566C: @ 809566C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r4, 0
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
adds r0, r5, 0
|
|
cmp r4, r5
|
|
bls _0809568A
|
|
adds r4, r5, 0
|
|
adds r5, r1, 0
|
|
cmp r0, r5
|
|
bhi _0809569C
|
|
_0809568A:
|
|
adds r0, r4, 0
|
|
adds r1, r0, 0x1
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r1, r6, 0
|
|
bl sub_809572C
|
|
cmp r4, r5
|
|
bls _0809568A
|
|
_0809569C:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809566C
|
|
|
|
thumb_func_start sub_80956A4
|
|
sub_80956A4: @ 80956A4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x1C
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r0, r1, 1
|
|
adds r7, r0, r1
|
|
lsls r4, r7, 1
|
|
adds r4, r6, r4
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetBoxMonDataFromSelectedBox
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetBoxMonDataFromSelectedBox
|
|
adds r1, r0, 0
|
|
cmp r5, 0
|
|
beq _0809571A
|
|
adds r0, r5, 0
|
|
movs r2, 0x1
|
|
bl GetMonIconPtr
|
|
adds r4, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_80971F8
|
|
adds r0, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08095724 @ =gUnknown_20397B0
|
|
ldr r1, [r1]
|
|
ldr r2, _08095728 @ =0x000021f0
|
|
adds r1, r2
|
|
ldrb r3, [r1]
|
|
movs r2, 0x20
|
|
str r2, [sp]
|
|
str r2, [sp, 0x4]
|
|
lsls r1, r6, 1
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
str r1, [sp, 0x8]
|
|
lsls r1, r7, 3
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
str r2, [sp, 0x14]
|
|
str r0, [sp, 0x18]
|
|
adds r0, r3, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl BlitBitmapRectToWindow4BitTo8Bit
|
|
_0809571A:
|
|
add sp, 0x1C
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095724: .4byte gUnknown_20397B0
|
|
_08095728: .4byte 0x000021f0
|
|
thumb_func_end sub_80956A4
|
|
|
|
thumb_func_start sub_809572C
|
|
sub_809572C: @ 809572C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r0, r1, 1
|
|
adds r5, r0, r1
|
|
lsls r0, r5, 1
|
|
adds r0, r4, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x41
|
|
bl GetBoxMonDataFromSelectedBox
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0809576E
|
|
ldr r0, _08095778 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0809577C @ =0x000021f0
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r2, r4, 1
|
|
adds r2, r4
|
|
lsls r2, 3
|
|
lsls r3, r5, 3
|
|
movs r1, 0x20
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
bl FillWindowPixelRect8Bit
|
|
_0809576E:
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095778: .4byte gUnknown_20397B0
|
|
_0809577C: .4byte 0x000021f0
|
|
thumb_func_end sub_809572C
|
|
|
|
thumb_func_start sub_8095780
|
|
sub_8095780: @ 8095780
|
|
ldr r3, _0809578C @ =gUnknown_2039828
|
|
ldr r3, [r3]
|
|
strh r0, [r3, 0xC]
|
|
strh r1, [r3, 0xE]
|
|
strh r2, [r3, 0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809578C: .4byte gUnknown_2039828
|
|
thumb_func_end sub_8095780
|
|
|
|
thumb_func_start sub_8095790
|
|
sub_8095790: @ 8095790
|
|
push {r4,lr}
|
|
ldr r4, _080957C4 @ =gUnknown_2039828
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1, 0x10]
|
|
cmp r0, 0
|
|
beq _080957BA
|
|
ldrh r1, [r1, 0xC]
|
|
movs r0, 0
|
|
movs r2, 0x1
|
|
bl ChangeBgX
|
|
ldr r0, [r4]
|
|
ldrh r1, [r0, 0xE]
|
|
movs r0, 0
|
|
movs r2, 0x1
|
|
bl ChangeBgY
|
|
ldr r1, [r4]
|
|
ldrh r0, [r1, 0x10]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x10]
|
|
_080957BA:
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x10]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080957C4: .4byte gUnknown_2039828
|
|
thumb_func_end sub_8095790
|
|
|
|
thumb_func_start sub_80957C8
|
|
sub_80957C8: @ 80957C8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r4, _0809589C @ =gUnknown_2039828
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x4]
|
|
ldrb r2, [r1, 0x2]
|
|
cmp r0, r2
|
|
bls _080957E0
|
|
adds r0, r2, 0
|
|
_080957E0:
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x5]
|
|
ldrb r2, [r1, 0x3]
|
|
cmp r0, r2
|
|
bls _080957EE
|
|
adds r0, r2, 0
|
|
_080957EE:
|
|
strb r0, [r1, 0x9]
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r0, [r2, 0x4]
|
|
subs r0, r1, r0
|
|
cmp r0, 0
|
|
bge _080957FE
|
|
negs r0, r0
|
|
_080957FE:
|
|
adds r0, 0x1
|
|
strb r0, [r2, 0xA]
|
|
ldr r2, [r4]
|
|
ldrb r1, [r2, 0x3]
|
|
ldrb r0, [r2, 0x5]
|
|
subs r0, r1, r0
|
|
cmp r0, 0
|
|
bge _08095810
|
|
negs r0, r0
|
|
_08095810:
|
|
adds r0, 0x1
|
|
strb r0, [r2, 0xB]
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
movs r6, 0
|
|
ldr r0, [r4]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r1, [r0, 0xA]
|
|
adds r2, r1
|
|
mov r8, r2
|
|
ldrb r1, [r0, 0x9]
|
|
ldrb r0, [r0, 0xB]
|
|
adds r0, r1
|
|
mov r9, r0
|
|
adds r2, r1, 0
|
|
cmp r2, r9
|
|
bge _0809588C
|
|
_08095838:
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
ldr r3, _0809589C @ =gUnknown_2039828
|
|
ldr r1, [r3]
|
|
lsls r0, 1
|
|
ldrb r3, [r1, 0x8]
|
|
adds r0, r3
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r4, [r1, 0x8]
|
|
adds r7, r2, 0x1
|
|
cmp r4, r8
|
|
bge _08095886
|
|
mov r0, r8
|
|
subs r4, r0, r4
|
|
_08095856:
|
|
mov r0, r10
|
|
adds r1, r5, 0
|
|
bl GetBoxedMonPtr
|
|
adds r1, r0, 0
|
|
ldr r2, _0809589C @ =gUnknown_2039828
|
|
ldr r0, [r2]
|
|
lsls r2, r6, 2
|
|
adds r2, r6
|
|
lsls r2, 4
|
|
adds r0, r2
|
|
adds r0, 0x14
|
|
movs r2, 0x50
|
|
bl memcpy
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bne _08095856
|
|
_08095886:
|
|
adds r2, r7, 0
|
|
cmp r2, r9
|
|
blt _08095838
|
|
_0809588C:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809589C: .4byte gUnknown_2039828
|
|
thumb_func_end sub_80957C8
|
|
|
|
thumb_func_start sub_80958A0
|
|
sub_80958A0: @ 80958A0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r4, _08095914 @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r1, [r0, 0xA]
|
|
adds r7, r2, r1
|
|
ldrb r1, [r0, 0x9]
|
|
ldrb r0, [r0, 0xB]
|
|
adds r1, r0
|
|
mov r9, r1
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, [r4]
|
|
ldrb r2, [r0, 0x9]
|
|
cmp r2, r9
|
|
bge _08095908
|
|
_080958CC:
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
ldr r1, _08095914 @ =gUnknown_2039828
|
|
ldr r1, [r1]
|
|
lsls r0, 1
|
|
ldrb r3, [r1, 0x8]
|
|
adds r0, r3
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r4, [r1, 0x8]
|
|
adds r6, r2, 0x1
|
|
cmp r4, r7
|
|
bge _08095902
|
|
subs r4, r7, r4
|
|
_080958E8:
|
|
adds r0, r5, 0
|
|
bl sub_809081C
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
bl sub_808BCB4
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bne _080958E8
|
|
_08095902:
|
|
adds r2, r6, 0
|
|
cmp r2, r9
|
|
blt _080958CC
|
|
_08095908:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095914: .4byte gUnknown_2039828
|
|
thumb_func_end sub_80958A0
|
|
|
|
thumb_func_start sub_8095918
|
|
sub_8095918: @ 8095918
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _080959A4 @ =gUnknown_2039828
|
|
ldr r0, [r0]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r1, [r0, 0xA]
|
|
adds r2, r1
|
|
mov r8, r2
|
|
ldrb r1, [r0, 0x9]
|
|
ldrb r0, [r0, 0xB]
|
|
adds r0, r1
|
|
mov r10, r0
|
|
movs r6, 0
|
|
adds r2, r1, 0
|
|
cmp r2, r10
|
|
bge _08095994
|
|
_0809593E:
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
ldr r3, _080959A4 @ =gUnknown_2039828
|
|
ldr r1, [r3]
|
|
lsls r0, 1
|
|
ldrb r4, [r1, 0x8]
|
|
adds r0, r4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r4, [r1, 0x8]
|
|
adds r7, r2, 0x1
|
|
cmp r4, r8
|
|
bge _0809598E
|
|
mov r9, r3
|
|
mov r0, r8
|
|
subs r4, r0, r4
|
|
_0809595E:
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 4
|
|
adds r1, 0x14
|
|
mov r2, r9
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
movs r1, 0x5
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _0809597C
|
|
adds r0, r5, 0
|
|
bl sub_80901EC
|
|
_0809597C:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bne _0809595E
|
|
_0809598E:
|
|
adds r2, r7, 0
|
|
cmp r2, r10
|
|
blt _0809593E
|
|
_08095994:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080959A4: .4byte gUnknown_2039828
|
|
thumb_func_end sub_8095918
|
|
|
|
thumb_func_start sub_80959A8
|
|
sub_80959A8: @ 80959A8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
ldr r4, _08095A54 @ =gUnknown_2039828
|
|
ldr r0, [r4]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r1, [r0, 0xA]
|
|
adds r2, r1
|
|
mov r10, r2
|
|
ldrb r1, [r0, 0x9]
|
|
ldrb r0, [r0, 0xB]
|
|
adds r1, r0
|
|
str r1, [sp]
|
|
bl StorageGetCurrentBox
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
movs r7, 0
|
|
ldr r0, [r4]
|
|
ldrb r3, [r0, 0x9]
|
|
ldr r0, [sp]
|
|
cmp r3, r0
|
|
bge _08095A42
|
|
_080959DE:
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
ldr r2, _08095A54 @ =gUnknown_2039828
|
|
ldr r1, [r2]
|
|
lsls r0, 1
|
|
ldrb r4, [r1, 0x8]
|
|
adds r0, r4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldrb r5, [r1, 0x8]
|
|
adds r3, 0x1
|
|
mov r9, r3
|
|
cmp r5, r10
|
|
bge _08095A3A
|
|
mov r8, r2
|
|
mov r0, r10
|
|
subs r5, r0, r5
|
|
_08095A00:
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 4
|
|
adds r4, r0, 0
|
|
adds r4, 0x14
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, r4
|
|
movs r1, 0x5
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _08095A28
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
adds r2, r4
|
|
ldr r0, [sp, 0x4]
|
|
adds r1, r6, 0
|
|
bl CopyBoxMonFromAnyBox
|
|
_08095A28:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bne _08095A00
|
|
_08095A3A:
|
|
mov r3, r9
|
|
ldr r1, [sp]
|
|
cmp r3, r1
|
|
blt _080959DE
|
|
_08095A42:
|
|
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
|
|
_08095A54: .4byte gUnknown_2039828
|
|
thumb_func_end sub_80959A8
|
|
|
|
thumb_func_start sub_8095A58
|
|
sub_8095A58: @ 8095A58
|
|
push {lr}
|
|
sub sp, 0x8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0
|
|
movs r1, 0x4
|
|
movs r2, 0
|
|
bl SetBgAttribute
|
|
movs r0, 0x8
|
|
movs r1, 0x80
|
|
bl ClearGpuRegBits
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8095A58
|
|
|
|
thumb_func_start sub_8095AA0
|
|
sub_8095AA0: @ 8095AA0
|
|
ldr r0, _08095AB8 @ =gUnknown_2039828
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x3]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
ldrb r2, [r2, 0x2]
|
|
adds r0, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bx lr
|
|
.align 2, 0
|
|
_08095AB8: .4byte gUnknown_2039828
|
|
thumb_func_end sub_8095AA0
|
|
|
|
thumb_func_start sub_8095ABC
|
|
sub_8095ABC: @ 8095ABC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
ldr r0, _08095B28 @ =gUnknown_2039828
|
|
ldr r0, [r0]
|
|
ldrb r2, [r0, 0x8]
|
|
ldrb r1, [r0, 0xA]
|
|
adds r2, r1
|
|
mov r9, r2
|
|
ldrb r1, [r0, 0x9]
|
|
ldrb r0, [r0, 0xB]
|
|
adds r0, r1, r0
|
|
str r0, [sp]
|
|
movs r7, 0
|
|
adds r6, r1, 0
|
|
cmp r6, r0
|
|
bge _08095B4A
|
|
lsls r0, r6, 1
|
|
adds r0, r6
|
|
lsls r0, 1
|
|
mov r8, r0
|
|
_08095AEC:
|
|
ldr r2, _08095B28 @ =gUnknown_2039828
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x8]
|
|
add r0, r8
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r4, [r1, 0x8]
|
|
cmp r4, r9
|
|
bge _08095B3E
|
|
mov r10, r2
|
|
_08095B00:
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 4
|
|
adds r1, 0x14
|
|
mov r2, r10
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
movs r1, 0x5
|
|
bl GetBoxMonData
|
|
cmp r0, 0
|
|
beq _08095B2C
|
|
adds r0, r5, 0
|
|
movs r1, 0x5
|
|
bl GetBoxMonDataFromSelectedBox
|
|
cmp r0, 0
|
|
beq _08095B2C
|
|
movs r0, 0
|
|
b _08095B4C
|
|
.align 2, 0
|
|
_08095B28: .4byte gUnknown_2039828
|
|
_08095B2C:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x1
|
|
cmp r4, r9
|
|
blt _08095B00
|
|
_08095B3E:
|
|
movs r0, 0x6
|
|
add r8, r0
|
|
adds r6, 0x1
|
|
ldr r2, [sp]
|
|
cmp r6, r2
|
|
blt _08095AEC
|
|
_08095B4A:
|
|
movs r0, 0x1
|
|
_08095B4C:
|
|
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_8095ABC
|
|
|
|
thumb_func_start sub_8095B5C
|
|
sub_8095B5C: @ 8095B5C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
ldr r3, _08095C58 @ =gUnknown_20397B0
|
|
ldr r0, [r3]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095C3C
|
|
ldr r0, _08095C5C @ =gUnknown_3000FE8
|
|
str r0, [sp, 0x18]
|
|
ldr r1, _08095C60 @ =0xffff0000
|
|
add r2, sp, 0x18
|
|
ldr r0, [r2, 0x4]
|
|
ands r0, r1
|
|
movs r1, 0x80
|
|
lsls r1, 2
|
|
orrs r0, r1
|
|
str r0, [r2, 0x4]
|
|
mov r1, sp
|
|
ldr r0, _08095C64 @ =gUnknown_83D3728
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
movs r7, 0
|
|
mov r9, r2
|
|
mov r8, r3
|
|
movs r0, 0
|
|
mov r10, r0
|
|
_08095B9C:
|
|
adds r6, r7, 0x7
|
|
lsls r1, r6, 16
|
|
mov r2, r9
|
|
ldrh r0, [r2, 0x4]
|
|
orrs r0, r1
|
|
str r0, [r2, 0x4]
|
|
mov r0, r9
|
|
bl LoadCompressedSpriteSheet
|
|
mov r4, r9
|
|
ldrh r0, [r4, 0x6]
|
|
bl GetSpriteTileStartByTag
|
|
mov r5, r8
|
|
ldr r1, [r5]
|
|
lsls r5, r7, 4
|
|
ldr r2, _08095C68 @ =0x000021f8
|
|
adds r1, r2
|
|
adds r1, r5
|
|
lsls r0, 16
|
|
lsrs r0, 11
|
|
ldr r4, _08095C6C @ =0x06010000
|
|
adds r0, r4
|
|
str r0, [r1]
|
|
ldr r0, _08095C70 @ =0xffffdacb
|
|
adds r4, r7, r0
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl AllocSpritePalette
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r1, r5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08095C74 @ =0x000021fc
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
ldrh r0, [r1]
|
|
lsls r0, 4
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
strh r0, [r1]
|
|
mov r0, sp
|
|
strh r6, [r0]
|
|
strh r4, [r0, 0x2]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0xB
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r4, r8
|
|
ldr r2, [r4]
|
|
ldr r6, _08095C78 @ =0x000021f4
|
|
adds r2, r6
|
|
adds r2, r5
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08095C7C @ =gSprites
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r2, 0x4
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r1, 0x88
|
|
lsls r1, 6
|
|
adds r0, r1
|
|
mov r2, r10
|
|
strb r2, [r0]
|
|
adds r7, 0x1
|
|
cmp r7, 0x2
|
|
ble _08095B9C
|
|
_08095C3C:
|
|
ldr r0, _08095C58 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r4, _08095C80 @ =0x00002224
|
|
adds r0, r4
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
add sp, 0x20
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095C58: .4byte gUnknown_20397B0
|
|
_08095C5C: .4byte gUnknown_3000FE8
|
|
_08095C60: .4byte 0xffff0000
|
|
_08095C64: .4byte gUnknown_83D3728
|
|
_08095C68: .4byte 0x000021f8
|
|
_08095C6C: .4byte 0x06010000
|
|
_08095C70: .4byte 0xffffdacb
|
|
_08095C74: .4byte 0x000021fc
|
|
_08095C78: .4byte 0x000021f4
|
|
_08095C7C: .4byte gSprites
|
|
_08095C80: .4byte 0x00002224
|
|
thumb_func_end sub_8095B5C
|
|
|
|
thumb_func_start sub_8095C84
|
|
sub_8095C84: @ 8095C84
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
ldr r0, _08095CB8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095D36
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
bl sub_8096210
|
|
cmp r0, 0
|
|
bne _08095D36
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
beq _08095CBC
|
|
cmp r0, 0x1
|
|
beq _08095CD2
|
|
b _08095D36
|
|
.align 2, 0
|
|
_08095CB8: .4byte gUnknown_20397B0
|
|
_08095CBC:
|
|
adds r0, r7, 0
|
|
movs r1, 0x5
|
|
bl GetBoxMonDataFromSelectedBox
|
|
cmp r0, 0
|
|
beq _08095D36
|
|
adds r0, r7, 0
|
|
movs r1, 0xC
|
|
bl GetBoxMonDataFromSelectedBox
|
|
b _08095CF0
|
|
_08095CD2:
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _08095D40 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08095D36
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
_08095CF0:
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
beq _08095D36
|
|
adds r0, r4, 0
|
|
bl GetItemIconPic
|
|
adds r6, r0, 0
|
|
adds r0, r4, 0
|
|
bl GetItemIconPalette
|
|
adds r5, r0, 0
|
|
bl sub_80961D8
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
mov r1, r8
|
|
adds r2, r7, 0
|
|
bl sub_80962F0
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl sub_8096408
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_8096624
|
|
_08095D36:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095D40: .4byte gPlayerParty
|
|
thumb_func_end sub_8095C84
|
|
|
|
thumb_func_start sub_8095D44
|
|
sub_8095D44: @ 8095D44
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, _08095D80 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095D7A
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_8096258
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
adds r2, r6, 0
|
|
adds r3, r5, 0
|
|
bl sub_80964E8
|
|
_08095D7A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095D80: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8095D44
|
|
|
|
thumb_func_start sub_8095D84
|
|
sub_8095D84: @ 8095D84
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
adds r7, r5, 0
|
|
ldr r0, _08095DE8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095E14
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_8096258
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r1, 0
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
adds r2, r6, 0
|
|
adds r3, r5, 0
|
|
bl sub_80964E8
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_80962F0
|
|
cmp r6, 0
|
|
bne _08095DEC
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetBoxMonDataFromSelectedBox
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_8090850
|
|
b _08095E04
|
|
.align 2, 0
|
|
_08095DE8: .4byte gUnknown_20397B0
|
|
_08095DEC:
|
|
movs r0, 0x64
|
|
muls r0, r7
|
|
ldr r1, _08095E1C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_8090C84
|
|
_08095E04:
|
|
ldr r0, _08095E20 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _08095E24 @ =0x00000ce2
|
|
adds r1, r0, r2
|
|
ldrh r1, [r1]
|
|
ldr r2, _08095E28 @ =0x00002224
|
|
adds r0, r2
|
|
strh r1, [r0]
|
|
_08095E14:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095E1C: .4byte gPlayerParty
|
|
_08095E20: .4byte gUnknown_20397B0
|
|
_08095E24: .4byte 0x00000ce2
|
|
_08095E28: .4byte 0x00002224
|
|
thumb_func_end sub_8095D84
|
|
|
|
thumb_func_start sub_8095E2C
|
|
sub_8095E2C: @ 8095E2C
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
adds r0, r5, 0
|
|
bl GetItemIconPic
|
|
mov r8, r0
|
|
adds r0, r5, 0
|
|
bl GetItemIconPalette
|
|
adds r6, r0, 0
|
|
bl sub_80961D8
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
mov r1, r8
|
|
adds r2, r6, 0
|
|
bl sub_8096408
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_80964E8
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
bl sub_80962F0
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_8096624
|
|
ldr r0, _08095E98 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08095E9C @ =0x00002224
|
|
adds r0, r1
|
|
strh r5, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095E98: .4byte gUnknown_20397B0
|
|
_08095E9C: .4byte 0x00002224
|
|
thumb_func_end sub_8095E2C
|
|
|
|
thumb_func_start sub_8095EA0
|
|
sub_8095EA0: @ 8095EA0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
ldr r0, _08095F08 @ =gUnknown_20397B0
|
|
mov r8, r0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095F5E
|
|
mov r0, r9
|
|
adds r1, r7, 0
|
|
bl sub_8096258
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
movs r2, 0x2
|
|
movs r3, 0
|
|
bl sub_80964E8
|
|
mov r1, r9
|
|
cmp r1, 0
|
|
bne _08095F10
|
|
adds r0, r7, 0
|
|
movs r1, 0xC
|
|
bl GetBoxMonDataFromSelectedBox
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
ldr r4, _08095F0C @ =0x00002224
|
|
adds r2, r4
|
|
adds r0, r7, 0
|
|
movs r1, 0xC
|
|
bl SetBoxMonDataFromSelectedBox
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, r4
|
|
b _08095F3C
|
|
.align 2, 0
|
|
_08095F08: .4byte gUnknown_20397B0
|
|
_08095F0C: .4byte 0x00002224
|
|
_08095F10:
|
|
movs r0, 0x64
|
|
adds r4, r7, 0
|
|
muls r4, r0
|
|
ldr r0, _08095F6C @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
mov r0, r8
|
|
ldr r2, [r0]
|
|
ldr r5, _08095F70 @ =0x00002224
|
|
adds r2, r5
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, r5
|
|
_08095F3C:
|
|
strh r6, [r0]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl sub_8096258
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
mov r2, r9
|
|
adds r3, r7, 0
|
|
bl sub_80964E8
|
|
_08095F5E:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095F6C: .4byte gPlayerParty
|
|
_08095F70: .4byte 0x00002224
|
|
thumb_func_end sub_8095EA0
|
|
|
|
thumb_func_start sub_8095F74
|
|
sub_8095F74: @ 8095F74
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
mov r8, r5
|
|
ldr r6, _08095FCC @ =gUnknown_20397B0
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08095FF4
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl sub_8096258
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
adds r2, r7, 0
|
|
adds r3, r5, 0
|
|
bl sub_80964E8
|
|
cmp r7, 0
|
|
bne _08095FD4
|
|
ldr r2, [r6]
|
|
ldr r0, _08095FD0 @ =0x00002224
|
|
adds r2, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl SetBoxMonDataFromSelectedBox
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_8090850
|
|
b _08095FF4
|
|
.align 2, 0
|
|
_08095FCC: .4byte gUnknown_20397B0
|
|
_08095FD0: .4byte 0x00002224
|
|
_08095FD4:
|
|
movs r0, 0x64
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r1, _08096000 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r2, [r6]
|
|
ldr r1, _08096004 @ =0x00002224
|
|
adds r2, r1
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
mov r0, r8
|
|
movs r1, 0
|
|
bl sub_8090C84
|
|
_08095FF4:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096000: .4byte gPlayerParty
|
|
_08096004: .4byte 0x00002224
|
|
thumb_func_end sub_8095F74
|
|
|
|
thumb_func_start sub_8096008
|
|
sub_8096008: @ 8096008
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
adds r7, r5, 0
|
|
ldr r0, _08096060 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _0809607C
|
|
movs r1, 0
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_8096258
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
adds r2, r6, 0
|
|
adds r3, r5, 0
|
|
bl sub_80964E8
|
|
cmp r6, 0
|
|
bne _08096064
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetBoxMonDataFromSelectedBox
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_8090850
|
|
b _0809607C
|
|
.align 2, 0
|
|
_08096060: .4byte gUnknown_20397B0
|
|
_08096064:
|
|
movs r0, 0x64
|
|
muls r0, r7
|
|
ldr r1, _08096084 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_8090C84
|
|
_0809607C:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096084: .4byte gPlayerParty
|
|
thumb_func_end sub_8096008
|
|
|
|
thumb_func_start sub_8096088
|
|
sub_8096088: @ 8096088
|
|
push {r4,lr}
|
|
ldr r0, _080960BC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _080960B6
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl sub_8096258
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl sub_80964B8
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
movs r3, 0
|
|
bl sub_80964E8
|
|
_080960B6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080960BC: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_8096088
|
|
|
|
thumb_func_start sub_80960C0
|
|
sub_80960C0: @ 80960C0
|
|
push {r4,lr}
|
|
ldr r0, _08096108 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0x3
|
|
bne _08096100
|
|
movs r4, 0
|
|
_080960CE:
|
|
ldr r0, _08096108 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
lsls r0, r4, 4
|
|
adds r1, r0
|
|
movs r2, 0x88
|
|
lsls r2, 6
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080960FA
|
|
subs r2, 0x2
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _080960FA
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x7
|
|
movs r2, 0x2
|
|
movs r3, 0
|
|
bl sub_80964E8
|
|
_080960FA:
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _080960CE
|
|
_08096100:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096108: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80960C0
|
|
|
|
thumb_func_start sub_809610C
|
|
sub_809610C: @ 809610C
|
|
push {r4,r5,lr}
|
|
movs r5, 0
|
|
ldr r0, _08096148 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _0809614C @ =0x000021f4
|
|
adds r4, r0, r1
|
|
adds r3, r0, 0
|
|
_0809611A:
|
|
movs r1, 0x88
|
|
lsls r1, 6
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08096158
|
|
ldr r2, [r4]
|
|
adds r0, r2, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x28
|
|
ands r0, r1
|
|
cmp r0, 0x8
|
|
beq _08096144
|
|
ldr r1, [r2, 0x1C]
|
|
ldr r0, _08096150 @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
beq _08096158
|
|
ldr r0, _08096154 @ =sub_80969BC
|
|
cmp r1, r0
|
|
beq _08096158
|
|
_08096144:
|
|
movs r0, 0x1
|
|
b _08096164
|
|
.align 2, 0
|
|
_08096148: .4byte gUnknown_20397B0
|
|
_0809614C: .4byte 0x000021f4
|
|
_08096150: .4byte SpriteCallbackDummy
|
|
_08096154: .4byte sub_80969BC
|
|
_08096158:
|
|
adds r4, 0x10
|
|
adds r3, 0x10
|
|
adds r5, 0x1
|
|
cmp r5, 0x2
|
|
ble _0809611A
|
|
movs r0, 0
|
|
_08096164:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809610C
|
|
|
|
thumb_func_start sub_809616C
|
|
sub_809616C: @ 809616C
|
|
push {lr}
|
|
ldr r0, _08096190 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r0, 0x3
|
|
bne _080961A0
|
|
movs r2, 0
|
|
ldr r0, _08096194 @ =0x000021fe
|
|
adds r1, r0
|
|
_0809617E:
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
beq _08096198
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x2
|
|
bne _08096198
|
|
movs r0, 0x1
|
|
b _080961A2
|
|
.align 2, 0
|
|
_08096190: .4byte gUnknown_20397B0
|
|
_08096194: .4byte 0x000021fe
|
|
_08096198:
|
|
adds r1, 0x10
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _0809617E
|
|
_080961A0:
|
|
movs r0, 0
|
|
_080961A2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809616C
|
|
|
|
thumb_func_start sub_80961A8
|
|
sub_80961A8: @ 80961A8
|
|
push {lr}
|
|
ldr r0, _080961BC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080961C0 @ =0x00002224
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemId_GetName
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080961BC: .4byte gUnknown_20397B0
|
|
_080961C0: .4byte 0x00002224
|
|
thumb_func_end sub_80961A8
|
|
|
|
thumb_func_start sub_80961C4
|
|
sub_80961C4: @ 80961C4
|
|
ldr r0, _080961D0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080961D4 @ =0x00002224
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080961D0: .4byte gUnknown_20397B0
|
|
_080961D4: .4byte 0x00002224
|
|
thumb_func_end sub_80961C4
|
|
|
|
thumb_func_start sub_80961D8
|
|
sub_80961D8: @ 80961D8
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r5, _080961F8 @ =gUnknown_20397B0
|
|
movs r3, 0x88
|
|
lsls r3, 6
|
|
movs r4, 0x1
|
|
_080961E4:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 4
|
|
adds r0, r1
|
|
adds r1, r0, r3
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
bne _080961FC
|
|
strb r4, [r1]
|
|
adds r0, r2, 0
|
|
b _08096208
|
|
.align 2, 0
|
|
_080961F8: .4byte gUnknown_20397B0
|
|
_080961FC:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x2
|
|
bls _080961E4
|
|
movs r0, 0x3
|
|
_08096208:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80961D8
|
|
|
|
thumb_func_start sub_8096210
|
|
sub_8096210: @ 8096210
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r3, 0
|
|
ldr r0, _08096244 @ =gUnknown_20397B0
|
|
ldr r2, [r0]
|
|
_08096220:
|
|
movs r5, 0x88
|
|
lsls r5, 6
|
|
adds r0, r2, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08096248
|
|
subs r5, 0x2
|
|
adds r0, r2, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, r4
|
|
bne _08096248
|
|
adds r5, 0x1
|
|
adds r0, r2, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bne _08096248
|
|
movs r0, 0x1
|
|
b _08096252
|
|
.align 2, 0
|
|
_08096244: .4byte gUnknown_20397B0
|
|
_08096248:
|
|
adds r2, 0x10
|
|
adds r3, 0x1
|
|
cmp r3, 0x2
|
|
ble _08096220
|
|
movs r0, 0
|
|
_08096252:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8096210
|
|
|
|
thumb_func_start sub_8096258
|
|
sub_8096258: @ 8096258
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
movs r3, 0
|
|
ldr r0, _08096290 @ =gUnknown_20397B0
|
|
ldr r1, [r0]
|
|
_08096268:
|
|
lsls r0, r3, 4
|
|
adds r2, r1, r0
|
|
movs r6, 0x88
|
|
lsls r6, 6
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08096294
|
|
subs r6, 0x2
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, r5
|
|
bne _08096294
|
|
adds r6, 0x1
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, r4
|
|
bne _08096294
|
|
adds r0, r3, 0
|
|
b _080962A0
|
|
.align 2, 0
|
|
_08096290: .4byte gUnknown_20397B0
|
|
_08096294:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x2
|
|
bls _08096268
|
|
movs r0, 0x3
|
|
_080962A0:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8096258
|
|
|
|
thumb_func_start sub_80962A8
|
|
sub_80962A8: @ 80962A8
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
movs r2, 0
|
|
ldr r0, _080962D4 @ =gUnknown_20397B0
|
|
ldr r3, [r0]
|
|
ldr r0, _080962D8 @ =0x000021f4
|
|
adds r4, r3, r0
|
|
movs r6, 0x88
|
|
lsls r6, 6
|
|
_080962BA:
|
|
lsls r1, r2, 4
|
|
adds r0, r3, r1
|
|
adds r0, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080962DC
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
cmp r0, r5
|
|
bne _080962DC
|
|
adds r0, r2, 0
|
|
b _080962E8
|
|
.align 2, 0
|
|
_080962D4: .4byte gUnknown_20397B0
|
|
_080962D8: .4byte 0x000021f4
|
|
_080962DC:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x2
|
|
bls _080962BA
|
|
movs r0, 0x3
|
|
_080962E8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80962A8
|
|
|
|
thumb_func_start sub_80962F0
|
|
sub_80962F0: @ 80962F0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
lsls r2, 24
|
|
lsrs r7, r2, 24
|
|
cmp r5, 0x2
|
|
bhi _080963EE
|
|
cmp r1, 0
|
|
beq _0809631C
|
|
cmp r1, 0x1
|
|
beq _08096378
|
|
ldr r4, _08096318 @ =gUnknown_20397B0
|
|
lsls r3, r5, 4
|
|
b _080963D8
|
|
.align 2, 0
|
|
_08096318: .4byte gUnknown_20397B0
|
|
_0809631C:
|
|
adds r0, r7, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r7, 0
|
|
movs r1, 0x6
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r6, _08096370 @ =gUnknown_20397B0
|
|
ldr r2, [r6]
|
|
lsls r5, 4
|
|
ldr r1, _08096374 @ =0x000021f4
|
|
adds r2, r1
|
|
adds r2, r5
|
|
ldr r3, [r2]
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, 0x70
|
|
strh r1, [r3, 0x20]
|
|
ldr r3, [r2]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, 0x38
|
|
strh r1, [r3, 0x22]
|
|
ldr r2, [r2]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x8
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
adds r4, r6, 0
|
|
adds r3, r5, 0
|
|
b _080963D8
|
|
.align 2, 0
|
|
_08096370: .4byte gUnknown_20397B0
|
|
_08096374: .4byte 0x000021f4
|
|
_08096378:
|
|
cmp r7, 0
|
|
bne _080963A0
|
|
ldr r4, _08096398 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
lsls r3, r5, 4
|
|
ldr r1, _0809639C @ =0x000021f4
|
|
adds r0, r1
|
|
adds r0, r3
|
|
ldr r2, [r0]
|
|
movs r1, 0x74
|
|
strh r1, [r2, 0x20]
|
|
ldr r1, [r0]
|
|
movs r0, 0x4C
|
|
strh r0, [r1, 0x22]
|
|
b _080963C0
|
|
.align 2, 0
|
|
_08096398: .4byte gUnknown_20397B0
|
|
_0809639C: .4byte 0x000021f4
|
|
_080963A0:
|
|
ldr r4, _080963F8 @ =gUnknown_20397B0
|
|
ldr r0, [r4]
|
|
lsls r3, r5, 4
|
|
ldr r1, _080963FC @ =0x000021f4
|
|
adds r0, r1
|
|
adds r0, r3
|
|
ldr r2, [r0]
|
|
movs r1, 0xA4
|
|
strh r1, [r2, 0x20]
|
|
ldr r2, [r0]
|
|
subs r1, r7, 0x1
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, 0x1C
|
|
strh r0, [r2, 0x22]
|
|
_080963C0:
|
|
ldr r0, [r4]
|
|
ldr r1, _080963FC @ =0x000021f4
|
|
adds r0, r1
|
|
adds r0, r3
|
|
ldr r2, [r0]
|
|
ldrb r1, [r2, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x5]
|
|
_080963D8:
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r1, _08096400 @ =0x000021fe
|
|
adds r0, r1
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
ldr r1, _08096404 @ =0x000021ff
|
|
adds r0, r1
|
|
strb r7, [r0]
|
|
_080963EE:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080963F8: .4byte gUnknown_20397B0
|
|
_080963FC: .4byte 0x000021f4
|
|
_08096400: .4byte 0x000021fe
|
|
_08096404: .4byte 0x000021ff
|
|
thumb_func_end sub_80962F0
|
|
|
|
thumb_func_start sub_8096408
|
|
sub_8096408: @ 8096408
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
mov r8, r1
|
|
mov r9, r2
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0x2
|
|
bhi _08096490
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r4, _080964A0 @ =gUnknown_20397B0
|
|
ldr r1, [r4]
|
|
ldr r6, _080964A4 @ =0x000042bc
|
|
adds r1, r6
|
|
ldr r2, _080964A8 @ =0x01000080
|
|
mov r0, sp
|
|
bl CpuFastSet
|
|
ldr r1, [r4]
|
|
ldr r5, _080964AC @ =0x000022bc
|
|
adds r1, r5
|
|
mov r0, r8
|
|
bl LZ77UnCompWram
|
|
lsls r7, 4
|
|
mov r8, r7
|
|
adds r7, r4, 0
|
|
movs r4, 0x2
|
|
_08096446:
|
|
ldr r1, [r7]
|
|
adds r0, r1, r5
|
|
adds r1, r6
|
|
movs r2, 0x18
|
|
bl CpuFastSet
|
|
adds r6, 0x80
|
|
adds r5, 0x60
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _08096446
|
|
ldr r5, _080964A0 @ =gUnknown_20397B0
|
|
ldr r1, [r5]
|
|
ldr r4, _080964A4 @ =0x000042bc
|
|
adds r0, r1, r4
|
|
ldr r2, _080964B0 @ =0x000021f8
|
|
adds r1, r2
|
|
add r1, r8
|
|
ldr r1, [r1]
|
|
movs r2, 0x80
|
|
bl CpuFastSet
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
mov r0, r9
|
|
bl LZ77UnCompWram
|
|
ldr r0, [r5]
|
|
adds r4, r0, r4
|
|
add r0, r8
|
|
ldr r1, _080964B4 @ =0x000021fc
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
_08096490:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080964A0: .4byte gUnknown_20397B0
|
|
_080964A4: .4byte 0x000042bc
|
|
_080964A8: .4byte 0x01000080
|
|
_080964AC: .4byte 0x000022bc
|
|
_080964B0: .4byte 0x000021f8
|
|
_080964B4: .4byte 0x000021fc
|
|
thumb_func_end sub_8096408
|
|
|
|
thumb_func_start sub_80964B8
|
|
sub_80964B8: @ 80964B8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 24
|
|
lsrs r3, r1, 24
|
|
cmp r2, 0x2
|
|
bhi _080964DA
|
|
ldr r0, _080964E0 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r2, 4
|
|
ldr r2, _080964E4 @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
adds r1, r3, 0
|
|
bl StartSpriteAffineAnim
|
|
_080964DA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080964E0: .4byte gUnknown_20397B0
|
|
_080964E4: .4byte 0x000021f4
|
|
thumb_func_end sub_80964B8
|
|
|
|
thumb_func_start sub_80964E8
|
|
sub_80964E8: @ 80964E8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r0, r1, 24
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
cmp r4, 0x2
|
|
bls _08096500
|
|
b _08096612
|
|
_08096500:
|
|
cmp r0, 0x7
|
|
bls _08096506
|
|
b _08096612
|
|
_08096506:
|
|
lsls r0, 2
|
|
ldr r1, _08096510 @ =_08096514
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08096510: .4byte _08096514
|
|
.align 2, 0
|
|
_08096514:
|
|
.4byte _08096534
|
|
.4byte _08096558
|
|
.4byte _0809657C
|
|
.4byte _080965A8
|
|
.4byte _080965D4
|
|
.4byte _08096612
|
|
.4byte _08096612
|
|
.4byte _08096600
|
|
_08096534:
|
|
ldr r0, _0809654C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _08096550 @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
strh r4, [r1, 0x2E]
|
|
ldr r1, [r0]
|
|
ldr r0, _08096554 @ =sub_809692C
|
|
b _08096610
|
|
.align 2, 0
|
|
_0809654C: .4byte gUnknown_20397B0
|
|
_08096550: .4byte 0x000021f4
|
|
_08096554: .4byte sub_809692C
|
|
_08096558:
|
|
ldr r0, _08096570 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _08096574 @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r1, 0
|
|
strh r1, [r2, 0x2E]
|
|
ldr r1, [r0]
|
|
ldr r0, _08096578 @ =sub_8096958
|
|
b _08096610
|
|
.align 2, 0
|
|
_08096570: .4byte gUnknown_20397B0
|
|
_08096574: .4byte 0x000021f4
|
|
_08096578: .4byte sub_8096958
|
|
_0809657C:
|
|
ldr r0, _0809659C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _080965A0 @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r1, 0
|
|
strh r1, [r2, 0x2E]
|
|
ldr r1, [r0]
|
|
strh r5, [r1, 0x3A]
|
|
ldr r1, [r0]
|
|
strh r3, [r1, 0x3C]
|
|
ldr r1, [r0]
|
|
ldr r0, _080965A4 @ =sub_80969F4
|
|
b _08096610
|
|
.align 2, 0
|
|
_0809659C: .4byte gUnknown_20397B0
|
|
_080965A0: .4byte 0x000021f4
|
|
_080965A4: .4byte sub_80969F4
|
|
_080965A8:
|
|
ldr r0, _080965C8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _080965CC @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r1, 0
|
|
strh r1, [r2, 0x2E]
|
|
ldr r2, [r0]
|
|
ldr r1, _080965D0 @ =sub_8096A74
|
|
str r1, [r2, 0x1C]
|
|
strh r5, [r2, 0x3A]
|
|
ldr r0, [r0]
|
|
strh r3, [r0, 0x3C]
|
|
b _08096612
|
|
.align 2, 0
|
|
_080965C8: .4byte gUnknown_20397B0
|
|
_080965CC: .4byte 0x000021f4
|
|
_080965D0: .4byte sub_8096A74
|
|
_080965D4:
|
|
ldr r0, _080965F4 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _080965F8 @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r1, 0
|
|
strh r1, [r2, 0x2E]
|
|
ldr r1, [r0]
|
|
strh r5, [r1, 0x3A]
|
|
ldr r1, [r0]
|
|
strh r3, [r1, 0x3C]
|
|
ldr r1, [r0]
|
|
ldr r0, _080965FC @ =sub_8096B10
|
|
b _08096610
|
|
.align 2, 0
|
|
_080965F4: .4byte gUnknown_20397B0
|
|
_080965F8: .4byte 0x000021f4
|
|
_080965FC: .4byte sub_8096B10
|
|
_08096600:
|
|
ldr r0, _08096618 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 4
|
|
ldr r2, _0809661C @ =0x000021f4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, _08096620 @ =sub_8096BAC
|
|
_08096610:
|
|
str r0, [r1, 0x1C]
|
|
_08096612:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096618: .4byte gUnknown_20397B0
|
|
_0809661C: .4byte 0x000021f4
|
|
_08096620: .4byte sub_8096BAC
|
|
thumb_func_end sub_80964E8
|
|
|
|
thumb_func_start sub_8096624
|
|
sub_8096624: @ 8096624
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
cmp r2, 0x2
|
|
bhi _08096666
|
|
ldr r1, _0809666C @ =gUnknown_20397B0
|
|
ldr r0, [r1]
|
|
lsls r2, 4
|
|
adds r0, r2
|
|
movs r3, 0x88
|
|
lsls r3, 6
|
|
adds r0, r3
|
|
strb r4, [r0]
|
|
ldr r0, [r1]
|
|
ldr r1, _08096670 @ =0x000021f4
|
|
adds r0, r1
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
movs r3, 0
|
|
cmp r4, 0
|
|
bne _08096654
|
|
movs r3, 0x1
|
|
_08096654:
|
|
adds r2, r0, 0
|
|
adds r2, 0x3E
|
|
lsls r3, 2
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strb r0, [r2]
|
|
_08096666:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809666C: .4byte gUnknown_20397B0
|
|
_08096670: .4byte 0x000021f4
|
|
thumb_func_end sub_8096624
|
|
|
|
thumb_func_start GetItemIconPic
|
|
GetItemIconPic: @ 8096674
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0
|
|
bl sub_8098974
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetItemIconPic
|
|
|
|
thumb_func_start GetItemIconPalette
|
|
GetItemIconPalette: @ 8096684
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
bl sub_8098974
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetItemIconPalette
|
|
|
|
thumb_func_start sub_8096694
|
|
sub_8096694: @ 8096694
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
bl sub_809616C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080966B4
|
|
ldr r0, _080966AC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080966B0 @ =0x00002224
|
|
b _080966BA
|
|
.align 2, 0
|
|
_080966AC: .4byte gUnknown_20397B0
|
|
_080966B0: .4byte 0x00002224
|
|
_080966B4:
|
|
ldr r0, _080966EC @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080966F0 @ =0x00000ce2
|
|
_080966BA:
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemId_GetDescription
|
|
adds r4, r0, 0
|
|
movs r0, 0x2
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
movs r3, 0x2
|
|
bl AddTextPrinterParameterized5
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080966EC: .4byte gUnknown_20397B0
|
|
_080966F0: .4byte 0x00000ce2
|
|
thumb_func_end sub_8096694
|
|
|
|
thumb_func_start sub_80966F4
|
|
sub_80966F4: @ 80966F4
|
|
push {lr}
|
|
ldr r0, _0809671C @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08096720 @ =0x00002226
|
|
adds r0, r1
|
|
movs r1, 0x19
|
|
strh r1, [r0]
|
|
ldr r1, _08096724 @ =gUnknown_83D35DC
|
|
movs r3, 0xD2
|
|
lsls r3, 1
|
|
movs r0, 0
|
|
movs r2, 0x80
|
|
bl LoadBgTiles
|
|
movs r0, 0
|
|
bl sub_8096898
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809671C: .4byte gUnknown_20397B0
|
|
_08096720: .4byte 0x00002226
|
|
_08096724: .4byte gUnknown_83D35DC
|
|
thumb_func_end sub_80966F4
|
|
|
|
thumb_func_start sub_8096728
|
|
sub_8096728: @ 8096728
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r0, _08096740 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _08096744 @ =0x00002226
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08096748
|
|
movs r0, 0
|
|
b _080967AE
|
|
.align 2, 0
|
|
_08096740: .4byte gUnknown_20397B0
|
|
_08096744: .4byte 0x00002226
|
|
_08096748:
|
|
subs r0, 0x1
|
|
strh r0, [r1]
|
|
ldrh r1, [r1]
|
|
movs r0, 0x19
|
|
subs r5, r0, r1
|
|
movs r4, 0
|
|
cmp r4, r5
|
|
bge _08096798
|
|
_08096758:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl GetBgAttribute
|
|
adds r1, r0, 0
|
|
ldr r0, _080967B8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _080967BC @ =0x00002226
|
|
adds r0, r2
|
|
adds r1, 0x14
|
|
ldrh r0, [r0]
|
|
adds r1, r0
|
|
adds r1, r4
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, r4, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0xF
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x19
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r3, 0xC
|
|
bl WriteSequenceToBgTilemapBuffer
|
|
adds r4, 0x1
|
|
cmp r4, r5
|
|
blt _08096758
|
|
_08096798:
|
|
adds r0, r5, 0
|
|
bl sub_8096898
|
|
ldr r0, _080967B8 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080967BC @ =0x00002226
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
_080967AE:
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080967B8: .4byte gUnknown_20397B0
|
|
_080967BC: .4byte 0x00002226
|
|
thumb_func_end sub_8096728
|
|
|
|
thumb_func_start sub_80967C0
|
|
sub_80967C0: @ 80967C0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r5, _080967D8 @ =gUnknown_20397B0
|
|
ldr r0, [r5]
|
|
ldr r4, _080967DC @ =0x00002226
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x19
|
|
bne _080967E0
|
|
movs r0, 0
|
|
b _08096886
|
|
.align 2, 0
|
|
_080967D8: .4byte gUnknown_20397B0
|
|
_080967DC: .4byte 0x00002226
|
|
_080967E0:
|
|
cmp r0, 0
|
|
bne _080967FC
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x19
|
|
movs r3, 0xB
|
|
bl FillBgTilemapBufferRect
|
|
_080967FC:
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
ldrh r1, [r1]
|
|
movs r0, 0x19
|
|
subs r5, r0, r1
|
|
movs r4, 0
|
|
cmp r4, r5
|
|
bge _08096852
|
|
_08096812:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl GetBgAttribute
|
|
adds r1, r0, 0
|
|
ldr r0, _08096890 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r2, _08096894 @ =0x00002226
|
|
adds r0, r2
|
|
adds r1, 0x14
|
|
ldrh r0, [r0]
|
|
adds r1, r0
|
|
adds r1, r4
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, r4, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0x8
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0xF
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x19
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r3, 0xC
|
|
bl WriteSequenceToBgTilemapBuffer
|
|
adds r4, 0x1
|
|
cmp r4, r5
|
|
blt _08096812
|
|
_08096852:
|
|
adds r0, r5, 0
|
|
bl sub_8096898
|
|
lsls r2, r5, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0xA
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r3, 0xB
|
|
bl FillBgTilemapBufferRect
|
|
ldr r0, _08096890 @ =gUnknown_20397B0
|
|
ldr r0, [r0]
|
|
ldr r1, _08096894 @ =0x00002226
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x19
|
|
eors r1, r0
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
_08096886:
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08096890: .4byte gUnknown_20397B0
|
|
_08096894: .4byte 0x00002226
|
|
thumb_func_end sub_80967C0
|
|
|
|
thumb_func_start sub_8096898
|
|
sub_8096898: @ 8096898
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
adds r7, r0, 0
|
|
cmp r7, 0
|
|
beq _080968D0
|
|
movs r1, 0xD2
|
|
lsls r1, 1
|
|
lsls r4, r7, 24
|
|
lsrs r4, 24
|
|
str r4, [sp]
|
|
movs r6, 0x1
|
|
str r6, [sp, 0x4]
|
|
movs r5, 0xF
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r2, 0
|
|
movs r3, 0xB
|
|
bl FillBgTilemapBufferRect
|
|
ldr r1, _08096920 @ =0x000009a4
|
|
str r4, [sp]
|
|
str r6, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r2, 0
|
|
movs r3, 0x14
|
|
bl FillBgTilemapBufferRect
|
|
_080968D0:
|
|
ldr r1, _08096924 @ =0x000001a5
|
|
lsls r5, r7, 24
|
|
lsrs r5, 24
|
|
movs r4, 0x1
|
|
str r4, [sp]
|
|
movs r0, 0x8
|
|
str r0, [sp, 0x4]
|
|
movs r6, 0xF
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0xC
|
|
bl FillBgTilemapBufferRect
|
|
movs r1, 0xD3
|
|
lsls r1, 1
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0xB
|
|
bl FillBgTilemapBufferRect
|
|
ldr r1, _08096928 @ =0x000001a7
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
movs r0, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0x14
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0
|
|
bl ScheduleBgCopyTilemapToVram
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096920: .4byte 0x000009a4
|
|
_08096924: .4byte 0x000001a5
|
|
_08096928: .4byte 0x000001a7
|
|
thumb_func_end sub_8096898
|
|
|
|
thumb_func_start sub_809692C
|
|
sub_809692C: @ 809692C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809694C
|
|
ldrh r0, [r4, 0x2E]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_8096624
|
|
ldr r0, _08096954 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_0809694C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096954: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_809692C
|
|
|
|
thumb_func_start sub_8096958
|
|
sub_8096958: @ 8096958
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r3, r0]
|
|
cmp r1, 0
|
|
beq _0809696A
|
|
cmp r1, 0x1
|
|
beq _08096986
|
|
b _080969B4
|
|
_0809696A:
|
|
ldrh r0, [r3, 0x20]
|
|
lsls r0, 4
|
|
strh r0, [r3, 0x30]
|
|
ldrh r0, [r3, 0x22]
|
|
lsls r0, 4
|
|
strh r0, [r3, 0x32]
|
|
movs r0, 0xA
|
|
strh r0, [r3, 0x34]
|
|
movs r0, 0x15
|
|
strh r0, [r3, 0x36]
|
|
strh r1, [r3, 0x38]
|
|
ldrh r0, [r3, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x2E]
|
|
_08096986:
|
|
ldrh r1, [r3, 0x30]
|
|
ldrh r0, [r3, 0x34]
|
|
subs r1, r0
|
|
strh r1, [r3, 0x30]
|
|
ldrh r0, [r3, 0x32]
|
|
ldrh r2, [r3, 0x36]
|
|
subs r0, r2
|
|
strh r0, [r3, 0x32]
|
|
lsls r1, 16
|
|
asrs r1, 20
|
|
strh r1, [r3, 0x20]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
strh r0, [r3, 0x22]
|
|
ldrh r0, [r3, 0x38]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x38]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xB
|
|
ble _080969B4
|
|
ldr r0, _080969B8 @ =sub_80969BC
|
|
str r0, [r3, 0x1C]
|
|
_080969B4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080969B8: .4byte sub_80969BC
|
|
thumb_func_end sub_8096958
|
|
|
|
thumb_func_start sub_80969BC
|
|
sub_80969BC: @ 80969BC
|
|
ldr r1, _080969F0 @ =gUnknown_20397B0
|
|
ldr r3, [r1]
|
|
movs r1, 0xCB
|
|
lsls r1, 4
|
|
adds r3, r1
|
|
ldr r1, [r3]
|
|
ldrh r1, [r1, 0x20]
|
|
adds r1, 0x4
|
|
strh r1, [r0, 0x20]
|
|
ldr r2, [r3]
|
|
ldrh r1, [r2, 0x26]
|
|
ldrh r2, [r2, 0x22]
|
|
adds r1, r2
|
|
adds r1, 0x8
|
|
strh r1, [r0, 0x22]
|
|
ldr r1, [r3]
|
|
ldrb r1, [r1, 0x5]
|
|
movs r2, 0xC
|
|
ands r2, r1
|
|
ldrb r3, [r0, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
bx lr
|
|
.align 2, 0
|
|
_080969F0: .4byte gUnknown_20397B0
|
|
thumb_func_end sub_80969BC
|
|
|
|
thumb_func_start sub_80969F4
|
|
sub_80969F4: @ 80969F4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, 0
|
|
beq _08096A06
|
|
cmp r1, 0x1
|
|
beq _08096A22
|
|
b _08096A6A
|
|
_08096A06:
|
|
ldrh r0, [r4, 0x20]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x30]
|
|
ldrh r0, [r4, 0x22]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x32]
|
|
movs r0, 0xA
|
|
strh r0, [r4, 0x34]
|
|
movs r0, 0x15
|
|
strh r0, [r4, 0x36]
|
|
strh r1, [r4, 0x38]
|
|
ldrh r0, [r4, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
_08096A22:
|
|
ldrh r0, [r4, 0x34]
|
|
ldrh r1, [r4, 0x30]
|
|
adds r0, r1
|
|
strh r0, [r4, 0x30]
|
|
ldrh r1, [r4, 0x36]
|
|
ldrh r2, [r4, 0x32]
|
|
adds r1, r2
|
|
strh r1, [r4, 0x32]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
strh r0, [r4, 0x20]
|
|
lsls r1, 16
|
|
asrs r1, 20
|
|
strh r1, [r4, 0x22]
|
|
ldrh r0, [r4, 0x38]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x38]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xB
|
|
ble _08096A6A
|
|
adds r0, r4, 0
|
|
bl sub_80962A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r1, [r4, 0x3A]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldrh r2, [r4, 0x3C]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
bl sub_80962F0
|
|
ldr r0, _08096A70 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_08096A6A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096A70: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80969F4
|
|
|
|
thumb_func_start sub_8096A74
|
|
sub_8096A74: @ 8096A74
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, 0
|
|
beq _08096A86
|
|
cmp r1, 0x1
|
|
beq _08096AA2
|
|
b _08096B00
|
|
_08096A86:
|
|
ldrh r0, [r4, 0x20]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x30]
|
|
ldrh r0, [r4, 0x22]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x32]
|
|
movs r0, 0xA
|
|
strh r0, [r4, 0x34]
|
|
movs r0, 0x15
|
|
strh r0, [r4, 0x36]
|
|
strh r1, [r4, 0x38]
|
|
ldrh r0, [r4, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
_08096AA2:
|
|
ldrh r1, [r4, 0x30]
|
|
ldrh r0, [r4, 0x34]
|
|
subs r1, r0
|
|
strh r1, [r4, 0x30]
|
|
ldrh r0, [r4, 0x32]
|
|
ldrh r2, [r4, 0x36]
|
|
subs r0, r2
|
|
strh r0, [r4, 0x32]
|
|
lsls r1, 16
|
|
asrs r1, 20
|
|
strh r1, [r4, 0x20]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
strh r0, [r4, 0x22]
|
|
ldr r1, _08096B08 @ =gSineTable
|
|
movs r2, 0x38
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
strh r0, [r4, 0x24]
|
|
ldrh r0, [r4, 0x38]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x38]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xB
|
|
ble _08096B00
|
|
adds r0, r4, 0
|
|
bl sub_80962A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r1, [r4, 0x3A]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldrh r2, [r4, 0x3C]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
bl sub_80962F0
|
|
movs r0, 0
|
|
strh r0, [r4, 0x24]
|
|
ldr r0, _08096B0C @ =sub_80969BC
|
|
str r0, [r4, 0x1C]
|
|
_08096B00:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096B08: .4byte gSineTable
|
|
_08096B0C: .4byte sub_80969BC
|
|
thumb_func_end sub_8096A74
|
|
|
|
thumb_func_start sub_8096B10
|
|
sub_8096B10: @ 8096B10
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x2E
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, 0
|
|
beq _08096B22
|
|
cmp r1, 0x1
|
|
beq _08096B3E
|
|
b _08096B9E
|
|
_08096B22:
|
|
ldrh r0, [r4, 0x20]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x30]
|
|
ldrh r0, [r4, 0x22]
|
|
lsls r0, 4
|
|
strh r0, [r4, 0x32]
|
|
movs r0, 0xA
|
|
strh r0, [r4, 0x34]
|
|
movs r0, 0x15
|
|
strh r0, [r4, 0x36]
|
|
strh r1, [r4, 0x38]
|
|
ldrh r0, [r4, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
_08096B3E:
|
|
ldrh r0, [r4, 0x34]
|
|
ldrh r1, [r4, 0x30]
|
|
adds r0, r1
|
|
strh r0, [r4, 0x30]
|
|
ldrh r1, [r4, 0x36]
|
|
ldrh r2, [r4, 0x32]
|
|
adds r1, r2
|
|
strh r1, [r4, 0x32]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
strh r0, [r4, 0x20]
|
|
lsls r1, 16
|
|
asrs r1, 20
|
|
strh r1, [r4, 0x22]
|
|
ldr r1, _08096BA4 @ =gSineTable
|
|
movs r2, 0x38
|
|
ldrsh r0, [r4, r2]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
lsls r0, 16
|
|
asrs r0, 20
|
|
negs r0, r0
|
|
strh r0, [r4, 0x24]
|
|
ldrh r0, [r4, 0x38]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x38]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xB
|
|
ble _08096B9E
|
|
adds r0, r4, 0
|
|
bl sub_80962A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrh r1, [r4, 0x3A]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldrh r2, [r4, 0x3C]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
bl sub_80962F0
|
|
ldr r0, _08096BA8 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
movs r0, 0
|
|
strh r0, [r4, 0x24]
|
|
_08096B9E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096BA4: .4byte gSineTable
|
|
_08096BA8: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8096B10
|
|
|
|
thumb_func_start sub_8096BAC
|
|
sub_8096BAC: @ 8096BAC
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldrh r0, [r2, 0x22]
|
|
subs r0, 0x8
|
|
strh r0, [r2, 0x22]
|
|
movs r1, 0x22
|
|
ldrsh r0, [r2, r1]
|
|
movs r3, 0x26
|
|
ldrsh r1, [r2, r3]
|
|
adds r0, r1
|
|
movs r1, 0x10
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bge _08096BDC
|
|
ldr r0, _08096BE0 @ =SpriteCallbackDummy
|
|
str r0, [r2, 0x1C]
|
|
adds r0, r2, 0
|
|
bl sub_80962A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
bl sub_8096624
|
|
_08096BDC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096BE0: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_8096BAC
|
|
|
|
thumb_func_start sub_8096BE4
|
|
sub_8096BE4: @ 8096BE4
|
|
ldr r3, _08096BF4 @ =gUnknown_203982C
|
|
str r0, [r3]
|
|
str r1, [r0]
|
|
movs r1, 0
|
|
strb r2, [r0, 0x5]
|
|
strb r1, [r0, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_08096BF4: .4byte gUnknown_203982C
|
|
thumb_func_end sub_8096BE4
|
|
|
|
thumb_func_start sub_8096BF8
|
|
sub_8096BF8: @ 8096BF8
|
|
push {r4,r5,lr}
|
|
ldr r2, _08096C3C @ =gUnknown_203982C
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0
|
|
beq _08096C36
|
|
movs r4, 0
|
|
ldrb r1, [r1, 0x4]
|
|
cmp r4, r1
|
|
bcs _08096C2E
|
|
adds r5, r2, 0
|
|
_08096C0E:
|
|
ldr r0, [r5]
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 2
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
ldr r1, [r0, 0x10]
|
|
bl _call_via_r1
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, [r5]
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r4, r0
|
|
bcc _08096C0E
|
|
_08096C2E:
|
|
ldr r0, _08096C3C @ =gUnknown_203982C
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x4]
|
|
_08096C36:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08096C3C: .4byte gUnknown_203982C
|
|
thumb_func_end sub_8096BF8
|
|
|
|
thumb_func_start sub_8096C40
|
|
sub_8096C40: @ 8096C40
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
mov r9, r0
|
|
mov r10, r3
|
|
ldr r0, [sp, 0x24]
|
|
ldr r3, [sp, 0x28]
|
|
ldr r4, [sp, 0x2C]
|
|
ldr r5, [sp, 0x30]
|
|
ldr r6, [sp, 0x34]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r12, r1
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
str r2, [sp]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
ldr r0, _08096CC0 @ =gUnknown_203982C
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x4]
|
|
adds r1, r0, 0
|
|
ldrb r7, [r2, 0x5]
|
|
cmp r1, r7
|
|
bcs _08096CC8
|
|
adds r0, 0x1
|
|
strb r0, [r2, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
lsls r0, r4, 1
|
|
strh r0, [r1, 0x8]
|
|
ldr r2, [sp]
|
|
lsls r0, r2, 5
|
|
add r0, r12
|
|
lsls r0, 1
|
|
add r0, r9
|
|
str r0, [r1, 0x4]
|
|
adds r0, r3, 0
|
|
muls r0, r6
|
|
add r0, r8
|
|
lsls r0, 1
|
|
add r0, r10
|
|
str r0, [r1]
|
|
strh r5, [r1, 0xC]
|
|
strh r6, [r1, 0xA]
|
|
ldr r0, _08096CC4 @ =sub_8096CDC
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x1
|
|
b _08096CCA
|
|
.align 2, 0
|
|
_08096CC0: .4byte gUnknown_203982C
|
|
_08096CC4: .4byte sub_8096CDC
|
|
_08096CC8:
|
|
movs r0, 0
|
|
_08096CCA:
|
|
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_8096C40
|
|
|
|
thumb_func_start sub_8096CDC
|
|
sub_8096CDC: @ 8096CDC
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r5, 0
|
|
b _08096D06
|
|
_08096CE4:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, 0x4]
|
|
ldrh r2, [r4, 0x8]
|
|
lsrs r2, 1
|
|
bl CpuSet
|
|
ldr r0, [r4, 0x4]
|
|
adds r0, 0x40
|
|
str r0, [r4, 0x4]
|
|
ldrh r1, [r4, 0xA]
|
|
lsls r1, 1
|
|
ldr r0, [r4]
|
|
adds r0, r1
|
|
str r0, [r4]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_08096D06:
|
|
ldrh r0, [r4, 0xC]
|
|
cmp r5, r0
|
|
bcc _08096CE4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8096CDC
|
|
|
|
thumb_func_start sub_8096D14
|
|
sub_8096D14: @ 8096D14
|
|
push {r4-r7,lr}
|
|
mov r12, r0
|
|
ldr r0, [sp, 0x14]
|
|
lsls r1, 16
|
|
lsrs r6, r1, 16
|
|
lsls r2, 16
|
|
lsrs r4, r2, 16
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldr r0, _08096D60 @ =gUnknown_203982C
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x4]
|
|
adds r1, r0, 0
|
|
ldrb r7, [r2, 0x5]
|
|
cmp r1, r7
|
|
bcs _08096D68
|
|
adds r0, 0x1
|
|
strb r0, [r2, 0x4]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
lsls r0, r3, 1
|
|
strh r0, [r1, 0x8]
|
|
lsls r0, r4, 5
|
|
adds r0, r6
|
|
lsls r0, 1
|
|
add r0, r12
|
|
str r0, [r1, 0x4]
|
|
strh r5, [r1, 0xC]
|
|
ldr r0, _08096D64 @ =sub_8096D70
|
|
str r0, [r1, 0x10]
|
|
movs r0, 0x1
|
|
b _08096D6A
|
|
.align 2, 0
|
|
_08096D60: .4byte gUnknown_203982C
|
|
_08096D64: .4byte sub_8096D70
|
|
_08096D68:
|
|
movs r0, 0
|
|
_08096D6A:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8096D14
|
|
|
|
thumb_func_start sub_8096D70
|
|
sub_8096D70: @ 8096D70
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
adds r6, r0, 0
|
|
movs r0, 0
|
|
ldrh r1, [r6, 0xC]
|
|
cmp r0, r1
|
|
bcs _08096DFE
|
|
movs r7, 0x80
|
|
lsls r7, 5
|
|
mov r5, sp
|
|
ldr r2, _08096DBC @ =0x040000d4
|
|
mov r8, r2
|
|
movs r1, 0x81
|
|
lsls r1, 24
|
|
mov r10, r1
|
|
_08096D96:
|
|
ldr r2, [r6, 0x4]
|
|
ldrh r3, [r6, 0x8]
|
|
mov r12, r2
|
|
adds r0, 0x1
|
|
mov r9, r0
|
|
cmp r3, r7
|
|
bhi _08096DC0
|
|
movs r0, 0
|
|
strh r0, [r5]
|
|
mov r2, sp
|
|
mov r0, r8
|
|
str r2, [r0]
|
|
mov r1, r12
|
|
str r1, [r0, 0x4]
|
|
lsrs r0, r3, 1
|
|
mov r2, r10
|
|
orrs r0, r2
|
|
mov r1, r8
|
|
b _08096DE8
|
|
.align 2, 0
|
|
_08096DBC: .4byte 0x040000d4
|
|
_08096DC0:
|
|
movs r4, 0
|
|
strh r4, [r5]
|
|
ldr r1, _08096E10 @ =0x040000d4
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
ldr r0, _08096E14 @ =0x81000800
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r2, r7
|
|
subs r3, r7
|
|
cmp r3, r7
|
|
bhi _08096DC0
|
|
strh r4, [r5]
|
|
mov r0, sp
|
|
str r0, [r1]
|
|
str r2, [r1, 0x4]
|
|
lsrs r0, r3, 1
|
|
mov r2, r10
|
|
orrs r0, r2
|
|
_08096DE8:
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
mov r0, r12
|
|
adds r0, 0x40
|
|
str r0, [r6, 0x4]
|
|
mov r1, r9
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
ldrh r2, [r6, 0xC]
|
|
cmp r0, r2
|
|
bcc _08096D96
|
|
_08096DFE:
|
|
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
|
|
_08096E10: .4byte 0x040000d4
|
|
_08096E14: .4byte 0x81000800
|
|
thumb_func_end sub_8096D70
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|