mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 22:28:44 -05:00
19391 lines
333 KiB
ArmAsm
19391 lines
333 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_811EA44
|
|
sub_811EA44: @ 811EA44
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
ldr r4, [sp, 0x24]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r10, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r3, [sp]
|
|
lsls r4, 24
|
|
lsrs r7, r4, 24
|
|
bl reset_brm
|
|
ldr r6, _0811EA8C @ =gUnknown_203B09C
|
|
movs r0, 0x8E
|
|
lsls r0, 2
|
|
bl Alloc
|
|
adds r5, r0, 0
|
|
str r5, [r6]
|
|
cmp r5, 0
|
|
bne _0811EA90
|
|
ldr r0, [sp, 0x2C]
|
|
bl SetMainCallback2
|
|
b _0811EB80
|
|
.align 2, 0
|
|
_0811EA8C: .4byte gUnknown_203B09C
|
|
_0811EA90:
|
|
ldr r3, _0811EAE0 @ =gUnknown_203B0A0
|
|
movs r1, 0xF
|
|
mov r0, r9
|
|
ands r1, r0
|
|
ldrb r2, [r3, 0x8]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x8]
|
|
ldr r1, [sp, 0x2C]
|
|
str r1, [r3]
|
|
movs r4, 0
|
|
mov r0, r8
|
|
strb r0, [r3, 0xB]
|
|
lsls r2, r7, 2
|
|
ldrh r1, [r5, 0xA]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r5, 0xA]
|
|
ldr r0, [sp, 0x28]
|
|
str r0, [r5]
|
|
str r4, [r5, 0x4]
|
|
ldrb r1, [r5, 0x8]
|
|
movs r0, 0xF
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r5, 0x8]
|
|
adds r7, r3, 0
|
|
mov r1, r9
|
|
cmp r1, 0x4
|
|
bne _0811EAE4
|
|
ldr r0, [r6]
|
|
ldrb r1, [r0, 0x8]
|
|
movs r2, 0x1
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x8]
|
|
b _0811EAF0
|
|
.align 2, 0
|
|
_0811EAE0: .4byte gUnknown_203B0A0
|
|
_0811EAE4:
|
|
ldr r2, [r6]
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x8]
|
|
_0811EAF0:
|
|
mov r5, r10
|
|
cmp r5, 0xFF
|
|
beq _0811EB08
|
|
movs r0, 0x3
|
|
ands r0, r5
|
|
lsls r0, 4
|
|
ldrb r2, [r7, 0x8]
|
|
movs r1, 0x31
|
|
negs r1, r1
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r7, 0x8]
|
|
_0811EB08:
|
|
movs r2, 0
|
|
ldr r5, _0811EB90 @ =gUnknown_203B09C
|
|
movs r4, 0x86
|
|
lsls r4, 2
|
|
movs r3, 0
|
|
_0811EB12:
|
|
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, 0xF
|
|
bls _0811EB12
|
|
movs r2, 0
|
|
ldr r4, _0811EB90 @ =gUnknown_203B09C
|
|
movs r3, 0xFF
|
|
_0811EB2C:
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
orrs r1, r3
|
|
strb r1, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x2
|
|
bls _0811EB2C
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
beq _0811EB68
|
|
adds r1, r7, 0
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x5
|
|
bgt _0811EB66
|
|
adds r1, r0, 0
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0811EB94 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0811EB6A
|
|
_0811EB66:
|
|
movs r0, 0
|
|
_0811EB68:
|
|
strb r0, [r7, 0x9]
|
|
_0811EB6A:
|
|
ldr r2, _0811EB98 @ =gTextFlags
|
|
ldrb r1, [r2]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl CalculatePlayerPartyCount
|
|
ldr r0, _0811EB9C @ =sub_811EBD0
|
|
bl SetMainCallback2
|
|
_0811EB80:
|
|
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
|
|
_0811EB90: .4byte gUnknown_203B09C
|
|
_0811EB94: .4byte gPlayerParty
|
|
_0811EB98: .4byte gTextFlags
|
|
_0811EB9C: .4byte sub_811EBD0
|
|
thumb_func_end sub_811EA44
|
|
|
|
thumb_func_start sub_811EBA0
|
|
sub_811EBA0: @ 811EBA0
|
|
push {lr}
|
|
bl RunTasks
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl do_scheduled_bg_tilemap_copies_to_vram
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811EBA0
|
|
|
|
thumb_func_start sub_811EBBC
|
|
sub_811EBBC: @ 811EBBC
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811EBBC
|
|
|
|
thumb_func_start sub_811EBD0
|
|
sub_811EBD0: @ 811EBD0
|
|
push {lr}
|
|
_0811EBD2:
|
|
bl sub_80BF748
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811EBF6
|
|
bl sub_811EBFC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811EBF6
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0811EBD2
|
|
_0811EBF6:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811EBD0
|
|
|
|
thumb_func_start sub_811EBFC
|
|
sub_811EBFC: @ 811EBFC
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0811EC1C @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x16
|
|
bls _0811EC10
|
|
b _0811EE14
|
|
_0811EC10:
|
|
lsls r0, 2
|
|
ldr r1, _0811EC20 @ =_0811EC24
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811EC1C: .4byte gMain
|
|
_0811EC20: .4byte _0811EC24
|
|
.align 2, 0
|
|
_0811EC24:
|
|
.4byte _0811EC80
|
|
.4byte _0811EC8E
|
|
.4byte _0811EC94
|
|
.4byte _0811ECA8
|
|
.4byte _0811ECAE
|
|
.4byte _0811ECB4
|
|
.4byte _0811ECC6
|
|
.4byte _0811ECCC
|
|
.4byte _0811ECF4
|
|
.4byte _0811ED02
|
|
.4byte _0811ED14
|
|
.4byte _0811ED38
|
|
.4byte _0811ED3E
|
|
.4byte _0811ED44
|
|
.4byte _0811ED4A
|
|
.4byte _0811ED50
|
|
.4byte _0811ED70
|
|
.4byte _0811ED90
|
|
.4byte _0811ED96
|
|
.4byte _0811EDAC
|
|
.4byte _0811EDB4
|
|
.4byte _0811EDD0
|
|
.4byte _0811EDDE
|
|
_0811EC80:
|
|
bl sub_80BF768
|
|
bl sub_80BF77C
|
|
bl clear_scheduled_bg_copies_to_vram
|
|
b _0811EDFC
|
|
_0811EC8E:
|
|
bl remove_some_task
|
|
b _0811EDFC
|
|
_0811EC94:
|
|
bl ResetPaletteFade
|
|
ldr r2, _0811ECA4 @ =gPaletteFade
|
|
ldrb r0, [r2, 0x8]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
b _0811EDFA
|
|
.align 2, 0
|
|
_0811ECA4: .4byte gPaletteFade
|
|
_0811ECA8:
|
|
bl ResetSpriteData
|
|
b _0811EDFC
|
|
_0811ECAE:
|
|
bl FreeAllSpritePalettes
|
|
b _0811EDFC
|
|
_0811ECB4:
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811ECC0
|
|
b _0811EDFC
|
|
_0811ECC0:
|
|
bl ResetTasks
|
|
b _0811EDFC
|
|
_0811ECC6:
|
|
bl sub_81208E4
|
|
b _0811EDFC
|
|
_0811ECCC:
|
|
bl sub_811EECC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811ECDE
|
|
bl sub_811EE38
|
|
movs r0, 0x1
|
|
b _0811EE2E
|
|
_0811ECDE:
|
|
ldr r0, _0811ECF0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811ECF0: .4byte gUnknown_203B09C
|
|
_0811ECF4:
|
|
bl sub_811EF44
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811ED00
|
|
b _0811EE2C
|
|
_0811ED00:
|
|
b _0811EDFC
|
|
_0811ED02:
|
|
ldr r0, _0811ED10 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 26
|
|
lsrs r0, 30
|
|
bl sub_8121060
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811ED10: .4byte gUnknown_203B0A0
|
|
_0811ED14:
|
|
ldr r0, _0811ED30 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 26
|
|
lsrs r0, 30
|
|
bl sub_811F0BC
|
|
ldr r0, _0811ED34 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811ED30: .4byte gUnknown_203B0A0
|
|
_0811ED34: .4byte gUnknown_203B09C
|
|
_0811ED38:
|
|
bl sub_8122550
|
|
b _0811EDFC
|
|
_0811ED3E:
|
|
bl sub_8122860
|
|
b _0811EDFC
|
|
_0811ED44:
|
|
bl sub_8122980
|
|
b _0811EDFC
|
|
_0811ED4A:
|
|
bl sub_809707C
|
|
b _0811EDFC
|
|
_0811ED50:
|
|
bl party_menu_add_per_mon_objects
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811EE2C
|
|
ldr r0, _0811ED6C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811ED6C: .4byte gUnknown_203B09C
|
|
_0811ED70:
|
|
bl sub_811F5EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811EE2C
|
|
ldr r0, _0811ED8C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811ED8C: .4byte gUnknown_203B09C
|
|
_0811ED90:
|
|
bl sub_811F774
|
|
b _0811EDFC
|
|
_0811ED96:
|
|
ldr r0, _0811EDA8 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
bl sub_81210F8
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811EDA8: .4byte gUnknown_203B09C
|
|
_0811EDAC:
|
|
movs r0, 0x5
|
|
bl sub_812B1F0
|
|
b _0811EDFC
|
|
_0811EDB4:
|
|
ldr r4, _0811EDCC @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0, 0xA]
|
|
lsrs r0, 2
|
|
bl sub_8121D0C
|
|
b _0811EDFC
|
|
.align 2, 0
|
|
_0811EDCC: .4byte gUnknown_203B09C
|
|
_0811EDD0:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
b _0811EDFC
|
|
_0811EDDE:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r2, _0811EE0C @ =gPaletteFade
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
_0811EDFA:
|
|
strb r0, [r2, 0x8]
|
|
_0811EDFC:
|
|
ldr r1, _0811EE10 @ =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0811EE2C
|
|
.align 2, 0
|
|
_0811EE0C: .4byte gPaletteFade
|
|
_0811EE10: .4byte gMain
|
|
_0811EE14:
|
|
ldr r0, _0811EE24 @ =sub_811EBBC
|
|
bl SetVBlankCallback
|
|
ldr r0, _0811EE28 @ =sub_811EBA0
|
|
bl SetMainCallback2
|
|
movs r0, 0x1
|
|
b _0811EE2E
|
|
.align 2, 0
|
|
_0811EE24: .4byte sub_811EBBC
|
|
_0811EE28: .4byte sub_811EBA0
|
|
_0811EE2C:
|
|
movs r0, 0
|
|
_0811EE2E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EBFC
|
|
|
|
thumb_func_start sub_811EE38
|
|
sub_811EE38: @ 811EE38
|
|
push {lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _0811EE68 @ =sub_811EE74
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r0, _0811EE6C @ =sub_811EBBC
|
|
bl SetVBlankCallback
|
|
ldr r0, _0811EE70 @ =sub_811EBA0
|
|
bl SetMainCallback2
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811EE68: .4byte sub_811EE74
|
|
_0811EE6C: .4byte sub_811EBBC
|
|
_0811EE70: .4byte sub_811EBA0
|
|
thumb_func_end sub_811EE38
|
|
|
|
thumb_func_start sub_811EE74
|
|
sub_811EE74: @ 811EE74
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0811EEA0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811EE98
|
|
ldr r0, _0811EEA4 @ =gUnknown_203B0A0
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
bl sub_811F070
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_0811EE98:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811EEA0: .4byte gPaletteFade
|
|
_0811EEA4: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_811EE74
|
|
|
|
thumb_func_start reset_brm
|
|
reset_brm: @ 811EEA8
|
|
ldr r0, _0811EEBC @ =gUnknown_203B09C
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _0811EEC0 @ =gUnknown_203B0BC
|
|
str r1, [r0]
|
|
ldr r0, _0811EEC4 @ =gUnknown_203B0B4
|
|
str r1, [r0]
|
|
ldr r0, _0811EEC8 @ =gUnknown_203B0B8
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0811EEBC: .4byte gUnknown_203B09C
|
|
_0811EEC0: .4byte gUnknown_203B0BC
|
|
_0811EEC4: .4byte gUnknown_203B0B4
|
|
_0811EEC8: .4byte gUnknown_203B0B8
|
|
thumb_func_end reset_brm
|
|
|
|
thumb_func_start sub_811EECC
|
|
sub_811EECC: @ 811EECC
|
|
push {r4,r5,lr}
|
|
bl sub_80BF7C8
|
|
ldr r5, _0811EF34 @ =gUnknown_203B0BC
|
|
movs r4, 0x80
|
|
lsls r4, 4
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
str r0, [r5]
|
|
cmp r0, 0
|
|
beq _0811EF3C
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl memset
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, _0811EF38 @ =gUnknown_8459EB8
|
|
movs r0, 0
|
|
movs r2, 0x3
|
|
bl InitBgsFromTemplates
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
movs r0, 0x1
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r1, 0x82
|
|
lsls r1, 5
|
|
movs r0, 0
|
|
bl SetGpuReg
|
|
movs r0, 0x50
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
bl ShowBg
|
|
movs r0, 0x2
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
b _0811EF3E
|
|
.align 2, 0
|
|
_0811EF34: .4byte gUnknown_203B0BC
|
|
_0811EF38: .4byte gUnknown_8459EB8
|
|
_0811EF3C:
|
|
movs r0, 0
|
|
_0811EF3E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EECC
|
|
|
|
thumb_func_start sub_811EF44
|
|
sub_811EF44: @ 811EF44
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0811EF64 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0x7
|
|
bhi _0811F02C
|
|
lsls r0, 2
|
|
ldr r1, _0811EF68 @ =_0811EF6C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811EF64: .4byte gUnknown_203B09C
|
|
_0811EF68: .4byte _0811EF6C
|
|
.align 2, 0
|
|
_0811EF6C:
|
|
.4byte _0811EF8C
|
|
.4byte _0811EFB4
|
|
.4byte _0811EFD4
|
|
.4byte _0811F000
|
|
.4byte _0811F004
|
|
.4byte _0811F008
|
|
.4byte _0811F00C
|
|
.4byte _0811F010
|
|
_0811EF8C:
|
|
ldr r4, _0811EFAC @ =gUnknown_203B0B8
|
|
ldr r0, _0811EFB0 @ =gUnknown_8E82700
|
|
mov r1, sp
|
|
bl malloc_and_decompress
|
|
adds r1, r0, 0
|
|
str r1, [r4]
|
|
ldr r2, [sp]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0x1
|
|
movs r3, 0
|
|
bl LoadBgTiles
|
|
b _0811F016
|
|
.align 2, 0
|
|
_0811EFAC: .4byte gUnknown_203B0B8
|
|
_0811EFB0: .4byte gUnknown_8E82700
|
|
_0811EFB4:
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811F030
|
|
ldr r0, _0811EFCC @ =gUnknown_8E82AB0
|
|
ldr r1, _0811EFD0 @ =gUnknown_203B0BC
|
|
ldr r1, [r1]
|
|
bl LZDecompressWram
|
|
b _0811F016
|
|
.align 2, 0
|
|
_0811EFCC: .4byte gUnknown_8E82AB0
|
|
_0811EFD0: .4byte gUnknown_203B0BC
|
|
_0811EFD4:
|
|
ldr r0, _0811EFF4 @ =gUnknown_8E829C8
|
|
movs r2, 0xB0
|
|
lsls r2, 1
|
|
movs r1, 0
|
|
bl LoadCompressedPalette
|
|
ldr r0, _0811EFF8 @ =gPlttBufferUnfaded
|
|
ldr r4, _0811EFFC @ =gUnknown_203B09C
|
|
ldr r1, [r4]
|
|
adds r1, 0x18
|
|
movs r2, 0xB0
|
|
bl CpuSet
|
|
ldr r1, [r4]
|
|
b _0811F01A
|
|
.align 2, 0
|
|
_0811EFF4: .4byte gUnknown_8E829C8
|
|
_0811EFF8: .4byte gPlttBufferUnfaded
|
|
_0811EFFC: .4byte gUnknown_203B09C
|
|
_0811F000:
|
|
movs r0, 0x4
|
|
b _0811F012
|
|
_0811F004:
|
|
movs r0, 0x5
|
|
b _0811F012
|
|
_0811F008:
|
|
movs r0, 0x6
|
|
b _0811F012
|
|
_0811F00C:
|
|
movs r0, 0x7
|
|
b _0811F012
|
|
_0811F010:
|
|
movs r0, 0x8
|
|
_0811F012:
|
|
bl sub_811F03C
|
|
_0811F016:
|
|
ldr r0, _0811F028 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
_0811F01A:
|
|
movs r0, 0x86
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0811F030
|
|
.align 2, 0
|
|
_0811F028: .4byte gUnknown_203B09C
|
|
_0811F02C:
|
|
movs r0, 0x1
|
|
b _0811F032
|
|
_0811F030:
|
|
movs r0, 0
|
|
_0811F032:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811EF44
|
|
|
|
thumb_func_start sub_811F03C
|
|
sub_811F03C: @ 811F03C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 28
|
|
ldr r5, _0811F068 @ =gPlttBufferUnfaded + 0x60
|
|
lsrs r4, 23
|
|
adds r1, r5, 0
|
|
subs r1, 0x60
|
|
adds r1, r4, r1
|
|
adds r0, r5, 0
|
|
movs r2, 0x10
|
|
bl CpuSet
|
|
ldr r0, _0811F06C @ =gPlttBufferFaded
|
|
adds r4, r0
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x10
|
|
bl CpuSet
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F068: .4byte gPlttBufferUnfaded + 0x60
|
|
_0811F06C: .4byte gPlttBufferFaded
|
|
thumb_func_end sub_811F03C
|
|
|
|
thumb_func_start sub_811F070
|
|
sub_811F070: @ 811F070
|
|
push {lr}
|
|
ldr r0, _0811F0AC @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811F07E
|
|
bl Free
|
|
_0811F07E:
|
|
ldr r0, _0811F0B0 @ =gUnknown_203B0BC
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811F08A
|
|
bl Free
|
|
_0811F08A:
|
|
ldr r0, _0811F0B4 @ =gUnknown_203B0B8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811F096
|
|
bl Free
|
|
_0811F096:
|
|
ldr r0, _0811F0B8 @ =gUnknown_203B0B4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811F0A2
|
|
bl Free
|
|
_0811F0A2:
|
|
bl FreeAllWindowBuffers
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F0AC: .4byte gUnknown_203B09C
|
|
_0811F0B0: .4byte gUnknown_203B0BC
|
|
_0811F0B4: .4byte gUnknown_203B0B8
|
|
_0811F0B8: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_811F070
|
|
|
|
thumb_func_start sub_811F0BC
|
|
sub_811F0BC: @ 811F0BC
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r4, _0811F108 @ =gUnknown_203B0B4
|
|
movs r0, 0x60
|
|
bl Alloc
|
|
str r0, [r4]
|
|
movs r2, 0
|
|
ldr r7, _0811F10C @ =gUnknown_8459EE4
|
|
lsls r0, r5, 1
|
|
adds r0, r5
|
|
lsls r3, r0, 4
|
|
mov r12, r4
|
|
ldr r6, _0811F110 @ =gUnknown_8459F04
|
|
_0811F0DA:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 4
|
|
adds r1, r0
|
|
str r7, [r1]
|
|
lsls r0, r2, 3
|
|
adds r0, r6
|
|
adds r0, r3, r0
|
|
str r0, [r1, 0x4]
|
|
strb r2, [r1, 0x8]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x5
|
|
bls _0811F0DA
|
|
mov r1, r12
|
|
ldr r0, [r1]
|
|
ldr r1, _0811F114 @ =gUnknown_8459EC4
|
|
str r1, [r0]
|
|
cmp r5, 0x3
|
|
bne _0811F118
|
|
str r1, [r0, 0x30]
|
|
b _0811F11E
|
|
.align 2, 0
|
|
_0811F108: .4byte gUnknown_203B0B4
|
|
_0811F10C: .4byte gUnknown_8459EE4
|
|
_0811F110: .4byte gUnknown_8459F04
|
|
_0811F114: .4byte gUnknown_8459EC4
|
|
_0811F118:
|
|
cmp r5, 0
|
|
beq _0811F11E
|
|
str r1, [r0, 0x10]
|
|
_0811F11E:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811F0BC
|
|
|
|
thumb_func_start sub_811F124
|
|
sub_811F124: @ 811F124
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0811F16C @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x5
|
|
bne _0811F174
|
|
cmp r4, 0x2
|
|
bls _0811F174
|
|
adds r0, r4, 0
|
|
bl sub_811F528
|
|
ldr r5, _0811F170 @ =gUnknown_203B0B4
|
|
lsls r4, 4
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0x8
|
|
bl sub_812142C
|
|
ldr r0, [r5]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldr r0, [r5]
|
|
adds r4, r0
|
|
ldrb r0, [r4, 0x8]
|
|
bl PutWindowTilemap
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
b _0811F22A
|
|
.align 2, 0
|
|
_0811F16C: .4byte gUnknown_203B0A0
|
|
_0811F170: .4byte gUnknown_203B0B4
|
|
_0811F174:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0811F1A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0811F1AC
|
|
ldr r5, _0811F1A8 @ =gUnknown_203B0B4
|
|
ldr r0, [r5]
|
|
lsls r4, 4
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x8]
|
|
bl sub_8121404
|
|
ldr r0, [r5]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
b _0811F218
|
|
.align 2, 0
|
|
_0811F1A4: .4byte gPlayerParty
|
|
_0811F1A8: .4byte gUnknown_203B0B4
|
|
_0811F1AC:
|
|
ldr r0, _0811F1C0 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0xF
|
|
ands r1, r0
|
|
cmp r1, 0x4
|
|
bne _0811F1C4
|
|
adds r0, r4, 0
|
|
bl sub_811F388
|
|
b _0811F1E2
|
|
.align 2, 0
|
|
_0811F1C0: .4byte gUnknown_203B0A0
|
|
_0811F1C4:
|
|
cmp r1, 0xB
|
|
bne _0811F1D0
|
|
adds r0, r4, 0
|
|
bl sub_811F404
|
|
b _0811F1E2
|
|
_0811F1D0:
|
|
adds r0, r4, 0
|
|
bl sub_811F430
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811F1E2
|
|
adds r0, r4, 0
|
|
bl sub_811F234
|
|
_0811F1E2:
|
|
ldr r2, _0811F1F8 @ =gUnknown_203B0A0
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x5
|
|
bne _0811F1FC
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
b _0811F216
|
|
.align 2, 0
|
|
_0811F1F8: .4byte gUnknown_203B0A0
|
|
_0811F1FC:
|
|
movs r0, 0x9
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, r4
|
|
bne _0811F20E
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
b _0811F216
|
|
_0811F20E:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
_0811F216:
|
|
lsls r4, 4
|
|
_0811F218:
|
|
ldr r0, _0811F230 @ =gUnknown_203B0B4
|
|
ldr r0, [r0]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x8]
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_0811F22A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F230: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_811F124
|
|
|
|
thumb_func_start sub_811F234
|
|
sub_811F234: @ 811F234
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x64
|
|
adds r1, r4, 0
|
|
muls r1, r0
|
|
ldr r0, _0811F284 @ =gPlayerParty
|
|
adds r7, r1, r0
|
|
adds r0, r7, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
beq _0811F28C
|
|
ldr r6, _0811F288 @ =gUnknown_203B0B4
|
|
ldr r0, [r6]
|
|
lsls r5, r4, 4
|
|
adds r0, r5, r0
|
|
ldr r2, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
ldr r4, [r2]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl _call_via_r4
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_8121738
|
|
b _0811F2EE
|
|
.align 2, 0
|
|
_0811F284: .4byte gPlayerParty
|
|
_0811F288: .4byte gUnknown_203B0B4
|
|
_0811F28C:
|
|
ldr r5, _0811F2F8 @ =gUnknown_203B0B4
|
|
ldr r0, [r5]
|
|
lsls r4, 4
|
|
adds r0, r4, r0
|
|
ldr r1, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
str r2, [sp]
|
|
str r2, [sp, 0x4]
|
|
ldr r6, [r1]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl _call_via_r6
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_8121738
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_8121790
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_8121854
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_812199C
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
movs r2, 0
|
|
bl sub_8121A3C
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
adds r0, r7, 0
|
|
bl sub_8121AF0
|
|
_0811F2EE:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F2F8: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_811F234
|
|
|
|
thumb_func_start sub_811F2FC
|
|
sub_811F2FC: @ 811F2FC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
movs r1, 0x64
|
|
adds r2, r0, 0
|
|
muls r2, r1
|
|
ldr r1, _0811F380 @ =gPlayerParty
|
|
adds r6, r2, r1
|
|
ldr r7, _0811F384 @ =gUnknown_203B0B4
|
|
ldr r1, [r7]
|
|
lsls r5, r0, 4
|
|
adds r1, r5, r1
|
|
ldr r2, [r1]
|
|
ldrb r0, [r1, 0x8]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
ldr r4, [r2]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl _call_via_r4
|
|
ldr r1, [r7]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
bl sub_8121738
|
|
adds r0, r6, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0811F368
|
|
ldr r1, [r7]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
bl sub_8121790
|
|
ldr r1, [r7]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
bl sub_8121854
|
|
_0811F368:
|
|
ldr r1, [r7]
|
|
adds r1, r5
|
|
mov r0, r8
|
|
movs r2, 0
|
|
bl sub_8121C70
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F380: .4byte gPlayerParty
|
|
_0811F384: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_811F2FC
|
|
|
|
thumb_func_start sub_811F388
|
|
sub_811F388: @ 811F388
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0811F3AC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r5, _0811F3B0 @ =gUnknown_203B0D4
|
|
bl sub_8127550
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811F3C2
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl sub_811F2FC
|
|
b _0811F3F8
|
|
.align 2, 0
|
|
_0811F3AC: .4byte gPlayerParty
|
|
_0811F3B0: .4byte gUnknown_203B0D4
|
|
_0811F3B4:
|
|
adds r1, 0x2
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_811F2FC
|
|
b _0811F3F8
|
|
_0811F3C2:
|
|
ldr r0, _0811F400 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xC0
|
|
ands r0, r1
|
|
movs r3, 0x3
|
|
cmp r0, 0x80
|
|
bne _0811F3D2
|
|
movs r3, 0x2
|
|
_0811F3D2:
|
|
movs r1, 0
|
|
cmp r1, r3
|
|
bcs _0811F3F0
|
|
_0811F3D8:
|
|
adds r2, r5, r1
|
|
ldrb r0, [r2]
|
|
cmp r0, 0
|
|
beq _0811F3E6
|
|
subs r0, 0x1
|
|
cmp r0, r4
|
|
beq _0811F3B4
|
|
_0811F3E6:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, r3
|
|
bcc _0811F3D8
|
|
_0811F3F0:
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_811F2FC
|
|
_0811F3F8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F400: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_811F388
|
|
|
|
thumb_func_start sub_811F404
|
|
sub_811F404: @ 811F404
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_81209D4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0811F422
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl sub_811F2FC
|
|
b _0811F42A
|
|
_0811F422:
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl sub_811F2FC
|
|
_0811F42A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811F404
|
|
|
|
thumb_func_start sub_811F430
|
|
sub_811F430: @ 811F430
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0811F468 @ =gPlayerParty
|
|
adds r6, r1, r0
|
|
ldr r0, _0811F46C @ =gUnknown_203AD30
|
|
ldrh r4, [r0]
|
|
ldr r0, _0811F470 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0xC
|
|
bne _0811F47C
|
|
ldr r0, _0811F474 @ =gUnknown_20370D0
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _0811F478 @ =gSpecialVar_0x8005
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xE
|
|
bhi _0811F492
|
|
lsls r2, r0, 24
|
|
lsrs r2, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_811F4D0
|
|
b _0811F4C6
|
|
.align 2, 0
|
|
_0811F468: .4byte gPlayerParty
|
|
_0811F46C: .4byte gUnknown_203AD30
|
|
_0811F470: .4byte gUnknown_203B0A0
|
|
_0811F474: .4byte gUnknown_20370D0
|
|
_0811F478: .4byte gSpecialVar_0x8005
|
|
_0811F47C:
|
|
cmp r0, 0x3
|
|
bne _0811F492
|
|
adds r0, r4, 0
|
|
bl sub_80A1150
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811F496
|
|
cmp r0, 0x2
|
|
beq _0811F4A2
|
|
_0811F492:
|
|
movs r0, 0
|
|
b _0811F4C8
|
|
_0811F496:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_811F4D0
|
|
b _0811F4C6
|
|
_0811F4A2:
|
|
adds r0, r6, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0811F4BE
|
|
adds r0, r6, 0
|
|
movs r1, 0x3
|
|
adds r2, r4, 0
|
|
bl GetEvolutionTargetSpecies
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _0811F492
|
|
_0811F4BE:
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_811F2FC
|
|
_0811F4C6:
|
|
movs r0, 0x1
|
|
_0811F4C8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F430
|
|
|
|
thumb_func_start sub_811F4D0
|
|
sub_811F4D0: @ 811F4D0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r3, _0811F4FC @ =gPlayerParty
|
|
adds r0, r3
|
|
bl sub_8120B20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _0811F50E
|
|
cmp r0, 0x2
|
|
bgt _0811F500
|
|
cmp r0, 0x1
|
|
beq _0811F504
|
|
b _0811F518
|
|
.align 2, 0
|
|
_0811F4FC: .4byte gPlayerParty
|
|
_0811F500:
|
|
cmp r0, 0x3
|
|
bne _0811F518
|
|
_0811F504:
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
bl sub_811F2FC
|
|
b _0811F520
|
|
_0811F50E:
|
|
adds r0, r4, 0
|
|
movs r1, 0x9
|
|
bl sub_811F2FC
|
|
b _0811F520
|
|
_0811F518:
|
|
adds r0, r4, 0
|
|
movs r1, 0x7
|
|
bl sub_811F2FC
|
|
_0811F520:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811F4D0
|
|
|
|
thumb_func_start sub_811F528
|
|
sub_811F528: @ 811F528
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0811F558 @ =gUnknown_203B0B4
|
|
lsls r2, r0, 4
|
|
ldr r1, [r1]
|
|
adds r5, r1, r2
|
|
subs r0, 0x3
|
|
lsls r0, 24
|
|
ldr r1, _0811F55C @ =gUnknown_2022B58
|
|
mov r8, r1
|
|
lsrs r7, r0, 19
|
|
adds r6, r7, r1
|
|
ldrh r0, [r6]
|
|
cmp r0, 0
|
|
bne _0811F560
|
|
ldrb r0, [r5, 0x8]
|
|
bl sub_8121404
|
|
b _0811F5DC
|
|
.align 2, 0
|
|
_0811F558: .4byte gUnknown_203B0B4
|
|
_0811F55C: .4byte gUnknown_2022B58
|
|
_0811F560:
|
|
ldr r2, [r5]
|
|
ldrb r0, [r5, 0x8]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
str r1, [sp, 0x4]
|
|
ldr r4, [r2]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl _call_via_r4
|
|
ldr r4, _0811F5E8 @ =gStringVar1
|
|
mov r0, r8
|
|
adds r0, 0x4
|
|
adds r7, r0
|
|
adds r0, r4, 0
|
|
adds r1, r7, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
bl StringGetEnd10
|
|
adds r0, r4, 0
|
|
bl StringLength
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x5
|
|
bhi _0811F5A0
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl ConvertInternationalString
|
|
_0811F5A0:
|
|
ldrb r0, [r5, 0x8]
|
|
ldr r3, [r5]
|
|
adds r3, 0x4
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8121704
|
|
ldrb r0, [r6, 0xF]
|
|
adds r1, r5, 0
|
|
bl sub_8121808
|
|
ldrb r0, [r6, 0x1C]
|
|
ldrh r1, [r6]
|
|
adds r2, r7, 0
|
|
adds r3, r5, 0
|
|
bl sub_81218BC
|
|
ldrh r0, [r6, 0x10]
|
|
adds r1, r5, 0
|
|
bl sub_8121A04
|
|
ldrh r0, [r6, 0x12]
|
|
adds r1, r5, 0
|
|
bl sub_8121AA4
|
|
ldrh r0, [r6, 0x10]
|
|
ldrh r1, [r6, 0x12]
|
|
adds r2, r5, 0
|
|
bl sub_8121B2C
|
|
_0811F5DC:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F5E8: .4byte gStringVar1
|
|
thumb_func_end sub_811F528
|
|
|
|
thumb_func_start sub_811F5EC
|
|
sub_811F5EC: @ 811F5EC
|
|
push {r4,r5,lr}
|
|
ldr r5, _0811F614 @ =gUnknown_203B09C
|
|
ldr r0, [r5]
|
|
movs r4, 0x86
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl sub_811F124
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x6
|
|
beq _0811F618
|
|
movs r0, 0
|
|
b _0811F61A
|
|
.align 2, 0
|
|
_0811F614: .4byte gUnknown_203B09C
|
|
_0811F618:
|
|
movs r0, 0x1
|
|
_0811F61A:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811F5EC
|
|
|
|
thumb_func_start sub_811F620
|
|
sub_811F620: @ 811F620
|
|
lsls r0, 16
|
|
ldr r1, _0811F630 @ =gUnknown_203B0B8
|
|
lsrs r0, 11
|
|
ldr r1, [r1]
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
bx lr
|
|
.align 2, 0
|
|
_0811F630: .4byte gUnknown_203B0B8
|
|
thumb_func_end sub_811F620
|
|
|
|
thumb_func_start party_menu_add_per_mon_objects_internal
|
|
party_menu_add_per_mon_objects_internal: @ 811F634
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _0811F6A8 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x5
|
|
bne _0811F6E4
|
|
cmp r7, 0x2
|
|
bls _0811F6E4
|
|
subs r0, r7, 0x3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
ldr r0, _0811F6AC @ =gUnknown_2022B58
|
|
mov r9, r0
|
|
mov r2, r10
|
|
lsls r2, 5
|
|
mov r8, r2
|
|
mov r6, r8
|
|
add r6, r9
|
|
ldrh r0, [r6]
|
|
cmp r0, 0
|
|
beq _0811F728
|
|
mov r1, r9
|
|
adds r1, 0x18
|
|
add r1, r8
|
|
ldr r1, [r1]
|
|
ldr r4, _0811F6B0 @ =gUnknown_203B0B4
|
|
lsls r5, r7, 4
|
|
ldr r2, [r4]
|
|
adds r2, r5
|
|
movs r3, 0
|
|
str r3, [sp]
|
|
bl party_menu_link_mon_icon_anim
|
|
ldrh r0, [r6]
|
|
ldrh r1, [r6, 0x2]
|
|
ldr r2, [r4]
|
|
adds r2, r5
|
|
bl party_menu_link_mon_held_item_object
|
|
ldrh r0, [r6]
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
bl party_menu_link_mon_pokeball_object
|
|
ldrh r0, [r6, 0x10]
|
|
cmp r0, 0
|
|
bne _0811F6B4
|
|
movs r3, 0x7
|
|
b _0811F6C4
|
|
.align 2, 0
|
|
_0811F6A8: .4byte gUnknown_203B0A0
|
|
_0811F6AC: .4byte gUnknown_2022B58
|
|
_0811F6B0: .4byte gUnknown_203B0B4
|
|
_0811F6B4:
|
|
mov r0, r9
|
|
adds r0, 0x14
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
bl pokemon_ailments_get_primary
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
_0811F6C4:
|
|
ldr r1, _0811F6DC @ =gUnknown_2022B58
|
|
mov r2, r10
|
|
lsls r0, r2, 5
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
ldr r1, _0811F6E0 @ =gUnknown_203B0B4
|
|
ldr r2, [r1]
|
|
adds r2, r5
|
|
adds r1, r3, 0
|
|
bl party_menu_link_mon_status_condition_object
|
|
b _0811F728
|
|
.align 2, 0
|
|
_0811F6DC: .4byte gUnknown_2022B58
|
|
_0811F6E0: .4byte gUnknown_203B0B4
|
|
_0811F6E4:
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _0811F738 @ =gPlayerParty
|
|
adds r6, r1, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0811F728
|
|
ldr r4, _0811F73C @ =gUnknown_203B0B4
|
|
lsls r5, r7, 4
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
adds r2, r7, 0
|
|
bl party_menu_icon_anim
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
bl party_menu_held_item_object
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
bl party_menu_pokeball_object
|
|
ldr r1, [r4]
|
|
adds r1, r5
|
|
adds r0, r6, 0
|
|
bl party_menu_status_condition_object
|
|
_0811F728:
|
|
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
|
|
_0811F738: .4byte gPlayerParty
|
|
_0811F73C: .4byte gUnknown_203B0B4
|
|
thumb_func_end party_menu_add_per_mon_objects_internal
|
|
|
|
thumb_func_start party_menu_add_per_mon_objects
|
|
party_menu_add_per_mon_objects: @ 811F740
|
|
push {r4,r5,lr}
|
|
ldr r5, _0811F768 @ =gUnknown_203B09C
|
|
ldr r0, [r5]
|
|
movs r4, 0x86
|
|
lsls r4, 2
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl party_menu_add_per_mon_objects_internal
|
|
ldr r1, [r5]
|
|
adds r1, r4
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x6
|
|
beq _0811F76C
|
|
movs r0, 0
|
|
b _0811F76E
|
|
.align 2, 0
|
|
_0811F768: .4byte gUnknown_203B09C
|
|
_0811F76C:
|
|
movs r0, 0x1
|
|
_0811F76E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end party_menu_add_per_mon_objects
|
|
|
|
thumb_func_start sub_811F774
|
|
sub_811F774: @ 811F774
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
ldr r0, _0811F79C @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x5
|
|
bne _0811F7A0
|
|
movs r0, 0x7
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r1, 0xE
|
|
movs r2, 0x17
|
|
movs r3, 0x11
|
|
bl FillBgTilemapBufferRect
|
|
b _0811F808
|
|
.align 2, 0
|
|
_0811F79C: .4byte gUnknown_203B0A0
|
|
_0811F7A0:
|
|
ldr r4, _0811F7D8 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0811F7E0
|
|
movs r0, 0xBF
|
|
movs r1, 0x88
|
|
bl sub_8122794
|
|
ldr r3, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x7F
|
|
ands r0, r1
|
|
lsls r0, 4
|
|
ldrh r2, [r3, 0x8]
|
|
ldr r1, _0811F7DC @ =0xfffff80f
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strh r1, [r3, 0x8]
|
|
bl sub_811F9DC
|
|
movs r0, 0xBF
|
|
movs r1, 0x98
|
|
bl sub_8122794
|
|
b _0811F7E8
|
|
.align 2, 0
|
|
_0811F7D8: .4byte gUnknown_203B09C
|
|
_0811F7DC: .4byte 0xfffff80f
|
|
_0811F7E0:
|
|
movs r0, 0xC6
|
|
movs r1, 0x94
|
|
bl sub_8122754
|
|
_0811F7E8:
|
|
ldr r3, [r4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x7F
|
|
ands r0, r1
|
|
lsls r0, 11
|
|
ldr r1, [r3, 0x8]
|
|
ldr r2, _0811F810 @ =0xfffc07ff
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [r3, 0x8]
|
|
ldr r0, _0811F814 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
_0811F808:
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F810: .4byte 0xfffc07ff
|
|
_0811F814: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_811F774
|
|
|
|
thumb_func_start sub_811F818
|
|
sub_811F818: @ 811F818
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r8, r1
|
|
cmp r7, 0x6
|
|
beq _0811F884
|
|
cmp r7, 0x7
|
|
beq _0811F8C0
|
|
movs r0, 0x64
|
|
muls r0, r7
|
|
ldr r1, _0811F87C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0811F934
|
|
ldr r6, _0811F880 @ =gUnknown_203B0B4
|
|
lsls r5, r7, 4
|
|
ldr r4, [r6]
|
|
adds r4, r5
|
|
adds r0, r7, 0
|
|
mov r1, r8
|
|
bl sub_811F944
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_812142C
|
|
ldr r0, [r6]
|
|
adds r0, r5, r0
|
|
ldrb r0, [r0, 0x9]
|
|
mov r1, r8
|
|
bl sub_812238C
|
|
ldr r0, [r6]
|
|
adds r5, r0
|
|
ldrb r0, [r5, 0xB]
|
|
mov r1, r8
|
|
bl sub_81227B8
|
|
b _0811F934
|
|
.align 2, 0
|
|
_0811F87C: .4byte gPlayerParty
|
|
_0811F880: .4byte gUnknown_203B0B4
|
|
_0811F884:
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
bne _0811F89E
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0x17
|
|
movs r2, 0x10
|
|
movs r3, 0x7
|
|
bl sub_80F6B08
|
|
b _0811F8B0
|
|
_0811F89E:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0x17
|
|
movs r2, 0x10
|
|
movs r3, 0x7
|
|
bl sub_80F6B08
|
|
_0811F8B0:
|
|
ldr r0, _0811F8BC @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, 0x8]
|
|
lsls r0, 21
|
|
b _0811F926
|
|
.align 2, 0
|
|
_0811F8BC: .4byte gUnknown_203B09C
|
|
_0811F8C0:
|
|
ldr r0, _0811F8E0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
bne _0811F8F2
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
bne _0811F8E4
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0x17
|
|
movs r2, 0x11
|
|
b _0811F904
|
|
.align 2, 0
|
|
_0811F8E0: .4byte gUnknown_203B09C
|
|
_0811F8E4:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0x17
|
|
movs r2, 0x11
|
|
b _0811F904
|
|
_0811F8F2:
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
bne _0811F90C
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0x17
|
|
movs r2, 0x12
|
|
_0811F904:
|
|
movs r3, 0x7
|
|
bl sub_80F6B08
|
|
b _0811F91E
|
|
_0811F90C:
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0x17
|
|
movs r2, 0x12
|
|
movs r3, 0x7
|
|
bl sub_80F6B08
|
|
_0811F91E:
|
|
ldr r0, _0811F940 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
lsls r0, 14
|
|
_0811F926:
|
|
lsrs r0, 25
|
|
mov r1, r8
|
|
bl sub_81227B8
|
|
movs r0, 0x1
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_0811F934:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811F940: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_811F818
|
|
|
|
thumb_func_start sub_811F944
|
|
sub_811F944: @ 811F944
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r4, 0
|
|
cmp r1, 0x1
|
|
bne _0811F956
|
|
movs r4, 0x1
|
|
_0811F956:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0811F9D4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0811F96C
|
|
movs r0, 0x2
|
|
orrs r4, r0
|
|
_0811F96C:
|
|
ldr r2, _0811F9D8 @ =gUnknown_203B0A0
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0x30
|
|
ands r0, r1
|
|
cmp r0, 0x20
|
|
bne _0811F98C
|
|
cmp r5, 0x1
|
|
beq _0811F984
|
|
cmp r5, 0x4
|
|
beq _0811F984
|
|
cmp r5, 0x5
|
|
bne _0811F98C
|
|
_0811F984:
|
|
movs r0, 0x8
|
|
orrs r4, r0
|
|
lsls r0, r4, 24
|
|
lsrs r4, r0, 24
|
|
_0811F98C:
|
|
ldrb r1, [r2, 0xB]
|
|
cmp r1, 0x9
|
|
bne _0811F99A
|
|
movs r0, 0x10
|
|
orrs r4, r0
|
|
lsls r0, r4, 24
|
|
lsrs r4, r0, 24
|
|
_0811F99A:
|
|
cmp r1, 0x8
|
|
bne _0811F9B6
|
|
movs r0, 0x9
|
|
ldrsb r0, [r2, r0]
|
|
cmp r5, r0
|
|
beq _0811F9AE
|
|
movs r0, 0xA
|
|
ldrsb r0, [r2, r0]
|
|
cmp r5, r0
|
|
bne _0811F9B6
|
|
_0811F9AE:
|
|
movs r0, 0x4
|
|
orrs r4, r0
|
|
lsls r0, r4, 24
|
|
lsrs r4, r0, 24
|
|
_0811F9B6:
|
|
ldrb r0, [r2, 0xB]
|
|
cmp r0, 0xA
|
|
bne _0811F9CC
|
|
movs r0, 0x9
|
|
ldrsb r0, [r2, r0]
|
|
cmp r5, r0
|
|
bne _0811F9CC
|
|
movs r0, 0x20
|
|
orrs r4, r0
|
|
lsls r0, r4, 24
|
|
lsrs r4, r0, 24
|
|
_0811F9CC:
|
|
adds r0, r4, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811F9D4: .4byte gPlayerParty
|
|
_0811F9D8: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_811F944
|
|
|
|
thumb_func_start sub_811F9DC
|
|
sub_811F9DC: @ 811F9DC
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
ldr r1, _0811FA18 @ =gUnknown_8459FC4
|
|
movs r6, 0x7
|
|
str r6, [sp]
|
|
movs r5, 0x2
|
|
str r5, [sp, 0x4]
|
|
movs r4, 0x11
|
|
str r4, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0x17
|
|
movs r3, 0x10
|
|
bl CopyToBgTilemapBufferRect_ChangePalette
|
|
ldr r1, _0811FA1C @ =gUnknown_8459FE0
|
|
str r6, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0x17
|
|
movs r3, 0x12
|
|
bl CopyToBgTilemapBufferRect_ChangePalette
|
|
movs r0, 0x1
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FA18: .4byte gUnknown_8459FC4
|
|
_0811FA1C: .4byte gUnknown_8459FE0
|
|
thumb_func_end sub_811F9DC
|
|
|
|
thumb_func_start sub_811FA20
|
|
sub_811FA20: @ 811FA20
|
|
push {lr}
|
|
ldr r0, _0811FA34 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x4B
|
|
ands r0, r1
|
|
cmp r0, 0x4B
|
|
beq _0811FA38
|
|
movs r0, 0
|
|
b _0811FA3A
|
|
.align 2, 0
|
|
_0811FA34: .4byte gBattleTypeFlags
|
|
_0811FA38:
|
|
movs r0, 0x1
|
|
_0811FA3A:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811FA20
|
|
|
|
thumb_func_start sub_811FA40
|
|
sub_811FA40: @ 811FA40
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
movs r0, 0x64
|
|
bl Alloc
|
|
adds r5, r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r5, 0
|
|
bl Free
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811FA40
|
|
|
|
thumb_func_start sub_811FA78
|
|
sub_811FA78: @ 811FA78
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _0811FAAC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0811FAB0 @ =sub_811FAB4
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FAAC: .4byte gTasks
|
|
_0811FAB0: .4byte sub_811FAB4
|
|
thumb_func_end sub_811FA78
|
|
|
|
thumb_func_start sub_811FAB4
|
|
sub_811FAB4: @ 811FAB4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _0811FAE8 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811FB04
|
|
ldr r4, _0811FAEC @ =gUnknown_203B0A0
|
|
ldrb r1, [r4, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0811FAD6
|
|
bl sub_81280C4
|
|
_0811FAD6:
|
|
ldr r0, _0811FAF0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
cmp r0, 0
|
|
beq _0811FAF4
|
|
bl SetMainCallback2
|
|
b _0811FAFA
|
|
.align 2, 0
|
|
_0811FAE8: .4byte gPaletteFade
|
|
_0811FAEC: .4byte gUnknown_203B0A0
|
|
_0811FAF0: .4byte gUnknown_203B09C
|
|
_0811FAF4:
|
|
ldr r0, [r4]
|
|
bl SetMainCallback2
|
|
_0811FAFA:
|
|
bl sub_811F070
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_0811FB04:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811FAB4
|
|
|
|
thumb_func_start GetCursorSelectionMonId
|
|
GetCursorSelectionMonId: @ 811FB0C
|
|
ldr r0, _0811FB14 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
bx lr
|
|
.align 2, 0
|
|
_0811FB14: .4byte gUnknown_203B0A0
|
|
thumb_func_end GetCursorSelectionMonId
|
|
|
|
thumb_func_start sub_811FB18
|
|
sub_811FB18: @ 811FB18
|
|
ldr r0, _0811FB24 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
bx lr
|
|
.align 2, 0
|
|
_0811FB24: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_811FB18
|
|
|
|
thumb_func_start sub_811FB28
|
|
sub_811FB28: @ 811FB28
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
ldr r0, _0811FB64 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811FB98
|
|
bl sub_80BF748
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811FB98
|
|
bl sub_811FBA4
|
|
adds r4, r0, 0
|
|
bl sub_811FEFC
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x2
|
|
beq _0811FB78
|
|
cmp r0, 0x2
|
|
bgt _0811FB68
|
|
cmp r0, 0x1
|
|
beq _0811FB6E
|
|
b _0811FB98
|
|
.align 2, 0
|
|
_0811FB64: .4byte gPaletteFade
|
|
_0811FB68:
|
|
cmp r0, 0x8
|
|
beq _0811FB82
|
|
b _0811FB98
|
|
_0811FB6E:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811FBC4
|
|
b _0811FB98
|
|
_0811FB78:
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_811FD88
|
|
b _0811FB98
|
|
_0811FB82:
|
|
ldr r0, _0811FBA0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0811FB98
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_8124258
|
|
_0811FB98:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FBA0: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_811FB28
|
|
|
|
thumb_func_start sub_811FBA4
|
|
sub_811FBA4: @ 811FBA4
|
|
push {lr}
|
|
ldr r0, _0811FBB8 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0xB]
|
|
cmp r1, 0x8
|
|
beq _0811FBB2
|
|
cmp r1, 0xA
|
|
bne _0811FBBC
|
|
_0811FBB2:
|
|
adds r0, 0xA
|
|
b _0811FBBE
|
|
.align 2, 0
|
|
_0811FBB8: .4byte gUnknown_203B0A0
|
|
_0811FBBC:
|
|
adds r0, 0x9
|
|
_0811FBBE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811FBA4
|
|
|
|
thumb_func_start sub_811FBC4
|
|
sub_811FBC4: @ 811FBC4
|
|
push {r4-r6,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, 0x6
|
|
bne _0811FBE4
|
|
ldr r0, _0811FBE0 @ =gUnknown_203B0A0
|
|
ldr r1, [r0, 0x4]
|
|
adds r0, r6, 0
|
|
bl _call_via_r1
|
|
b _0811FD56
|
|
.align 2, 0
|
|
_0811FBE0: .4byte gUnknown_203B0A0
|
|
_0811FBE4:
|
|
ldr r0, _0811FBFC @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
subs r0, 0x3
|
|
cmp r0, 0xA
|
|
bls _0811FBF0
|
|
b _0811FD4A
|
|
_0811FBF0:
|
|
lsls r0, 2
|
|
ldr r1, _0811FC00 @ =_0811FC04
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811FBFC: .4byte gUnknown_203B0A0
|
|
_0811FC00: .4byte _0811FC04
|
|
.align 2, 0
|
|
_0811FC04:
|
|
.4byte _0811FC46
|
|
.4byte _0811FD4A
|
|
.4byte _0811FCC0
|
|
.4byte _0811FCC0
|
|
.4byte _0811FCA6
|
|
.4byte _0811FCDA
|
|
.4byte _0811FD4A
|
|
.4byte _0811FC30
|
|
.4byte _0811FCE8
|
|
.4byte _0811FC8C
|
|
.4byte _0811FD34
|
|
_0811FC30:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811FC3E
|
|
b _0811FD56
|
|
_0811FC3E:
|
|
adds r0, r6, 0
|
|
bl sub_80E5724
|
|
b _0811FD56
|
|
_0811FC46:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811FC54
|
|
b _0811FD56
|
|
_0811FC54:
|
|
ldr r0, _0811FC78 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0811FC68
|
|
ldr r0, _0811FC7C @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _0811FC80 @ =sub_8128184
|
|
str r0, [r1, 0x4]
|
|
_0811FC68:
|
|
ldr r0, _0811FC84 @ =gUnknown_3005E98
|
|
ldr r1, _0811FC88 @ =sub_81255BC
|
|
ldr r2, [r0]
|
|
adds r0, r6, 0
|
|
bl _call_via_r2
|
|
b _0811FD56
|
|
.align 2, 0
|
|
_0811FC78: .4byte gUnknown_203B0A0
|
|
_0811FC7C: .4byte gUnknown_203B09C
|
|
_0811FC80: .4byte sub_8128184
|
|
_0811FC84: .4byte gUnknown_3005E98
|
|
_0811FC88: .4byte sub_81255BC
|
|
_0811FC8C:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811FD56
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
bl sub_8126DC8
|
|
b _0811FD56
|
|
_0811FCA6:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811FD56
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
bl sub_8127404
|
|
b _0811FD56
|
|
_0811FCC0:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811FD56
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
bl sub_8126F40
|
|
b _0811FD56
|
|
_0811FCDA:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
bl sub_8122E5C
|
|
b _0811FD56
|
|
_0811FCE8:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _0811FD24 @ =gUnknown_20370C0
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
strh r0, [r1]
|
|
ldr r0, _0811FD28 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x7
|
|
bne _0811FD1A
|
|
ldr r4, _0811FD2C @ =gSpecialVar_0x8005
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0811FD30 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl GetNumberOfRelearnableMoves
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4]
|
|
_0811FD1A:
|
|
adds r0, r6, 0
|
|
bl sub_811FA78
|
|
b _0811FD56
|
|
.align 2, 0
|
|
_0811FD24: .4byte gUnknown_20370C0
|
|
_0811FD28: .4byte gUnknown_203B0A0
|
|
_0811FD2C: .4byte gSpecialVar_0x8005
|
|
_0811FD30: .4byte gPlayerParty
|
|
_0811FD34:
|
|
adds r0, r5, 0
|
|
bl sub_811FD5C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811FD56
|
|
ldrb r1, [r5]
|
|
adds r0, r6, 0
|
|
bl sub_81209F4
|
|
b _0811FD56
|
|
_0811FD4A:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r6, 0
|
|
bl sub_8122C30
|
|
_0811FD56:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811FBC4
|
|
|
|
thumb_func_start sub_811FD5C
|
|
sub_811FD5C: @ 811FD5C
|
|
push {lr}
|
|
ldrb r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0811FD78 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0x1
|
|
beq _0811FD7C
|
|
movs r0, 0x1
|
|
b _0811FD84
|
|
.align 2, 0
|
|
_0811FD78: .4byte gPlayerParty
|
|
_0811FD7C:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0
|
|
_0811FD84:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811FD5C
|
|
|
|
thumb_func_start sub_811FD88
|
|
sub_811FD88: @ 811FD88
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0811FDA4 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x8
|
|
beq _0811FDBA
|
|
cmp r0, 0x8
|
|
bgt _0811FDA8
|
|
cmp r0, 0x1
|
|
beq _0811FDB2
|
|
b _0811FDD6
|
|
.align 2, 0
|
|
_0811FDA4: .4byte gUnknown_203B0A0
|
|
_0811FDA8:
|
|
cmp r0, 0xA
|
|
beq _0811FDBA
|
|
cmp r0, 0xD
|
|
beq _0811FDC8
|
|
b _0811FDD6
|
|
_0811FDB2:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
b _0811FE14
|
|
_0811FDBA:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_81235E8
|
|
b _0811FE14
|
|
_0811FDC8:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_8120A58
|
|
b _0811FE14
|
|
_0811FDD6:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0811FDF0 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x4
|
|
bne _0811FDF4
|
|
adds r0, r4, 0
|
|
bl sub_811FE24
|
|
b _0811FE14
|
|
.align 2, 0
|
|
_0811FDF0: .4byte gUnknown_203B0A0
|
|
_0811FDF4:
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811FE04
|
|
ldr r1, _0811FE1C @ =gUnknown_20370C0
|
|
movs r0, 0x7
|
|
strh r0, [r1]
|
|
_0811FE04:
|
|
ldr r0, _0811FE20 @ =gUnknown_203B0C0
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
movs r0, 0x7
|
|
strb r0, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
_0811FE14:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FE1C: .4byte gUnknown_20370C0
|
|
_0811FE20: .4byte gUnknown_203B0C0
|
|
thumb_func_end sub_811FD88
|
|
|
|
thumb_func_start sub_811FE24
|
|
sub_811FE24: @ 811FE24
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0811FE5C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r5, _0811FE60 @ =gStringVar4
|
|
ldr r1, _0811FE64 @ =gUnknown_84176CF
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _0811FE68 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0811FE6C @ =sub_811FE70
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FE5C: .4byte gUnknown_203B09C
|
|
_0811FE60: .4byte gStringVar4
|
|
_0811FE64: .4byte gUnknown_84176CF
|
|
_0811FE68: .4byte gTasks
|
|
_0811FE6C: .4byte sub_811FE70
|
|
thumb_func_end sub_811FE24
|
|
|
|
thumb_func_start sub_811FE70
|
|
sub_811FE70: @ 811FE70
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811FE94
|
|
bl sub_812200C
|
|
ldr r0, _0811FE9C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0811FEA0 @ =sub_811FEA4
|
|
str r0, [r1]
|
|
_0811FE94:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811FE9C: .4byte gTasks
|
|
_0811FEA0: .4byte sub_811FEA4
|
|
thumb_func_end sub_811FE70
|
|
|
|
thumb_func_start sub_811FEA4
|
|
sub_811FEA4: @ 811FEA4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811FECA
|
|
cmp r1, 0
|
|
bgt _0811FEC4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0811FEE8
|
|
b _0811FEF4
|
|
_0811FEC4:
|
|
cmp r1, 0x1
|
|
beq _0811FEEE
|
|
b _0811FEF4
|
|
_0811FECA:
|
|
ldr r0, _0811FEE0 @ =gUnknown_203B0C0
|
|
strb r1, [r0]
|
|
ldr r1, _0811FEE4 @ =gUnknown_203B0A0
|
|
movs r0, 0x7
|
|
strb r0, [r1, 0x9]
|
|
bl sub_81274FC
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _0811FEF4
|
|
.align 2, 0
|
|
_0811FEE0: .4byte gUnknown_203B0C0
|
|
_0811FEE4: .4byte gUnknown_203B0A0
|
|
_0811FEE8:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_0811FEEE:
|
|
adds r0, r4, 0
|
|
bl sub_81203B8
|
|
_0811FEF4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811FEA4
|
|
|
|
thumb_func_start sub_811FEFC
|
|
sub_811FEFC: @ 811FEFC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _0811FF14 @ =gMain
|
|
ldrh r1, [r0, 0x30]
|
|
adds r3, r0, 0
|
|
cmp r1, 0x20
|
|
beq _0811FF2A
|
|
cmp r1, 0x20
|
|
bgt _0811FF18
|
|
cmp r1, 0x10
|
|
beq _0811FF2E
|
|
b _0811FF32
|
|
.align 2, 0
|
|
_0811FF14: .4byte gMain
|
|
_0811FF18:
|
|
cmp r1, 0x40
|
|
beq _0811FF22
|
|
cmp r1, 0x80
|
|
beq _0811FF26
|
|
b _0811FF32
|
|
_0811FF22:
|
|
movs r1, 0xFF
|
|
b _0811FF4E
|
|
_0811FF26:
|
|
movs r1, 0x1
|
|
b _0811FF4E
|
|
_0811FF2A:
|
|
movs r1, 0xFE
|
|
b _0811FF4E
|
|
_0811FF2E:
|
|
movs r1, 0x2
|
|
b _0811FF4E
|
|
_0811FF32:
|
|
bl sub_80BF66C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811FF46
|
|
cmp r0, 0x2
|
|
beq _0811FF4A
|
|
movs r1, 0
|
|
b _0811FF4C
|
|
_0811FF46:
|
|
movs r1, 0xFF
|
|
b _0811FF4C
|
|
_0811FF4A:
|
|
movs r1, 0x1
|
|
_0811FF4C:
|
|
ldr r3, _0811FF5C @ =gMain
|
|
_0811FF4E:
|
|
ldrh r2, [r3, 0x2E]
|
|
movs r0, 0x8
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0811FF60
|
|
movs r0, 0x8
|
|
b _0811FF8C
|
|
.align 2, 0
|
|
_0811FF5C: .4byte gMain
|
|
_0811FF60:
|
|
lsls r0, r1, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811FF72
|
|
adds r0, r4, 0
|
|
bl sub_811FF94
|
|
movs r0, 0
|
|
b _0811FF8C
|
|
_0811FF72:
|
|
movs r0, 0x1
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0811FF86
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0x7
|
|
bne _0811FF86
|
|
movs r0, 0x2
|
|
b _0811FF8C
|
|
_0811FF86:
|
|
ldrh r1, [r3, 0x2E]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
_0811FF8C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811FEFC
|
|
|
|
thumb_func_start sub_811FF94
|
|
sub_811FF94: @ 811FF94
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldrb r4, [r5]
|
|
ldr r0, _0811FFB8 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 26
|
|
lsrs r0, 30
|
|
cmp r0, 0
|
|
bne _0811FFBC
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
adds r0, r5, 0
|
|
bl sub_811FFF0
|
|
b _0811FFC6
|
|
.align 2, 0
|
|
_0811FFB8: .4byte gUnknown_203B0A0
|
|
_0811FFBC:
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
adds r0, r5, 0
|
|
bl sub_81200F8
|
|
_0811FFC6:
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
lsls r4, 24
|
|
asrs r0, r4, 24
|
|
cmp r1, r0
|
|
beq _0811FFE8
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
lsrs r0, r4, 24
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
_0811FFE8:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811FF94
|
|
|
|
thumb_func_start sub_811FFF0
|
|
sub_811FFF0: @ 811FFF0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08120016
|
|
cmp r1, r0
|
|
bgt _0812000C
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
beq _081200C0
|
|
b _081200EE
|
|
_0812000C:
|
|
cmp r1, 0x1
|
|
beq _0812005C
|
|
cmp r1, 0x2
|
|
beq _08120094
|
|
b _081200EE
|
|
_08120016:
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
cmp r1, 0
|
|
bne _08120024
|
|
movs r0, 0x7
|
|
b _081200EC
|
|
_08120024:
|
|
cmp r1, 0x6
|
|
bne _08120034
|
|
ldr r0, _08120030 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
b _081200EC
|
|
.align 2, 0
|
|
_08120030: .4byte gPlayerPartyCount
|
|
_08120034:
|
|
cmp r1, 0x7
|
|
bne _08120058
|
|
ldr r0, _08120048 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0812004C
|
|
movs r0, 0x6
|
|
b _081200EC
|
|
.align 2, 0
|
|
_08120048: .4byte gUnknown_203B09C
|
|
_0812004C:
|
|
ldr r0, _08120054 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
b _081200EC
|
|
.align 2, 0
|
|
_08120054: .4byte gPlayerPartyCount
|
|
_08120058:
|
|
subs r0, 0x1
|
|
b _081200EC
|
|
_0812005C:
|
|
ldrb r2, [r4]
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0x7
|
|
beq _081200EA
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
ldr r0, _08120084 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bne _08120090
|
|
ldr r0, _08120088 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0812008C
|
|
movs r0, 0x6
|
|
b _081200EC
|
|
.align 2, 0
|
|
_08120084: .4byte gPlayerPartyCount
|
|
_08120088: .4byte gUnknown_203B09C
|
|
_0812008C:
|
|
movs r0, 0x7
|
|
b _081200EC
|
|
_08120090:
|
|
adds r0, r2, 0x1
|
|
b _081200EC
|
|
_08120094:
|
|
ldr r0, _081200B8 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _081200EE
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
bne _081200EE
|
|
ldr r0, _081200BC @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 29
|
|
cmp r0, 0
|
|
bne _081200EC
|
|
movs r0, 0x1
|
|
b _081200EC
|
|
.align 2, 0
|
|
_081200B8: .4byte gPlayerPartyCount
|
|
_081200BC: .4byte gUnknown_203B09C
|
|
_081200C0:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
beq _081200EE
|
|
cmp r0, 0x6
|
|
beq _081200EE
|
|
cmp r0, 0x7
|
|
beq _081200EE
|
|
ldr r0, _081200F4 @ =gUnknown_203B09C
|
|
ldr r3, [r0]
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
lsls r1, 1
|
|
ldrb r2, [r3, 0x8]
|
|
movs r0, 0xF
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x8]
|
|
_081200EA:
|
|
movs r0, 0
|
|
_081200EC:
|
|
strb r0, [r4]
|
|
_081200EE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081200F4: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_811FFF0
|
|
|
|
thumb_func_start sub_81200F8
|
|
sub_81200F8: @ 81200F8
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
asrs r5, r1, 24
|
|
movs r6, 0x1
|
|
negs r6, r6
|
|
cmp r5, r6
|
|
beq _08120124
|
|
cmp r5, r6
|
|
bgt _0812011A
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _08120118
|
|
b _08120238
|
|
_08120118:
|
|
b _08120290
|
|
_0812011A:
|
|
cmp r5, 0x1
|
|
beq _08120180
|
|
cmp r5, 0x2
|
|
beq _081201C0
|
|
b _08120290
|
|
_08120124:
|
|
ldrb r1, [r4]
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
bne _08120132
|
|
movs r0, 0x7
|
|
b _0812028E
|
|
_08120132:
|
|
cmp r0, 0x6
|
|
bne _08120144
|
|
ldr r0, _08120140 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
b _0812028E
|
|
.align 2, 0
|
|
_08120140: .4byte gPlayerPartyCount
|
|
_08120144:
|
|
cmp r0, 0x7
|
|
bne _08120160
|
|
ldr r0, _08120158 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0812015C
|
|
movs r0, 0x6
|
|
b _0812028E
|
|
.align 2, 0
|
|
_08120158: .4byte gUnknown_203B09C
|
|
_0812015C:
|
|
subs r0, r1, 0x1
|
|
strb r0, [r4]
|
|
_08120160:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r1, r2, 24
|
|
asrs r1, 24
|
|
bl sub_812029C
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _0812017C
|
|
b _08120290
|
|
_0812017C:
|
|
strb r2, [r4]
|
|
b _08120290
|
|
_08120180:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0x6
|
|
bne _0812018C
|
|
movs r0, 0x7
|
|
b _0812028E
|
|
_0812018C:
|
|
cmp r0, 0x7
|
|
bne _08120194
|
|
movs r0, 0
|
|
b _0812028E
|
|
_08120194:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x1
|
|
bl sub_812029C
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
asrs r0, 24
|
|
cmp r0, r6
|
|
bne _0812017C
|
|
ldr r0, _081201B8 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _081201BC
|
|
movs r0, 0x6
|
|
b _0812028E
|
|
.align 2, 0
|
|
_081201B8: .4byte gUnknown_203B09C
|
|
_081201BC:
|
|
movs r0, 0x7
|
|
b _0812028E
|
|
_081201C0:
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, 0
|
|
bne _081201F8
|
|
ldr r0, _081201E8 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 28
|
|
lsrs r6, r0, 29
|
|
cmp r6, 0x3
|
|
bne _081201F0
|
|
ldr r0, _081201EC @ =gUnknown_20243B0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08120290
|
|
strb r6, [r4]
|
|
b _08120290
|
|
.align 2, 0
|
|
_081201E8: .4byte gUnknown_203B09C
|
|
_081201EC: .4byte gUnknown_20243B0
|
|
_081201F0:
|
|
ldr r0, _081201F4 @ =gUnknown_202434C
|
|
b _0812020C
|
|
.align 2, 0
|
|
_081201F4: .4byte gUnknown_202434C
|
|
_081201F8:
|
|
cmp r0, 0x1
|
|
bne _08120290
|
|
ldr r0, _0812021C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 28
|
|
lsrs r5, r0, 29
|
|
cmp r5, 0x5
|
|
bne _08120224
|
|
ldr r0, _08120220 @ =gUnknown_2024478
|
|
_0812020C:
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08120290
|
|
strb r5, [r4]
|
|
b _08120290
|
|
.align 2, 0
|
|
_0812021C: .4byte gUnknown_203B09C
|
|
_08120220: .4byte gUnknown_2024478
|
|
_08120224:
|
|
ldr r0, _08120234 @ =gUnknown_2024414
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08120290
|
|
movs r0, 0x4
|
|
b _0812028E
|
|
.align 2, 0
|
|
_08120234: .4byte gUnknown_2024414
|
|
_08120238:
|
|
ldrb r1, [r4]
|
|
subs r0, r1, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08120268
|
|
ldr r0, _08120264 @ =gUnknown_203B09C
|
|
ldr r3, [r0]
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
lsls r1, 1
|
|
ldrb r2, [r3, 0x8]
|
|
movs r0, 0xF
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x8]
|
|
movs r0, 0
|
|
b _0812028E
|
|
.align 2, 0
|
|
_08120264: .4byte gUnknown_203B09C
|
|
_08120268:
|
|
subs r0, r1, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08120290
|
|
ldr r0, _08120298 @ =gUnknown_203B09C
|
|
ldr r3, [r0]
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
lsls r1, 1
|
|
ldrb r2, [r3, 0x8]
|
|
movs r0, 0xF
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, 0x8]
|
|
movs r0, 0x1
|
|
_0812028E:
|
|
strb r0, [r4]
|
|
_08120290:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120298: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_81200F8
|
|
|
|
thumb_func_start sub_812029C
|
|
sub_812029C: @ 812029C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
asrs r6, r1, 24
|
|
_081202A6:
|
|
lsls r0, r5, 24
|
|
asrs r0, 24
|
|
adds r0, r6
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, r5, 24
|
|
lsrs r0, r1, 24
|
|
cmp r0, 0x5
|
|
bhi _081202D4
|
|
asrs r4, r1, 24
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _081202D0 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _081202A6
|
|
adds r0, r4, 0
|
|
b _081202D8
|
|
.align 2, 0
|
|
_081202D0: .4byte gPlayerParty
|
|
_081202D4:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_081202D8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_812029C
|
|
|
|
thumb_func_start GetMonNickname
|
|
GetMonNickname: @ 81202E0
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
bl GetMonData
|
|
adds r0, r4, 0
|
|
bl StringGetEnd10
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetMonNickname
|
|
|
|
thumb_func_start sub_81202F8
|
|
sub_81202F8: @ 81202F8
|
|
push {r4,lr}
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
bl sub_8121FC0
|
|
ldr r0, _08120320 @ =sub_8120328
|
|
movs r1, 0x1
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08120324 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0x8]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120320: .4byte sub_8120328
|
|
_08120324: .4byte gTasks
|
|
thumb_func_end sub_81202F8
|
|
|
|
thumb_func_start sub_8120328
|
|
sub_8120328: @ 8120328
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
movs r0, 0x6
|
|
bl sub_80BF518
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
beq _08120364
|
|
ldr r0, _0812036C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _0812035E
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0x6
|
|
bl ClearWindowTilemap
|
|
_0812035E:
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_08120364:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812036C: .4byte gTasks
|
|
thumb_func_end sub_8120328
|
|
|
|
thumb_func_start sub_8120370
|
|
sub_8120370: @ 8120370
|
|
push {lr}
|
|
ldr r0, _08120380 @ =sub_8120328
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120380: .4byte sub_8120328
|
|
thumb_func_end sub_8120370
|
|
|
|
thumb_func_start sub_8120384
|
|
sub_8120384: @ 8120384
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_80BF748
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081203AA
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _081203B0 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081203B4 @ =sub_811FB28
|
|
str r0, [r1]
|
|
_081203AA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081203B0: .4byte gTasks
|
|
_081203B4: .4byte sub_811FB28
|
|
thumb_func_end sub_8120384
|
|
|
|
thumb_func_start sub_81203B8
|
|
sub_81203B8: @ 81203B8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08120410
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0x6
|
|
bl ClearWindowTilemap
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _081203FC
|
|
ldr r0, _081203F4 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081203F8 @ =sub_8120384
|
|
b _0812040E
|
|
.align 2, 0
|
|
_081203F4: .4byte gTasks
|
|
_081203F8: .4byte sub_8120384
|
|
_081203FC:
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _08120418 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812041C @ =sub_811FB28
|
|
_0812040E:
|
|
str r0, [r1]
|
|
_08120410:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120418: .4byte gTasks
|
|
_0812041C: .4byte sub_811FB28
|
|
thumb_func_end sub_81203B8
|
|
|
|
thumb_func_start sub_8120420
|
|
sub_8120420: @ 8120420
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
lsls r3, 24
|
|
cmp r3, 0
|
|
bne _0812043C
|
|
ldr r3, _08120438 @ =0x0000ffff
|
|
movs r0, 0x5
|
|
b _08120448
|
|
.align 2, 0
|
|
_08120438: .4byte 0x0000ffff
|
|
_0812043C:
|
|
ldr r0, _08120454 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x6
|
|
bne _0812045C
|
|
ldr r3, _08120458 @ =0x0000ffff
|
|
movs r0, 0x7
|
|
_08120448:
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_80A2294
|
|
b _08120468
|
|
.align 2, 0
|
|
_08120454: .4byte gUnknown_203B0A0
|
|
_08120458: .4byte 0x0000ffff
|
|
_0812045C:
|
|
ldr r3, _08120498 @ =0x0000ffff
|
|
movs r0, 0x6
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_80A2294
|
|
_08120468:
|
|
ldr r1, _0812049C @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
ldr r1, _081204A0 @ =gStringVar2
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r4, _081204A4 @ =gStringVar4
|
|
ldr r1, _081204A8 @ =gUnknown_8416C2A
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120498: .4byte 0x0000ffff
|
|
_0812049C: .4byte gStringVar1
|
|
_081204A0: .4byte gStringVar2
|
|
_081204A4: .4byte gStringVar4
|
|
_081204A8: .4byte gUnknown_8416C2A
|
|
thumb_func_end sub_8120420
|
|
|
|
thumb_func_start sub_81204AC
|
|
sub_81204AC: @ 81204AC
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r3, _081204F8 @ =0x0000ffff
|
|
movs r0, 0x8
|
|
adds r1, r6, 0
|
|
adds r2, r4, 0
|
|
bl sub_80A2294
|
|
ldr r1, _081204FC @ =gStringVar1
|
|
adds r0, r6, 0
|
|
bl GetMonNickname
|
|
ldr r1, _08120500 @ =gStringVar2
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r4, _08120504 @ =gStringVar4
|
|
ldr r1, _08120508 @ =gUnknown_8416CAC
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081204F8: .4byte 0x0000ffff
|
|
_081204FC: .4byte gStringVar1
|
|
_08120500: .4byte gStringVar2
|
|
_08120504: .4byte gStringVar4
|
|
_08120508: .4byte gUnknown_8416CAC
|
|
thumb_func_end sub_81204AC
|
|
|
|
thumb_func_start sub_812050C
|
|
sub_812050C: @ 812050C
|
|
push {r4,r5,lr}
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r1, _08120548 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r1, _0812054C @ =gStringVar2
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r4, _08120550 @ =gStringVar4
|
|
ldr r1, _08120554 @ =gUnknown_8416C49
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120548: .4byte gStringVar1
|
|
_0812054C: .4byte gStringVar2
|
|
_08120550: .4byte gStringVar4
|
|
_08120554: .4byte gUnknown_8416C49
|
|
thumb_func_end sub_812050C
|
|
|
|
thumb_func_start sub_8120558
|
|
sub_8120558: @ 8120558
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _081205B0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081205B4 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_8124B60
|
|
ldr r1, _081205B8 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r1, _081205BC @ =gStringVar2
|
|
adds r0, r5, 0
|
|
bl sub_8099E90
|
|
ldr r4, _081205C0 @ =gStringVar4
|
|
ldr r1, _081205C4 @ =gUnknown_8416CEA
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081205B0: .4byte gUnknown_203B0A0
|
|
_081205B4: .4byte gPlayerParty
|
|
_081205B8: .4byte gStringVar1
|
|
_081205BC: .4byte gStringVar2
|
|
_081205C0: .4byte gStringVar4
|
|
_081205C4: .4byte gUnknown_8416CEA
|
|
thumb_func_end sub_8120558
|
|
|
|
thumb_func_start sub_81205C8
|
|
sub_81205C8: @ 81205C8
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r6, r0, 0
|
|
lsls r5, r1, 16
|
|
lsrs r4, r5, 16
|
|
adds r7, r4, 0
|
|
adds r0, r4, 0
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _081205F2
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_8097D38
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _08120606
|
|
_081205F2:
|
|
mov r0, sp
|
|
strb r7, [r0]
|
|
mov r1, sp
|
|
lsrs r0, r5, 24
|
|
strb r0, [r1, 0x1]
|
|
adds r0, r6, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
_08120606:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81205C8
|
|
|
|
thumb_func_start sub_8120610
|
|
sub_8120610: @ 8120610
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0812062C
|
|
movs r0, 0
|
|
b _0812064E
|
|
_0812062C:
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812064C
|
|
movs r1, 0
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
movs r0, 0x2
|
|
b _0812064E
|
|
_0812064C:
|
|
movs r0, 0x1
|
|
_0812064E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8120610
|
|
|
|
thumb_func_start sub_8120658
|
|
sub_8120658: @ 8120658
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl ItemId_GetPocket
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
beq _08120678
|
|
cmp r0, 0x5
|
|
beq _0812067E
|
|
ldr r1, _08120674 @ =gUnknown_8416285
|
|
b _08120686
|
|
.align 2, 0
|
|
_08120674: .4byte gUnknown_8416285
|
|
_08120678:
|
|
movs r0, 0xB6
|
|
lsls r0, 1
|
|
b _08120680
|
|
_0812067E:
|
|
ldr r0, _08120698 @ =0x0000016d
|
|
_08120680:
|
|
bl ItemId_GetItem
|
|
adds r1, r0, 0
|
|
_08120686:
|
|
ldr r0, _0812069C @ =gStringVar1
|
|
bl StringCopy
|
|
ldr r0, _081206A0 @ =gStringVar4
|
|
ldr r1, _081206A4 @ =gUnknown_8416D78
|
|
bl StringExpandPlaceholders
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120698: .4byte 0x0000016d
|
|
_0812069C: .4byte gStringVar1
|
|
_081206A0: .4byte gStringVar4
|
|
_081206A4: .4byte gUnknown_8416D78
|
|
thumb_func_end sub_8120658
|
|
|
|
thumb_func_start sub_81206A8
|
|
sub_81206A8: @ 81206A8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
ldr r1, _08120750 @ =gTasks+0x8
|
|
adds r7, r0, r1
|
|
ldrh r0, [r7, 0x4]
|
|
ldrh r1, [r7]
|
|
adds r0, r1
|
|
strh r0, [r7]
|
|
ldrh r0, [r7, 0x6]
|
|
subs r0, 0x1
|
|
strh r0, [r7, 0x6]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r7, r2]
|
|
movs r5, 0x64
|
|
muls r0, r5
|
|
ldr r4, _08120754 @ =gPlayerParty
|
|
adds r0, r4
|
|
movs r1, 0x39
|
|
adds r2, r7, 0
|
|
bl SetMonData
|
|
movs r3, 0x8
|
|
ldrsh r2, [r7, r3]
|
|
adds r0, r2, 0
|
|
muls r0, r5
|
|
adds r0, r4
|
|
ldr r6, _08120758 @ =gUnknown_203B0B4
|
|
lsls r2, 4
|
|
ldr r1, [r6]
|
|
adds r1, r2
|
|
movs r2, 0x1
|
|
bl sub_812199C
|
|
movs r0, 0x8
|
|
ldrsh r2, [r7, r0]
|
|
adds r0, r2, 0
|
|
muls r0, r5
|
|
adds r0, r4
|
|
lsls r2, 4
|
|
ldr r1, [r6]
|
|
adds r1, r2
|
|
bl sub_8121AF0
|
|
movs r1, 0x6
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
beq _08120724
|
|
movs r2, 0
|
|
ldrsh r1, [r7, r2]
|
|
cmp r1, 0
|
|
beq _08120724
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
cmp r1, r0
|
|
bne _08120746
|
|
_08120724:
|
|
movs r0, 0
|
|
ldrsh r1, [r7, r0]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r7, r2]
|
|
cmp r1, r0
|
|
ble _08120740
|
|
ldr r0, _0812075C @ =gStringVar2
|
|
movs r3, 0xA
|
|
ldrsh r2, [r7, r3]
|
|
subs r1, r2
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
_08120740:
|
|
mov r0, r8
|
|
bl SwitchTaskToFollowupFunc
|
|
_08120746:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120750: .4byte gTasks+0x8
|
|
_08120754: .4byte gPlayerParty
|
|
_08120758: .4byte gUnknown_203B0B4
|
|
_0812075C: .4byte gStringVar2
|
|
thumb_func_end sub_81206A8
|
|
|
|
thumb_func_start sub_8120760
|
|
sub_8120760: @ 8120760
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
mov r8, r0
|
|
mov r9, r1
|
|
adds r5, r2, 0
|
|
mov r10, r3
|
|
ldr r7, [sp, 0x20]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
mov r0, r9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r0, r10
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
movs r0, 0x64
|
|
mov r6, r9
|
|
muls r6, r0
|
|
ldr r0, _081207E4 @ =gPlayerParty
|
|
adds r6, r0
|
|
mov r0, r8
|
|
lsls r4, r0, 2
|
|
add r4, r8
|
|
lsls r4, 3
|
|
ldr r0, _081207E8 @ =gTasks+0x8
|
|
adds r4, r0
|
|
adds r0, r6, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
strh r0, [r4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
strh r0, [r4, 0x2]
|
|
lsls r5, 24
|
|
asrs r5, 24
|
|
strh r5, [r4, 0x4]
|
|
mov r0, r10
|
|
strh r0, [r4, 0x6]
|
|
mov r0, r9
|
|
strh r0, [r4, 0x8]
|
|
ldrh r0, [r4]
|
|
strh r0, [r4, 0xA]
|
|
ldr r1, _081207EC @ =sub_81206A8
|
|
mov r0, r8
|
|
adds r2, r7, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081207E4: .4byte gPlayerParty
|
|
_081207E8: .4byte gTasks+0x8
|
|
_081207EC: .4byte sub_81206A8
|
|
thumb_func_end sub_8120760
|
|
|
|
thumb_func_start sub_81207F0
|
|
sub_81207F0: @ 81207F0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _08120814 @ =gTasks+0x8
|
|
adds r3, r0, r1
|
|
cmp r5, 0x5
|
|
bhi _08120852
|
|
lsls r0, r5, 2
|
|
ldr r1, _08120818 @ =_0812081C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08120814: .4byte gTasks+0x8
|
|
_08120818: .4byte _0812081C
|
|
.align 2, 0
|
|
_0812081C:
|
|
.4byte _08120834
|
|
.4byte _0812083A
|
|
.4byte _0812083E
|
|
.4byte _08120842
|
|
.4byte _08120846
|
|
.4byte _0812084A
|
|
_08120834:
|
|
strh r2, [r3]
|
|
strh r2, [r3, 0xA]
|
|
b _08120852
|
|
_0812083A:
|
|
strh r2, [r3, 0x2]
|
|
b _08120852
|
|
_0812083E:
|
|
strh r2, [r3, 0x4]
|
|
b _08120852
|
|
_08120842:
|
|
strh r2, [r3, 0x6]
|
|
b _08120852
|
|
_08120846:
|
|
strh r2, [r3, 0x8]
|
|
b _08120852
|
|
_0812084A:
|
|
ldr r1, _08120858 @ =sub_81206A8
|
|
adds r0, r4, 0
|
|
bl SetTaskFuncWithFollowupFunc
|
|
_08120852:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120858: .4byte sub_81206A8
|
|
thumb_func_end sub_81207F0
|
|
|
|
thumb_func_start pokemon_ailments_get_primary
|
|
pokemon_ailments_get_primary: @ 812085C
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r0, 0x88
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812086C
|
|
movs r0, 0x1
|
|
b _0812089E
|
|
_0812086C:
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120878
|
|
movs r0, 0x2
|
|
b _0812089E
|
|
_08120878:
|
|
movs r0, 0x7
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120884
|
|
movs r0, 0x3
|
|
b _0812089E
|
|
_08120884:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120890
|
|
movs r0, 0x4
|
|
b _0812089E
|
|
_08120890:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0812089C
|
|
movs r0, 0
|
|
b _0812089E
|
|
_0812089C:
|
|
movs r0, 0x5
|
|
_0812089E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end pokemon_ailments_get_primary
|
|
|
|
thumb_func_start sub_81208A4
|
|
sub_81208A4: @ 81208A4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _081208B6
|
|
movs r0, 0x7
|
|
b _081208DE
|
|
_081208B6:
|
|
adds r0, r4, 0
|
|
movs r1, 0x37
|
|
bl GetMonData
|
|
bl pokemon_ailments_get_primary
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
bne _081208DE
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CheckPartyPokerus
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081208DC
|
|
movs r0, 0
|
|
b _081208DE
|
|
_081208DC:
|
|
movs r0, 0x6
|
|
_081208DE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81208A4
|
|
|
|
thumb_func_start sub_81208E4
|
|
sub_81208E4: @ 81208E4
|
|
push {r4,r5,lr}
|
|
ldr r2, _08120934 @ =gUnknown_203B0A0
|
|
ldrb r1, [r2, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0xB
|
|
bne _0812096E
|
|
adds r5, r2, 0
|
|
adds r5, 0xE
|
|
movs r0, 0
|
|
strh r0, [r2, 0xE]
|
|
ldr r0, _08120938 @ =gSpecialVar_0x8005
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _08120944
|
|
movs r4, 0
|
|
ldr r0, _0812093C @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bcs _0812096E
|
|
_0812090C:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _08120940 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_812097C
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r0, r4
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
strh r0, [r5]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0812093C @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bcc _0812090C
|
|
b _0812096E
|
|
.align 2, 0
|
|
_08120934: .4byte gUnknown_203B0A0
|
|
_08120938: .4byte gSpecialVar_0x8005
|
|
_0812093C: .4byte gPlayerPartyCount
|
|
_08120940: .4byte gPlayerParty
|
|
_08120944:
|
|
movs r4, 0
|
|
b _08120966
|
|
_08120948:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _08120974 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_81209AC
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r0, r4
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
strh r0, [r5]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_08120966:
|
|
ldr r0, _08120978 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bcc _08120948
|
|
_0812096E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120974: .4byte gPlayerParty
|
|
_08120978: .4byte gPlayerPartyCount
|
|
thumb_func_end sub_81208E4
|
|
|
|
thumb_func_start sub_812097C
|
|
sub_812097C: @ 812097C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0x1
|
|
beq _081209A2
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_8149A00
|
|
cmp r0, 0
|
|
beq _081209A2
|
|
movs r0, 0x1
|
|
b _081209A4
|
|
_081209A2:
|
|
movs r0, 0
|
|
_081209A4:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_812097C
|
|
|
|
thumb_func_start sub_81209AC
|
|
sub_81209AC: @ 81209AC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0x1
|
|
beq _081209CA
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0x55
|
|
bne _081209CA
|
|
movs r0, 0x1
|
|
b _081209CC
|
|
_081209CA:
|
|
movs r0, 0
|
|
_081209CC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81209AC
|
|
|
|
thumb_func_start sub_81209D4
|
|
sub_81209D4: @ 81209D4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081209F0 @ =gUnknown_203B0A0
|
|
movs r2, 0xE
|
|
ldrsh r1, [r1, r2]
|
|
asrs r1, r0
|
|
movs r0, 0x1
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
bne _081209EC
|
|
movs r0, 0
|
|
_081209EC:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081209F0: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_81209D4
|
|
|
|
thumb_func_start sub_81209F4
|
|
sub_81209F4: @ 81209F4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
adds r0, r5, 0
|
|
bl sub_81209D4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08120A24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _08120A20 @ =gUnknown_20370C0
|
|
strh r5, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _08120A46
|
|
.align 2, 0
|
|
_08120A20: .4byte gUnknown_20370C0
|
|
_08120A24:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
ldr r0, _08120A4C @ =gUnknown_8417696
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08120A50 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08120A54 @ =sub_81203B8
|
|
str r1, [r0]
|
|
_08120A46:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120A4C: .4byte gUnknown_8417696
|
|
_08120A50: .4byte gTasks
|
|
_08120A54: .4byte sub_81203B8
|
|
thumb_func_end sub_81209F4
|
|
|
|
thumb_func_start sub_8120A58
|
|
sub_8120A58: @ 8120A58
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08120A84 @ =gUnknown_84176B8
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08120A88 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08120A8C @ =sub_8120A90
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120A84: .4byte gUnknown_84176B8
|
|
_08120A88: .4byte gTasks
|
|
_08120A8C: .4byte sub_8120A90
|
|
thumb_func_end sub_8120A58
|
|
|
|
thumb_func_start sub_8120A90
|
|
sub_8120A90: @ 8120A90
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08120AB4
|
|
bl sub_812200C
|
|
ldr r0, _08120ABC @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120AC0 @ =sub_8120AC4
|
|
str r0, [r1]
|
|
_08120AB4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120ABC: .4byte gTasks
|
|
_08120AC0: .4byte sub_8120AC4
|
|
thumb_func_end sub_8120A90
|
|
|
|
thumb_func_start sub_8120AC4
|
|
sub_8120AC4: @ 8120AC4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08120AEA
|
|
cmp r1, 0
|
|
bgt _08120AE4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08120AFC
|
|
b _08120B10
|
|
_08120AE4:
|
|
cmp r1, 0x1
|
|
beq _08120B02
|
|
b _08120B10
|
|
_08120AEA:
|
|
ldr r1, _08120AF8 @ =gUnknown_20370C0
|
|
movs r0, 0x7
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _08120B10
|
|
.align 2, 0
|
|
_08120AF8: .4byte gUnknown_20370C0
|
|
_08120AFC:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08120B02:
|
|
ldr r0, _08120B18 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120B1C @ =sub_81203B8
|
|
str r0, [r1]
|
|
_08120B10:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120B18: .4byte gTasks
|
|
_08120B1C: .4byte sub_81203B8
|
|
thumb_func_end sub_8120AC4
|
|
|
|
thumb_func_start sub_8120B20
|
|
sub_8120B20: @ 8120B20
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, 0
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
adds r7, r4, 0
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
mov r8, r6
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08120B42
|
|
movs r0, 0x3
|
|
b _08120B9E
|
|
_08120B42:
|
|
movs r0, 0x90
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
bls _08120B64
|
|
adds r1, r4, 0
|
|
subs r1, 0x21
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
bl CanMonLearnTMHM
|
|
cmp r0, 0
|
|
beq _08120B7C
|
|
adds r0, r7, 0
|
|
bl ItemIdToBattleMoveId
|
|
b _08120B86
|
|
_08120B64:
|
|
adds r0, r5, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r6, 0
|
|
bl sub_8120BE8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08120B80
|
|
_08120B7C:
|
|
movs r0, 0x1
|
|
b _08120B9E
|
|
_08120B80:
|
|
mov r0, r8
|
|
bl sub_8120BA8
|
|
_08120B86:
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
adds r0, r5, 0
|
|
bl pokemon_has_move
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08120B9C
|
|
movs r0, 0
|
|
b _08120B9E
|
|
_08120B9C:
|
|
movs r0, 0x2
|
|
_08120B9E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8120B20
|
|
|
|
thumb_func_start sub_8120BA8
|
|
sub_8120BA8: @ 8120BA8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x10
|
|
beq _08120BC8
|
|
cmp r1, 0x10
|
|
bgt _08120BBC
|
|
cmp r1, 0xF
|
|
beq _08120BC2
|
|
b _08120BD6
|
|
_08120BBC:
|
|
cmp r1, 0x11
|
|
beq _08120BD0
|
|
b _08120BD6
|
|
_08120BC2:
|
|
movs r0, 0xA9
|
|
lsls r0, 1
|
|
b _08120BDE
|
|
_08120BC8:
|
|
ldr r0, _08120BCC @ =0x00000133
|
|
b _08120BDE
|
|
.align 2, 0
|
|
_08120BCC: .4byte 0x00000133
|
|
_08120BD0:
|
|
movs r0, 0x9A
|
|
lsls r0, 1
|
|
b _08120BDE
|
|
_08120BD6:
|
|
ldr r0, _08120BE4 @ =gUnknown_8459B60
|
|
lsls r1, 1
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
_08120BDE:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120BE4: .4byte gUnknown_8459B60
|
|
thumb_func_end sub_8120BA8
|
|
|
|
thumb_func_start sub_8120BE8
|
|
sub_8120BE8: @ 8120BE8
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 24
|
|
lsrs r2, r1, 24
|
|
cmp r2, 0x10
|
|
beq _08120C0C
|
|
cmp r2, 0x10
|
|
bgt _08120C00
|
|
cmp r2, 0xF
|
|
beq _08120C06
|
|
b _08120C18
|
|
_08120C00:
|
|
cmp r2, 0x11
|
|
beq _08120C12
|
|
b _08120C18
|
|
_08120C06:
|
|
cmp r0, 0x3
|
|
beq _08120C34
|
|
b _08120C2A
|
|
_08120C0C:
|
|
cmp r0, 0x6
|
|
beq _08120C34
|
|
b _08120C2A
|
|
_08120C12:
|
|
cmp r0, 0x9
|
|
beq _08120C34
|
|
b _08120C2A
|
|
_08120C18:
|
|
ldr r1, _08120C30 @ =gUnknown_8459B7E
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
asrs r0, r2
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120C34
|
|
_08120C2A:
|
|
movs r0, 0
|
|
b _08120C36
|
|
.align 2, 0
|
|
_08120C30: .4byte gUnknown_8459B7E
|
|
_08120C34:
|
|
movs r0, 0x1
|
|
_08120C36:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8120BE8
|
|
|
|
thumb_func_start sub_8120C3C
|
|
sub_8120C3C: @ 8120C3C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08120C60 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120C5C
|
|
ldr r0, _08120C64 @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120C68 @ =sub_8120C6C
|
|
str r0, [r1]
|
|
_08120C5C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120C60: .4byte gPaletteFade
|
|
_08120C64: .4byte gTasks
|
|
_08120C68: .4byte sub_8120C6C
|
|
thumb_func_end sub_8120C3C
|
|
|
|
thumb_func_start sub_8120C6C
|
|
sub_8120C6C: @ 8120C6C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08120C9C @ =0xffff1fff
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08120CA0 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08120CA4 @ =sub_8120CA8
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120C9C: .4byte 0xffff1fff
|
|
_08120CA0: .4byte gTasks
|
|
_08120CA4: .4byte sub_8120CA8
|
|
thumb_func_end sub_8120C6C
|
|
|
|
thumb_func_start sub_8120CA8
|
|
sub_8120CA8: @ 8120CA8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08120CCC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120CC8
|
|
ldr r0, _08120CD0 @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120CD4 @ =sub_8120CD8
|
|
str r0, [r1]
|
|
_08120CC8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120CCC: .4byte gPaletteFade
|
|
_08120CD0: .4byte gTasks
|
|
_08120CD4: .4byte sub_8120CD8
|
|
thumb_func_end sub_8120CA8
|
|
|
|
thumb_func_start sub_8120CD8
|
|
sub_8120CD8: @ 8120CD8
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_81220D4
|
|
ldr r2, _08120D00 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r1, 0x8]
|
|
ldr r0, _08120D04 @ =sub_8120D08
|
|
str r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120D00: .4byte gTasks
|
|
_08120D04: .4byte sub_8120D08
|
|
thumb_func_end sub_8120CD8
|
|
|
|
thumb_func_start sub_8120D08
|
|
sub_8120D08: @ 8120D08
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r4, r1, 3
|
|
ldr r5, _08120D38 @ =gTasks+0x8
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
bl sub_80BF518
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
beq _08120D30
|
|
adds r0, r5, 0
|
|
subs r0, 0x8
|
|
adds r0, r4, r0
|
|
ldr r1, _08120D3C @ =sub_8120D40
|
|
str r1, [r0]
|
|
_08120D30:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120D38: .4byte gTasks+0x8
|
|
_08120D3C: .4byte sub_8120D40
|
|
thumb_func_end sub_8120D08
|
|
|
|
thumb_func_start sub_8120D40
|
|
sub_8120D40: @ 8120D40
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08120D70 @ =0xffff0008
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
movs r2, 0x6
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08120D74 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08120D78 @ =sub_8120D7C
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120D70: .4byte 0xffff0008
|
|
_08120D74: .4byte gTasks
|
|
_08120D78: .4byte sub_8120D7C
|
|
thumb_func_end sub_8120D40
|
|
|
|
thumb_func_start sub_8120D7C
|
|
sub_8120D7C: @ 8120D7C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08120DA0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120D9C
|
|
ldr r0, _08120DA4 @ =gTasks
|
|
lsls r1, r2, 2
|
|
adds r1, r2
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120DA8 @ =sub_8120DAC
|
|
str r0, [r1]
|
|
_08120D9C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120DA0: .4byte gPaletteFade
|
|
_08120DA4: .4byte gTasks
|
|
_08120DA8: .4byte sub_8120DAC
|
|
thumb_func_end sub_8120D7C
|
|
|
|
thumb_func_start sub_8120DAC
|
|
sub_8120DAC: @ 8120DAC
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r5, _08120DD4 @ =gTasks+0x8
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
ldr r1, _08120DD8 @ =gUnknown_8417494
|
|
bl sub_8122084
|
|
subs r5, 0x8
|
|
adds r4, r5
|
|
ldr r0, _08120DDC @ =sub_8120DE0
|
|
str r0, [r4]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120DD4: .4byte gTasks+0x8
|
|
_08120DD8: .4byte gUnknown_8417494
|
|
_08120DDC: .4byte sub_8120DE0
|
|
thumb_func_end sub_8120DAC
|
|
|
|
thumb_func_start sub_8120DE0
|
|
sub_8120DE0: @ 8120DE0
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r5, r1, 3
|
|
ldr r6, _08120E14 @ =gTasks+0x8
|
|
adds r4, r5, r6
|
|
ldrb r0, [r4]
|
|
bl sub_80BF518
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
beq _08120E0E
|
|
ldrb r0, [r4]
|
|
bl sub_8122110
|
|
adds r0, r6, 0
|
|
subs r0, 0x8
|
|
adds r0, r5, r0
|
|
ldr r1, _08120E18 @ =sub_8120E1C
|
|
str r1, [r0]
|
|
_08120E0E:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120E14: .4byte gTasks+0x8
|
|
_08120E18: .4byte sub_8120E1C
|
|
thumb_func_end sub_8120DE0
|
|
|
|
thumb_func_start sub_8120E1C
|
|
sub_8120E1C: @ 8120E1C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08120E4C @ =0x0000fff7
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
movs r2, 0x6
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _08120E50 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08120E54 @ =sub_8120E58
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120E4C: .4byte 0x0000fff7
|
|
_08120E50: .4byte gTasks
|
|
_08120E54: .4byte sub_8120E58
|
|
thumb_func_end sub_8120E1C
|
|
|
|
thumb_func_start sub_8120E58
|
|
sub_8120E58: @ 8120E58
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08120E90 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120EAC
|
|
movs r0, 0
|
|
movs r1, 0x4F
|
|
movs r2, 0xD0
|
|
bl sub_815001C
|
|
movs r0, 0
|
|
movs r1, 0x58
|
|
movs r2, 0xF0
|
|
bl sub_814FF2C
|
|
ldr r0, _08120E94 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x3
|
|
bne _08120E98
|
|
movs r0, 0x5
|
|
bl sub_8121D0C
|
|
b _08120E9E
|
|
.align 2, 0
|
|
_08120E90: .4byte gPaletteFade
|
|
_08120E94: .4byte gUnknown_203B0A0
|
|
_08120E98:
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
_08120E9E:
|
|
ldr r0, _08120EB4 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08120EB8 @ =sub_811FB28
|
|
str r0, [r1]
|
|
_08120EAC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120EB4: .4byte gTasks
|
|
_08120EB8: .4byte sub_811FB28
|
|
thumb_func_end sub_8120E58
|
|
|
|
thumb_func_start sub_8120EBC
|
|
sub_8120EBC: @ 8120EBC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08120ED8 @ =gTasks+0x8
|
|
adds r3, r1, r0
|
|
movs r2, 0
|
|
strh r2, [r3]
|
|
subs r0, 0x8
|
|
adds r1, r0
|
|
ldr r0, _08120EDC @ =sub_8120EE0
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08120ED8: .4byte gTasks+0x8
|
|
_08120EDC: .4byte sub_8120EE0
|
|
thumb_func_end sub_8120EBC
|
|
|
|
thumb_func_start sub_8120EE0
|
|
sub_8120EE0: @ 8120EE0
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _08120F1C @ =gTasks+0x8
|
|
adds r6, r0, r1
|
|
ldr r0, _08120F20 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120F68
|
|
adds r0, r5, 0
|
|
bl sub_8120F78
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08120F68
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0xA0
|
|
beq _08120F38
|
|
cmp r0, 0xA0
|
|
bgt _08120F24
|
|
cmp r0, 0x50
|
|
beq _08120F2A
|
|
b _08120F62
|
|
.align 2, 0
|
|
_08120F1C: .4byte gTasks+0x8
|
|
_08120F20: .4byte gPaletteFade
|
|
_08120F24:
|
|
cmp r0, 0xF0
|
|
beq _08120F44
|
|
b _08120F62
|
|
_08120F2A:
|
|
ldr r0, _08120F34 @ =gUnknown_203B0A9
|
|
movs r1, 0x2
|
|
bl sub_811FF94
|
|
b _08120F62
|
|
.align 2, 0
|
|
_08120F34: .4byte gUnknown_203B0A9
|
|
_08120F38:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_8122BD4
|
|
b _08120F62
|
|
_08120F44:
|
|
ldr r4, _08120F70 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xE
|
|
bl sub_8121CE4
|
|
ldr r1, _08120F74 @ =gUnknown_845A618
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xF]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
_08120F62:
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
_08120F68:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120F70: .4byte gUnknown_203B09C
|
|
_08120F74: .4byte gUnknown_845A618
|
|
thumb_func_end sub_8120EE0
|
|
|
|
thumb_func_start sub_8120F78
|
|
sub_8120F78: @ 8120F78
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08120F90 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08120F94
|
|
movs r0, 0
|
|
b _08120FA4
|
|
.align 2, 0
|
|
_08120F90: .4byte gMain
|
|
_08120F94:
|
|
ldr r0, _08120FA8 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08120FAC @ =sub_8120FB0
|
|
str r0, [r1, 0x4]
|
|
adds r0, r2, 0
|
|
bl sub_811FA78
|
|
movs r0, 0x1
|
|
_08120FA4:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120FA8: .4byte gUnknown_203B09C
|
|
_08120FAC: .4byte sub_8120FB0
|
|
thumb_func_end sub_8120F78
|
|
|
|
thumb_func_start sub_8120FB0
|
|
sub_8120FB0: @ 8120FB0
|
|
push {lr}
|
|
bl FreeRestoreBattleData
|
|
bl LoadPlayerParty
|
|
bl sub_815AC20
|
|
ldr r0, _08120FC8 @ =sub_815ABFC
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120FC8: .4byte sub_815ABFC
|
|
thumb_func_end sub_8120FB0
|
|
|
|
thumb_func_start sub_8120FCC
|
|
sub_8120FCC: @ 8120FCC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08120FE8 @ =gTasks+0x8
|
|
adds r3, r1, r0
|
|
movs r2, 0
|
|
strh r2, [r3]
|
|
subs r0, 0x8
|
|
adds r1, r0
|
|
ldr r0, _08120FEC @ =sub_8120FF0
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08120FE8: .4byte gTasks+0x8
|
|
_08120FEC: .4byte sub_8120FF0
|
|
thumb_func_end sub_8120FCC
|
|
|
|
thumb_func_start sub_8120FF0
|
|
sub_8120FF0: @ 8120FF0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r5, r2, 0
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r1, _0812102C @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
ldr r0, _08121030 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08121048
|
|
adds r0, r2, 0
|
|
bl sub_8120F78
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08121048
|
|
ldrh r1, [r4]
|
|
movs r2, 0
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x50
|
|
beq _08121034
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4]
|
|
b _08121048
|
|
.align 2, 0
|
|
_0812102C: .4byte gTasks+0x8
|
|
_08121030: .4byte gPaletteFade
|
|
_08121034:
|
|
ldr r0, _08121050 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08121054 @ =sub_8128184
|
|
str r0, [r1, 0x4]
|
|
ldr r0, _08121058 @ =gUnknown_3005E98
|
|
ldr r1, _0812105C @ =sub_81255BC
|
|
ldr r2, [r0]
|
|
adds r0, r5, 0
|
|
bl _call_via_r2
|
|
_08121048:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121050: .4byte gUnknown_203B09C
|
|
_08121054: .4byte sub_8128184
|
|
_08121058: .4byte gUnknown_3005E98
|
|
_0812105C: .4byte sub_81255BC
|
|
thumb_func_end sub_8120FF0
|
|
|
|
thumb_func_start sub_8121060
|
|
sub_8121060: @ 8121060
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r0, 0
|
|
cmp r0, 0x1
|
|
beq _08121088
|
|
cmp r0, 0x1
|
|
bgt _08121076
|
|
cmp r0, 0
|
|
beq _0812107C
|
|
b _081210A0
|
|
_08121076:
|
|
cmp r1, 0x2
|
|
beq _08121094
|
|
b _081210A0
|
|
_0812107C:
|
|
ldr r0, _08121084 @ =gUnknown_845A010
|
|
bl InitWindows
|
|
b _081210A6
|
|
.align 2, 0
|
|
_08121084: .4byte gUnknown_845A010
|
|
_08121088:
|
|
ldr r0, _08121090 @ =gUnknown_845A050
|
|
bl InitWindows
|
|
b _081210A6
|
|
.align 2, 0
|
|
_08121090: .4byte gUnknown_845A050
|
|
_08121094:
|
|
ldr r0, _0812109C @ =gUnknown_845A090
|
|
bl InitWindows
|
|
b _081210A6
|
|
.align 2, 0
|
|
_0812109C: .4byte gUnknown_845A090
|
|
_081210A0:
|
|
ldr r0, _081210F4 @ =gUnknown_845A0D0
|
|
bl InitWindows
|
|
_081210A6:
|
|
bl DeactivateAllTextPrinters
|
|
movs r4, 0
|
|
_081210AC:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x5
|
|
bls _081210AC
|
|
movs r0, 0
|
|
movs r1, 0x4F
|
|
movs r2, 0xD0
|
|
bl sub_815001C
|
|
movs r0, 0
|
|
movs r1, 0x58
|
|
movs r2, 0xF0
|
|
bl sub_814FF2C
|
|
movs r0, 0x2
|
|
bl stdpal_get
|
|
movs r1, 0xC0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r0, 0
|
|
bl stdpal_get
|
|
movs r1, 0xE0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081210F4: .4byte gUnknown_845A0D0
|
|
thumb_func_end sub_8121060
|
|
|
|
thumb_func_start sub_81210F8
|
|
sub_81210F8: @ 81210F8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08121174 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x5
|
|
bne _0812110E
|
|
b _08121238
|
|
_0812110E:
|
|
cmp r2, 0x1
|
|
bne _08121188
|
|
ldr r0, _08121178 @ =gUnknown_845A118
|
|
bl AddWindow
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
ldr r5, _0812117C @ =gUnknown_84169D5
|
|
movs r0, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
movs r2, 0x30
|
|
subs r2, r0
|
|
lsrs r2, 1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08121180 @ =gUnknown_8459FFC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp, 0xC]
|
|
str r5, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r3, 0x1
|
|
bl AddTextPrinterParametrized2
|
|
adds r0, r4, 0
|
|
bl PutWindowTilemap
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldr r0, _08121184 @ =gUnknown_845A110
|
|
bl AddWindow
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r5, 0
|
|
b _08121194
|
|
.align 2, 0
|
|
_08121174: .4byte gUnknown_203B0A0
|
|
_08121178: .4byte gUnknown_845A118
|
|
_0812117C: .4byte gUnknown_84169D5
|
|
_08121180: .4byte gUnknown_8459FFC
|
|
_08121184: .4byte gUnknown_845A110
|
|
_08121188:
|
|
ldr r0, _081211E0 @ =gUnknown_845A108
|
|
bl AddWindow
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r5, 0x3
|
|
_08121194:
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _081211E4 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0xA
|
|
beq _081211F0
|
|
ldr r4, _081211E8 @ =gUnknown_84161C1
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
movs r1, 0x30
|
|
subs r1, r0
|
|
lsrs r0, r1, 31
|
|
adds r1, r0
|
|
asrs r1, 1
|
|
adds r1, r5, r1
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, _081211EC @ =gUnknown_8459FFC
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0x1
|
|
bl box_print
|
|
b _08121224
|
|
.align 2, 0
|
|
_081211E0: .4byte gUnknown_845A108
|
|
_081211E4: .4byte gUnknown_203B0A0
|
|
_081211E8: .4byte gUnknown_84161C1
|
|
_081211EC: .4byte gUnknown_8459FFC
|
|
_081211F0:
|
|
ldr r4, _08121240 @ =gUnknown_84161C8
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
movs r1, 0x30
|
|
subs r1, r0
|
|
lsrs r0, r1, 31
|
|
adds r1, r0
|
|
asrs r1, 1
|
|
adds r1, r5, r1
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, _08121244 @ =gUnknown_8459FFC
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0x1
|
|
bl box_print
|
|
_08121224:
|
|
adds r0, r6, 0
|
|
bl PutWindowTilemap
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_08121238:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121240: .4byte gUnknown_84161C8
|
|
_08121244: .4byte gUnknown_8459FFC
|
|
thumb_func_end sub_81210F8
|
|
|
|
thumb_func_start sub_8121248
|
|
sub_8121248: @ 8121248
|
|
lsls r0, 24
|
|
ldr r1, _08121258 @ =gUnknown_203B09C
|
|
lsrs r0, 23
|
|
adds r0, 0x18
|
|
ldr r1, [r1]
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
bx lr
|
|
.align 2, 0
|
|
_08121258: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8121248
|
|
|
|
thumb_func_start sub_812125C
|
|
sub_812125C: @ 812125C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x2C
|
|
str r1, [sp, 0xC]
|
|
ldr r1, [sp, 0x4C]
|
|
ldr r4, [sp, 0x50]
|
|
ldr r5, [sp, 0x54]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x8]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp, 0x10]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r3, [sp, 0x14]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
str r1, [sp, 0x18]
|
|
lsls r4, 24
|
|
lsrs r6, r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
mov r10, r5
|
|
mov r0, r10
|
|
muls r0, r6
|
|
lsls r0, 5
|
|
bl AllocZeroed
|
|
mov r9, r0
|
|
cmp r0, 0
|
|
beq _0812132A
|
|
movs r5, 0
|
|
ldr r0, [sp, 0x14]
|
|
lsls r0, 19
|
|
str r0, [sp, 0x1C]
|
|
ldr r1, [sp, 0x18]
|
|
lsls r1, 19
|
|
str r1, [sp, 0x20]
|
|
lsls r2, r6, 19
|
|
str r2, [sp, 0x24]
|
|
mov r0, r10
|
|
lsls r0, 19
|
|
str r0, [sp, 0x28]
|
|
cmp r5, r10
|
|
bcs _08121308
|
|
_081212BE:
|
|
movs r4, 0
|
|
adds r1, r5, 0x1
|
|
mov r8, r1
|
|
cmp r4, r6
|
|
bcs _081212FE
|
|
ldr r2, [sp, 0x18]
|
|
adds r0, r2, r5
|
|
ldr r2, [sp, 0x10]
|
|
adds r1, r0, 0
|
|
muls r1, r2
|
|
adds r7, r1, 0
|
|
_081212D4:
|
|
ldr r1, [sp, 0x14]
|
|
adds r0, r1, r4
|
|
adds r0, r7
|
|
ldr r2, [sp, 0xC]
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
bl sub_811F620
|
|
adds r1, r5, 0
|
|
muls r1, r6
|
|
adds r1, r4
|
|
lsls r1, 5
|
|
add r1, r9
|
|
movs r2, 0x10
|
|
bl CpuSet
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, r6
|
|
bcc _081212D4
|
|
_081212FE:
|
|
mov r1, r8
|
|
lsls r0, r1, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, r10
|
|
bcc _081212BE
|
|
_08121308:
|
|
ldr r0, [sp, 0x1C]
|
|
lsrs r2, r0, 16
|
|
ldr r1, [sp, 0x20]
|
|
lsrs r3, r1, 16
|
|
ldr r1, [sp, 0x24]
|
|
lsrs r0, r1, 16
|
|
str r0, [sp]
|
|
ldr r1, [sp, 0x28]
|
|
lsrs r0, r1, 16
|
|
str r0, [sp, 0x4]
|
|
ldr r0, [sp, 0x8]
|
|
mov r1, r9
|
|
bl BlitBitmapToWindow
|
|
mov r0, r9
|
|
bl Free
|
|
_0812132A:
|
|
add sp, 0x2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_812125C
|
|
|
|
thumb_func_start sub_812133C
|
|
sub_812133C: @ 812133C
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
ldr r4, [sp, 0x1C]
|
|
ldr r5, [sp, 0x20]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
cmp r3, 0
|
|
bne _08121368
|
|
cmp r4, 0
|
|
bne _08121368
|
|
movs r3, 0xA
|
|
movs r4, 0x7
|
|
_08121368:
|
|
cmp r5, 0
|
|
bne _08121384
|
|
ldr r1, _08121380 @ =gUnknown_845A180
|
|
str r2, [sp]
|
|
str r3, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0xA
|
|
adds r3, r6, 0
|
|
bl sub_812125C
|
|
b _08121394
|
|
.align 2, 0
|
|
_08121380: .4byte gUnknown_845A180
|
|
_08121384:
|
|
ldr r1, _0812139C @ =gUnknown_845A1C6
|
|
str r2, [sp]
|
|
str r3, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0xA
|
|
adds r3, r6, 0
|
|
bl sub_812125C
|
|
_08121394:
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812139C: .4byte gUnknown_845A1C6
|
|
thumb_func_end sub_812133C
|
|
|
|
thumb_func_start sub_81213A0
|
|
sub_81213A0: @ 81213A0
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
ldr r4, [sp, 0x1C]
|
|
ldr r5, [sp, 0x20]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
cmp r3, 0
|
|
bne _081213CC
|
|
cmp r4, 0
|
|
bne _081213CC
|
|
movs r3, 0x12
|
|
movs r4, 0x3
|
|
_081213CC:
|
|
cmp r5, 0
|
|
bne _081213E8
|
|
ldr r1, _081213E4 @ =gUnknown_845A20C
|
|
str r2, [sp]
|
|
str r3, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0x12
|
|
adds r3, r6, 0
|
|
bl sub_812125C
|
|
b _081213F8
|
|
.align 2, 0
|
|
_081213E4: .4byte gUnknown_845A20C
|
|
_081213E8:
|
|
ldr r1, _08121400 @ =gUnknown_845A242
|
|
str r2, [sp]
|
|
str r3, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r2, 0x12
|
|
adds r3, r6, 0
|
|
bl sub_812125C
|
|
_081213F8:
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121400: .4byte gUnknown_845A242
|
|
thumb_func_end sub_81213A0
|
|
|
|
thumb_func_start sub_8121404
|
|
sub_8121404: @ 8121404
|
|
push {lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08121428 @ =gUnknown_845A278
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x12
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0x3
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0x12
|
|
movs r3, 0
|
|
bl sub_812125C
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121428: .4byte gUnknown_845A278
|
|
thumb_func_end sub_8121404
|
|
|
|
thumb_func_start sub_812142C
|
|
sub_812142C: @ 812142C
|
|
push {r4-r7,lr}
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r5, r4, 0
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x5
|
|
bl GetWindowAttribute
|
|
lsls r0, 28
|
|
lsrs r6, r0, 24
|
|
adds r7, r6, 0
|
|
movs r0, 0x20
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _081214A0
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0812145C
|
|
ldr r5, _08121458 @ =gUnknown_845A2D4
|
|
b _0812160A
|
|
.align 2, 0
|
|
_08121458: .4byte gUnknown_845A2D4
|
|
_0812145C:
|
|
ldr r5, _08121494 @ =gUnknown_845A2D4
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121498 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _0812149C @ =gUnknown_845A2E3
|
|
b _0812163E
|
|
.align 2, 0
|
|
_08121494: .4byte gUnknown_845A2D4
|
|
_08121498: .4byte gUnknown_845A2B2
|
|
_0812149C: .4byte gUnknown_845A2E3
|
|
_081214A0:
|
|
movs r0, 0x10
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _081214EC
|
|
ldr r5, _081214E0 @ =gUnknown_845A2D4
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _081214E4 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _081214E8 @ =gUnknown_845A2E3
|
|
b _0812163E
|
|
.align 2, 0
|
|
_081214E0: .4byte gUnknown_845A2D4
|
|
_081214E4: .4byte gUnknown_845A2B2
|
|
_081214E8: .4byte gUnknown_845A2E3
|
|
_081214EC:
|
|
movs r0, 0x4
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _08121548
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _08121504
|
|
ldr r5, _08121500 @ =gUnknown_845A2D4
|
|
b _0812160A
|
|
.align 2, 0
|
|
_08121500: .4byte gUnknown_845A2D4
|
|
_08121504:
|
|
ldr r5, _0812153C @ =gUnknown_845A2D4
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121540 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _08121544 @ =gUnknown_845A2E3
|
|
b _0812163E
|
|
.align 2, 0
|
|
_0812153C: .4byte gUnknown_845A2D4
|
|
_08121540: .4byte gUnknown_845A2B2
|
|
_08121544: .4byte gUnknown_845A2E3
|
|
_08121548:
|
|
movs r0, 0x2
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _081215A4
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _08121560
|
|
ldr r5, _0812155C @ =gUnknown_845A2D1
|
|
b _0812160A
|
|
.align 2, 0
|
|
_0812155C: .4byte gUnknown_845A2D1
|
|
_08121560:
|
|
ldr r5, _08121598 @ =gUnknown_845A2C8
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _0812159C @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _081215A0 @ =gUnknown_845A2DD
|
|
b _0812163E
|
|
.align 2, 0
|
|
_08121598: .4byte gUnknown_845A2C8
|
|
_0812159C: .4byte gUnknown_845A2B2
|
|
_081215A0: .4byte gUnknown_845A2DD
|
|
_081215A4:
|
|
movs r0, 0x8
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _08121600
|
|
movs r0, 0x1
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _081215BC
|
|
ldr r5, _081215B8 @ =gUnknown_845A2CE
|
|
b _0812160A
|
|
.align 2, 0
|
|
_081215B8: .4byte gUnknown_845A2CE
|
|
_081215BC:
|
|
ldr r5, _081215F4 @ =gUnknown_845A2C5
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _081215F8 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _081215FC @ =gUnknown_845A2DA
|
|
b _0812163E
|
|
.align 2, 0
|
|
_081215F4: .4byte gUnknown_845A2C5
|
|
_081215F8: .4byte gUnknown_845A2B2
|
|
_081215FC: .4byte gUnknown_845A2DA
|
|
_08121600:
|
|
movs r0, 0x1
|
|
ands r5, r0
|
|
cmp r5, 0
|
|
beq _08121684
|
|
ldr r5, _08121674 @ =gUnknown_845A2CB
|
|
_0812160A:
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121678 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _0812167C @ =gUnknown_845A2E0
|
|
_0812163E:
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121680 @ =gUnknown_845A2B5
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
b _081216EC
|
|
.align 2, 0
|
|
_08121674: .4byte gUnknown_845A2CB
|
|
_08121678: .4byte gUnknown_845A2B2
|
|
_0812167C: .4byte gUnknown_845A2E0
|
|
_08121680: .4byte gUnknown_845A2B5
|
|
_08121684:
|
|
ldr r5, _081216F4 @ =gUnknown_845A2C2
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _081216F8 @ =gUnknown_845A2B2
|
|
ldrb r1, [r4]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldr r5, _081216FC @ =gUnknown_845A2D7
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121700 @ =gUnknown_845A2B5
|
|
ldrb r1, [r4]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x2]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x2]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
_081216EC:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081216F4: .4byte gUnknown_845A2C2
|
|
_081216F8: .4byte gUnknown_845A2B2
|
|
_081216FC: .4byte gUnknown_845A2D7
|
|
_08121700: .4byte gUnknown_845A2B5
|
|
thumb_func_end sub_812142C
|
|
|
|
thumb_func_start sub_8121704
|
|
sub_8121704: @ 8121704
|
|
push {r4,r5,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldrb r5, [r3]
|
|
ldrb r3, [r3, 0x1]
|
|
lsls r4, r2, 1
|
|
adds r4, r2
|
|
ldr r2, _08121734 @ =gUnknown_8459FFC
|
|
adds r4, r2
|
|
str r4, [sp]
|
|
movs r2, 0
|
|
str r2, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
bl box_print
|
|
add sp, 0xC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121734: .4byte gUnknown_8459FFC
|
|
thumb_func_end sub_8121704
|
|
|
|
thumb_func_start sub_8121738
|
|
sub_8121738: @ 8121738
|
|
push {r4-r7,lr}
|
|
sub sp, 0x14
|
|
adds r7, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08121788
|
|
cmp r4, 0x1
|
|
bne _08121772
|
|
ldr r5, [r6]
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r1, [r5, 0x4]
|
|
lsrs r1, 3
|
|
ldrb r2, [r5, 0x5]
|
|
lsrs r2, 3
|
|
ldrb r3, [r5, 0x6]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0x7]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_08121772:
|
|
adds r0, r7, 0
|
|
add r1, sp, 0x8
|
|
bl GetMonNickname
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r3, [r6]
|
|
adds r3, 0x4
|
|
add r1, sp, 0x8
|
|
movs r2, 0
|
|
bl sub_8121704
|
|
_08121788:
|
|
add sp, 0x14
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121738
|
|
|
|
thumb_func_start sub_8121790
|
|
sub_8121790: @ 8121790
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
adds r6, r0, 0
|
|
adds r7, r1, 0
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
mov r8, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _081217FC
|
|
adds r0, r6, 0
|
|
bl sub_81208A4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _081217BE
|
|
cmp r0, 0x6
|
|
bne _081217FC
|
|
_081217BE:
|
|
cmp r4, 0
|
|
beq _081217E4
|
|
ldr r5, [r7]
|
|
ldrb r0, [r7, 0x8]
|
|
ldrb r1, [r5, 0x8]
|
|
lsrs r1, 3
|
|
ldrb r2, [r5, 0x9]
|
|
lsrs r2, 3
|
|
adds r2, 0x1
|
|
ldrb r3, [r5, 0xA]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0xB]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_081217E4:
|
|
mov r0, r8
|
|
cmp r0, 0x2
|
|
beq _081217FC
|
|
adds r0, r6, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r7, 0
|
|
bl sub_8121808
|
|
_081217FC:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121790
|
|
|
|
thumb_func_start sub_8121808
|
|
sub_8121808: @ 8121808
|
|
push {r4-r6,lr}
|
|
adds r2, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r5, _08121848 @ =gStringVar2
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0812184C @ =gStringVar1
|
|
ldr r1, _08121850 @ =gUnknown_8416223
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl StringAppend
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r3, [r6]
|
|
adds r3, 0x8
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8121704
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121848: .4byte gStringVar2
|
|
_0812184C: .4byte gStringVar1
|
|
_08121850: .4byte gUnknown_8416223
|
|
thumb_func_end sub_8121808
|
|
|
|
thumb_func_start sub_8121854
|
|
sub_8121854: @ 8121854
|
|
push {r4-r7,lr}
|
|
sub sp, 0x14
|
|
adds r6, r0, 0
|
|
adds r7, r1, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
cmp r2, 0x1
|
|
bne _08121886
|
|
ldr r5, [r7]
|
|
ldrb r0, [r7, 0x8]
|
|
ldrb r1, [r5, 0xC]
|
|
lsrs r1, 3
|
|
ldrb r2, [r5, 0xD]
|
|
lsrs r2, 3
|
|
adds r2, 0x1
|
|
ldrb r3, [r5, 0xE]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0xF]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_08121886:
|
|
adds r0, r6, 0
|
|
add r1, sp, 0x8
|
|
bl GetMonNickname
|
|
adds r0, r6, 0
|
|
bl GetMonGender
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r6, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
add r2, sp, 0x8
|
|
adds r3, r7, 0
|
|
bl sub_81218BC
|
|
add sp, 0x14
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121854
|
|
|
|
thumb_func_start sub_81218BC
|
|
sub_81218BC: @ 81218BC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
mov r9, r2
|
|
adds r7, r3, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r1, 16
|
|
lsrs r4, r1, 16
|
|
adds r5, r4, 0
|
|
ldrb r0, [r7, 0x8]
|
|
movs r1, 0x5
|
|
bl GetWindowAttribute
|
|
lsls r0, 28
|
|
lsrs r6, r0, 24
|
|
cmp r4, 0
|
|
beq _08121982
|
|
cmp r4, 0x20
|
|
beq _081218EC
|
|
cmp r4, 0x1D
|
|
bne _08121900
|
|
_081218EC:
|
|
movs r0, 0xB
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0812190C @ =gSpeciesNames
|
|
adds r1, r0
|
|
mov r0, r9
|
|
bl StringCompare
|
|
cmp r0, 0
|
|
beq _08121982
|
|
_08121900:
|
|
mov r0, r8
|
|
cmp r0, 0
|
|
beq _08121910
|
|
cmp r0, 0xFE
|
|
beq _08121950
|
|
b _08121982
|
|
.align 2, 0
|
|
_0812190C: .4byte gSpeciesNames
|
|
_08121910:
|
|
ldr r5, _08121944 @ =gUnknown_845A2B8
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121948 @ =gUnknown_845A2AE
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r7, 0x8]
|
|
ldr r1, _0812194C @ =gUnknown_841621F
|
|
ldr r3, [r7]
|
|
adds r3, 0xC
|
|
movs r2, 0x2
|
|
bl sub_8121704
|
|
b _08121982
|
|
.align 2, 0
|
|
_08121944: .4byte gUnknown_845A2B8
|
|
_08121948: .4byte gUnknown_845A2AE
|
|
_0812194C: .4byte gUnknown_841621F
|
|
_08121950:
|
|
ldr r5, _08121990 @ =gUnknown_845A2BA
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121994 @ =gUnknown_845A2AE
|
|
ldrb r1, [r4]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r6
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r7, 0x8]
|
|
ldr r1, _08121998 @ =gUnknown_8416221
|
|
ldr r3, [r7]
|
|
adds r3, 0xC
|
|
movs r2, 0x2
|
|
bl sub_8121704
|
|
_08121982:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121990: .4byte gUnknown_845A2BA
|
|
_08121994: .4byte gUnknown_845A2AE
|
|
_08121998: .4byte gUnknown_8416221
|
|
thumb_func_end sub_81218BC
|
|
|
|
thumb_func_start sub_812199C
|
|
sub_812199C: @ 812199C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
adds r7, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
mov r8, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _081219F6
|
|
cmp r4, 0
|
|
beq _081219DE
|
|
ldr r5, [r6]
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r1, [r5, 0x10]
|
|
lsrs r1, 3
|
|
ldrb r2, [r5, 0x11]
|
|
lsrs r2, 3
|
|
adds r2, 0x1
|
|
ldrb r3, [r5, 0x12]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0x13]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_081219DE:
|
|
mov r0, r8
|
|
cmp r0, 0x2
|
|
beq _081219F6
|
|
adds r0, r7, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r6, 0
|
|
bl sub_8121A04
|
|
_081219F6:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_812199C
|
|
|
|
thumb_func_start sub_8121A04
|
|
sub_8121A04: @ 8121A04
|
|
push {r4,r5,lr}
|
|
adds r2, r0, 0
|
|
adds r4, r1, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r5, _08121A38 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
movs r1, 0xBA
|
|
strb r1, [r0]
|
|
movs r1, 0xFF
|
|
strb r1, [r0, 0x1]
|
|
ldrb r0, [r4, 0x8]
|
|
ldr r3, [r4]
|
|
adds r3, 0x10
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
bl sub_8121704
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121A38: .4byte gStringVar1
|
|
thumb_func_end sub_8121A04
|
|
|
|
thumb_func_start sub_8121A3C
|
|
sub_8121A3C: @ 8121A3C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
adds r7, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r2, 24
|
|
lsrs r4, r2, 24
|
|
mov r8, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08121A98
|
|
cmp r4, 0
|
|
beq _08121A80
|
|
ldr r5, [r6]
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r1, [r5, 0x14]
|
|
lsrs r1, 3
|
|
adds r1, 0x1
|
|
ldrb r2, [r5, 0x15]
|
|
lsrs r2, 3
|
|
adds r2, 0x1
|
|
ldrb r3, [r5, 0x16]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0x17]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_08121A80:
|
|
mov r0, r8
|
|
cmp r0, 0x2
|
|
beq _08121A98
|
|
adds r0, r7, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r6, 0
|
|
bl sub_8121AA4
|
|
_08121A98:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121A3C
|
|
|
|
thumb_func_start sub_8121AA4
|
|
sub_8121AA4: @ 8121AA4
|
|
push {r4-r6,lr}
|
|
adds r2, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r5, _08121AE4 @ =gStringVar2
|
|
adds r0, r5, 0
|
|
adds r1, r2, 0
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _08121AE8 @ =gStringVar1
|
|
ldr r1, _08121AEC @ =gUnknown_841620C
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl StringAppend
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r3, [r6]
|
|
adds r3, 0x14
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8121704
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121AE4: .4byte gStringVar2
|
|
_08121AE8: .4byte gStringVar1
|
|
_08121AEC: .4byte gUnknown_841620C
|
|
thumb_func_end sub_8121AA4
|
|
|
|
thumb_func_start sub_8121AF0
|
|
sub_8121AF0: @ 8121AF0
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08121B24
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r5, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
adds r2, r6, 0
|
|
bl sub_8121B2C
|
|
_08121B24:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121AF0
|
|
|
|
thumb_func_start sub_8121B2C
|
|
sub_8121B2C: @ 8121B2C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
adds r6, r2, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r9, r1
|
|
ldrb r0, [r6, 0x8]
|
|
movs r1, 0x5
|
|
bl GetWindowAttribute
|
|
lsls r0, 28
|
|
lsrs r7, r0, 24
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
mov r2, r9
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
bl GetHPBarLevel
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _08121B78
|
|
cmp r0, 0x2
|
|
blt _08121BA8
|
|
cmp r0, 0x4
|
|
bgt _08121BA8
|
|
ldr r5, _08121B74 @ =gUnknown_845A2BC
|
|
b _08121B7A
|
|
.align 2, 0
|
|
_08121B74: .4byte gUnknown_845A2BC
|
|
_08121B78:
|
|
ldr r5, _08121BA0 @ =gUnknown_845A2BE
|
|
_08121B7A:
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121BA4 @ =gUnknown_845A2B0
|
|
ldrb r1, [r4]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
b _08121BCC
|
|
.align 2, 0
|
|
_08121BA0: .4byte gUnknown_845A2BE
|
|
_08121BA4: .4byte gUnknown_845A2B0
|
|
_08121BA8:
|
|
ldr r5, _08121C68 @ =gUnknown_845A2C0
|
|
ldrb r0, [r5]
|
|
bl sub_8121248
|
|
ldr r4, _08121C6C @ =gUnknown_845A2B0
|
|
ldrb r1, [r4]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
ldrb r0, [r5, 0x1]
|
|
bl sub_8121248
|
|
ldrb r1, [r4, 0x1]
|
|
adds r1, r7
|
|
movs r2, 0x2
|
|
bl LoadPalette
|
|
_08121BCC:
|
|
mov r1, r8
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
mov r2, r9
|
|
lsls r1, r2, 16
|
|
asrs r1, 16
|
|
ldr r2, [r6]
|
|
ldrb r2, [r2, 0x1A]
|
|
bl GetScaledHPFraction
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r4, _08121C6C @ =gUnknown_845A2B0
|
|
ldrb r1, [r4, 0x1]
|
|
ldr r3, [r6]
|
|
ldrb r2, [r3, 0x18]
|
|
ldrb r3, [r3, 0x19]
|
|
str r5, [sp]
|
|
movs r7, 0x1
|
|
str r7, [sp, 0x4]
|
|
bl FillWindowPixelRect
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r1, [r4]
|
|
ldr r3, [r6]
|
|
ldrb r2, [r3, 0x18]
|
|
ldrb r3, [r3, 0x19]
|
|
adds r3, 0x1
|
|
str r5, [sp]
|
|
movs r4, 0x2
|
|
str r4, [sp, 0x4]
|
|
bl FillWindowPixelRect
|
|
ldr r1, [r6]
|
|
ldrb r0, [r1, 0x1A]
|
|
cmp r5, r0
|
|
beq _08121C50
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r2, [r1, 0x18]
|
|
adds r2, r5
|
|
ldrb r3, [r1, 0x19]
|
|
ldrb r1, [r1, 0x1A]
|
|
subs r1, r5
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
str r1, [sp]
|
|
str r7, [sp, 0x4]
|
|
movs r1, 0xD
|
|
bl FillWindowPixelRect
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r1, [r6]
|
|
ldrb r2, [r1, 0x18]
|
|
adds r2, r5
|
|
ldrb r3, [r1, 0x19]
|
|
adds r3, 0x1
|
|
ldrb r1, [r1, 0x1A]
|
|
subs r1, r5
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
str r1, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r1, 0x2
|
|
bl FillWindowPixelRect
|
|
_08121C50:
|
|
ldrb r0, [r6, 0x8]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121C68: .4byte gUnknown_845A2C0
|
|
_08121C6C: .4byte gUnknown_845A2B0
|
|
thumb_func_end sub_8121B2C
|
|
|
|
thumb_func_start sub_8121C70
|
|
sub_8121C70: @ 8121C70
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
adds r6, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r7, r2, 0
|
|
cmp r7, 0
|
|
beq _08121CAA
|
|
ldr r5, [r6]
|
|
ldrb r0, [r6, 0x8]
|
|
ldrb r1, [r5, 0x1C]
|
|
lsrs r1, 3
|
|
ldrb r2, [r5, 0x1D]
|
|
lsrs r2, 3
|
|
ldrb r3, [r5, 0x1E]
|
|
lsrs r3, 3
|
|
ldrb r4, [r5, 0x1F]
|
|
lsrs r4, 3
|
|
str r4, [sp]
|
|
movs r4, 0x1
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r5]
|
|
bl _call_via_r4
|
|
_08121CAA:
|
|
cmp r7, 0x2
|
|
beq _08121CD0
|
|
ldrb r0, [r6, 0x8]
|
|
ldr r1, [r6]
|
|
ldrb r2, [r1, 0x1C]
|
|
ldrb r3, [r1, 0x1D]
|
|
ldr r1, _08121CDC @ =gUnknown_8459FFC
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
ldr r4, _08121CE0 @ =gUnknown_845A354
|
|
mov r5, r8
|
|
lsls r1, r5, 2
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
bl box_print
|
|
_08121CD0:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121CDC: .4byte gUnknown_8459FFC
|
|
_08121CE0: .4byte gUnknown_845A354
|
|
thumb_func_end sub_8121C70
|
|
|
|
thumb_func_start sub_8121CE4
|
|
sub_8121CE4: @ 8121CE4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
beq _08121D04
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_08121D04:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121CE4
|
|
|
|
thumb_func_start sub_8121D0C
|
|
sub_8121D0C: @ 8121D0C
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
adds r6, r0, 0
|
|
ldr r0, _08121D3C @ =gUnknown_203B09C
|
|
ldr r4, [r0]
|
|
adds r5, r4, 0
|
|
adds r5, 0xD
|
|
ldrb r0, [r4, 0xD]
|
|
cmp r0, 0xFF
|
|
beq _08121D26
|
|
adds r0, r5, 0
|
|
bl sub_8121CE4
|
|
_08121D26:
|
|
cmp r6, 0x7F
|
|
beq _08121DE8
|
|
adds r0, r6, 0
|
|
subs r0, 0x16
|
|
cmp r0, 0x4
|
|
bhi _08121D80
|
|
lsls r0, 2
|
|
ldr r1, _08121D40 @ =_08121D44
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08121D3C: .4byte gUnknown_203B09C
|
|
_08121D40: .4byte _08121D44
|
|
.align 2, 0
|
|
_08121D44:
|
|
.4byte _08121D58
|
|
.4byte _08121D70
|
|
.4byte _08121D70
|
|
.4byte _08121D60
|
|
.4byte _08121D68
|
|
_08121D58:
|
|
ldr r0, _08121D5C @ =gUnknown_845A128
|
|
b _08121D72
|
|
.align 2, 0
|
|
_08121D5C: .4byte gUnknown_845A128
|
|
_08121D60:
|
|
ldr r0, _08121D64 @ =gUnknown_845A130
|
|
b _08121D72
|
|
.align 2, 0
|
|
_08121D64: .4byte gUnknown_845A130
|
|
_08121D68:
|
|
ldr r0, _08121D6C @ =gUnknown_845A138
|
|
b _08121D72
|
|
.align 2, 0
|
|
_08121D6C: .4byte gUnknown_845A138
|
|
_08121D70:
|
|
ldr r0, _08121D7C @ =gUnknown_845A140
|
|
_08121D72:
|
|
bl AddWindow
|
|
strb r0, [r5]
|
|
b _08121D88
|
|
.align 2, 0
|
|
_08121D7C: .4byte gUnknown_845A140
|
|
_08121D80:
|
|
ldr r0, _08121D9C @ =gUnknown_845A120
|
|
bl AddWindow
|
|
strb r0, [r4, 0xD]
|
|
_08121D88:
|
|
cmp r6, 0
|
|
bne _08121DB0
|
|
ldr r0, _08121DA0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _08121DA4
|
|
movs r6, 0x2
|
|
b _08121DB0
|
|
.align 2, 0
|
|
_08121D9C: .4byte gUnknown_845A120
|
|
_08121DA0: .4byte gUnknown_203B09C
|
|
_08121DA4:
|
|
bl sub_8121DF8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08121DB0
|
|
movs r6, 0x1
|
|
_08121DB0:
|
|
ldrb r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0x58
|
|
movs r3, 0xF
|
|
bl SetWindowBorderStyle
|
|
ldr r4, _08121DF0 @ =gStringVar4
|
|
ldr r1, _08121DF4 @ =gUnknown_845A2E8
|
|
lsls r0, r6, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldrb r0, [r5]
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl AddTextPrinterParameterized
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_08121DE8:
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121DF0: .4byte gStringVar4
|
|
_08121DF4: .4byte gUnknown_845A2E8
|
|
thumb_func_end sub_8121D0C
|
|
|
|
thumb_func_start sub_8121DF8
|
|
sub_8121DF8: @ 8121DF8
|
|
push {r4-r7,lr}
|
|
ldr r7, _08121E0C @ =gPlayerParty
|
|
movs r6, 0
|
|
ldr r0, _08121E10 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x1
|
|
bne _08121E14
|
|
_08121E06:
|
|
movs r0, 0x1
|
|
b _08121E56
|
|
.align 2, 0
|
|
_08121E0C: .4byte gPlayerParty
|
|
_08121E10: .4byte gUnknown_203B0A0
|
|
_08121E14:
|
|
movs r5, 0
|
|
_08121E16:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
adds r4, r7, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08121E46
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _08121E40
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08121E46
|
|
_08121E40:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
_08121E46:
|
|
cmp r6, 0x1
|
|
bhi _08121E06
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _08121E16
|
|
movs r0, 0
|
|
_08121E56:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8121DF8
|
|
|
|
thumb_func_start sub_8121E5C
|
|
sub_8121E5C: @ 8121E5C
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x24
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1
|
|
beq _08121EBC
|
|
cmp r4, 0x1
|
|
bgt _08121E78
|
|
cmp r4, 0
|
|
beq _08121E7E
|
|
b _08121ECC
|
|
_08121E78:
|
|
cmp r4, 0x2
|
|
beq _08121EC4
|
|
b _08121ECC
|
|
_08121E7E:
|
|
ldr r0, _08121EB4 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x17]
|
|
lsls r0, 1
|
|
movs r3, 0x13
|
|
subs r3, r0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0xA
|
|
str r0, [sp]
|
|
ldrb r0, [r1, 0x17]
|
|
lsls r0, 25
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0xE
|
|
str r0, [sp, 0x8]
|
|
ldr r0, _08121EB8 @ =0x000002bf
|
|
str r0, [sp, 0xC]
|
|
add r0, sp, 0x14
|
|
movs r1, 0x2
|
|
movs r2, 0x13
|
|
bl SetWindowTemplateFields
|
|
ldr r0, [sp, 0x14]
|
|
ldr r1, [sp, 0x18]
|
|
b _08121ED2
|
|
.align 2, 0
|
|
_08121EB4: .4byte gUnknown_203B09C
|
|
_08121EB8: .4byte 0x000002bf
|
|
_08121EBC:
|
|
ldr r0, _08121EC0 @ =gUnknown_845A148
|
|
b _08121ECE
|
|
.align 2, 0
|
|
_08121EC0: .4byte gUnknown_845A148
|
|
_08121EC4:
|
|
ldr r0, _08121EC8 @ =gUnknown_845A150
|
|
b _08121ECE
|
|
.align 2, 0
|
|
_08121EC8: .4byte gUnknown_845A150
|
|
_08121ECC:
|
|
ldr r0, _08121EF8 @ =gUnknown_845A158
|
|
_08121ECE:
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
_08121ED2:
|
|
str r0, [sp, 0x1C]
|
|
str r1, [sp, 0x20]
|
|
add r0, sp, 0x1C
|
|
bl AddWindow
|
|
ldr r6, _08121EFC @ =gUnknown_203B09C
|
|
ldr r1, [r6]
|
|
strb r0, [r1, 0xC]
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0xC]
|
|
movs r1, 0
|
|
movs r2, 0x4F
|
|
movs r3, 0xD
|
|
bl SetWindowBorderStyle
|
|
cmp r4, 0x3
|
|
bne _08121F00
|
|
ldr r0, [r6]
|
|
b _08121FA2
|
|
.align 2, 0
|
|
_08121EF8: .4byte gUnknown_845A158
|
|
_08121EFC: .4byte gUnknown_203B09C
|
|
_08121F00:
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl GetMenuCursorDimensionByFont
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl GetFontAttribute
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
movs r5, 0
|
|
ldr r0, [r6]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r5, r0
|
|
bcs _08121F7A
|
|
adds r7, r6, 0
|
|
movs r6, 0
|
|
_08121F2A:
|
|
ldr r1, [r7]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r4, r0, r5
|
|
ldrb r0, [r4]
|
|
movs r2, 0x3
|
|
cmp r0, 0x11
|
|
bls _08121F3C
|
|
movs r2, 0x4
|
|
_08121F3C:
|
|
ldrb r0, [r1, 0xC]
|
|
lsls r3, r5, 4
|
|
adds r3, 0x2
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r1, r8
|
|
str r1, [sp]
|
|
str r6, [sp, 0x4]
|
|
lsls r1, r2, 1
|
|
adds r1, r2
|
|
ldr r2, _08121FB4 @ =gUnknown_8459FFC
|
|
adds r1, r2
|
|
str r1, [sp, 0x8]
|
|
str r6, [sp, 0xC]
|
|
ldr r2, _08121FB8 @ =gUnknown_845A618
|
|
ldrb r1, [r4]
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0x2
|
|
mov r2, r9
|
|
bl AddTextPrinterParametrized2
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, [r7]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r5, r0
|
|
bcc _08121F2A
|
|
_08121F7A:
|
|
ldr r4, _08121FBC @ =gUnknown_203B09C
|
|
ldr r2, [r4]
|
|
ldrb r0, [r2, 0xC]
|
|
movs r1, 0x10
|
|
str r1, [sp]
|
|
ldrb r1, [r2, 0x17]
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0xC]
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_810F774
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, [r4]
|
|
_08121FA2:
|
|
ldrb r0, [r0, 0xC]
|
|
add sp, 0x24
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08121FB4: .4byte gUnknown_8459FFC
|
|
_08121FB8: .4byte gUnknown_845A618
|
|
_08121FBC: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8121E5C
|
|
|
|
thumb_func_start sub_8121FC0
|
|
sub_8121FC0: @ 8121FC0
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
movs r2, 0x4F
|
|
movs r3, 0xD
|
|
bl SetWindowBorderStyle
|
|
ldr r2, _08122008 @ =gTextFlags
|
|
ldrb r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
bl sub_80F78A8
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
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, 0x6
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
bl AddTextPrinterParametrized
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122008: .4byte gTextFlags
|
|
thumb_func_end sub_8121FC0
|
|
|
|
thumb_func_start sub_812200C
|
|
sub_812200C: @ 812200C
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r0, _08122030 @ =gUnknown_845A160
|
|
movs r1, 0x4F
|
|
str r1, [sp]
|
|
movs r1, 0xD
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_810FF60
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122030: .4byte gUnknown_845A160
|
|
thumb_func_end sub_812200C
|
|
|
|
thumb_func_start sub_8122034
|
|
sub_8122034: @ 8122034
|
|
push {r4,lr}
|
|
ldr r0, _0812205C @ =gUnknown_845A168
|
|
bl AddWindow
|
|
ldr r4, _08122060 @ =gUnknown_203B09C
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0xC]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
movs r1, 0
|
|
movs r2, 0x4F
|
|
movs r3, 0xD
|
|
bl SetWindowBorderStyle
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0812205C: .4byte gUnknown_845A168
|
|
_08122060: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8122034
|
|
|
|
thumb_func_start sub_8122064
|
|
sub_8122064: @ 8122064
|
|
push {r4,lr}
|
|
ldr r4, _08122080 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0xC]
|
|
bl ClearWindowTilemap
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122080: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8122064
|
|
|
|
thumb_func_start sub_8122084
|
|
sub_8122084: @ 8122084
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r5, _081220CC @ =gStringVar4
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r2, _081220D0 @ =gTextFlags
|
|
ldrb r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
bl sub_80F78A8
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
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]
|
|
adds r0, r4, 0
|
|
movs r1, 0x4
|
|
adds r2, r5, 0
|
|
bl AddTextPrinterParametrized
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081220CC: .4byte gStringVar4
|
|
_081220D0: .4byte gTextFlags
|
|
thumb_func_end sub_8122084
|
|
|
|
thumb_func_start sub_81220D4
|
|
sub_81220D4: @ 81220D4
|
|
push {r4,lr}
|
|
ldr r0, _08122108 @ =gUnknown_845A170
|
|
bl AddWindow
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x4F
|
|
movs r2, 0xE0
|
|
bl sub_814FEAC
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x4F
|
|
movs r3, 0xE
|
|
bl sub_810EDC4
|
|
ldr r1, _0812210C @ =gUnknown_8417457
|
|
adds r0, r4, 0
|
|
bl sub_8122084
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08122108: .4byte gUnknown_845A170
|
|
_0812210C: .4byte gUnknown_8417457
|
|
thumb_func_end sub_81220D4
|
|
|
|
thumb_func_start sub_8122110
|
|
sub_8122110: @ 8122110
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl ClearWindowTilemap
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_810F260
|
|
adds r0, r4, 0
|
|
bl RemoveWindow
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8122110
|
|
|
|
thumb_func_start sub_8122138
|
|
sub_8122138: @ 8122138
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r0, 0
|
|
ldr r0, _08122168 @ =gUnknown_203B09C
|
|
ldr r4, [r0]
|
|
cmp r5, 0x11
|
|
bhi _0812216C
|
|
ldrb r0, [r4, 0xE]
|
|
cmp r0, 0xFF
|
|
beq _081221C0
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4, 0xE]
|
|
bl RemoveWindow
|
|
movs r0, 0xFF
|
|
strb r0, [r4, 0xE]
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
b _081221C0
|
|
.align 2, 0
|
|
_08122168: .4byte gUnknown_203B09C
|
|
_0812216C:
|
|
ldrb r0, [r4, 0xE]
|
|
cmp r0, 0xFF
|
|
bne _0812217A
|
|
ldr r0, _081221C8 @ =gUnknown_845A178
|
|
bl AddWindow
|
|
strb r0, [r4, 0xE]
|
|
_0812217A:
|
|
ldrb r0, [r4, 0xE]
|
|
bl sub_8112F18
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl GetFontAttribute
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrb r2, [r4, 0xE]
|
|
str r0, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
ldr r0, _081221CC @ =gUnknown_845A00B
|
|
str r0, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
ldr r1, _081221D0 @ =gUnknown_845A37C
|
|
adds r0, r5, 0
|
|
subs r0, 0x12
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x10]
|
|
adds r0, r2, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x3
|
|
movs r3, 0x6
|
|
bl AddTextPrinterParametrized2
|
|
ldrb r0, [r4, 0xE]
|
|
bl PutWindowTilemap
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
_081221C0:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081221C8: .4byte gUnknown_845A178
|
|
_081221CC: .4byte gUnknown_845A00B
|
|
_081221D0: .4byte gUnknown_845A37C
|
|
thumb_func_end sub_8122138
|
|
|
|
thumb_func_start party_menu_icon_anim
|
|
party_menu_icon_anim: @ 81221D4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r7, r1, 0
|
|
adds r4, r2, 0
|
|
movs r6, 0x1
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0812220A
|
|
ldr r0, _08122240 @ =gMain
|
|
ldr r1, _08122244 @ =0x00000439
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812220A
|
|
ldr r0, _08122248 @ =gUnknown_845A59C
|
|
adds r0, r4, r0
|
|
ldrb r1, [r0]
|
|
eors r1, r6
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r6, r0, 31
|
|
_0812220A:
|
|
adds r0, r5, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
str r6, [sp]
|
|
adds r0, r4, 0
|
|
adds r2, r7, 0
|
|
movs r3, 0x1
|
|
bl party_menu_link_mon_icon_anim
|
|
ldrb r0, [r7, 0x9]
|
|
adds r1, r5, 0
|
|
bl sub_8122358
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122240: .4byte gMain
|
|
_08122244: .4byte 0x00000439
|
|
_08122248: .4byte gUnknown_845A59C
|
|
thumb_func_end party_menu_icon_anim
|
|
|
|
thumb_func_start party_menu_link_mon_icon_anim
|
|
party_menu_link_mon_icon_anim: @ 812224C
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
adds r6, r1, 0
|
|
adds r4, r2, 0
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r3, 24
|
|
lsrs r7, r3, 24
|
|
cmp r5, 0
|
|
beq _0812229A
|
|
ldr r1, _081222A4 @ =sub_809718C
|
|
ldr r0, [r4, 0x4]
|
|
ldrb r2, [r0]
|
|
ldrb r3, [r0, 0x1]
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
str r6, [sp, 0x4]
|
|
ldr r0, [sp, 0x20]
|
|
str r0, [sp, 0x8]
|
|
adds r0, r5, 0
|
|
bl sub_8096E18
|
|
strb r0, [r4, 0x9]
|
|
ldr r2, _081222A8 @ =gSprites
|
|
ldrb r0, [r4, 0x9]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
movs r0, 0x3
|
|
adds r2, r7, 0
|
|
ands r2, r0
|
|
lsls r2, 2
|
|
ldrb r3, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strb r0, [r1, 0x5]
|
|
_0812229A:
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081222A4: .4byte sub_809718C
|
|
_081222A8: .4byte gSprites
|
|
thumb_func_end party_menu_link_mon_icon_anim
|
|
|
|
thumb_func_start sub_81222AC
|
|
sub_81222AC: @ 81222AC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
adds r0, r1, 0
|
|
adds r1, r2, 0
|
|
bl GetHPBarLevel
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _0812230C
|
|
cmp r0, 0x2
|
|
bgt _081222D4
|
|
cmp r0, 0x1
|
|
beq _08122324
|
|
b _0812233C
|
|
_081222D4:
|
|
cmp r0, 0x3
|
|
beq _081222F4
|
|
cmp r0, 0x4
|
|
bne _0812233C
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _081222F0 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl sub_8097414
|
|
b _0812234C
|
|
.align 2, 0
|
|
_081222F0: .4byte gSprites
|
|
_081222F4:
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _08122308 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl sub_8097414
|
|
b _0812234C
|
|
.align 2, 0
|
|
_08122308: .4byte gSprites
|
|
_0812230C:
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _08122320 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
bl sub_8097414
|
|
b _0812234C
|
|
.align 2, 0
|
|
_08122320: .4byte gSprites
|
|
_08122324:
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _08122338 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl sub_8097414
|
|
b _0812234C
|
|
.align 2, 0
|
|
_08122338: .4byte gSprites
|
|
_0812233C:
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _08122354 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
bl sub_8097414
|
|
_0812234C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122354: .4byte gSprites
|
|
thumb_func_end sub_81222AC
|
|
|
|
thumb_func_start sub_8122358
|
|
sub_8122358: @ 8122358
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r0, r6, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r6, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_81222AC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8122358
|
|
|
|
thumb_func_start sub_812238C
|
|
sub_812238C: @ 812238C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
ldr r5, _081223BC @ =gSprites
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r6, r0, 2
|
|
adds r2, r6, r5
|
|
movs r7, 0
|
|
movs r3, 0
|
|
strh r3, [r2, 0x2E]
|
|
mov r12, r5
|
|
cmp r1, 0
|
|
bne _081223E4
|
|
movs r1, 0x20
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0x10
|
|
bne _081223C4
|
|
strh r3, [r2, 0x24]
|
|
ldr r0, _081223C0 @ =0x0000fffc
|
|
strh r0, [r2, 0x26]
|
|
b _081223CA
|
|
.align 2, 0
|
|
_081223BC: .4byte gSprites
|
|
_081223C0: .4byte 0x0000fffc
|
|
_081223C4:
|
|
ldr r0, _081223DC @ =0x0000fffc
|
|
strh r0, [r2, 0x24]
|
|
strh r3, [r2, 0x26]
|
|
_081223CA:
|
|
lsls r0, r4, 4
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
mov r1, r12
|
|
adds r1, 0x1C
|
|
adds r0, r1
|
|
ldr r1, _081223E0 @ =sub_8122428
|
|
b _081223F0
|
|
.align 2, 0
|
|
_081223DC: .4byte 0x0000fffc
|
|
_081223E0: .4byte sub_8122428
|
|
_081223E4:
|
|
strh r3, [r2, 0x24]
|
|
strh r3, [r2, 0x26]
|
|
adds r0, r5, 0
|
|
adds r0, 0x1C
|
|
adds r0, r6, r0
|
|
ldr r1, _081223F8 @ =sub_81223FC
|
|
_081223F0:
|
|
str r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081223F8: .4byte sub_81223FC
|
|
thumb_func_end sub_812238C
|
|
|
|
thumb_func_start sub_81223FC
|
|
sub_81223FC: @ 81223FC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl UpdateMonIconFrame
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _08122422
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08122420
|
|
ldr r0, _0812241C @ =0x0000fffd
|
|
strh r0, [r4, 0x26]
|
|
b _08122422
|
|
.align 2, 0
|
|
_0812241C: .4byte 0x0000fffd
|
|
_08122420:
|
|
strh r1, [r4, 0x26]
|
|
_08122422:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81223FC
|
|
|
|
thumb_func_start sub_8122428
|
|
sub_8122428: @ 8122428
|
|
push {lr}
|
|
bl UpdateMonIconFrame
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8122428
|
|
|
|
thumb_func_start party_menu_held_item_object
|
|
party_menu_held_item_object: @ 8122434
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0812245C
|
|
ldr r0, _08122464 @ =gUnknown_845A43C
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r2, [r2, 0x3]
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xA]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_81224B4
|
|
_0812245C:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122464: .4byte gUnknown_845A43C
|
|
thumb_func_end party_menu_held_item_object
|
|
|
|
thumb_func_start party_menu_link_mon_held_item_object
|
|
party_menu_link_mon_held_item_object: @ 8122468
|
|
push {r4,r5,lr}
|
|
adds r4, r2, 0
|
|
lsls r0, 16
|
|
lsls r1, 16
|
|
lsrs r5, r1, 16
|
|
cmp r0, 0
|
|
beq _081224A4
|
|
ldr r0, _081224AC @ =gUnknown_845A43C
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x2]
|
|
ldrb r2, [r2, 0x3]
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xA]
|
|
ldr r2, _081224B0 @ =gSprites
|
|
ldrb r0, [r4, 0xA]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_81224D0
|
|
_081224A4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081224AC: .4byte gUnknown_845A43C
|
|
_081224B0: .4byte gSprites
|
|
thumb_func_end party_menu_link_mon_held_item_object
|
|
|
|
thumb_func_start sub_81224B4
|
|
sub_81224B4: @ 81224B4
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_81224D0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81224B4
|
|
|
|
thumb_func_start sub_81224D0
|
|
sub_81224D0: @ 81224D0
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
bne _081224F8
|
|
ldr r2, _081224F4 @ =gSprites
|
|
ldrb r1, [r4, 0xA]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
b _08122544
|
|
.align 2, 0
|
|
_081224F4: .4byte gSprites
|
|
_081224F8:
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812251C
|
|
ldrb r1, [r4, 0xA]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08122518 @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
b _0812252E
|
|
.align 2, 0
|
|
_08122518: .4byte gSprites
|
|
_0812251C:
|
|
ldrb r1, [r4, 0xA]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0812254C @ =gSprites
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
_0812252E:
|
|
ldr r2, _0812254C @ =gSprites
|
|
ldrb r1, [r4, 0xA]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r2, [r0]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r2
|
|
_08122544:
|
|
strb r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812254C: .4byte gSprites
|
|
thumb_func_end sub_81224D0
|
|
|
|
thumb_func_start sub_8122550
|
|
sub_8122550: @ 8122550
|
|
push {lr}
|
|
ldr r0, _08122564 @ =gUnknown_845A42C
|
|
bl LoadSpriteSheet
|
|
ldr r0, _08122568 @ =gUnknown_845A434
|
|
bl LoadSpritePalette
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122564: .4byte gUnknown_845A42C
|
|
_08122568: .4byte gUnknown_845A434
|
|
thumb_func_end sub_8122550
|
|
|
|
thumb_func_start sub_812256C
|
|
sub_812256C: @ 812256C
|
|
push {r4-r7,lr}
|
|
adds r6, r0, 0
|
|
adds r7, r1, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
cmp r2, 0
|
|
beq _08122580
|
|
cmp r2, 0x1
|
|
beq _081225C8
|
|
b _08122604
|
|
_08122580:
|
|
movs r5, 0
|
|
ldrb r0, [r6]
|
|
cmp r5, r0
|
|
bcs _08122604
|
|
_08122588:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _081225C4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0
|
|
beq _081225B4
|
|
adds r0, r7, r5
|
|
ldrb r4, [r0]
|
|
adds r0, r1, 0
|
|
bl itemid_is_mail
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8122610
|
|
_081225B4:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
ldrb r0, [r6]
|
|
cmp r5, r0
|
|
bcc _08122588
|
|
b _08122604
|
|
.align 2, 0
|
|
_081225C4: .4byte gPlayerParty
|
|
_081225C8:
|
|
movs r5, 0
|
|
b _081225FE
|
|
_081225CC:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _0812260C @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r1, 0
|
|
beq _081225F8
|
|
adds r0, r5, r7
|
|
ldrb r4, [r0, 0x6]
|
|
adds r0, r1, 0
|
|
bl itemid_is_mail
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8122610
|
|
_081225F8:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
_081225FE:
|
|
ldrb r0, [r6, 0x1]
|
|
cmp r5, r0
|
|
bcc _081225CC
|
|
_08122604:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812260C: .4byte gEnemyParty
|
|
thumb_func_end sub_812256C
|
|
|
|
thumb_func_start sub_8122610
|
|
sub_8122610: @ 8122610
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r6, r0, 0
|
|
mov r9, r1
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
mov r0, r9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
ldr r0, _08122688 @ =gSprites
|
|
mov r8, r0
|
|
lsls r0, r6, 4
|
|
adds r0, r6
|
|
lsls r0, 2
|
|
add r0, r8
|
|
adds r0, 0x43
|
|
ldrb r3, [r0]
|
|
ldr r0, _0812268C @ =gUnknown_845A43C
|
|
subs r3, 0x1
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r1, 0xFA
|
|
movs r2, 0xAA
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
mov r0, r8
|
|
adds r5, r4, r0
|
|
movs r0, 0x4
|
|
strh r0, [r5, 0x24]
|
|
movs r0, 0xA
|
|
strh r0, [r5, 0x26]
|
|
movs r0, 0x1C
|
|
add r8, r0
|
|
add r4, r8
|
|
ldr r0, _08122690 @ =sub_8122694
|
|
str r0, [r4]
|
|
strh r6, [r5, 0x3C]
|
|
adds r0, r5, 0
|
|
mov r1, r9
|
|
bl StartSpriteAnim
|
|
ldr r1, [r4]
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122688: .4byte gSprites
|
|
_0812268C: .4byte gUnknown_845A43C
|
|
_08122690: .4byte sub_8122694
|
|
thumb_func_end sub_8122610
|
|
|
|
thumb_func_start sub_8122694
|
|
sub_8122694: @ 8122694
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r1, [r4, 0x3C]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, _081226C4 @ =gSprites
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, r0, r2
|
|
adds r0, r2, 0
|
|
adds r0, 0x3E
|
|
ldrb r0, [r0]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
bge _081226C8
|
|
adds r0, r4, 0
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
b _081226E6
|
|
.align 2, 0
|
|
_081226C4: .4byte gSprites
|
|
_081226C8:
|
|
adds r3, r4, 0
|
|
adds r3, 0x3E
|
|
ldrb r1, [r3]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
ldrh r0, [r2, 0x24]
|
|
ldrh r1, [r2, 0x20]
|
|
adds r0, r1
|
|
strh r0, [r4, 0x20]
|
|
ldrh r0, [r2, 0x26]
|
|
ldrh r2, [r2, 0x22]
|
|
adds r0, r2
|
|
strh r0, [r4, 0x22]
|
|
_081226E6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8122694
|
|
|
|
thumb_func_start party_menu_pokeball_object
|
|
party_menu_pokeball_object: @ 81226EC
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0812270A
|
|
ldr r0, _08122710 @ =gUnknown_845A484
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x6]
|
|
ldrb r2, [r2, 0x7]
|
|
movs r3, 0x8
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xB]
|
|
_0812270A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122710: .4byte gUnknown_845A484
|
|
thumb_func_end party_menu_pokeball_object
|
|
|
|
thumb_func_start party_menu_link_mon_pokeball_object
|
|
party_menu_link_mon_pokeball_object: @ 8122714
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _08122744
|
|
ldr r0, _0812274C @ =gUnknown_845A484
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x6]
|
|
ldrb r2, [r2, 0x7]
|
|
movs r3, 0x8
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xB]
|
|
ldr r2, _08122750 @ =gSprites
|
|
ldrb r0, [r4, 0xB]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
_08122744:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812274C: .4byte gUnknown_845A484
|
|
_08122750: .4byte gSprites
|
|
thumb_func_end party_menu_link_mon_pokeball_object
|
|
|
|
thumb_func_start sub_8122754
|
|
sub_8122754: @ 8122754
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
adds r2, r1, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r0, _0812278C @ =gUnknown_845A484
|
|
adds r1, r3, 0
|
|
movs r3, 0x8
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08122790 @ =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r3, [r1, 0x5]
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
ands r2, r3
|
|
movs r3, 0x8
|
|
orrs r2, r3
|
|
strb r2, [r1, 0x5]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0812278C: .4byte gUnknown_845A484
|
|
_08122790: .4byte gSprites
|
|
thumb_func_end sub_8122754
|
|
|
|
thumb_func_start sub_8122794
|
|
sub_8122794: @ 8122794
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
adds r2, r1, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r0, _081227B4 @ =gUnknown_845A4F4
|
|
adds r1, r3, 0
|
|
movs r3, 0x8
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081227B4: .4byte gUnknown_845A4F4
|
|
thumb_func_end sub_8122794
|
|
|
|
thumb_func_start sub_81227B8
|
|
sub_81227B8: @ 81227B8
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
ldr r2, _081227D8 @ =gSprites
|
|
adds r0, r2
|
|
bl StartSpriteAnim
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081227D8: .4byte gSprites
|
|
thumb_func_end sub_81227B8
|
|
|
|
thumb_func_start sub_81227DC
|
|
sub_81227DC: @ 81227DC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
cmp r6, 0
|
|
bne _08122820
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
ldr r0, _0812281C @ =gSprites
|
|
mov r8, r0
|
|
add r4, r8
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl StartSpriteAnim
|
|
lsls r5, r7, 4
|
|
adds r5, r7
|
|
lsls r5, 2
|
|
add r5, r8
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl StartSpriteAnim
|
|
strh r6, [r4, 0x26]
|
|
strh r6, [r5, 0x26]
|
|
b _0812284C
|
|
.align 2, 0
|
|
_0812281C: .4byte gSprites
|
|
_08122820:
|
|
lsls r5, r0, 4
|
|
adds r5, r0
|
|
lsls r5, 2
|
|
ldr r0, _08122858 @ =gSprites
|
|
mov r8, r0
|
|
add r5, r8
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
bl StartSpriteAnim
|
|
lsls r4, r7, 4
|
|
adds r4, r7
|
|
lsls r4, 2
|
|
add r4, r8
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl StartSpriteAnim
|
|
ldr r0, _0812285C @ =0x0000fffc
|
|
strh r0, [r5, 0x26]
|
|
movs r0, 0x4
|
|
strh r0, [r4, 0x26]
|
|
_0812284C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122858: .4byte gSprites
|
|
_0812285C: .4byte 0x0000fffc
|
|
thumb_func_end sub_81227DC
|
|
|
|
thumb_func_start sub_8122860
|
|
sub_8122860: @ 8122860
|
|
push {lr}
|
|
ldr r0, _08122878 @ =gUnknown_845A474
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _0812287C @ =gUnknown_845A4EC
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _08122880 @ =gUnknown_845A47C
|
|
bl LoadCompressedObjectPalette
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122878: .4byte gUnknown_845A474
|
|
_0812287C: .4byte gUnknown_845A4EC
|
|
_08122880: .4byte gUnknown_845A47C
|
|
thumb_func_end sub_8122860
|
|
|
|
thumb_func_start party_menu_status_condition_object
|
|
party_menu_status_condition_object: @ 8122884
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _081228AC
|
|
ldr r0, _081228B4 @ =gUnknown_845A584
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x4]
|
|
ldrb r2, [r2, 0x5]
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xC]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl party_menu_get_status_condition_and_update_object
|
|
_081228AC:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081228B4: .4byte gUnknown_845A584
|
|
thumb_func_end party_menu_status_condition_object
|
|
|
|
thumb_func_start party_menu_link_mon_status_condition_object
|
|
party_menu_link_mon_status_condition_object: @ 81228B8
|
|
push {r4,r5,lr}
|
|
adds r4, r2, 0
|
|
lsls r0, 16
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
cmp r0, 0
|
|
beq _081228F4
|
|
ldr r0, _081228FC @ =gUnknown_845A584
|
|
ldr r2, [r4, 0x4]
|
|
ldrb r1, [r2, 0x4]
|
|
ldrb r2, [r2, 0x5]
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
strb r0, [r4, 0xC]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl party_menu_update_status_condition_object
|
|
ldr r2, _08122900 @ =gSprites
|
|
ldrb r0, [r4, 0xC]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xD
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x5]
|
|
_081228F4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081228FC: .4byte gUnknown_845A584
|
|
_08122900: .4byte gSprites
|
|
thumb_func_end party_menu_link_mon_status_condition_object
|
|
|
|
thumb_func_start party_menu_get_status_condition_and_update_object
|
|
party_menu_get_status_condition_and_update_object: @ 8122904
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
bl sub_81208A4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
bl party_menu_update_status_condition_object
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end party_menu_get_status_condition_and_update_object
|
|
|
|
thumb_func_start party_menu_update_status_condition_object
|
|
party_menu_update_status_condition_object: @ 812291C
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _0812292C
|
|
cmp r2, 0x6
|
|
bne _08122948
|
|
_0812292C:
|
|
ldr r2, _08122944 @ =gSprites
|
|
ldrb r1, [r5, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
b _08122972
|
|
.align 2, 0
|
|
_08122944: .4byte gSprites
|
|
_08122948:
|
|
ldrb r1, [r5, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r4, _0812297C @ =gSprites
|
|
adds r0, r4
|
|
subs r1, r2, 0x1
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl StartSpriteAnim
|
|
ldrb r1, [r5, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
adds r0, 0x3E
|
|
ldrb r2, [r0]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r2
|
|
_08122972:
|
|
strb r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812297C: .4byte gSprites
|
|
thumb_func_end party_menu_update_status_condition_object
|
|
|
|
thumb_func_start sub_8122980
|
|
sub_8122980: @ 8122980
|
|
push {lr}
|
|
ldr r0, _08122994 @ =gUnknown_845A574
|
|
bl LoadCompressedObjectPic
|
|
ldr r0, _08122998 @ =gUnknown_845A57C
|
|
bl LoadCompressedObjectPalette
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122994: .4byte gUnknown_845A574
|
|
_08122998: .4byte gUnknown_845A57C
|
|
thumb_func_end sub_8122980
|
|
|
|
thumb_func_start sub_812299C
|
|
sub_812299C: @ 812299C
|
|
push {r4,lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
cmp r2, 0
|
|
bne _081229B0
|
|
bl sub_81229FC
|
|
b _081229E8
|
|
_081229B0:
|
|
ldr r4, _081229F0 @ =gUnknown_203B09C
|
|
ldr r1, [r4]
|
|
ldr r0, _081229F4 @ =gUnknown_845A760
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, 0x17]
|
|
movs r3, 0
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r3, r0
|
|
bcs _081229E8
|
|
ldr r1, _081229F8 @ =gUnknown_845A72C
|
|
lsls r0, r2, 2
|
|
adds r2, r0, r1
|
|
_081229CC:
|
|
ldr r1, [r4]
|
|
adds r1, 0xF
|
|
adds r1, r3
|
|
ldr r0, [r2]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r3, r0
|
|
bcc _081229CC
|
|
_081229E8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081229F0: .4byte gUnknown_203B09C
|
|
_081229F4: .4byte gUnknown_845A760
|
|
_081229F8: .4byte gUnknown_845A72C
|
|
thumb_func_end sub_812299C
|
|
|
|
thumb_func_start sub_81229FC
|
|
sub_81229FC: @ 81229FC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r10, r1
|
|
ldr r2, _08122A78 @ =gUnknown_203B09C
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x17]
|
|
ldr r1, [r2]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
movs r2, 0
|
|
bl AppendToList
|
|
movs r7, 0
|
|
ldr r0, _08122A7C @ =gUnknown_845A76E
|
|
ldrh r0, [r0]
|
|
str r0, [sp]
|
|
mov r0, r9
|
|
adds r0, 0x64
|
|
str r0, [sp, 0x4]
|
|
_08122A34:
|
|
movs r4, 0
|
|
adds r1, r7, 0x1
|
|
mov r8, r1
|
|
ldr r0, [sp]
|
|
cmp r0, 0xC
|
|
beq _08122A90
|
|
movs r0, 0x64
|
|
mov r6, r10
|
|
muls r6, r0
|
|
ldr r5, _08122A7C @ =gUnknown_845A76E
|
|
_08122A48:
|
|
mov r1, r9
|
|
adds r0, r1, r6
|
|
adds r1, r7, 0
|
|
adds r1, 0xD
|
|
bl GetMonData
|
|
lsls r1, r4, 1
|
|
adds r1, r5
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
bne _08122A80
|
|
ldr r0, _08122A78 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
adds r2, r4, 0
|
|
adds r2, 0x12
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
bl AppendToList
|
|
b _08122A90
|
|
.align 2, 0
|
|
_08122A78: .4byte gUnknown_203B09C
|
|
_08122A7C: .4byte gUnknown_845A76E
|
|
_08122A80:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 1
|
|
adds r0, r5
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xC
|
|
bne _08122A48
|
|
_08122A90:
|
|
mov r1, r8
|
|
lsls r0, r1, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0x3
|
|
bls _08122A34
|
|
ldr r0, [sp, 0x4]
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08122AB6
|
|
ldr r0, _08122AE8 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
movs r2, 0x1
|
|
bl AppendToList
|
|
_08122AB6:
|
|
movs r0, 0x64
|
|
mov r1, r10
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
add r0, r9
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08122AEC
|
|
ldr r0, _08122AE8 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
movs r2, 0x6
|
|
bl AppendToList
|
|
b _08122AFC
|
|
.align 2, 0
|
|
_08122AE8: .4byte gUnknown_203B09C
|
|
_08122AEC:
|
|
ldr r0, _08122B1C @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
movs r2, 0x3
|
|
bl AppendToList
|
|
_08122AFC:
|
|
ldr r0, _08122B1C @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0xF
|
|
adds r1, 0x17
|
|
movs r2, 0x2
|
|
bl AppendToList
|
|
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
|
|
_08122B1C: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_81229FC
|
|
|
|
thumb_func_start sub_8122B20
|
|
sub_8122B20: @ 8122B20
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r1, _08122B3C @ =gUnknown_203B0A0
|
|
ldrb r0, [r1, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
adds r3, r1, 0
|
|
cmp r0, 0xA
|
|
bhi _08122BCA
|
|
lsls r0, 2
|
|
ldr r1, _08122B40 @ =_08122B44
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08122B3C: .4byte gUnknown_203B0A0
|
|
_08122B40: .4byte _08122B44
|
|
.align 2, 0
|
|
_08122B44:
|
|
.4byte _08122B70
|
|
.4byte _08122B80
|
|
.4byte _08122BCA
|
|
.4byte _08122BCA
|
|
.4byte _08122B8C
|
|
.4byte _08122BCA
|
|
.4byte _08122BAC
|
|
.4byte _08122BCA
|
|
.4byte _08122BBE
|
|
.4byte _08122BC2
|
|
.4byte _08122BC6
|
|
_08122B70:
|
|
adds r0, r2, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r1, 31
|
|
b _08122BCC
|
|
_08122B80:
|
|
adds r0, r2, 0
|
|
bl sub_8127A84
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
b _08122BCC
|
|
_08122B8C:
|
|
movs r0, 0x9
|
|
ldrsb r0, [r3, r0]
|
|
bl sub_8127510
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _08122BA4
|
|
cmp r0, 0x1
|
|
beq _08122BA8
|
|
movs r1, 0x7
|
|
b _08122BCC
|
|
_08122BA4:
|
|
movs r1, 0x4
|
|
b _08122BCC
|
|
_08122BA8:
|
|
movs r1, 0x5
|
|
b _08122BCC
|
|
_08122BAC:
|
|
adds r0, r2, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
movs r1, 0x6
|
|
cmp r0, 0
|
|
beq _08122BCC
|
|
movs r1, 0x7
|
|
b _08122BCC
|
|
_08122BBE:
|
|
movs r1, 0xA
|
|
b _08122BCC
|
|
_08122BC2:
|
|
movs r1, 0xB
|
|
b _08122BCC
|
|
_08122BC6:
|
|
movs r1, 0xC
|
|
b _08122BCC
|
|
_08122BCA:
|
|
movs r1, 0
|
|
_08122BCC:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8122B20
|
|
|
|
thumb_func_start sub_8122BD4
|
|
sub_8122BD4: @ 8122BD4
|
|
push {r4-r6,lr}
|
|
ldr r5, _08122C20 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r5, r1]
|
|
movs r0, 0x64
|
|
adds r4, r1, 0
|
|
muls r4, r0
|
|
ldr r6, _08122C24 @ =gPlayerParty
|
|
adds r4, r6
|
|
ldr r1, _08122C28 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08122C2C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldrb r5, [r5, 0x9]
|
|
adds r0, r4, 0
|
|
bl sub_8122B20
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_812299C
|
|
movs r0, 0
|
|
bl sub_8121E5C
|
|
movs r0, 0x16
|
|
bl sub_8121D0C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122C20: .4byte gUnknown_203B0A0
|
|
_08122C24: .4byte gPlayerParty
|
|
_08122C28: .4byte gStringVar1
|
|
_08122C2C: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8122BD4
|
|
|
|
thumb_func_start sub_8122C30
|
|
sub_8122C30: @ 8122C30
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8122BD4
|
|
ldr r1, _08122C54 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _08122C58 @ =sub_8122C5C
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122C54: .4byte gTasks
|
|
_08122C58: .4byte sub_8122C5C
|
|
thumb_func_end sub_8122C30
|
|
|
|
thumb_func_start sub_8122C5C
|
|
sub_8122C5C: @ 8122C5C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08122C94 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08122D3E
|
|
bl sub_80BF748
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08122D3E
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r1, _08122C98 @ =gTasks+0x8
|
|
adds r7, r0, r1
|
|
ldr r0, _08122C9C @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x17]
|
|
cmp r0, 0x3
|
|
bhi _08122CA0
|
|
bl ProcessMenuInputNoWrapAround_other
|
|
b _08122CA4
|
|
.align 2, 0
|
|
_08122C94: .4byte gPaletteFade
|
|
_08122C98: .4byte gTasks+0x8
|
|
_08122C9C: .4byte gUnknown_203B09C
|
|
_08122CA0:
|
|
bl ProcessMenuInput_other
|
|
_08122CA4:
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0
|
|
ldrsh r4, [r7, r0]
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
beq _08122CCE
|
|
ldr r0, _08122D14 @ =gUnknown_203B09C
|
|
ldr r4, [r0]
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, 0xF
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
bl sub_8122138
|
|
_08122CCE:
|
|
bl GetMenuCursorPos
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r7]
|
|
lsls r0, r5, 24
|
|
asrs r5, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08122D3E
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
bne _08122D1C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _08122D14 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xE
|
|
bl sub_8121CE4
|
|
ldr r2, _08122D18 @ =gUnknown_845A618
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x17]
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0xE]
|
|
lsls r0, 3
|
|
adds r2, 0x4
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
adds r0, r6, 0
|
|
bl _call_via_r1
|
|
b _08122D3E
|
|
.align 2, 0
|
|
_08122D14: .4byte gUnknown_203B09C
|
|
_08122D18: .4byte gUnknown_845A618
|
|
_08122D1C:
|
|
ldr r4, _08122D44 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xE
|
|
bl sub_8121CE4
|
|
ldr r1, _08122D48 @ =gUnknown_845A618
|
|
ldr r0, [r4]
|
|
adds r0, 0xF
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r6, 0
|
|
bl _call_via_r1
|
|
_08122D3E:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122D44: .4byte gUnknown_203B09C
|
|
_08122D48: .4byte gUnknown_845A618
|
|
thumb_func_end sub_8122C5C
|
|
|
|
thumb_func_start sub_8122D4C
|
|
sub_8122D4C: @ 8122D4C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _08122D70 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08122D74 @ =sub_8122D78
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122D70: .4byte gUnknown_203B09C
|
|
_08122D74: .4byte sub_8122D78
|
|
thumb_func_end sub_8122D4C
|
|
|
|
thumb_func_start sub_8122D78
|
|
sub_8122D78: @ 8122D78
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r4, _08122DAC @ =gUnknown_203B0A0
|
|
ldrb r1, [r4, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _08122D8C
|
|
bl pokemon_change_order
|
|
_08122D8C:
|
|
ldr r0, _08122DB0 @ =gPlayerParty
|
|
ldrb r1, [r4, 0x9]
|
|
ldr r2, _08122DB4 @ =gPlayerPartyCount
|
|
ldrb r2, [r2]
|
|
subs r2, 0x1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r3, _08122DB8 @ =sub_8122DBC
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
bl sub_81344F8
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122DAC: .4byte gUnknown_203B0A0
|
|
_08122DB0: .4byte gPlayerParty
|
|
_08122DB4: .4byte gPlayerPartyCount
|
|
_08122DB8: .4byte sub_8122DBC
|
|
thumb_func_end sub_8122D78
|
|
|
|
thumb_func_start sub_8122DBC
|
|
sub_8122DBC: @ 8122DBC
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r2, _08122DF4 @ =gPaletteFade
|
|
ldrb r0, [r2, 0x8]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x8]
|
|
bl sub_8138B20
|
|
ldr r3, _08122DF8 @ =gUnknown_203B0A0
|
|
strb r0, [r3, 0x9]
|
|
ldrb r0, [r3, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r3, 0xB]
|
|
movs r1, 0x16
|
|
str r1, [sp]
|
|
ldr r1, _08122DFC @ =sub_8122C30
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r3]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122DF4: .4byte gPaletteFade
|
|
_08122DF8: .4byte gUnknown_203B0A0
|
|
_08122DFC: .4byte sub_8122C30
|
|
thumb_func_end sub_8122DBC
|
|
|
|
thumb_func_start brm_switch
|
|
brm_switch: @ 8122E00
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r5, _08122E4C @ =gUnknown_203B0A0
|
|
movs r0, 0x8
|
|
strb r0, [r5, 0xB]
|
|
ldr r4, _08122E50 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
movs r0, 0x3
|
|
bl sub_8121D0C
|
|
ldrb r0, [r5, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
ldrb r0, [r5, 0x9]
|
|
strb r0, [r5, 0xA]
|
|
ldr r1, _08122E54 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08122E58 @ =sub_811FB28
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122E4C: .4byte gUnknown_203B0A0
|
|
_08122E50: .4byte gUnknown_203B09C
|
|
_08122E54: .4byte gTasks
|
|
_08122E58: .4byte sub_811FB28
|
|
thumb_func_end brm_switch
|
|
|
|
thumb_func_start sub_8122E5C
|
|
sub_8122E5C: @ 8122E5C
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
ldr r1, _08122E84 @ =gTasks+0x8
|
|
adds r6, r0, r1
|
|
ldr r4, _08122E88 @ =gUnknown_203B0A0
|
|
movs r1, 0xA
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
cmp r1, r0
|
|
bne _08122E8C
|
|
adds r0, r7, 0
|
|
bl sub_81235E8
|
|
b _08122FE2
|
|
.align 2, 0
|
|
_08122E84: .4byte gTasks+0x8
|
|
_08122E88: .4byte gUnknown_203B0A0
|
|
_08122E8C:
|
|
bl sub_812358C
|
|
add r2, sp, 0x8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, _08122EE8 @ =gUnknown_203B0B4
|
|
ldr r1, [r1]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
movs r4, 0
|
|
strb r0, [r2]
|
|
adds r0, r2, 0
|
|
ldrb r0, [r0]
|
|
movs r1, 0x1
|
|
bl GetWindowAttribute
|
|
strh r0, [r6]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
movs r1, 0x2
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0x2]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
movs r1, 0x3
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0x4]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
movs r1, 0x4
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0x6]
|
|
strh r4, [r6, 0x10]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0xA
|
|
bne _08122EEC
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
b _08122EEE
|
|
.align 2, 0
|
|
_08122EE8: .4byte gUnknown_203B0B4
|
|
_08122EEC:
|
|
movs r0, 0x1
|
|
_08122EEE:
|
|
strh r0, [r6, 0x14]
|
|
add r2, sp, 0x8
|
|
ldr r0, _08122F4C @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xA]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
ldr r1, _08122F50 @ =gUnknown_203B0B4
|
|
ldr r1, [r1]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
movs r4, 0
|
|
strb r0, [r2, 0x1]
|
|
adds r0, r2, 0
|
|
ldrb r0, [r0, 0x1]
|
|
movs r1, 0x1
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0x8]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
movs r1, 0x2
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0xA]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
movs r1, 0x3
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0xC]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
movs r1, 0x4
|
|
bl GetWindowAttribute
|
|
strh r0, [r6, 0xE]
|
|
strh r4, [r6, 0x12]
|
|
movs r1, 0xC
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0xA
|
|
bne _08122F54
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
b _08122F56
|
|
.align 2, 0
|
|
_08122F4C: .4byte gUnknown_203B0A0
|
|
_08122F50: .4byte gUnknown_203B0B4
|
|
_08122F54:
|
|
movs r0, 0x1
|
|
_08122F56:
|
|
strh r0, [r6, 0x16]
|
|
ldr r4, _08122FEC @ =gUnknown_203B0C8
|
|
movs r0, 0x4
|
|
ldrsh r1, [r6, r0]
|
|
movs r2, 0x6
|
|
ldrsh r0, [r6, r2]
|
|
lsls r0, 1
|
|
muls r0, r1
|
|
bl Alloc
|
|
str r0, [r4]
|
|
ldr r5, _08122FF0 @ =gUnknown_203B0CC
|
|
movs r0, 0xC
|
|
ldrsh r1, [r6, r0]
|
|
movs r2, 0xE
|
|
ldrsh r0, [r6, r2]
|
|
lsls r0, 1
|
|
muls r0, r1
|
|
bl Alloc
|
|
str r0, [r5]
|
|
ldr r1, [r4]
|
|
ldrb r2, [r6]
|
|
ldrb r3, [r6, 0x2]
|
|
ldrb r0, [r6, 0x4]
|
|
str r0, [sp]
|
|
ldrb r0, [r6, 0x6]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
bl sub_80F6B94
|
|
ldr r1, [r5]
|
|
ldrb r2, [r6, 0x8]
|
|
ldrb r3, [r6, 0xA]
|
|
ldrb r0, [r6, 0xC]
|
|
str r0, [sp]
|
|
ldrb r0, [r6, 0xE]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
bl sub_80F6B94
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
bl ClearWindowTilemap
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl ClearWindowTilemap
|
|
ldr r4, _08122FF4 @ =gUnknown_203B0A0
|
|
movs r0, 0x9
|
|
strb r0, [r4, 0xB]
|
|
ldrb r0, [r4, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
ldrb r0, [r4, 0xA]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
adds r0, r7, 0
|
|
bl sub_81231E8
|
|
ldr r1, _08122FF8 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08122FFC @ =sub_8123270
|
|
str r1, [r0]
|
|
_08122FE2:
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08122FEC: .4byte gUnknown_203B0C8
|
|
_08122FF0: .4byte gUnknown_203B0CC
|
|
_08122FF4: .4byte gUnknown_203B0A0
|
|
_08122FF8: .4byte gTasks
|
|
_08122FFC: .4byte sub_8123270
|
|
thumb_func_end sub_8122E5C
|
|
|
|
thumb_func_start sub_8123000
|
|
sub_8123000: @ 8123000
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r2, 0
|
|
mov r12, r3
|
|
ldr r7, [sp, 0x18]
|
|
lsls r0, 16
|
|
lsrs r3, r0, 16
|
|
adds r5, r3, 0
|
|
lsls r1, 16
|
|
lsrs r2, r1, 16
|
|
mov r8, r2
|
|
lsls r0, r3, 16
|
|
asrs r1, r0, 16
|
|
lsls r0, r2, 16
|
|
asrs r0, 16
|
|
adds r4, r1, r0
|
|
cmp r4, 0
|
|
blt _0812302A
|
|
cmp r1, 0x1F
|
|
ble _0812302E
|
|
_0812302A:
|
|
movs r0, 0
|
|
b _0812305C
|
|
_0812302E:
|
|
cmp r1, 0
|
|
bge _08123042
|
|
negs r0, r1
|
|
strb r0, [r6]
|
|
movs r0, 0
|
|
mov r1, r12
|
|
strb r0, [r1]
|
|
adds r0, r2, r3
|
|
strb r0, [r7]
|
|
b _0812305A
|
|
_08123042:
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
mov r0, r12
|
|
strb r5, [r0]
|
|
cmp r4, 0x1F
|
|
ble _08123056
|
|
movs r0, 0x20
|
|
subs r0, r5
|
|
strb r0, [r7]
|
|
b _0812305A
|
|
_08123056:
|
|
mov r1, r8
|
|
strb r1, [r7]
|
|
_0812305A:
|
|
movs r0, 0x1
|
|
_0812305C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8123000
|
|
|
|
thumb_func_start sub_8123068
|
|
sub_8123068: @ 8123068
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x34
|
|
str r0, [sp, 0x28]
|
|
ldr r0, [sp, 0x54]
|
|
ldr r4, [sp, 0x58]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
mov r9, r2
|
|
lsls r3, 16
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
str r4, [sp, 0x30]
|
|
lsls r1, 16
|
|
asrs r7, r1, 16
|
|
lsrs r0, r3, 16
|
|
str r0, [sp, 0x2C]
|
|
asrs r3, 16
|
|
mov r8, r3
|
|
mov r5, sp
|
|
adds r5, 0x25
|
|
mov r6, sp
|
|
adds r6, 0x26
|
|
str r6, [sp]
|
|
adds r0, r7, 0
|
|
mov r1, r8
|
|
add r2, sp, 0x24
|
|
adds r3, r5, 0
|
|
bl sub_8123000
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08123122
|
|
ldrb r2, [r5]
|
|
mov r1, r9
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
ldrb r0, [r6]
|
|
str r0, [sp]
|
|
mov r1, r10
|
|
lsls r0, r1, 24
|
|
lsrs r4, r0, 24
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
mov r3, r9
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
ldr r1, [sp, 0x30]
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
adds r0, r7, r0
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
str r6, [sp]
|
|
mov r1, r8
|
|
add r2, sp, 0x24
|
|
adds r3, r5, 0
|
|
bl sub_8123000
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08123122
|
|
add r0, sp, 0x24
|
|
ldrb r2, [r0]
|
|
ldr r1, [sp, 0x2C]
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
str r4, [sp, 0x4]
|
|
ldrb r0, [r5]
|
|
str r0, [sp, 0x8]
|
|
mov r0, r9
|
|
str r0, [sp, 0xC]
|
|
ldrb r0, [r6]
|
|
str r0, [sp, 0x10]
|
|
str r4, [sp, 0x14]
|
|
movs r0, 0x11
|
|
str r0, [sp, 0x18]
|
|
movs r0, 0
|
|
str r0, [sp, 0x1C]
|
|
str r0, [sp, 0x20]
|
|
ldr r1, [sp, 0x28]
|
|
movs r3, 0
|
|
bl CopyRectToBgTilemapBufferRect
|
|
_08123122:
|
|
add sp, 0x34
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8123068
|
|
|
|
thumb_func_start sub_8123134
|
|
sub_8123134: @ 8123134
|
|
push {r4,lr}
|
|
ldr r4, _08123184 @ =gSprites
|
|
ldrb r2, [r0, 0xB]
|
|
lsls r3, r2, 4
|
|
adds r3, r2
|
|
lsls r3, 2
|
|
adds r3, r4
|
|
lsls r1, 16
|
|
asrs r1, 13
|
|
ldrh r2, [r3, 0x24]
|
|
adds r2, r1
|
|
strh r2, [r3, 0x24]
|
|
ldrb r3, [r0, 0xA]
|
|
lsls r2, r3, 4
|
|
adds r2, r3
|
|
lsls r2, 2
|
|
adds r2, r4
|
|
ldrh r3, [r2, 0x24]
|
|
adds r3, r1
|
|
strh r3, [r2, 0x24]
|
|
ldrb r3, [r0, 0x9]
|
|
lsls r2, r3, 4
|
|
adds r2, r3
|
|
lsls r2, 2
|
|
adds r2, r4
|
|
ldrh r3, [r2, 0x24]
|
|
adds r3, r1
|
|
strh r3, [r2, 0x24]
|
|
ldrb r2, [r0, 0xC]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r2, [r0, 0x24]
|
|
adds r2, r1
|
|
strh r2, [r0, 0x24]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123184: .4byte gSprites
|
|
thumb_func_end sub_8123134
|
|
|
|
thumb_func_start sub_8123188
|
|
sub_8123188: @ 8123188
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _081231DC @ =gTasks+0x8
|
|
adds r4, r1, r0
|
|
movs r1, 0x14
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _081231B6
|
|
ldr r2, _081231E0 @ =gUnknown_203B0B4
|
|
ldr r0, _081231E4 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, 4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
movs r2, 0x14
|
|
ldrsh r1, [r4, r2]
|
|
bl sub_8123134
|
|
_081231B6:
|
|
movs r1, 0x16
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _081231D4
|
|
ldr r2, _081231E0 @ =gUnknown_203B0B4
|
|
ldr r0, _081231E4 @ =gUnknown_203B0A0
|
|
movs r1, 0xA
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, 4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
movs r2, 0x16
|
|
ldrsh r1, [r4, r2]
|
|
bl sub_8123134
|
|
_081231D4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081231DC: .4byte gTasks+0x8
|
|
_081231E0: .4byte gUnknown_203B0B4
|
|
_081231E4: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_8123188
|
|
|
|
thumb_func_start sub_81231E8
|
|
sub_81231E8: @ 81231E8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08123264 @ =gTasks+0x8
|
|
adds r5, r1, r0
|
|
movs r1, 0x14
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0
|
|
beq _08123228
|
|
ldr r0, _08123268 @ =gUnknown_203B0C8
|
|
ldr r0, [r0]
|
|
ldrh r1, [r5, 0x10]
|
|
ldrh r2, [r5]
|
|
adds r1, r2
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
movs r3, 0x2
|
|
ldrsh r2, [r5, r3]
|
|
movs r4, 0x4
|
|
ldrsh r3, [r5, r4]
|
|
movs r6, 0x6
|
|
ldrsh r4, [r5, r6]
|
|
str r4, [sp]
|
|
movs r6, 0x14
|
|
ldrsh r4, [r5, r6]
|
|
str r4, [sp, 0x4]
|
|
bl sub_8123068
|
|
_08123228:
|
|
movs r1, 0x16
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0
|
|
beq _08123256
|
|
ldr r0, _0812326C @ =gUnknown_203B0CC
|
|
ldr r0, [r0]
|
|
ldrh r1, [r5, 0x12]
|
|
ldrh r2, [r5, 0x8]
|
|
adds r1, r2
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
movs r3, 0xA
|
|
ldrsh r2, [r5, r3]
|
|
movs r4, 0xC
|
|
ldrsh r3, [r5, r4]
|
|
movs r6, 0xE
|
|
ldrsh r4, [r5, r6]
|
|
str r4, [sp]
|
|
movs r6, 0x16
|
|
ldrsh r4, [r5, r6]
|
|
str r4, [sp, 0x4]
|
|
bl sub_8123068
|
|
_08123256:
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123264: .4byte gTasks+0x8
|
|
_08123268: .4byte gUnknown_203B0C8
|
|
_0812326C: .4byte gUnknown_203B0CC
|
|
thumb_func_end sub_81231E8
|
|
|
|
thumb_func_start sub_8123270
|
|
sub_8123270: @ 8123270
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r7, r0, 3
|
|
ldr r0, _08123370 @ =gTasks+0x8
|
|
mov r8, r0
|
|
adds r6, r7, r0
|
|
adds r0, r4, 0
|
|
bl sub_81231E8
|
|
adds r0, r4, 0
|
|
bl sub_8123188
|
|
ldrh r1, [r6, 0x14]
|
|
ldrh r2, [r6, 0x10]
|
|
adds r1, r2
|
|
strh r1, [r6, 0x10]
|
|
ldrh r0, [r6, 0x16]
|
|
ldrh r3, [r6, 0x12]
|
|
adds r0, r3
|
|
strh r0, [r6, 0x12]
|
|
add r2, sp, 0x8
|
|
ldrh r0, [r6]
|
|
adds r0, r1
|
|
strh r0, [r2]
|
|
adds r1, r2, 0
|
|
ldrh r0, [r6, 0x12]
|
|
ldrh r3, [r6, 0x8]
|
|
adds r2, r0, r3
|
|
strh r2, [r1, 0x2]
|
|
adds r0, r1, 0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x21
|
|
bls _08123362
|
|
lsls r0, r2, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x21
|
|
bls _08123362
|
|
movs r1, 0x14
|
|
ldrsh r0, [r6, r1]
|
|
negs r0, r0
|
|
strh r0, [r6, 0x14]
|
|
movs r2, 0x16
|
|
ldrsh r0, [r6, r2]
|
|
negs r0, r0
|
|
strh r0, [r6, 0x16]
|
|
bl swap_pokemon_and_oams
|
|
ldr r4, _08123374 @ =gUnknown_203B0A0
|
|
ldrb r0, [r4, 0x9]
|
|
bl sub_811F234
|
|
ldrb r0, [r4, 0xA]
|
|
bl sub_811F234
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
ldr r5, _08123378 @ =gUnknown_203B0B4
|
|
ldr r1, [r5]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl PutWindowTilemap
|
|
movs r0, 0xA
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl PutWindowTilemap
|
|
ldr r0, _0812337C @ =gUnknown_203B0C8
|
|
ldr r1, [r0]
|
|
ldrb r2, [r6]
|
|
ldrb r3, [r6, 0x2]
|
|
ldrb r0, [r6, 0x4]
|
|
str r0, [sp]
|
|
ldrb r0, [r6, 0x6]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
bl sub_80F6B94
|
|
ldr r0, _08123380 @ =gUnknown_203B0CC
|
|
ldr r1, [r0]
|
|
ldrb r2, [r6, 0x8]
|
|
ldrb r3, [r6, 0xA]
|
|
ldrb r0, [r6, 0xC]
|
|
str r0, [sp]
|
|
ldrb r0, [r6, 0xE]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
bl sub_80F6B94
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl ClearWindowTilemap
|
|
movs r0, 0xA
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, [r5]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl ClearWindowTilemap
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r7, r0
|
|
ldr r1, _08123384 @ =sub_8123388
|
|
str r1, [r0]
|
|
_08123362:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123370: .4byte gTasks+0x8
|
|
_08123374: .4byte gUnknown_203B0A0
|
|
_08123378: .4byte gUnknown_203B0B4
|
|
_0812337C: .4byte gUnknown_203B0C8
|
|
_08123380: .4byte gUnknown_203B0CC
|
|
_08123384: .4byte sub_8123388
|
|
thumb_func_end sub_8123270
|
|
|
|
thumb_func_start sub_8123388
|
|
sub_8123388: @ 8123388
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r1, _081233E8 @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
adds r0, r6, 0
|
|
bl sub_81231E8
|
|
adds r0, r6, 0
|
|
bl sub_8123188
|
|
movs r1, 0x14
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
bne _081233F4
|
|
movs r2, 0x16
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
bne _081233F4
|
|
ldr r5, _081233EC @ =gUnknown_203B0A0
|
|
movs r0, 0x9
|
|
ldrsb r0, [r5, r0]
|
|
ldr r4, _081233F0 @ =gUnknown_203B0B4
|
|
ldr r1, [r4]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl PutWindowTilemap
|
|
movs r0, 0xA
|
|
ldrsb r0, [r5, r0]
|
|
ldr r1, [r4]
|
|
lsls r0, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
adds r0, r6, 0
|
|
bl sub_81235E8
|
|
b _08123418
|
|
.align 2, 0
|
|
_081233E8: .4byte gTasks+0x8
|
|
_081233EC: .4byte gUnknown_203B0A0
|
|
_081233F0: .4byte gUnknown_203B0B4
|
|
_081233F4:
|
|
ldrh r1, [r4, 0x14]
|
|
ldrh r0, [r4, 0x10]
|
|
adds r1, r0
|
|
strh r1, [r4, 0x10]
|
|
ldrh r0, [r4, 0x16]
|
|
ldrh r2, [r4, 0x12]
|
|
adds r0, r2
|
|
strh r0, [r4, 0x12]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
cmp r1, 0
|
|
bne _0812340E
|
|
strh r1, [r4, 0x14]
|
|
_0812340E:
|
|
movs r1, 0x12
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
bne _08123418
|
|
strh r0, [r4, 0x16]
|
|
_08123418:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8123388
|
|
|
|
thumb_func_start oamt_swap_pos
|
|
oamt_swap_pos: @ 8123420
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
ldrb r3, [r0]
|
|
ldrb r2, [r1]
|
|
strb r2, [r0]
|
|
strb r3, [r1]
|
|
ldr r5, _081234E8 @ =gSprites
|
|
ldrb r2, [r0]
|
|
lsls r3, r2, 4
|
|
adds r3, r2
|
|
lsls r3, 2
|
|
adds r3, r5
|
|
ldrh r6, [r3, 0x20]
|
|
ldrh r2, [r3, 0x22]
|
|
mov r8, r2
|
|
ldrh r2, [r3, 0x24]
|
|
mov r9, r2
|
|
ldrh r2, [r3, 0x26]
|
|
mov r10, r2
|
|
ldrb r4, [r1]
|
|
lsls r2, r4, 4
|
|
adds r2, r4
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrh r2, [r2, 0x20]
|
|
strh r2, [r3, 0x20]
|
|
ldrb r2, [r0]
|
|
lsls r3, r2, 4
|
|
adds r3, r2
|
|
lsls r3, 2
|
|
adds r3, r5
|
|
ldrb r4, [r1]
|
|
lsls r2, r4, 4
|
|
adds r2, r4
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrh r2, [r2, 0x22]
|
|
strh r2, [r3, 0x22]
|
|
ldrb r2, [r0]
|
|
lsls r3, r2, 4
|
|
adds r3, r2
|
|
lsls r3, 2
|
|
adds r3, r5
|
|
ldrb r4, [r1]
|
|
lsls r2, r4, 4
|
|
adds r2, r4
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrh r2, [r2, 0x24]
|
|
strh r2, [r3, 0x24]
|
|
ldrb r0, [r0]
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrb r3, [r1]
|
|
lsls r0, r3, 4
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldrh r0, [r0, 0x26]
|
|
strh r0, [r2, 0x26]
|
|
ldrb r2, [r1]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
strh r6, [r0, 0x20]
|
|
ldrb r2, [r1]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
mov r2, r8
|
|
strh r2, [r0, 0x22]
|
|
ldrb r2, [r1]
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
mov r2, r9
|
|
strh r2, [r0, 0x24]
|
|
ldrb r1, [r1]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
mov r1, r10
|
|
strh r1, [r0, 0x26]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081234E8: .4byte gSprites
|
|
thumb_func_end oamt_swap_pos
|
|
|
|
thumb_func_start swap_pokemon_and_oams
|
|
swap_pokemon_and_oams: @ 81234EC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _08123580 @ =gUnknown_203B0B4
|
|
ldr r2, _08123584 @ =gUnknown_203B0A0
|
|
movs r3, 0x9
|
|
ldrsb r3, [r2, r3]
|
|
lsls r0, r3, 4
|
|
ldr r1, [r1]
|
|
adds r0, r1, r0
|
|
str r0, [sp]
|
|
ldrb r2, [r2, 0xA]
|
|
lsls r2, 24
|
|
asrs r2, 24
|
|
lsls r0, r2, 4
|
|
adds r0, r1, r0
|
|
str r0, [sp, 0x4]
|
|
movs r1, 0x64
|
|
adds r4, r3, 0
|
|
muls r4, r1
|
|
ldr r0, _08123588 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r5, r2, 0
|
|
muls r5, r1
|
|
adds r5, r0
|
|
movs r0, 0x64
|
|
bl Alloc
|
|
adds r6, r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r6, 0
|
|
bl Free
|
|
ldr r0, [sp]
|
|
adds r0, 0xB
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, 0xB
|
|
bl oamt_swap_pos
|
|
ldr r0, [sp]
|
|
adds r0, 0xA
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, 0xA
|
|
bl oamt_swap_pos
|
|
ldr r0, [sp]
|
|
adds r0, 0x9
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, 0x9
|
|
bl oamt_swap_pos
|
|
ldr r0, [sp]
|
|
adds r0, 0xC
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, 0xC
|
|
bl oamt_swap_pos
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123580: .4byte gUnknown_203B0B4
|
|
_08123584: .4byte gUnknown_203B0A0
|
|
_08123588: .4byte gPlayerParty
|
|
thumb_func_end swap_pokemon_and_oams
|
|
|
|
thumb_func_start sub_812358C
|
|
sub_812358C: @ 812358C
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
movs r0, 0x4
|
|
bl Alloc
|
|
adds r4, r0, 0
|
|
ldr r0, _081235E0 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r5, _081235E4 @ =gPlayerParty
|
|
adds r0, r5
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r4]
|
|
mov r1, r8
|
|
movs r0, 0xA
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r6
|
|
adds r0, r5
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r4, 0x2]
|
|
movs r0, 0x3
|
|
adds r1, r4, 0
|
|
bl sub_8113550
|
|
adds r0, r4, 0
|
|
bl Free
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081235E0: .4byte gUnknown_203B0A0
|
|
_081235E4: .4byte gPlayerParty
|
|
thumb_func_end sub_812358C
|
|
|
|
thumb_func_start sub_81235E8
|
|
sub_81235E8: @ 81235E8
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _08123630 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r4, _08123634 @ =gUnknown_203B0A0
|
|
movs r0, 0
|
|
strb r0, [r4, 0xB]
|
|
ldrb r0, [r4, 0x9]
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
ldrb r0, [r4, 0xA]
|
|
strb r0, [r4, 0x9]
|
|
ldrb r0, [r4, 0xA]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r1, _08123638 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0812363C @ =sub_811FB28
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123630: .4byte gUnknown_203B09C
|
|
_08123634: .4byte gUnknown_203B0A0
|
|
_08123638: .4byte gTasks
|
|
_0812363C: .4byte sub_811FB28
|
|
thumb_func_end sub_81235E8
|
|
|
|
thumb_func_start brm_cancel_1
|
|
brm_cancel_1: @ 8123640
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _08123674 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, _08123678 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x6
|
|
bne _0812367C
|
|
movs r0, 0xF
|
|
bl sub_8121D0C
|
|
b _08123682
|
|
.align 2, 0
|
|
_08123674: .4byte gUnknown_203B09C
|
|
_08123678: .4byte gUnknown_203B0A0
|
|
_0812367C:
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
_08123682:
|
|
ldr r0, _08123698 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812369C @ =sub_811FB28
|
|
str r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123698: .4byte gTasks
|
|
_0812369C: .4byte sub_811FB28
|
|
thumb_func_end brm_cancel_1
|
|
|
|
thumb_func_start sub_81236A0
|
|
sub_81236A0: @ 81236A0
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _081236F0 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, _081236F4 @ =gPlayerParty
|
|
ldr r1, _081236F8 @ =gUnknown_203B0A0
|
|
ldrb r1, [r1, 0x9]
|
|
movs r2, 0x8
|
|
bl sub_812299C
|
|
movs r0, 0x1
|
|
bl sub_8121E5C
|
|
movs r0, 0x19
|
|
bl sub_8121D0C
|
|
ldr r1, _081236FC @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _08123700 @ =sub_8122C5C
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081236F0: .4byte gUnknown_203B09C
|
|
_081236F4: .4byte gPlayerParty
|
|
_081236F8: .4byte gUnknown_203B0A0
|
|
_081236FC: .4byte gTasks
|
|
_08123700: .4byte sub_8122C5C
|
|
thumb_func_end sub_81236A0
|
|
|
|
thumb_func_start sub_8123704
|
|
sub_8123704: @ 8123704
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _08123728 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _0812372C @ =sub_8123730
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123728: .4byte gUnknown_203B09C
|
|
_0812372C: .4byte sub_8123730
|
|
thumb_func_end sub_8123704
|
|
|
|
thumb_func_start sub_8123730
|
|
sub_8123730: @ 8123730
|
|
push {lr}
|
|
ldr r2, _08123740 @ =c2_8123744
|
|
movs r0, 0x1
|
|
movs r1, 0x3
|
|
bl sub_8107DB4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123740: .4byte c2_8123744
|
|
thumb_func_end sub_8123730
|
|
|
|
thumb_func_start c2_8123744
|
|
c2_8123744: @ 8123744
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r6, _0812376C @ =gUnknown_203AD30
|
|
ldrh r0, [r6]
|
|
cmp r0, 0
|
|
bne _08123778
|
|
ldr r3, _08123770 @ =gUnknown_203B0A0
|
|
ldrb r0, [r3, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r3, 0xB]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _08123774 @ =sub_8122C30
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r3]
|
|
b _081237AE
|
|
.align 2, 0
|
|
_0812376C: .4byte gUnknown_203AD30
|
|
_08123770: .4byte gUnknown_203B0A0
|
|
_08123774: .4byte sub_8122C30
|
|
_08123778:
|
|
ldr r4, _081237BC @ =gUnknown_203B0D8
|
|
ldr r5, _081237C0 @ =gUnknown_203B0A0
|
|
movs r0, 0x9
|
|
ldrsb r0, [r5, r0]
|
|
movs r1, 0x64
|
|
mov r8, r1
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r7, _081237C4 @ =gPlayerParty
|
|
adds r0, r7
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
strh r0, [r4]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _081237CC
|
|
ldrb r0, [r5, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r5, 0xB]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _081237C8 @ =sub_81238A4
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r5]
|
|
_081237AE:
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
b _08123814
|
|
.align 2, 0
|
|
_081237BC: .4byte gUnknown_203B0D8
|
|
_081237C0: .4byte gUnknown_203B0A0
|
|
_081237C4: .4byte gPlayerParty
|
|
_081237C8: .4byte sub_81238A4
|
|
_081237CC:
|
|
ldrh r0, [r6]
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081237F8
|
|
ldrh r0, [r6]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r5, r0]
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r7
|
|
ldrh r1, [r6]
|
|
bl sub_81205C8
|
|
bl sub_8123A80
|
|
b _08123814
|
|
_081237F8:
|
|
ldrb r0, [r5, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r5, 0xB]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _08123820 @ =sub_8123824
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r5]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
_08123814:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123820: .4byte sub_8123824
|
|
thumb_func_end c2_8123744
|
|
|
|
thumb_func_start sub_8123824
|
|
sub_8123824: @ 8123824
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _0812388C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08123880
|
|
ldr r0, _08123890 @ =gUnknown_203AD30
|
|
ldrh r4, [r0]
|
|
ldr r0, _08123894 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r5, _08123898 @ =gPlayerParty
|
|
adds r0, r5
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8120420
|
|
mov r1, r8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r6
|
|
adds r0, r5
|
|
adds r1, r4, 0
|
|
bl sub_81205C8
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
ldr r1, _0812389C @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081238A0 @ =sub_8123BF0
|
|
str r1, [r0]
|
|
_08123880:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812388C: .4byte gPaletteFade
|
|
_08123890: .4byte gUnknown_203AD30
|
|
_08123894: .4byte gUnknown_203B0A0
|
|
_08123898: .4byte gPlayerParty
|
|
_0812389C: .4byte gTasks
|
|
_081238A0: .4byte sub_8123BF0
|
|
thumb_func_end sub_8123824
|
|
|
|
thumb_func_start sub_81238A4
|
|
sub_81238A4: @ 81238A4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081238E4 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081238DC
|
|
ldr r0, _081238E8 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081238EC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _081238F0 @ =gUnknown_203B0D8
|
|
ldrh r1, [r1]
|
|
movs r2, 0x1
|
|
bl sub_812050C
|
|
ldr r1, _081238F4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081238F8 @ =sub_81238FC
|
|
str r1, [r0]
|
|
_081238DC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081238E4: .4byte gPaletteFade
|
|
_081238E8: .4byte gUnknown_203B0A0
|
|
_081238EC: .4byte gPlayerParty
|
|
_081238F0: .4byte gUnknown_203B0D8
|
|
_081238F4: .4byte gTasks
|
|
_081238F8: .4byte sub_81238FC
|
|
thumb_func_end sub_81238A4
|
|
|
|
thumb_func_start sub_81238FC
|
|
sub_81238FC: @ 81238FC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08123920
|
|
bl sub_812200C
|
|
ldr r0, _08123928 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812392C @ =sub_8123930
|
|
str r0, [r1]
|
|
_08123920:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123928: .4byte gTasks
|
|
_0812392C: .4byte sub_8123930
|
|
thumb_func_end sub_81238FC
|
|
|
|
thumb_func_start sub_8123930
|
|
sub_8123930: @ 8123930
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08123956
|
|
cmp r1, 0
|
|
bgt _08123950
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08123A2C
|
|
b _08123A40
|
|
_08123950:
|
|
cmp r1, 0x1
|
|
beq _08123A32
|
|
b _08123A40
|
|
_08123956:
|
|
ldr r5, _08123998 @ =gUnknown_203AD30
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
ldr r6, _0812399C @ =gUnknown_203B0D8
|
|
ldrh r0, [r6]
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081239AC
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
ldrh r0, [r6]
|
|
bl sub_8120658
|
|
ldr r0, _081239A0 @ =gStringVar4
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
ldr r1, _081239A4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081239A8 @ =sub_81203B8
|
|
str r1, [r0]
|
|
b _08123A40
|
|
.align 2, 0
|
|
_08123998: .4byte gUnknown_203AD30
|
|
_0812399C: .4byte gUnknown_203B0D8
|
|
_081239A0: .4byte gStringVar4
|
|
_081239A4: .4byte gTasks
|
|
_081239A8: .4byte sub_81203B8
|
|
_081239AC:
|
|
ldrh r0, [r5]
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081239EC
|
|
ldr r0, _081239DC @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081239E0 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrh r1, [r5]
|
|
bl sub_81205C8
|
|
ldr r1, _081239E4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081239E8 @ =sub_8123A50
|
|
str r1, [r0]
|
|
b _08123A40
|
|
.align 2, 0
|
|
_081239DC: .4byte gUnknown_203B0A0
|
|
_081239E0: .4byte gPlayerParty
|
|
_081239E4: .4byte gTasks
|
|
_081239E8: .4byte sub_8123A50
|
|
_081239EC:
|
|
ldr r0, _08123A1C @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08123A20 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrh r1, [r5]
|
|
bl sub_81205C8
|
|
ldrh r0, [r5]
|
|
ldrh r1, [r6]
|
|
movs r2, 0x1
|
|
bl sub_8120558
|
|
ldr r1, _08123A24 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08123A28 @ =sub_8123BF0
|
|
str r1, [r0]
|
|
b _08123A40
|
|
.align 2, 0
|
|
_08123A1C: .4byte gUnknown_203B0A0
|
|
_08123A20: .4byte gPlayerParty
|
|
_08123A24: .4byte gTasks
|
|
_08123A28: .4byte sub_8123BF0
|
|
_08123A2C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08123A32:
|
|
ldr r0, _08123A48 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08123A4C @ =sub_81203B8
|
|
str r0, [r1]
|
|
_08123A40:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123A48: .4byte gTasks
|
|
_08123A4C: .4byte sub_81203B8
|
|
thumb_func_end sub_8123930
|
|
|
|
thumb_func_start sub_8123A50
|
|
sub_8123A50: @ 8123A50
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08123A70
|
|
ldr r0, _08123A78 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08123A7C @ =sub_8123A80
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
_08123A70:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123A78: .4byte gUnknown_203B09C
|
|
_08123A7C: .4byte sub_8123A80
|
|
thumb_func_end sub_8123A50
|
|
|
|
thumb_func_start sub_8123A80
|
|
sub_8123A80: @ 8123A80
|
|
push {lr}
|
|
ldr r0, _08123AB8 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08123ABC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x40
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08123AC0 @ =gSaveBlock1Ptr
|
|
lsls r2, r0, 3
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
ldr r0, _08123AC4 @ =0x00002cd0
|
|
adds r2, r0
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
ldr r2, _08123AC8 @ =sub_8123ACC
|
|
movs r0, 0x4
|
|
bl sub_80FEBAC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123AB8: .4byte gUnknown_203B0A0
|
|
_08123ABC: .4byte gPlayerParty
|
|
_08123AC0: .4byte gSaveBlock1Ptr
|
|
_08123AC4: .4byte 0x00002cd0
|
|
_08123AC8: .4byte sub_8123ACC
|
|
thumb_func_end sub_8123A80
|
|
|
|
thumb_func_start sub_8123ACC
|
|
sub_8123ACC: @ 8123ACC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r6, _08123B38 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r6, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08123B3C @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r0, _08123B40 @ =gUnknown_20370D0
|
|
ldrh r7, [r0]
|
|
cmp r7, 0
|
|
bne _08123B4C
|
|
adds r0, r5, 0
|
|
bl TakeMailFromMon
|
|
ldr r4, _08123B44 @ =gUnknown_203B0D8
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
adds r2, r4, 0
|
|
bl SetMonData
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
mov r0, r8
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
ldrb r0, [r6, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r6, 0xB]
|
|
str r7, [sp]
|
|
ldr r1, _08123B48 @ =sub_8122C30
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r6]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
b _08123B68
|
|
.align 2, 0
|
|
_08123B38: .4byte gUnknown_203B0A0
|
|
_08123B3C: .4byte gPlayerParty
|
|
_08123B40: .4byte gUnknown_20370D0
|
|
_08123B44: .4byte gUnknown_203B0D8
|
|
_08123B48: .4byte sub_8122C30
|
|
_08123B4C:
|
|
ldrb r0, [r6, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r6, 0xB]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
ldr r1, _08123B74 @ =sub_8123B78
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r6]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
_08123B68:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123B74: .4byte sub_8123B78
|
|
thumb_func_end sub_8123ACC
|
|
|
|
thumb_func_start sub_8123B78
|
|
sub_8123B78: @ 8123B78
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08123BB0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08123BDE
|
|
ldr r1, _08123BB4 @ =gUnknown_203B0D8
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08123BC4
|
|
ldr r0, _08123BB8 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08123BBC @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08123BC0 @ =gUnknown_203AD30
|
|
ldrh r1, [r1]
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8120420
|
|
b _08123BD0
|
|
.align 2, 0
|
|
_08123BB0: .4byte gPaletteFade
|
|
_08123BB4: .4byte gUnknown_203B0D8
|
|
_08123BB8: .4byte gUnknown_203B0A0
|
|
_08123BBC: .4byte gPlayerParty
|
|
_08123BC0: .4byte gUnknown_203AD30
|
|
_08123BC4:
|
|
ldr r0, _08123BE4 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8120558
|
|
_08123BD0:
|
|
ldr r0, _08123BE8 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08123BEC @ =sub_8123BF0
|
|
str r0, [r1]
|
|
_08123BDE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123BE4: .4byte gUnknown_203AD30
|
|
_08123BE8: .4byte gTasks
|
|
_08123BEC: .4byte sub_8123BF0
|
|
thumb_func_end sub_8123B78
|
|
|
|
thumb_func_start sub_8123BF0
|
|
sub_8123BF0: @ 8123BF0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _08123C2C @ =gUnknown_203B0A0
|
|
ldrb r4, [r0, 0x9]
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08123C24
|
|
lsls r2, r4, 24
|
|
asrs r2, 24
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r1, _08123C30 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08123C34 @ =gUnknown_203B0B4
|
|
lsls r2, 4
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
bl sub_81224B4
|
|
adds r0, r5, 0
|
|
bl sub_81203B8
|
|
_08123C24:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123C2C: .4byte gUnknown_203B0A0
|
|
_08123C30: .4byte gPlayerParty
|
|
_08123C34: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_8123BF0
|
|
|
|
thumb_func_start sub_8123C38
|
|
sub_8123C38: @ 8123C38
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _08123C90 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08123C94 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _08123C98 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
adds r0, r5, 0
|
|
bl sub_8120610
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _08123C9C
|
|
cmp r0, 0x1
|
|
beq _08123CC0
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0x1
|
|
bl sub_81204AC
|
|
b _08123CCE
|
|
.align 2, 0
|
|
_08123C90: .4byte gUnknown_203B0A0
|
|
_08123C94: .4byte gPlayerParty
|
|
_08123C98: .4byte gUnknown_203B09C
|
|
_08123C9C:
|
|
ldr r1, _08123CB4 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
ldr r4, _08123CB8 @ =gStringVar4
|
|
ldr r1, _08123CBC @ =gUnknown_8416C8F
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
b _08123CC8
|
|
.align 2, 0
|
|
_08123CB4: .4byte gStringVar1
|
|
_08123CB8: .4byte gStringVar4
|
|
_08123CBC: .4byte gUnknown_8416C8F
|
|
_08123CC0:
|
|
adds r0, r6, 0
|
|
bl sub_8120658
|
|
ldr r0, _08123CE8 @ =gStringVar4
|
|
_08123CC8:
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
_08123CCE:
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, _08123CEC @ =gTasks
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08123CF0 @ =sub_8123BF0
|
|
str r0, [r1]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123CE8: .4byte gStringVar4
|
|
_08123CEC: .4byte gTasks
|
|
_08123CF0: .4byte sub_8123BF0
|
|
thumb_func_end sub_8123C38
|
|
|
|
thumb_func_start sub_8123CF4
|
|
sub_8123CF4: @ 8123CF4
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _08123D44 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, _08123D48 @ =gPlayerParty
|
|
ldr r1, _08123D4C @ =gUnknown_203B0A0
|
|
ldrb r1, [r1, 0x9]
|
|
movs r2, 0x9
|
|
bl sub_812299C
|
|
movs r0, 0x2
|
|
bl sub_8121E5C
|
|
movs r0, 0x1A
|
|
bl sub_8121D0C
|
|
ldr r1, _08123D50 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _08123D54 @ =sub_8122C5C
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123D44: .4byte gUnknown_203B09C
|
|
_08123D48: .4byte gPlayerParty
|
|
_08123D4C: .4byte gUnknown_203B0A0
|
|
_08123D50: .4byte gTasks
|
|
_08123D54: .4byte sub_8122C5C
|
|
thumb_func_end sub_8123CF4
|
|
|
|
thumb_func_start sub_8123D58
|
|
sub_8123D58: @ 8123D58
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _08123D7C @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08123D80 @ =sub_8123D84
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123D7C: .4byte gUnknown_203B09C
|
|
_08123D80: .4byte sub_8123D84
|
|
thumb_func_end sub_8123D58
|
|
|
|
thumb_func_start sub_8123D84
|
|
sub_8123D84: @ 8123D84
|
|
push {lr}
|
|
ldr r0, _08123DB8 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08123DBC @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x40
|
|
bl GetMonData
|
|
ldr r2, _08123DC0 @ =gSaveBlock1Ptr
|
|
lsls r1, r0, 3
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08123DC4 @ =0x00002cd0
|
|
adds r1, r0
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
ldr r1, _08123DC8 @ =sub_8123DCC
|
|
movs r2, 0x1
|
|
bl sub_80BEBEC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123DB8: .4byte gUnknown_203B0A0
|
|
_08123DBC: .4byte gPlayerParty
|
|
_08123DC0: .4byte gSaveBlock1Ptr
|
|
_08123DC4: .4byte 0x00002cd0
|
|
_08123DC8: .4byte sub_8123DCC
|
|
thumb_func_end sub_8123D84
|
|
|
|
thumb_func_start sub_8123DCC
|
|
sub_8123DCC: @ 8123DCC
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r2, _08123E00 @ =gPaletteFade
|
|
ldrb r0, [r2, 0x8]
|
|
movs r1, 0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x8]
|
|
ldr r3, _08123E04 @ =gUnknown_203B0A0
|
|
ldrb r0, [r3, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r3, 0xB]
|
|
movs r1, 0x16
|
|
str r1, [sp]
|
|
ldr r1, _08123E08 @ =sub_8122C30
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r3]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123E00: .4byte gPaletteFade
|
|
_08123E04: .4byte gUnknown_203B0A0
|
|
_08123E08: .4byte sub_8122C30
|
|
thumb_func_end sub_8123DCC
|
|
|
|
thumb_func_start brm_take_2
|
|
brm_take_2: @ 8123E0C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r5, _08123E48 @ =gUnknown_203B09C
|
|
ldr r0, [r5]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, [r5]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, _08123E4C @ =gUnknown_8416B64
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _08123E50 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08123E54 @ =sub_8123E58
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123E48: .4byte gUnknown_203B09C
|
|
_08123E4C: .4byte gUnknown_8416B64
|
|
_08123E50: .4byte gTasks
|
|
_08123E54: .4byte sub_8123E58
|
|
thumb_func_end brm_take_2
|
|
|
|
thumb_func_start sub_8123E58
|
|
sub_8123E58: @ 8123E58
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08123E7C
|
|
bl sub_812200C
|
|
ldr r0, _08123E84 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08123E88 @ =sub_8123E8C
|
|
str r0, [r1]
|
|
_08123E7C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123E84: .4byte gTasks
|
|
_08123E88: .4byte sub_8123E8C
|
|
thumb_func_end sub_8123E58
|
|
|
|
thumb_func_start sub_8123E8C
|
|
sub_8123E8C: @ 8123E8C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08123EB2
|
|
cmp r1, 0
|
|
bgt _08123EAC
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08123F1C
|
|
b _08123F38
|
|
_08123EAC:
|
|
cmp r1, 0x1
|
|
beq _08123F22
|
|
b _08123F38
|
|
_08123EB2:
|
|
ldr r0, _08123EE4 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08123EE8 @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_809803C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _08123EF8
|
|
ldr r0, _08123EEC @ =gUnknown_8416B86
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
ldr r1, _08123EF0 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08123EF4 @ =sub_8123BF0
|
|
b _08123F36
|
|
.align 2, 0
|
|
_08123EE4: .4byte gUnknown_203B0A0
|
|
_08123EE8: .4byte gPlayerParty
|
|
_08123EEC: .4byte gUnknown_8416B86
|
|
_08123EF0: .4byte gTasks
|
|
_08123EF4: .4byte sub_8123BF0
|
|
_08123EF8:
|
|
ldr r0, _08123F10 @ =gUnknown_8416BA6
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
ldr r1, _08123F14 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08123F18 @ =sub_81203B8
|
|
b _08123F36
|
|
.align 2, 0
|
|
_08123F10: .4byte gUnknown_8416BA6
|
|
_08123F14: .4byte gTasks
|
|
_08123F18: .4byte sub_81203B8
|
|
_08123F1C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08123F22:
|
|
ldr r0, _08123F40 @ =gUnknown_8416BC3
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _08123F44 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08123F48 @ =sub_8123F4C
|
|
_08123F36:
|
|
str r1, [r0]
|
|
_08123F38:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123F40: .4byte gUnknown_8416BC3
|
|
_08123F44: .4byte gTasks
|
|
_08123F48: .4byte sub_8123F4C
|
|
thumb_func_end sub_8123E8C
|
|
|
|
thumb_func_start sub_8123F4C
|
|
sub_8123F4C: @ 8123F4C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08123F70
|
|
bl sub_812200C
|
|
ldr r0, _08123F78 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08123F7C @ =sub_8123F80
|
|
str r0, [r1]
|
|
_08123F70:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08123F78: .4byte gTasks
|
|
_08123F7C: .4byte sub_8123F80
|
|
thumb_func_end sub_8123F4C
|
|
|
|
thumb_func_start sub_8123F80
|
|
sub_8123F80: @ 8123F80
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08123FAA
|
|
cmp r1, 0
|
|
bgt _08123FA4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0812403C
|
|
b _08124050
|
|
_08123FA4:
|
|
cmp r1, 0x1
|
|
beq _08124042
|
|
b _08124050
|
|
_08123FAA:
|
|
ldr r0, _08123FFC @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r7, 0x64
|
|
muls r0, r7
|
|
ldr r6, _08124000 @ =gPlayerParty
|
|
adds r0, r6
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124010
|
|
mov r1, r8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r7
|
|
adds r0, r6
|
|
bl TakeMailFromMon
|
|
ldr r0, _08124004 @ =gUnknown_8416CC7
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
ldr r1, _08124008 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0812400C @ =sub_8123BF0
|
|
str r1, [r0]
|
|
b _08124050
|
|
.align 2, 0
|
|
_08123FFC: .4byte gUnknown_203B0A0
|
|
_08124000: .4byte gPlayerParty
|
|
_08124004: .4byte gUnknown_8416CC7
|
|
_08124008: .4byte gTasks
|
|
_0812400C: .4byte sub_8123BF0
|
|
_08124010:
|
|
adds r0, r4, 0
|
|
bl sub_8120658
|
|
ldr r0, _08124030 @ =gStringVar4
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
ldr r1, _08124034 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08124038 @ =sub_81203B8
|
|
str r1, [r0]
|
|
b _08124050
|
|
.align 2, 0
|
|
_08124030: .4byte gStringVar4
|
|
_08124034: .4byte gTasks
|
|
_08124038: .4byte sub_81203B8
|
|
_0812403C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08124042:
|
|
ldr r0, _0812405C @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08124060 @ =sub_81203B8
|
|
str r0, [r1]
|
|
_08124050:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812405C: .4byte gTasks
|
|
_08124060: .4byte sub_81203B8
|
|
thumb_func_end sub_8123F80
|
|
|
|
thumb_func_start sub_8124064
|
|
sub_8124064: @ 8124064
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _081240E0 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
adds r5, r1, 0
|
|
muls r5, r0
|
|
ldr r0, _081240E4 @ =gPlayerParty
|
|
mov r9, r0
|
|
add r5, r9
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _081240E8 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
mov r0, r8
|
|
ldrb r4, [r0, 0x9]
|
|
adds r0, r5, 0
|
|
bl sub_8122B20
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r0, r9
|
|
adds r1, r4, 0
|
|
bl sub_812299C
|
|
movs r0, 0
|
|
bl sub_8121E5C
|
|
movs r0, 0x16
|
|
bl sub_8121D0C
|
|
ldr r1, _081240EC @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
movs r1, 0xFF
|
|
strh r1, [r0, 0x8]
|
|
ldr r1, _081240F0 @ =sub_8122C5C
|
|
str r1, [r0]
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081240E0: .4byte gUnknown_203B0A0
|
|
_081240E4: .4byte gPlayerParty
|
|
_081240E8: .4byte gUnknown_203B09C
|
|
_081240EC: .4byte gTasks
|
|
_081240F0: .4byte sub_8122C5C
|
|
thumb_func_end sub_8124064
|
|
|
|
thumb_func_start sub_81240F4
|
|
sub_81240F4: @ 81240F4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r5, _08124120 @ =gUnknown_203B09C
|
|
ldr r0, [r5]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
bl sub_8127AC0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124124
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _08124142
|
|
.align 2, 0
|
|
_08124120: .4byte gUnknown_203B09C
|
|
_08124124:
|
|
ldr r0, [r5]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r0, _08124148 @ =gStringVar4
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _0812414C @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08124150 @ =sub_81203B8
|
|
str r1, [r0]
|
|
_08124142:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124148: .4byte gStringVar4
|
|
_0812414C: .4byte gTasks
|
|
_08124150: .4byte sub_81203B8
|
|
thumb_func_end sub_81240F4
|
|
|
|
thumb_func_start sub_8124154
|
|
sub_8124154: @ 8124154
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _0812417C @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xC0
|
|
ands r0, r1
|
|
cmp r0, 0x80
|
|
bne _08124184
|
|
movs r0, 0x2
|
|
mov r8, r0
|
|
ldr r1, _08124180 @ =gUnknown_8416B3E
|
|
str r1, [sp]
|
|
b _0812418C
|
|
.align 2, 0
|
|
_0812417C: .4byte gUnknown_203B0A0
|
|
_08124180: .4byte gUnknown_8416B3E
|
|
_08124184:
|
|
movs r2, 0x3
|
|
mov r8, r2
|
|
ldr r0, _081241FC @ =gUnknown_8416B16
|
|
str r0, [sp]
|
|
_0812418C:
|
|
ldr r4, _08124200 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
movs r5, 0
|
|
lsls r1, r7, 2
|
|
mov r9, r1
|
|
cmp r5, r8
|
|
bcs _08124222
|
|
ldr r6, _08124204 @ =gUnknown_203B0A0
|
|
ldr r1, _08124208 @ =gTasks
|
|
mov r2, r9
|
|
adds r0, r2, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
mov r10, r0
|
|
_081241B6:
|
|
ldr r0, _0812420C @ =gUnknown_203B0D4
|
|
adds r4, r5, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _08124218
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r0, [r6, 0x9]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
adds r0, r5, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08124210 @ =gUnknown_203B0B4
|
|
movs r2, 0x9
|
|
ldrsb r2, [r6, r2]
|
|
lsls r2, 4
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
movs r2, 0x1
|
|
bl sub_8121C70
|
|
mov r0, r8
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
bne _081241F0
|
|
bl sub_8124258
|
|
_081241F0:
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _08124214 @ =sub_811FB28
|
|
mov r1, r10
|
|
b _0812423C
|
|
.align 2, 0
|
|
_081241FC: .4byte gUnknown_8416B16
|
|
_08124200: .4byte gUnknown_203B09C
|
|
_08124204: .4byte gUnknown_203B0A0
|
|
_08124208: .4byte gTasks
|
|
_0812420C: .4byte gUnknown_203B0D4
|
|
_08124210: .4byte gUnknown_203B0B4
|
|
_08124214: .4byte sub_811FB28
|
|
_08124218:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, r8
|
|
bcc _081241B6
|
|
_08124222:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
ldr r0, [sp]
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r0, _08124250 @ =gTasks
|
|
mov r2, r9
|
|
adds r1, r2, r7
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08124254 @ =sub_81203B8
|
|
_0812423C:
|
|
str r0, [r1]
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124250: .4byte gTasks
|
|
_08124254: .4byte sub_81203B8
|
|
thumb_func_end sub_8124154
|
|
|
|
thumb_func_start sub_8124258
|
|
sub_8124258: @ 8124258
|
|
push {r4,lr}
|
|
ldr r4, _08124274 @ =gUnknown_203B0A0
|
|
ldrb r0, [r4, 0x9]
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
movs r0, 0x6
|
|
strb r0, [r4, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124274: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_8124258
|
|
|
|
thumb_func_start sub_8124278
|
|
sub_8124278: @ 8124278
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r4, _081242BC @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
movs r4, 0
|
|
ldr r3, _081242C0 @ =gUnknown_203B0D4
|
|
ldr r6, _081242C4 @ =gUnknown_203B0A0
|
|
adds r5, r6, 0
|
|
_0812429E:
|
|
adds r2, r4, r3
|
|
ldrb r1, [r2]
|
|
movs r0, 0x9
|
|
ldrsb r0, [r5, r0]
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
bne _081242DC
|
|
movs r1, 0
|
|
strb r1, [r2]
|
|
cmp r4, 0
|
|
beq _081242C8
|
|
cmp r4, 0x1
|
|
beq _081242D4
|
|
b _081242E6
|
|
.align 2, 0
|
|
_081242BC: .4byte gUnknown_203B09C
|
|
_081242C0: .4byte gUnknown_203B0D4
|
|
_081242C4: .4byte gUnknown_203B0A0
|
|
_081242C8:
|
|
ldrb r0, [r3, 0x1]
|
|
strb r0, [r3]
|
|
ldrb r0, [r3, 0x2]
|
|
strb r0, [r3, 0x1]
|
|
strb r4, [r3, 0x2]
|
|
b _081242E6
|
|
_081242D4:
|
|
ldrb r0, [r3, 0x2]
|
|
strb r0, [r3, 0x1]
|
|
strb r1, [r3, 0x2]
|
|
b _081242E6
|
|
_081242DC:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bls _0812429E
|
|
_081242E6:
|
|
ldr r5, _08124344 @ =gUnknown_203B0B4
|
|
movs r0, 0x9
|
|
ldrsb r0, [r6, r0]
|
|
lsls r0, 4
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
movs r0, 0x1
|
|
movs r2, 0x1
|
|
bl sub_8121C70
|
|
ldr r4, _08124348 @ =gUnknown_203B0D4
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _08124312
|
|
lsls r0, 4
|
|
subs r0, 0x10
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
movs r2, 0x1
|
|
bl sub_8121C70
|
|
_08124312:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
beq _08124328
|
|
lsls r0, 4
|
|
subs r0, 0x10
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
movs r0, 0x3
|
|
movs r2, 0x1
|
|
bl sub_8121C70
|
|
_08124328:
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _0812434C @ =gTasks
|
|
lsls r1, r7, 2
|
|
adds r1, r7
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08124350 @ =sub_811FB28
|
|
str r0, [r1]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124344: .4byte gUnknown_203B0B4
|
|
_08124348: .4byte gUnknown_203B0D4
|
|
_0812434C: .4byte gTasks
|
|
_08124350: .4byte sub_811FB28
|
|
thumb_func_end sub_8124278
|
|
|
|
thumb_func_start sub_8124354
|
|
sub_8124354: @ 8124354
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _0812437C @ =gUnknown_20370C0
|
|
ldr r0, _08124380 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812437C: .4byte gUnknown_20370C0
|
|
_08124380: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_8124354
|
|
|
|
thumb_func_start sub_8124384
|
|
sub_8124384: @ 8124384
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _08124410 @ =gUnknown_203B0A0
|
|
mov r9, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0x64
|
|
mov r8, r1
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r4, _08124414 @ =gPlayerParty
|
|
adds r0, r4
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
mov r1, r9
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
mov r1, r9
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r4
|
|
movs r1, 0x50
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80F9800
|
|
ldr r0, [r0]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl sub_804FCE0
|
|
cmp r0, 0x1
|
|
beq _08124418
|
|
cmp r0, 0x2
|
|
beq _0812442C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r7, 0
|
|
bl sub_811FA78
|
|
b _0812446C
|
|
.align 2, 0
|
|
_08124410: .4byte gUnknown_203B0A0
|
|
_08124414: .4byte gPlayerParty
|
|
_08124418:
|
|
ldr r0, _08124424 @ =gStringVar4
|
|
ldr r1, _08124428 @ =gUnknown_84170BC
|
|
bl StringExpandPlaceholders
|
|
b _08124434
|
|
.align 2, 0
|
|
_08124424: .4byte gStringVar4
|
|
_08124428: .4byte gUnknown_84170BC
|
|
_0812442C:
|
|
ldr r0, _08124478 @ =gStringVar4
|
|
ldr r1, _0812447C @ =gUnknown_84170E0
|
|
bl StringExpandPlaceholders
|
|
_08124434:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
ldr r4, _08124480 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r4, _08124478 @ =gStringVar4
|
|
ldr r1, _08124484 @ =gUnknown_84169D9
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _08124488 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0812448C @ =sub_81203B8
|
|
str r1, [r0]
|
|
_0812446C:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124478: .4byte gStringVar4
|
|
_0812447C: .4byte gUnknown_84170E0
|
|
_08124480: .4byte gUnknown_203B09C
|
|
_08124484: .4byte gUnknown_84169D9
|
|
_08124488: .4byte gTasks
|
|
_0812448C: .4byte sub_81203B8
|
|
thumb_func_end sub_8124384
|
|
|
|
thumb_func_start brm_trade_1
|
|
brm_trade_1: @ 8124490
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _08124558 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r4, _0812455C @ =gPlayerParty
|
|
adds r0, r4
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
mov r9, r0
|
|
mov r1, r9
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r9, r1
|
|
mov r1, r8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r6
|
|
adds r0, r4
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
mov r1, r8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r6
|
|
adds r0, r4
|
|
movs r1, 0x50
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80F9800
|
|
ldr r0, [r0]
|
|
ldr r1, _08124560 @ =gUnknown_203B064
|
|
ldr r1, [r1]
|
|
ldr r2, _08124564 @ =gUnknown_203B068
|
|
ldrh r3, [r2]
|
|
ldr r2, _08124568 @ =gUnknown_203B06A
|
|
ldrb r2, [r2]
|
|
str r2, [sp]
|
|
str r5, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
mov r2, r9
|
|
bl sub_804FBEC
|
|
cmp r0, 0
|
|
beq _08124584
|
|
ldr r5, _0812456C @ =gStringVar4
|
|
ldr r1, _08124570 @ =gUnknown_845A7E8
|
|
subs r0, 0x1
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
ldr r4, _08124574 @ =gUnknown_203B09C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r4]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
ldr r1, _08124578 @ =gUnknown_84169D9
|
|
adds r0, r5, 0
|
|
bl StringAppend
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _0812457C @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08124580 @ =sub_81203B8
|
|
str r1, [r0]
|
|
b _08124590
|
|
.align 2, 0
|
|
_08124558: .4byte gUnknown_203B0A0
|
|
_0812455C: .4byte gPlayerParty
|
|
_08124560: .4byte gUnknown_203B064
|
|
_08124564: .4byte gUnknown_203B068
|
|
_08124568: .4byte gUnknown_203B06A
|
|
_0812456C: .4byte gStringVar4
|
|
_08124570: .4byte gUnknown_845A7E8
|
|
_08124574: .4byte gUnknown_203B09C
|
|
_08124578: .4byte gUnknown_84169D9
|
|
_0812457C: .4byte gTasks
|
|
_08124580: .4byte sub_81203B8
|
|
_08124584:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r7, 0
|
|
bl sub_811FA78
|
|
_08124590:
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end brm_trade_1
|
|
|
|
thumb_func_start nullsub_93
|
|
nullsub_93: @ 81245A0
|
|
bx lr
|
|
thumb_func_end nullsub_93
|
|
|
|
thumb_func_start sub_81245A4
|
|
sub_81245A4: @ 81245A4
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
bl GetMenuCursorPos
|
|
ldr r5, _08124610 @ =gUnknown_203B09C
|
|
ldr r1, [r5]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, 0xF
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
subs r0, 0x12
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _08124614 @ =gUnknown_845A788
|
|
lsls r0, r4, 3
|
|
adds r7, r0, r1
|
|
ldr r0, [r7]
|
|
cmp r0, 0
|
|
bne _081245D6
|
|
b _081247B4
|
|
_081245D6:
|
|
ldr r0, [r5]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
ldr r0, [r5]
|
|
adds r0, 0xD
|
|
bl sub_8121CE4
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081245FA
|
|
bl InUnionRoom
|
|
cmp r0, 0x1
|
|
bne _0812461C
|
|
_081245FA:
|
|
adds r0, r4, 0
|
|
subs r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08124618
|
|
movs r0, 0xD
|
|
bl sub_8121D0C
|
|
b _081247A6
|
|
.align 2, 0
|
|
_08124610: .4byte gUnknown_203B09C
|
|
_08124614: .4byte gUnknown_845A788
|
|
_08124618:
|
|
ldrb r0, [r7, 0x4]
|
|
b _081247A2
|
|
_0812461C:
|
|
cmp r4, 0x6
|
|
bhi _08124658
|
|
movs r1, 0x82
|
|
lsls r1, 4
|
|
adds r0, r4, r1
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08124658
|
|
ldr r0, _0812464C @ =gUnknown_8416AE2
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _08124650 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08124654 @ =sub_81203B8
|
|
str r1, [r0]
|
|
b _081247B4
|
|
.align 2, 0
|
|
_0812464C: .4byte gUnknown_8416AE2
|
|
_08124650: .4byte gTasks
|
|
_08124654: .4byte sub_81203B8
|
|
_08124658:
|
|
ldr r1, _08124680 @ =gUnknown_845A788
|
|
lsls r0, r4, 3
|
|
adds r5, r0, r1
|
|
ldr r0, [r5]
|
|
bl _call_via_r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0812466E
|
|
b _0812478C
|
|
_0812466E:
|
|
subs r0, r4, 0x2
|
|
cmp r0, 0x8
|
|
bhi _0812475C
|
|
lsls r0, 2
|
|
ldr r1, _08124684 @ =_08124688
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08124680: .4byte gUnknown_845A788
|
|
_08124684: .4byte _08124688
|
|
.align 2, 0
|
|
_08124688:
|
|
.4byte _0812474C
|
|
.4byte _0812475C
|
|
.4byte _0812475C
|
|
.4byte _0812475C
|
|
.4byte _0812475C
|
|
.4byte _081246B4
|
|
.4byte _081246F0
|
|
.4byte _081246AC
|
|
.4byte _081246AC
|
|
_081246AC:
|
|
adds r0, r6, 0
|
|
bl sub_80E56DC
|
|
b _081247B4
|
|
_081246B4:
|
|
ldr r0, _081246E0 @ =gSaveBlock1Ptr
|
|
ldr r1, [r0]
|
|
movs r0, 0x1C
|
|
ldrsb r0, [r1, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r1, [r1, 0x1D]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl get_mapheader_by_bank_and_number
|
|
adds r1, r0, 0
|
|
ldr r0, _081246E4 @ =gStringVar1
|
|
ldrb r1, [r1, 0x14]
|
|
bl sub_80C4DF8
|
|
ldr r0, _081246E8 @ =gStringVar4
|
|
ldr r1, _081246EC @ =gUnknown_8417640
|
|
b _08124720
|
|
.align 2, 0
|
|
_081246E0: .4byte gSaveBlock1Ptr
|
|
_081246E4: .4byte gStringVar1
|
|
_081246E8: .4byte gStringVar4
|
|
_081246EC: .4byte gUnknown_8417640
|
|
_081246F0:
|
|
ldr r0, _08124738 @ =gSaveBlock1Ptr
|
|
ldr r1, [r0]
|
|
adds r0, r1, 0
|
|
adds r0, 0x24
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, 0x25
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl get_mapheader_by_bank_and_number
|
|
adds r1, r0, 0
|
|
ldr r0, _0812473C @ =gStringVar1
|
|
ldrb r1, [r1, 0x14]
|
|
bl sub_80C4DF8
|
|
ldr r0, _08124740 @ =gStringVar4
|
|
ldr r1, _08124744 @ =gUnknown_8417615
|
|
_08124720:
|
|
bl StringExpandPlaceholders
|
|
adds r0, r6, 0
|
|
bl sub_81247C4
|
|
ldr r0, _08124748 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0x86
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
b _081247B4
|
|
.align 2, 0
|
|
_08124738: .4byte gSaveBlock1Ptr
|
|
_0812473C: .4byte gStringVar1
|
|
_08124740: .4byte gStringVar4
|
|
_08124744: .4byte gUnknown_8417615
|
|
_08124748: .4byte gUnknown_203B09C
|
|
_0812474C:
|
|
ldr r1, _08124754 @ =gUnknown_203B0A0
|
|
ldr r0, _08124758 @ =sub_80C4EF8
|
|
str r0, [r1]
|
|
b _08124778
|
|
.align 2, 0
|
|
_08124754: .4byte gUnknown_203B0A0
|
|
_08124758: .4byte sub_80C4EF8
|
|
_0812475C:
|
|
ldr r1, _08124780 @ =gUnknown_203B0A0
|
|
ldr r0, _08124784 @ =c2_exit_to_overworld_2_switch
|
|
str r0, [r1]
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08124788 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
bl sub_8124BB0
|
|
_08124778:
|
|
adds r0, r6, 0
|
|
bl sub_811FA78
|
|
b _081247B4
|
|
.align 2, 0
|
|
_08124780: .4byte gUnknown_203B0A0
|
|
_08124784: .4byte c2_exit_to_overworld_2_switch
|
|
_08124788: .4byte gPlayerParty
|
|
_0812478C:
|
|
cmp r4, 0
|
|
beq _0812479A
|
|
cmp r4, 0x4
|
|
bne _081247A0
|
|
bl sub_8124A0C
|
|
b _081247A6
|
|
_0812479A:
|
|
bl sub_8124954
|
|
b _081247A6
|
|
_081247A0:
|
|
ldrb r0, [r5, 0x4]
|
|
_081247A2:
|
|
bl sub_8121D0C
|
|
_081247A6:
|
|
ldr r0, _081247BC @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081247C0 @ =task_brm_cancel_1_on_keypad_a_or_b
|
|
str r0, [r1]
|
|
_081247B4:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081247BC: .4byte gTasks
|
|
_081247C0: .4byte task_brm_cancel_1_on_keypad_a_or_b
|
|
thumb_func_end sub_81245A4
|
|
|
|
thumb_func_start sub_81247C4
|
|
sub_81247C4: @ 81247C4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _081247E8 @ =gStringVar4
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _081247EC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081247F0 @ =sub_81247F4
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081247E8: .4byte gStringVar4
|
|
_081247EC: .4byte gTasks
|
|
_081247F0: .4byte sub_81247F4
|
|
thumb_func_end sub_81247C4
|
|
|
|
thumb_func_start sub_81247F4
|
|
sub_81247F4: @ 81247F4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08124818
|
|
bl sub_812200C
|
|
ldr r0, _08124820 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08124824 @ =sub_8124828
|
|
str r0, [r1]
|
|
_08124818:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124820: .4byte gTasks
|
|
_08124824: .4byte sub_8124828
|
|
thumb_func_end sub_81247F4
|
|
|
|
thumb_func_start sub_8124828
|
|
sub_8124828: @ 8124828
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0812484E
|
|
cmp r1, 0
|
|
bgt _08124848
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0812488C
|
|
b _081248A2
|
|
_08124848:
|
|
cmp r1, 0x1
|
|
beq _08124892
|
|
b _081248A2
|
|
_0812484E:
|
|
ldr r1, _0812487C @ =gUnknown_203B0A0
|
|
ldr r0, _08124880 @ =c2_exit_to_overworld_2_switch
|
|
str r0, [r1]
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08124884 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08124888 @ =gUnknown_203B09C
|
|
ldr r1, [r1]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
bl sub_8124BB0
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _081248A2
|
|
.align 2, 0
|
|
_0812487C: .4byte gUnknown_203B0A0
|
|
_08124880: .4byte c2_exit_to_overworld_2_switch
|
|
_08124884: .4byte gPlayerParty
|
|
_08124888: .4byte gUnknown_203B09C
|
|
_0812488C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08124892:
|
|
ldr r0, _081248A8 @ =gUnknown_3005024
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _081248AC @ =gUnknown_203B0C4
|
|
str r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_81203B8
|
|
_081248A2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081248A8: .4byte gUnknown_3005024
|
|
_081248AC: .4byte gUnknown_203B0C4
|
|
thumb_func_end sub_8124828
|
|
|
|
thumb_func_start hm_add_c3_launch_phase_2
|
|
hm_add_c3_launch_phase_2: @ 81248B0
|
|
push {lr}
|
|
bl sub_807DC00
|
|
ldr r0, _081248C4 @ =task_launch_hm_phase_2
|
|
movs r1, 0x8
|
|
bl CreateTask
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081248C4: .4byte task_launch_hm_phase_2
|
|
thumb_func_end hm_add_c3_launch_phase_2
|
|
|
|
thumb_func_start task_launch_hm_phase_2
|
|
task_launch_hm_phase_2: @ 81248C8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_807AA70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _081248F4
|
|
bl brm_get_selected_species
|
|
ldr r1, _081248FC @ =gUnknown_20386E0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
str r0, [r1]
|
|
ldr r0, _08124900 @ =gUnknown_203B0C4
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_081248F4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081248FC: .4byte gUnknown_20386E0
|
|
_08124900: .4byte gUnknown_203B0C4
|
|
thumb_func_end task_launch_hm_phase_2
|
|
|
|
thumb_func_start brm_get_selected_species
|
|
brm_get_selected_species: @ 8124904
|
|
push {lr}
|
|
ldr r0, _08124924 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08124928 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08124924: .4byte gUnknown_203B0A0
|
|
_08124928: .4byte gPlayerParty
|
|
thumb_func_end brm_get_selected_species
|
|
|
|
thumb_func_start task_brm_cancel_1_on_keypad_a_or_b
|
|
task_brm_cancel_1_on_keypad_a_or_b: @ 812492C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, _08124950 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08124946
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812494C
|
|
_08124946:
|
|
adds r0, r2, 0
|
|
bl brm_cancel_1
|
|
_0812494C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124950: .4byte gMain
|
|
thumb_func_end task_brm_cancel_1_on_keypad_a_or_b
|
|
|
|
thumb_func_start sub_8124954
|
|
sub_8124954: @ 8124954
|
|
push {lr}
|
|
ldr r0, _0812496C @ =0x00000806
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124970
|
|
movs r0, 0xC
|
|
bl sub_8121D0C
|
|
b _08124976
|
|
.align 2, 0
|
|
_0812496C: .4byte 0x00000806
|
|
_08124970:
|
|
movs r0, 0xD
|
|
bl sub_8121D0C
|
|
_08124976:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124954
|
|
|
|
thumb_func_start hm_surf_run_dp02scr
|
|
hm_surf_run_dp02scr: @ 812497C
|
|
push {lr}
|
|
bl GetCursorSelectionMonId
|
|
ldr r1, _08124994 @ =gUnknown_20386E0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [r1]
|
|
movs r0, 0x9
|
|
bl FieldEffectStart
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124994: .4byte gUnknown_20386E0
|
|
thumb_func_end hm_surf_run_dp02scr
|
|
|
|
thumb_func_start sub_8124998
|
|
sub_8124998: @ 8124998
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl GetXYCoordsOneStepInFrontOfPlayer
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
bl MapGridGetMetatileBehaviorAt
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8059CC8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08124A00
|
|
bl PartyHasMonWithSurf
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124A00
|
|
bl IsPlayerFacingSurfableFishableWater
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124A00
|
|
ldr r1, _081249F0 @ =gUnknown_3005024
|
|
ldr r0, _081249F4 @ =hm_add_c3_launch_phase_2
|
|
str r0, [r1]
|
|
ldr r1, _081249F8 @ =gUnknown_203B0C4
|
|
ldr r0, _081249FC @ =hm_surf_run_dp02scr
|
|
str r0, [r1]
|
|
movs r0, 0x1
|
|
b _08124A02
|
|
.align 2, 0
|
|
_081249F0: .4byte gUnknown_3005024
|
|
_081249F4: .4byte hm_add_c3_launch_phase_2
|
|
_081249F8: .4byte gUnknown_203B0C4
|
|
_081249FC: .4byte hm_surf_run_dp02scr
|
|
_08124A00:
|
|
movs r0, 0
|
|
_08124A02:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8124998
|
|
|
|
thumb_func_start sub_8124A0C
|
|
sub_8124A0C: @ 8124A0C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x8
|
|
bl TestPlayerAvatarFlags
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08124A24
|
|
movs r0, 0x9
|
|
bl sub_8121D0C
|
|
b _08124A82
|
|
_08124A24:
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl GetXYCoordsOneStepInFrontOfPlayer
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
bl MapGridGetMetatileBehaviorAt
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8059CC8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124A56
|
|
movs r0, 0xA
|
|
bl sub_8121D0C
|
|
b _08124A82
|
|
_08124A56:
|
|
ldr r0, _08124A78 @ =gSaveBlock1Ptr
|
|
ldr r1, [r0]
|
|
movs r0, 0x4
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, 0x3
|
|
bne _08124A7C
|
|
ldrb r0, [r1, 0x5]
|
|
subs r0, 0x23
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08124A7C
|
|
movs r0, 0xB
|
|
bl sub_8121D0C
|
|
b _08124A82
|
|
.align 2, 0
|
|
_08124A78: .4byte gSaveBlock1Ptr
|
|
_08124A7C:
|
|
movs r0, 0x8
|
|
bl sub_8121D0C
|
|
_08124A82:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124A0C
|
|
|
|
thumb_func_start sub_8124A8C
|
|
sub_8124A8C: @ 8124A8C
|
|
push {lr}
|
|
ldr r0, _08124AA4 @ =gMapHeader
|
|
ldrb r0, [r0, 0x17]
|
|
bl is_light_level_1_2_3_or_6
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08124AA8
|
|
movs r0, 0
|
|
b _08124AAA
|
|
.align 2, 0
|
|
_08124AA4: .4byte gMapHeader
|
|
_08124AA8:
|
|
movs r0, 0x1
|
|
_08124AAA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8124A8C
|
|
|
|
thumb_func_start sub_8124AB0
|
|
sub_8124AB0: @ 8124AB0
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _08124AD4 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08124AD8 @ =sub_80568A8
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124AD4: .4byte sub_811FB28
|
|
_08124AD8: .4byte sub_80568A8
|
|
thumb_func_end sub_8124AB0
|
|
|
|
thumb_func_start hm2_waterfall
|
|
hm2_waterfall: @ 8124ADC
|
|
push {lr}
|
|
bl GetCursorSelectionMonId
|
|
ldr r1, _08124AF4 @ =gUnknown_20386E0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [r1]
|
|
movs r0, 0x2B
|
|
bl FieldEffectStart
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124AF4: .4byte gUnknown_20386E0
|
|
thumb_func_end hm2_waterfall
|
|
|
|
thumb_func_start hm_prepare_waterfall
|
|
hm_prepare_waterfall: @ 8124AF8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl GetXYCoordsOneStepInFrontOfPlayer
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
bl MapGridGetMetatileBehaviorAt
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl MetatileBehavior_IsWaterfall
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124B54
|
|
bl IsPlayerSurfingNorth
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124B54
|
|
ldr r1, _08124B44 @ =gUnknown_3005024
|
|
ldr r0, _08124B48 @ =hm_add_c3_launch_phase_2
|
|
str r0, [r1]
|
|
ldr r1, _08124B4C @ =gUnknown_203B0C4
|
|
ldr r0, _08124B50 @ =hm2_waterfall
|
|
str r0, [r1]
|
|
movs r0, 0x1
|
|
b _08124B56
|
|
.align 2, 0
|
|
_08124B44: .4byte gUnknown_3005024
|
|
_08124B48: .4byte hm_add_c3_launch_phase_2
|
|
_08124B4C: .4byte gUnknown_203B0C4
|
|
_08124B50: .4byte hm2_waterfall
|
|
_08124B54:
|
|
movs r0, 0
|
|
_08124B56:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end hm_prepare_waterfall
|
|
|
|
thumb_func_start sub_8124B60
|
|
sub_8124B60: @ 8124B60
|
|
push {r4-r7,lr}
|
|
adds r6, r0, 0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
movs r0, 0x8
|
|
bl Alloc
|
|
adds r7, r0, 0
|
|
adds r0, r6, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r7, 0x4]
|
|
strh r4, [r7]
|
|
strh r5, [r7, 0x2]
|
|
ldr r0, _08124B98 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x6
|
|
bne _08124B9C
|
|
movs r0, 0xA
|
|
adds r1, r7, 0
|
|
bl sub_8113550
|
|
b _08124BA4
|
|
.align 2, 0
|
|
_08124B98: .4byte gUnknown_203B0A0
|
|
_08124B9C:
|
|
movs r0, 0x9
|
|
adds r1, r7, 0
|
|
bl sub_8113550
|
|
_08124BA4:
|
|
adds r0, r7, 0
|
|
bl Free
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124B60
|
|
|
|
thumb_func_start sub_8124BB0
|
|
sub_8124BB0: @ 8124BB0
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r4, r1, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x4
|
|
bl Alloc
|
|
adds r6, r0, 0
|
|
adds r0, r5, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r6]
|
|
strb r4, [r6, 0x2]
|
|
ldrb r0, [r6, 0x2]
|
|
cmp r0, 0x7
|
|
beq _08124BDA
|
|
cmp r0, 0x8
|
|
beq _08124BFC
|
|
movs r0, 0xFF
|
|
b _08124C00
|
|
_08124BDA:
|
|
ldr r0, _08124BF8 @ =gSaveBlock1Ptr
|
|
ldr r1, [r0]
|
|
movs r0, 0x1C
|
|
ldrsb r0, [r1, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r1, [r1, 0x1D]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl get_mapheader_by_bank_and_number
|
|
b _08124BFE
|
|
.align 2, 0
|
|
_08124BF8: .4byte gSaveBlock1Ptr
|
|
_08124BFC:
|
|
ldr r0, _08124C18 @ =gMapHeader
|
|
_08124BFE:
|
|
ldrb r0, [r0, 0x14]
|
|
_08124C00:
|
|
strb r0, [r6, 0x3]
|
|
movs r0, 0x24
|
|
adds r1, r6, 0
|
|
bl sub_8113550
|
|
adds r0, r6, 0
|
|
bl Free
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124C18: .4byte gMapHeader
|
|
thumb_func_end sub_8124BB0
|
|
|
|
thumb_func_start sub_8124C1C
|
|
sub_8124C1C: @ 8124C1C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
movs r0, 0x8
|
|
bl Alloc
|
|
adds r4, r0, 0
|
|
ldrb r0, [r5]
|
|
strb r0, [r4]
|
|
ldrb r0, [r5, 0x1]
|
|
strb r0, [r4, 0x1]
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
ldrsb r1, [r4, r1]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl get_mapheader_by_bank_and_number
|
|
adds r5, r0, 0
|
|
adds r0, r4, 0
|
|
bl Free
|
|
movs r0, 0x4
|
|
bl Alloc
|
|
adds r4, r0, 0
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08124C88 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r4]
|
|
movs r0, 0x2
|
|
strb r0, [r4, 0x2]
|
|
ldrb r0, [r5, 0x14]
|
|
strb r0, [r4, 0x3]
|
|
movs r0, 0x24
|
|
adds r1, r4, 0
|
|
bl sub_8113550
|
|
adds r0, r4, 0
|
|
bl Free
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124C88: .4byte gPlayerParty
|
|
thumb_func_end sub_8124C1C
|
|
|
|
thumb_func_start sub_8124C8C
|
|
sub_8124C8C: @ 8124C8C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r6, _08124CB4 @ =sub_8124D90
|
|
ldr r0, _08124CB8 @ =gMain
|
|
ldr r1, _08124CBC @ =0x00000439
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08124CCC
|
|
movs r0, 0x1
|
|
mov r8, r0
|
|
bl sub_81278B4
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
b _08124CD2
|
|
.align 2, 0
|
|
_08124CB4: .4byte sub_8124D90
|
|
_08124CB8: .4byte gMain
|
|
_08124CBC: .4byte 0x00000439
|
|
_08124CC0:
|
|
ldr r0, _08124CC8 @ =gUnknown_203B0A0
|
|
strb r5, [r0, 0x9]
|
|
b _08124D16
|
|
.align 2, 0
|
|
_08124CC8: .4byte gUnknown_203B0A0
|
|
_08124CCC:
|
|
movs r1, 0
|
|
mov r8, r1
|
|
movs r7, 0
|
|
_08124CD2:
|
|
ldr r4, _08124D30 @ =gUnknown_203AD30
|
|
ldrh r0, [r4]
|
|
bl GetItemEffectType
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xA
|
|
bne _08124D44
|
|
ldr r1, _08124D34 @ =gUnknown_203B0A0
|
|
movs r0, 0
|
|
strb r0, [r1, 0x9]
|
|
movs r5, 0
|
|
_08124CEA:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _08124D38 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08124D0C
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08124CC0
|
|
_08124D0C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x5
|
|
bls _08124CEA
|
|
_08124D16:
|
|
ldr r0, _08124D30 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl GetPocketByItemId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
bne _08124D28
|
|
ldr r6, _08124D3C @ =sub_8124DB0
|
|
_08124D28:
|
|
ldr r1, _08124D40 @ =sub_8124FC8
|
|
movs r0, 0x7F
|
|
b _08124D6A
|
|
.align 2, 0
|
|
_08124D30: .4byte gUnknown_203AD30
|
|
_08124D34: .4byte gUnknown_203B0A0
|
|
_08124D38: .4byte gPlayerParty
|
|
_08124D3C: .4byte sub_8124DB0
|
|
_08124D40: .4byte sub_8124FC8
|
|
_08124D44:
|
|
ldrh r0, [r4]
|
|
bl GetPocketByItemId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
beq _08124D5A
|
|
cmp r0, 0x5
|
|
beq _08124D64
|
|
movs r0, 0x5
|
|
b _08124D68
|
|
_08124D5A:
|
|
movs r0, 0x4
|
|
ldr r6, _08124D60 @ =sub_8124DA0
|
|
b _08124D68
|
|
.align 2, 0
|
|
_08124D60: .4byte sub_8124DA0
|
|
_08124D64:
|
|
movs r0, 0x5
|
|
ldr r6, _08124D88 @ =sub_8124DB0
|
|
_08124D68:
|
|
ldr r1, _08124D8C @ =sub_811FB28
|
|
_08124D6A:
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
str r6, [sp, 0x8]
|
|
mov r0, r8
|
|
adds r1, r7, 0
|
|
movs r2, 0x3
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124D88: .4byte sub_8124DB0
|
|
_08124D8C: .4byte sub_811FB28
|
|
thumb_func_end sub_8124C8C
|
|
|
|
thumb_func_start sub_8124D90
|
|
sub_8124D90: @ 8124D90
|
|
push {lr}
|
|
movs r0, 0xB
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
bl sub_8107DB4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124D90
|
|
|
|
thumb_func_start sub_8124DA0
|
|
sub_8124DA0: @ 8124DA0
|
|
push {lr}
|
|
movs r0, 0x5
|
|
movs r1, 0
|
|
movs r2, 0xFF
|
|
bl sub_81317F8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124DA0
|
|
|
|
thumb_func_start sub_8124DB0
|
|
sub_8124DB0: @ 8124DB0
|
|
push {lr}
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
movs r2, 0xFF
|
|
bl sub_813CD50
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124DB0
|
|
|
|
thumb_func_start sub_8124DC0
|
|
sub_8124DC0: @ 8124DC0
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08124DD8 @ =gUnknown_203B09C
|
|
ldr r2, [r1]
|
|
ldr r1, _08124DDC @ =sub_8124DE0
|
|
str r1, [r2, 0x4]
|
|
bl sub_811FA78
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124DD8: .4byte gUnknown_203B09C
|
|
_08124DDC: .4byte sub_8124DE0
|
|
thumb_func_end sub_8124DC0
|
|
|
|
thumb_func_start sub_8124DE0
|
|
sub_8124DE0: @ 8124DE0
|
|
push {r4,lr}
|
|
ldr r4, _08124E0C @ =gUnknown_203AD30
|
|
ldrh r0, [r4]
|
|
bl sub_80A1150
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _08124E2C
|
|
bl sub_8126C24
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08124E18
|
|
ldr r0, _08124E10 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
ldrh r1, [r4]
|
|
ldr r2, _08124E14 @ =sub_8126BD4
|
|
bl sub_811C540
|
|
b _08124E38
|
|
.align 2, 0
|
|
_08124E0C: .4byte gUnknown_203AD30
|
|
_08124E10: .4byte gUnknown_203B0A0
|
|
_08124E14: .4byte sub_8126BD4
|
|
_08124E18:
|
|
ldr r2, _08124E28 @ =gUnknown_203B0A0
|
|
ldrb r0, [r2, 0x9]
|
|
ldrh r1, [r4]
|
|
ldr r2, [r2]
|
|
bl sub_811C5AC
|
|
b _08124E38
|
|
.align 2, 0
|
|
_08124E28: .4byte gUnknown_203B0A0
|
|
_08124E2C:
|
|
ldr r0, _08124E40 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
ldrh r1, [r4]
|
|
ldr r2, _08124E44 @ =sub_8124E48
|
|
bl sub_811C540
|
|
_08124E38:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124E40: .4byte gUnknown_203B0A0
|
|
_08124E44: .4byte sub_8124E48
|
|
thumb_func_end sub_8124DE0
|
|
|
|
thumb_func_start sub_8124E48
|
|
sub_8124E48: @ 8124E48
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
ldr r7, _08124EBC @ =gUnknown_203AD30
|
|
ldrh r0, [r7]
|
|
bl ItemId_GetPocket
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _08124EC8
|
|
bl sub_811D178
|
|
cmp r0, 0x1
|
|
bne _08124EC8
|
|
ldr r0, _08124EC0 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r6, 0x64
|
|
adds r4, r0, 0
|
|
muls r4, r6
|
|
ldr r5, _08124EC4 @ =gPlayerParty
|
|
adds r4, r5
|
|
ldrh r0, [r7]
|
|
bl ItemIdToBattleMoveId
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl GiveMoveToMon
|
|
mov r1, r8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
muls r0, r6
|
|
adds r0, r5
|
|
movs r1, 0x4
|
|
bl AdjustFriendship
|
|
ldrh r1, [r7]
|
|
movs r0, 0xA9
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bhi _08124EB0
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
_08124EB0:
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
bl SetMainCallback2
|
|
b _08124EE6
|
|
.align 2, 0
|
|
_08124EBC: .4byte gUnknown_203AD30
|
|
_08124EC0: .4byte gUnknown_203B0A0
|
|
_08124EC4: .4byte gPlayerParty
|
|
_08124EC8:
|
|
ldr r2, _08124EF4 @ =gUnknown_203B0A0
|
|
ldrb r0, [r2, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r3, [r2, 0x9]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _08124EF8 @ =sub_8124FC8
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r2]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
bl sub_811EA44
|
|
_08124EE6:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124EF4: .4byte gUnknown_203B0A0
|
|
_08124EF8: .4byte sub_8124FC8
|
|
thumb_func_end sub_8124E48
|
|
|
|
thumb_func_start sub_8124EFC
|
|
sub_8124EFC: @ 8124EFC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
bl sub_811D178
|
|
cmp r0, 0x1
|
|
bne _08124F94
|
|
ldr r0, _08124F88 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
adds r5, r1, 0
|
|
muls r5, r0
|
|
ldr r0, _08124F8C @ =gPlayerParty
|
|
adds r5, r0
|
|
bl sub_8138B2C
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r1, r4, 0
|
|
adds r1, 0xD
|
|
adds r0, r5, 0
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl RemoveMonPPBonus
|
|
ldr r7, _08124F90 @ =gUnknown_203AD30
|
|
ldrh r0, [r7]
|
|
bl ItemIdToBattleMoveId
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r5, 0
|
|
adds r2, r4, 0
|
|
bl SetMonMoveSlot
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl AdjustFriendship
|
|
ldrh r2, [r7]
|
|
movs r0, 0x4
|
|
adds r1, r5, 0
|
|
adds r3, r6, 0
|
|
bl sub_80A2294
|
|
ldrh r1, [r7]
|
|
movs r0, 0xA9
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bhi _08124F7C
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
_08124F7C:
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
bl SetMainCallback2
|
|
b _08124FB2
|
|
.align 2, 0
|
|
_08124F88: .4byte gUnknown_203B0A0
|
|
_08124F8C: .4byte gPlayerParty
|
|
_08124F90: .4byte gUnknown_203AD30
|
|
_08124F94:
|
|
ldr r4, _08124FC0 @ =gUnknown_203B0A0
|
|
ldrb r0, [r4, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r4, 0xB]
|
|
ldrb r3, [r4, 0x9]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _08124FC4 @ =sub_8124FC8
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
bl sub_811EA44
|
|
_08124FB2:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08124FC0: .4byte gUnknown_203B0A0
|
|
_08124FC4: .4byte sub_8124FC8
|
|
thumb_func_end sub_8124EFC
|
|
|
|
thumb_func_start sub_8124FC8
|
|
sub_8124FC8: @ 8124FC8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r0, _08125000 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08124FFA
|
|
ldr r0, _08125004 @ =gUnknown_203B0A0
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _08124FEE
|
|
ldr r0, _08125008 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _0812500C @ =sub_8128184
|
|
str r0, [r1, 0x4]
|
|
_08124FEE:
|
|
ldr r0, _08125010 @ =gUnknown_3005E98
|
|
ldr r1, _08125014 @ =sub_81255BC
|
|
ldr r2, [r0]
|
|
adds r0, r3, 0
|
|
bl _call_via_r2
|
|
_08124FFA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125000: .4byte gPaletteFade
|
|
_08125004: .4byte gUnknown_203B0A0
|
|
_08125008: .4byte gUnknown_203B09C
|
|
_0812500C: .4byte sub_8128184
|
|
_08125010: .4byte gUnknown_3005E98
|
|
_08125014: .4byte sub_81255BC
|
|
thumb_func_end sub_8124FC8
|
|
|
|
thumb_func_start IsHPRecoveryItem
|
|
IsHPRecoveryItem: @ 8125018
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xAF
|
|
bne _08125034
|
|
ldr r0, _0812502C @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
ldr r1, _08125030 @ =0x00003108
|
|
adds r0, r1
|
|
b _0812503E
|
|
.align 2, 0
|
|
_0812502C: .4byte gSaveBlock1Ptr
|
|
_08125030: .4byte 0x00003108
|
|
_08125034:
|
|
ldr r1, _0812504C @ =gItemEffectTable
|
|
subs r0, 0xD
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
_0812503E:
|
|
ldrb r1, [r0, 0x4]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08125050
|
|
movs r0, 0
|
|
b _08125052
|
|
.align 2, 0
|
|
_0812504C: .4byte gItemEffectTable
|
|
_08125050:
|
|
movs r0, 0x1
|
|
_08125052:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end IsHPRecoveryItem
|
|
|
|
thumb_func_start GetMedicineItemEffectMessage
|
|
GetMedicineItemEffectMessage: @ 8125058
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl GetItemEffectType
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x3
|
|
cmp r0, 0x12
|
|
bls _0812506E
|
|
b _08125204
|
|
_0812506E:
|
|
lsls r0, 2
|
|
ldr r1, _08125078 @ =_0812507C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08125078: .4byte _0812507C
|
|
.align 2, 0
|
|
_0812507C:
|
|
.4byte _081250C8
|
|
.4byte _081250DC
|
|
.4byte _081250F0
|
|
.4byte _08125104
|
|
.4byte _08125118
|
|
.4byte _0812512C
|
|
.4byte _08125140
|
|
.4byte _08125204
|
|
.4byte _08125154
|
|
.4byte _08125178
|
|
.4byte _08125168
|
|
.4byte _081251A8
|
|
.4byte _081251B8
|
|
.4byte _08125198
|
|
.4byte _08125188
|
|
.4byte _08125204
|
|
.4byte _081251DC
|
|
.4byte _081251DC
|
|
.4byte _081251F0
|
|
_081250C8:
|
|
ldr r0, _081250D4 @ =gStringVar4
|
|
ldr r1, _081250D8 @ =gUnknown_8416F4E
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081250D4: .4byte gStringVar4
|
|
_081250D8: .4byte gUnknown_8416F4E
|
|
_081250DC:
|
|
ldr r0, _081250E8 @ =gStringVar4
|
|
ldr r1, _081250EC @ =gUnknown_8416F8C
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081250E8: .4byte gStringVar4
|
|
_081250EC: .4byte gUnknown_8416F8C
|
|
_081250F0:
|
|
ldr r0, _081250FC @ =gStringVar4
|
|
ldr r1, _08125100 @ =gUnknown_8416F9A
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081250FC: .4byte gStringVar4
|
|
_08125100: .4byte gUnknown_8416F9A
|
|
_08125104:
|
|
ldr r0, _08125110 @ =gStringVar4
|
|
ldr r1, _08125114 @ =gUnknown_8416FB2
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_08125110: .4byte gStringVar4
|
|
_08125114: .4byte gUnknown_8416FB2
|
|
_08125118:
|
|
ldr r0, _08125124 @ =gStringVar4
|
|
ldr r1, _08125128 @ =gUnknown_8416F6F
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_08125124: .4byte gStringVar4
|
|
_08125128: .4byte gUnknown_8416F6F
|
|
_0812512C:
|
|
ldr r0, _08125138 @ =gStringVar4
|
|
ldr r1, _0812513C @ =gUnknown_8417052
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_08125138: .4byte gStringVar4
|
|
_0812513C: .4byte gUnknown_8417052
|
|
_08125140:
|
|
ldr r0, _0812514C @ =gStringVar4
|
|
ldr r1, _08125150 @ =gUnknown_8417075
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_0812514C: .4byte gStringVar4
|
|
_08125150: .4byte gUnknown_8417075
|
|
_08125154:
|
|
ldr r0, _08125160 @ =gStringVar4
|
|
ldr r1, _08125164 @ =gUnknown_8416FED
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_08125160: .4byte gStringVar4
|
|
_08125164: .4byte gUnknown_8416FED
|
|
_08125168:
|
|
ldr r0, _08125170 @ =gStringVar2
|
|
ldr r1, _08125174 @ =gUnknown_84169C2
|
|
b _081251BC
|
|
.align 2, 0
|
|
_08125170: .4byte gStringVar2
|
|
_08125174: .4byte gUnknown_84169C2
|
|
_08125178:
|
|
ldr r0, _08125180 @ =gStringVar2
|
|
ldr r1, _08125184 @ =gUnknown_8417674
|
|
b _081251BC
|
|
.align 2, 0
|
|
_08125180: .4byte gStringVar2
|
|
_08125184: .4byte gUnknown_8417674
|
|
_08125188:
|
|
ldr r0, _08125190 @ =gStringVar2
|
|
ldr r1, _08125194 @ =gUnknown_841767B
|
|
b _081251BC
|
|
.align 2, 0
|
|
_08125190: .4byte gStringVar2
|
|
_08125194: .4byte gUnknown_841767B
|
|
_08125198:
|
|
ldr r0, _081251A0 @ =gStringVar2
|
|
ldr r1, _081251A4 @ =gUnknown_841768D
|
|
b _081251BC
|
|
.align 2, 0
|
|
_081251A0: .4byte gStringVar2
|
|
_081251A4: .4byte gUnknown_841768D
|
|
_081251A8:
|
|
ldr r0, _081251B0 @ =gStringVar2
|
|
ldr r1, _081251B4 @ =gUnknown_84169C5
|
|
b _081251BC
|
|
.align 2, 0
|
|
_081251B0: .4byte gStringVar2
|
|
_081251B4: .4byte gUnknown_84169C5
|
|
_081251B8:
|
|
ldr r0, _081251CC @ =gStringVar2
|
|
ldr r1, _081251D0 @ =gUnknown_84169CD
|
|
_081251BC:
|
|
bl StringCopy
|
|
ldr r0, _081251D4 @ =gStringVar4
|
|
ldr r1, _081251D8 @ =gUnknown_8417032
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081251CC: .4byte gStringVar2
|
|
_081251D0: .4byte gUnknown_84169CD
|
|
_081251D4: .4byte gStringVar4
|
|
_081251D8: .4byte gUnknown_8417032
|
|
_081251DC:
|
|
ldr r0, _081251E8 @ =gStringVar4
|
|
ldr r1, _081251EC @ =gUnknown_8417002
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081251E8: .4byte gStringVar4
|
|
_081251EC: .4byte gUnknown_8417002
|
|
_081251F0:
|
|
ldr r0, _081251FC @ =gStringVar4
|
|
ldr r1, _08125200 @ =gUnknown_8416FC7
|
|
bl StringExpandPlaceholders
|
|
b _0812520C
|
|
.align 2, 0
|
|
_081251FC: .4byte gStringVar4
|
|
_08125200: .4byte gUnknown_8416FC7
|
|
_08125204:
|
|
ldr r0, _08125210 @ =gStringVar4
|
|
ldr r1, _08125214 @ =gUnknown_84169DC
|
|
bl StringExpandPlaceholders
|
|
_0812520C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125210: .4byte gStringVar4
|
|
_08125214: .4byte gUnknown_84169DC
|
|
thumb_func_end GetMedicineItemEffectMessage
|
|
|
|
thumb_func_start UsingHPEVItemOnShedinja
|
|
UsingHPEVItemOnShedinja: @ 8125218
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
bl GetItemEffectType
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xD
|
|
bne _08125244
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
ldr r1, _08125240 @ =0x0000012f
|
|
cmp r0, r1
|
|
bne _08125244
|
|
movs r0, 0
|
|
b _08125246
|
|
.align 2, 0
|
|
_08125240: .4byte 0x0000012f
|
|
_08125244:
|
|
movs r0, 0x1
|
|
_08125246:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end UsingHPEVItemOnShedinja
|
|
|
|
thumb_func_start IsBlueYellowRedFlute
|
|
IsBlueYellowRedFlute: @ 812524C
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x27
|
|
beq _0812525E
|
|
cmp r0, 0x29
|
|
beq _0812525E
|
|
cmp r0, 0x28
|
|
bne _08125262
|
|
_0812525E:
|
|
movs r0, 0x1
|
|
b _08125264
|
|
_08125262:
|
|
movs r0, 0
|
|
_08125264:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end IsBlueYellowRedFlute
|
|
|
|
thumb_func_start ExecuteTableBasedItemEffect__
|
|
ExecuteTableBasedItemEffect__: @ 8125268
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 16
|
|
lsrs r5, r1, 16
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldr r0, _08125294 @ =gMain
|
|
ldr r1, _08125298 @ =0x00000439
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081252A0
|
|
movs r0, 0x64
|
|
muls r0, r3
|
|
ldr r1, _0812529C @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r5, 0
|
|
adds r2, r3, 0
|
|
b _081252BA
|
|
.align 2, 0
|
|
_08125294: .4byte gMain
|
|
_08125298: .4byte 0x00000439
|
|
_0812529C: .4byte gPlayerParty
|
|
_081252A0:
|
|
movs r0, 0x64
|
|
adds r4, r3, 0
|
|
muls r4, r0
|
|
ldr r0, _081252CC @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r3, 0
|
|
bl sub_8127F7C
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
_081252BA:
|
|
adds r3, r6, 0
|
|
bl ExecuteTableBasedItemEffect
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081252CC: .4byte gPlayerParty
|
|
thumb_func_end ExecuteTableBasedItemEffect__
|
|
|
|
thumb_func_start sub_81252D0
|
|
sub_81252D0: @ 81252D0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _08125300 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08125304 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
ldr r0, _08125308 @ =gUnknown_203AD30
|
|
ldrh r6, [r0]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl UsingHPEVItemOnShedinja
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0812530C
|
|
movs r4, 0x1
|
|
b _08125342
|
|
.align 2, 0
|
|
_08125300: .4byte gUnknown_203B0A0
|
|
_08125304: .4byte gPlayerParty
|
|
_08125308: .4byte gUnknown_203AD30
|
|
_0812530C:
|
|
adds r0, r6, 0
|
|
bl IsHPRecoveryItem
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08125330
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r5, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
_08125330:
|
|
ldr r0, _08125370 @ =gUnknown_203B0A0
|
|
ldrb r2, [r0, 0x9]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
movs r3, 0
|
|
bl PokemonUseItemEffects2
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_08125342:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
cmp r4, 0
|
|
beq _08125380
|
|
ldr r1, _08125374 @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _08125378 @ =gUnknown_84169DC
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _0812537C @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
mov r1, r8
|
|
str r1, [r0]
|
|
b _08125398
|
|
.align 2, 0
|
|
_08125370: .4byte gUnknown_203B0A0
|
|
_08125374: .4byte gUnknown_203B0C0
|
|
_08125378: .4byte gUnknown_84169DC
|
|
_0812537C: .4byte gTasks
|
|
_08125380:
|
|
ldr r3, _081253A4 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
adds r1, r5, 0
|
|
adds r2, r6, 0
|
|
bl sub_80A2294
|
|
adds r0, r7, 0
|
|
bl sub_8124DC0
|
|
ldr r1, _081253A8 @ =gUnknown_3005E98
|
|
ldr r0, _081253AC @ =ItemUseCB_Medicine
|
|
str r0, [r1]
|
|
_08125398:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081253A4: .4byte 0x0000ffff
|
|
_081253A8: .4byte gUnknown_3005E98
|
|
_081253AC: .4byte ItemUseCB_Medicine
|
|
thumb_func_end sub_81252D0
|
|
|
|
thumb_func_start ItemUseCB_Medicine
|
|
ItemUseCB_Medicine: @ 81253B0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
str r1, [sp, 0x4]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r0, 0
|
|
mov r10, r0
|
|
ldr r0, _08125438 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _0812543C @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
ldr r0, _08125440 @ =gUnknown_203AD30
|
|
ldrh r6, [r0]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl UsingHPEVItemOnShedinja
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08125428
|
|
adds r0, r6, 0
|
|
bl IsHPRecoveryItem
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
cmp r0, 0x1
|
|
bne _08125416
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0x3A
|
|
bl GetMonData
|
|
cmp r10, r0
|
|
bne _08125416
|
|
movs r1, 0
|
|
mov r8, r1
|
|
_08125416:
|
|
ldr r4, _08125438 @ =gUnknown_203B0A0
|
|
ldrb r0, [r4, 0x9]
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
bl ExecuteTableBasedItemEffect__
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812544C
|
|
_08125428:
|
|
ldr r1, _08125444 @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _08125448 @ =gUnknown_84169DC
|
|
b _0812551C
|
|
.align 2, 0
|
|
_08125438: .4byte gUnknown_203B0A0
|
|
_0812543C: .4byte gPlayerParty
|
|
_08125440: .4byte gUnknown_203AD30
|
|
_08125444: .4byte gUnknown_203B0C0
|
|
_08125448: .4byte gUnknown_84169DC
|
|
_0812544C:
|
|
ldr r1, _08125474 @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
bl IsBlueYellowRedFlute
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08125478
|
|
movs r0, 0x1
|
|
bl PlaySE
|
|
ldrb r0, [r4, 0xB]
|
|
cmp r0, 0xE
|
|
beq _0812547E
|
|
adds r0, r6, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
b _0812547E
|
|
.align 2, 0
|
|
_08125474: .4byte gUnknown_203B0C0
|
|
_08125478:
|
|
movs r0, 0x6E
|
|
bl PlaySE
|
|
_0812547E:
|
|
ldr r4, _081254FC @ =gUnknown_203B0B4
|
|
ldr r7, _08125500 @ =gUnknown_203B0A0
|
|
movs r0, 0x9
|
|
ldrsb r0, [r7, r0]
|
|
lsls r0, 4
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
adds r0, r5, 0
|
|
bl party_menu_get_status_condition_and_update_object
|
|
ldr r2, _08125504 @ =gSprites
|
|
movs r0, 0x9
|
|
ldrsb r0, [r7, r0]
|
|
ldr r1, [r4]
|
|
lsls r0, 4
|
|
adds r3, r0, r1
|
|
ldrb r1, [r3, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r0, [r0]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
bge _081254BC
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x1
|
|
bl sub_8121790
|
|
_081254BC:
|
|
mov r2, r8
|
|
cmp r2, 0x1
|
|
bne _0812550C
|
|
mov r0, r10
|
|
cmp r0, 0
|
|
bne _081254D0
|
|
ldrb r0, [r7, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
_081254D0:
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r3, r0, 0
|
|
mov r1, r10
|
|
subs r3, r1
|
|
lsls r3, 16
|
|
asrs r3, 16
|
|
ldrb r1, [r7, 0x9]
|
|
ldr r0, _08125508 @ =sub_8125554
|
|
str r0, [sp]
|
|
mov r0, r9
|
|
movs r2, 0x1
|
|
bl sub_8120760
|
|
mov r0, r9
|
|
movs r1, 0
|
|
mov r2, r10
|
|
bl sub_81207F0
|
|
b _08125538
|
|
.align 2, 0
|
|
_081254FC: .4byte gUnknown_203B0B4
|
|
_08125500: .4byte gUnknown_203B0A0
|
|
_08125504: .4byte gSprites
|
|
_08125508: .4byte sub_8125554
|
|
_0812550C:
|
|
ldr r1, _08125548 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
adds r0, r6, 0
|
|
bl GetMedicineItemEffectMessage
|
|
ldr r0, _0812554C @ =gStringVar4
|
|
_0812551C:
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08125550 @ =gTasks
|
|
mov r2, r9
|
|
lsls r0, r2, 2
|
|
add r0, r9
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, [sp, 0x4]
|
|
str r1, [r0]
|
|
_08125538:
|
|
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
|
|
_08125548: .4byte gStringVar1
|
|
_0812554C: .4byte gStringVar4
|
|
_08125550: .4byte gTasks
|
|
thumb_func_end ItemUseCB_Medicine
|
|
|
|
thumb_func_start sub_8125554
|
|
sub_8125554: @ 8125554
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _081255A0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081255A4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _081255A8 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r4, _081255AC @ =gStringVar4
|
|
ldr r1, _081255B0 @ =gUnknown_8416F27
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_803539C
|
|
ldr r1, _081255B4 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _081255B8 @ =sub_81255BC
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081255A0: .4byte gUnknown_203B0A0
|
|
_081255A4: .4byte gPlayerParty
|
|
_081255A8: .4byte gStringVar1
|
|
_081255AC: .4byte gStringVar4
|
|
_081255B0: .4byte gUnknown_8416F27
|
|
_081255B4: .4byte gTasks
|
|
_081255B8: .4byte sub_81255BC
|
|
thumb_func_end sub_8125554
|
|
|
|
thumb_func_start sub_81255BC
|
|
sub_81255BC: @ 81255BC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081255E2
|
|
ldr r0, _081255E8 @ =gUnknown_203B0C0
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
bne _081255DC
|
|
ldr r0, _081255EC @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
str r1, [r0, 0x4]
|
|
_081255DC:
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
_081255E2:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081255E8: .4byte gUnknown_203B0C0
|
|
_081255EC: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_81255BC
|
|
|
|
thumb_func_start sub_81255F0
|
|
sub_81255F0: @ 81255F0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
mov r10, r0
|
|
movs r1, 0x2
|
|
mov r8, r1
|
|
movs r0, 0x3
|
|
bl sub_8121E5C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
movs r6, 0
|
|
movs r0, 0x64
|
|
adds r2, r4, 0
|
|
muls r2, r0
|
|
str r2, [sp, 0xC]
|
|
_08125620:
|
|
ldr r0, _081256B8 @ =gPlayerParty
|
|
adds r1, r6, 0
|
|
adds r1, 0xD
|
|
ldr r2, [sp, 0xC]
|
|
adds r0, r2, r0
|
|
bl GetMonData
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
mov r0, r8
|
|
movs r1, 0
|
|
bl GetFontAttribute
|
|
adds r4, r0, 0
|
|
mov r0, r8
|
|
movs r1, 0x2
|
|
bl GetFontAttribute
|
|
adds r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0xD
|
|
adds r2, r5, 0
|
|
muls r2, r0
|
|
ldr r0, _081256BC @ =gUnknown_8247094
|
|
adds r2, r0
|
|
lsls r0, r6, 4
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0x4]
|
|
movs r7, 0
|
|
str r7, [sp, 0x8]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
adds r3, r4, 0
|
|
bl AddTextPrinterParameterized
|
|
cmp r5, 0
|
|
beq _08125680
|
|
mov r0, r10
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
_08125680:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3
|
|
bls _08125620
|
|
movs r0, 0x10
|
|
str r0, [sp]
|
|
mov r0, r10
|
|
str r0, [sp, 0x4]
|
|
str r7, [sp, 0x8]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_810F7D8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081256B8: .4byte gPlayerParty
|
|
_081256BC: .4byte gUnknown_8247094
|
|
thumb_func_end sub_81255F0
|
|
|
|
thumb_func_start sub_81256C0
|
|
sub_81256C0: @ 81256C0
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
bl ProcessMenuInput
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _081256F2
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
bne _081256EC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_81257D4
|
|
b _081256F2
|
|
_081256EC:
|
|
adds r0, r5, 0
|
|
bl sub_8125790
|
|
_081256F2:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81256C0
|
|
|
|
thumb_func_start sub_81256F8
|
|
sub_81256F8: @ 81256F8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08125710 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xAF
|
|
bne _0812571C
|
|
ldr r0, _08125714 @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
ldr r1, _08125718 @ =0x00003108
|
|
adds r0, r1
|
|
b _08125726
|
|
.align 2, 0
|
|
_08125710: .4byte gUnknown_203AD30
|
|
_08125714: .4byte gSaveBlock1Ptr
|
|
_08125718: .4byte 0x00003108
|
|
_0812571C:
|
|
ldr r1, _0812574C @ =gItemEffectTable
|
|
subs r0, 0xD
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
_08125726:
|
|
ldrb r1, [r0, 0x4]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _0812575C
|
|
ldr r0, _08125750 @ =gUnknown_203B0A0
|
|
strh r1, [r0, 0xE]
|
|
ldrb r1, [r0, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _08125754
|
|
adds r0, r4, 0
|
|
bl sub_8125958
|
|
b _0812577E
|
|
.align 2, 0
|
|
_0812574C: .4byte gItemEffectTable
|
|
_08125750: .4byte gUnknown_203B0A0
|
|
_08125754:
|
|
adds r0, r4, 0
|
|
bl sub_812580C
|
|
b _0812577E
|
|
_0812575C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x17
|
|
bl sub_8121D0C
|
|
ldr r0, _08125784 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
bl sub_81255F0
|
|
ldr r1, _08125788 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0812578C @ =sub_81256C0
|
|
str r1, [r0]
|
|
_0812577E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125784: .4byte gUnknown_203B0A0
|
|
_08125788: .4byte gTasks
|
|
_0812578C: .4byte sub_81256C0
|
|
thumb_func_end sub_81256F8
|
|
|
|
thumb_func_start sub_8125790
|
|
sub_8125790: @ 8125790
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081257C0 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
bl GetMenuCursorPos
|
|
ldr r1, _081257C4 @ =gUnknown_203B0A0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r1, 0xE]
|
|
ldrb r1, [r1, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _081257C8
|
|
adds r0, r4, 0
|
|
bl sub_8125958
|
|
b _081257CE
|
|
.align 2, 0
|
|
_081257C0: .4byte gUnknown_203B09C
|
|
_081257C4: .4byte gUnknown_203B0A0
|
|
_081257C8:
|
|
adds r0, r4, 0
|
|
bl sub_812580C
|
|
_081257CE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125790
|
|
|
|
thumb_func_start sub_81257D4
|
|
sub_81257D4: @ 81257D4
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08125800 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldr r0, _08125804 @ =sub_811FB28
|
|
str r0, [r1]
|
|
ldr r0, _08125808 @ =gUnknown_203B09C
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
str r1, [r0, 0x4]
|
|
adds r0, 0xC
|
|
bl sub_8121CE4
|
|
movs r0, 0x5
|
|
bl sub_8121D0C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125800: .4byte gTasks
|
|
_08125804: .4byte sub_811FB28
|
|
_08125808: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_81257D4
|
|
|
|
thumb_func_start sub_812580C
|
|
sub_812580C: @ 812580C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r3, _08125860 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r3, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08125864 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08125868 @ =gUnknown_203AD30
|
|
ldrh r1, [r1]
|
|
ldrb r2, [r3, 0x9]
|
|
ldrb r3, [r3, 0xE]
|
|
bl PokemonUseItemEffects2
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
cmp r4, 0
|
|
beq _0812587C
|
|
ldr r1, _0812586C @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _08125870 @ =gUnknown_84169DC
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08125874 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125878 @ =sub_81255BC
|
|
str r1, [r0]
|
|
b _08125888
|
|
.align 2, 0
|
|
_08125860: .4byte gUnknown_203B0A0
|
|
_08125864: .4byte gPlayerParty
|
|
_08125868: .4byte gUnknown_203AD30
|
|
_0812586C: .4byte gUnknown_203B0C0
|
|
_08125870: .4byte gUnknown_84169DC
|
|
_08125874: .4byte gTasks
|
|
_08125878: .4byte sub_81255BC
|
|
_0812587C:
|
|
adds r0, r5, 0
|
|
bl sub_8124DC0
|
|
ldr r1, _08125890 @ =gUnknown_3005E98
|
|
ldr r0, _08125894 @ =sub_8125898
|
|
str r0, [r1]
|
|
_08125888:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125890: .4byte gUnknown_3005E98
|
|
_08125894: .4byte sub_8125898
|
|
thumb_func_end sub_812580C
|
|
|
|
thumb_func_start sub_8125898
|
|
sub_8125898: @ 8125898
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
mov r8, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r5, _08125930 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r5, r1]
|
|
movs r0, 0x64
|
|
adds r4, r1, 0
|
|
muls r4, r0
|
|
ldr r0, _08125934 @ =gPlayerParty
|
|
adds r4, r0
|
|
ldrb r0, [r5, 0x9]
|
|
ldr r6, _08125938 @ =gUnknown_203AD30
|
|
ldrh r1, [r6]
|
|
ldrb r2, [r5, 0xE]
|
|
bl ExecuteTableBasedItemEffect__
|
|
ldr r1, _0812593C @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrh r2, [r6]
|
|
ldr r3, _08125940 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_80A2294
|
|
movs r0, 0x1
|
|
bl PlaySE
|
|
ldrh r0, [r6]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
movs r2, 0xE
|
|
ldrsh r1, [r5, r2]
|
|
adds r1, 0xD
|
|
adds r0, r4, 0
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r2, _08125944 @ =gStringVar1
|
|
movs r1, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08125948 @ =gUnknown_8247094
|
|
adds r1, r0
|
|
adds r0, r2, 0
|
|
bl StringCopy
|
|
ldrh r0, [r6]
|
|
bl GetMedicineItemEffectMessage
|
|
ldr r0, _0812594C @ =gStringVar4
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08125950 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125954 @ =sub_81255BC
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125930: .4byte gUnknown_203B0A0
|
|
_08125934: .4byte gPlayerParty
|
|
_08125938: .4byte gUnknown_203AD30
|
|
_0812593C: .4byte gUnknown_203B0C0
|
|
_08125940: .4byte 0x0000ffff
|
|
_08125944: .4byte gStringVar1
|
|
_08125948: .4byte gUnknown_8247094
|
|
_0812594C: .4byte gStringVar4
|
|
_08125950: .4byte gTasks
|
|
_08125954: .4byte sub_81255BC
|
|
thumb_func_end sub_8125898
|
|
|
|
thumb_func_start sub_8125958
|
|
sub_8125958: @ 8125958
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r4, 0
|
|
ldr r7, _08125990 @ =gUnknown_203B0AE
|
|
ldr r0, _08125994 @ =gUnknown_203AD30
|
|
ldrh r5, [r0]
|
|
movs r0, 0xE
|
|
negs r0, r0
|
|
adds r0, r7
|
|
mov r8, r0
|
|
ldrb r0, [r0, 0x9]
|
|
ldrb r2, [r7]
|
|
adds r1, r5, 0
|
|
bl ExecuteTableBasedItemEffect__
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081259A0
|
|
ldr r0, _08125998 @ =gUnknown_203B0C0
|
|
strb r4, [r0]
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0812599C @ =gUnknown_84169DC
|
|
b _081259F6
|
|
.align 2, 0
|
|
_08125990: .4byte gUnknown_203B0AE
|
|
_08125994: .4byte gUnknown_203AD30
|
|
_08125998: .4byte gUnknown_203B0C0
|
|
_0812599C: .4byte gUnknown_84169DC
|
|
_081259A0:
|
|
ldr r1, _08125A1C @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
mov r0, r8
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
adds r4, r1, 0
|
|
muls r4, r0
|
|
ldr r0, _08125A20 @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r3, _08125A24 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_80A2294
|
|
movs r0, 0x1
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
movs r0, 0
|
|
ldrsh r1, [r7, r0]
|
|
adds r1, 0xD
|
|
adds r0, r4, 0
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, _08125A28 @ =gStringVar1
|
|
movs r1, 0xD
|
|
muls r1, r4
|
|
ldr r2, _08125A2C @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
adds r0, r5, 0
|
|
bl GetMedicineItemEffectMessage
|
|
ldr r0, _08125A30 @ =gStringVar4
|
|
_081259F6:
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08125A34 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125A38 @ =sub_81255BC
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125A1C: .4byte gUnknown_203B0C0
|
|
_08125A20: .4byte gPlayerParty
|
|
_08125A24: .4byte 0x0000ffff
|
|
_08125A28: .4byte gStringVar1
|
|
_08125A2C: .4byte gUnknown_8247094
|
|
_08125A30: .4byte gStringVar4
|
|
_08125A34: .4byte gTasks
|
|
_08125A38: .4byte sub_81255BC
|
|
thumb_func_end sub_8125958
|
|
|
|
thumb_func_start dp05_pp_up
|
|
dp05_pp_up: @ 8125A3C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x18
|
|
bl sub_8121D0C
|
|
ldr r0, _08125A6C @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x9]
|
|
bl sub_81255F0
|
|
ldr r1, _08125A70 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125A74 @ =sub_81256C0
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125A6C: .4byte gUnknown_203B0A0
|
|
_08125A70: .4byte gTasks
|
|
_08125A74: .4byte sub_81256C0
|
|
thumb_func_end dp05_pp_up
|
|
|
|
thumb_func_start ItemIdToBattleMoveId
|
|
ItemIdToBattleMoveId: @ 8125A78
|
|
lsls r0, 16
|
|
ldr r1, _08125A88 @ =0xfedf0000
|
|
adds r0, r1
|
|
ldr r1, _08125A8C @ =gUnknown_845A80C
|
|
lsrs r0, 15
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08125A88: .4byte 0xfedf0000
|
|
_08125A8C: .4byte gUnknown_845A80C
|
|
thumb_func_end ItemIdToBattleMoveId
|
|
|
|
thumb_func_start sub_8125A90
|
|
sub_8125A90: @ 8125A90
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
movs r1, 0
|
|
ldr r3, _08125AAC @ =gUnknown_845A80C
|
|
_08125A9A:
|
|
adds r0, r1, 0
|
|
adds r0, 0x32
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, r2
|
|
bne _08125AB0
|
|
movs r0, 0x1
|
|
b _08125ABC
|
|
.align 2, 0
|
|
_08125AAC: .4byte gUnknown_845A80C
|
|
_08125AB0:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x6
|
|
bls _08125A9A
|
|
movs r0, 0
|
|
_08125ABC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125A90
|
|
|
|
thumb_func_start pokemon_has_move
|
|
pokemon_has_move: @ 8125AC0
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r1, 16
|
|
lsrs r5, r1, 16
|
|
movs r4, 0
|
|
_08125ACA:
|
|
adds r1, r4, 0
|
|
adds r1, 0xD
|
|
adds r0, r6, 0
|
|
bl GetMonData
|
|
cmp r0, r5
|
|
bne _08125ADC
|
|
movs r0, 0x1
|
|
b _08125AE8
|
|
_08125ADC:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _08125ACA
|
|
movs r0, 0
|
|
_08125AE8:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end pokemon_has_move
|
|
|
|
thumb_func_start sub_8125AF0
|
|
sub_8125AF0: @ 8125AF0
|
|
push {r4,lr}
|
|
adds r1, r0, 0
|
|
ldr r4, _08125B10 @ =gStringVar4
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125B10: .4byte gStringVar4
|
|
thumb_func_end sub_8125AF0
|
|
|
|
thumb_func_start sub_8125B14
|
|
sub_8125B14: @ 8125B14
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, r1, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_8125AF0
|
|
ldr r1, _08125B38 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125B3C @ =sub_81255BC
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125B38: .4byte gTasks
|
|
_08125B3C: .4byte sub_81255BC
|
|
thumb_func_end sub_8125B14
|
|
|
|
thumb_func_start sub_8125B40
|
|
sub_8125B40: @ 8125B40
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r7, _08125BD0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r7, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08125BD4 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
movs r0, 0xE
|
|
adds r0, r7
|
|
mov r8, r0
|
|
ldr r0, _08125BD8 @ =gUnknown_203AD30
|
|
ldrh r5, [r0]
|
|
ldr r1, _08125BDC @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
adds r0, r5, 0
|
|
bl ItemIdToBattleMoveId
|
|
strh r0, [r7, 0xE]
|
|
ldr r0, _08125BE0 @ =gStringVar2
|
|
movs r1, 0xE
|
|
ldrsh r2, [r7, r1]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08125BE4 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
movs r0, 0
|
|
mov r1, r8
|
|
strh r0, [r1, 0x2]
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
bl sub_8120B20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08125BF4
|
|
cmp r0, 0x2
|
|
beq _08125BFC
|
|
ldrh r1, [r7, 0xE]
|
|
adds r0, r4, 0
|
|
bl GiveMoveToMon
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r3, _08125BE8 @ =0x0000ffff
|
|
cmp r0, r3
|
|
beq _08125C0C
|
|
movs r0, 0x4
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_80A2294
|
|
adds r0, r6, 0
|
|
bl sub_8124DC0
|
|
ldr r1, _08125BEC @ =gUnknown_3005E98
|
|
ldr r0, _08125BF0 @ =sub_8125C38
|
|
str r0, [r1]
|
|
b _08125C20
|
|
.align 2, 0
|
|
_08125BD0: .4byte gUnknown_203B0A0
|
|
_08125BD4: .4byte gPlayerParty
|
|
_08125BD8: .4byte gUnknown_203AD30
|
|
_08125BDC: .4byte gStringVar1
|
|
_08125BE0: .4byte gStringVar2
|
|
_08125BE4: .4byte gUnknown_8247094
|
|
_08125BE8: .4byte 0x0000ffff
|
|
_08125BEC: .4byte gUnknown_3005E98
|
|
_08125BF0: .4byte sub_8125C38
|
|
_08125BF4:
|
|
ldr r1, _08125BF8 @ =gUnknown_8416DC2
|
|
b _08125BFE
|
|
.align 2, 0
|
|
_08125BF8: .4byte gUnknown_8416DC2
|
|
_08125BFC:
|
|
ldr r1, _08125C08 @ =gUnknown_8416F10
|
|
_08125BFE:
|
|
adds r0, r6, 0
|
|
bl sub_8125B14
|
|
b _08125C20
|
|
.align 2, 0
|
|
_08125C08: .4byte gUnknown_8416F10
|
|
_08125C0C:
|
|
ldr r0, _08125C2C @ =gUnknown_8416DF7
|
|
bl sub_8125AF0
|
|
ldr r1, _08125C30 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125C34 @ =sub_8125D88
|
|
str r1, [r0]
|
|
_08125C20:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125C2C: .4byte gUnknown_8416DF7
|
|
_08125C30: .4byte gTasks
|
|
_08125C34: .4byte sub_8125D88
|
|
thumb_func_end sub_8125B40
|
|
|
|
thumb_func_start sub_8125C38
|
|
sub_8125C38: @ 8125C38
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8125C48
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125C38
|
|
|
|
thumb_func_start sub_8125C48
|
|
sub_8125C48: @ 8125C48
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r2, _08125CCC @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08125CD0 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
adds r6, r2, 0
|
|
adds r6, 0xE
|
|
ldr r0, _08125CD4 @ =gUnknown_203AD30
|
|
ldrh r4, [r0]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
bne _08125C84
|
|
adds r0, r5, 0
|
|
movs r1, 0x4
|
|
bl AdjustFriendship
|
|
movs r0, 0xA9
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
bhi _08125C84
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
_08125C84:
|
|
ldr r1, _08125CD8 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08125CDC @ =gStringVar2
|
|
movs r1, 0
|
|
ldrsh r2, [r6, r1]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08125CE0 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _08125CE4 @ =gStringVar4
|
|
ldr r1, _08125CE8 @ =gUnknown_8416DB3
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08125CEC @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125CF0 @ =sub_8125CF4
|
|
str r1, [r0]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125CCC: .4byte gUnknown_203B0A0
|
|
_08125CD0: .4byte gPlayerParty
|
|
_08125CD4: .4byte gUnknown_203AD30
|
|
_08125CD8: .4byte gStringVar1
|
|
_08125CDC: .4byte gStringVar2
|
|
_08125CE0: .4byte gUnknown_8247094
|
|
_08125CE4: .4byte gStringVar4
|
|
_08125CE8: .4byte gUnknown_8416DB3
|
|
_08125CEC: .4byte gTasks
|
|
_08125CF0: .4byte sub_8125CF4
|
|
thumb_func_end sub_8125C48
|
|
|
|
thumb_func_start sub_8125CF4
|
|
sub_8125CF4: @ 8125CF4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08125D1A
|
|
ldr r0, _08125D20 @ =0x00000101
|
|
bl PlayFanfare
|
|
ldr r1, _08125D24 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125D28 @ =sub_8125D2C
|
|
str r1, [r0]
|
|
_08125D1A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125D20: .4byte 0x00000101
|
|
_08125D24: .4byte gTasks
|
|
_08125D28: .4byte sub_8125D2C
|
|
thumb_func_end sub_8125CF4
|
|
|
|
thumb_func_start sub_8125D2C
|
|
sub_8125D2C: @ 8125D2C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
bl IsFanfareTaskInactive
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08125D7E
|
|
ldr r0, _08125D68 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r2, 0x1
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08125D54
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08125D7E
|
|
_08125D54:
|
|
ldr r0, _08125D6C @ =gUnknown_203B0A0
|
|
movs r1, 0x10
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0x1
|
|
bne _08125D70
|
|
adds r0, r4, 0
|
|
bl sub_81266A0
|
|
b _08125D7E
|
|
.align 2, 0
|
|
_08125D68: .4byte gMain
|
|
_08125D6C: .4byte gUnknown_203B0A0
|
|
_08125D70:
|
|
cmp r0, 0x2
|
|
bne _08125D78
|
|
ldr r0, _08125D84 @ =gUnknown_20370D0
|
|
strh r2, [r0]
|
|
_08125D78:
|
|
adds r0, r5, 0
|
|
bl sub_811FA78
|
|
_08125D7E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125D84: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_8125D2C
|
|
|
|
thumb_func_start sub_8125D88
|
|
sub_8125D88: @ 8125D88
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08125DAC
|
|
bl sub_812200C
|
|
ldr r0, _08125DB4 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08125DB8 @ =sub_8125DBC
|
|
str r0, [r1]
|
|
_08125DAC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125DB4: .4byte gTasks
|
|
_08125DB8: .4byte sub_8125DBC
|
|
thumb_func_end sub_8125D88
|
|
|
|
thumb_func_start sub_8125DBC
|
|
sub_8125DBC: @ 8125DBC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08125DE2
|
|
cmp r1, 0
|
|
bgt _08125DDC
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08125E08
|
|
b _08125E14
|
|
_08125DDC:
|
|
cmp r1, 0x1
|
|
beq _08125E0E
|
|
b _08125E14
|
|
_08125DE2:
|
|
ldr r0, _08125DFC @ =gUnknown_8416EA4
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
ldr r1, _08125E00 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08125E04 @ =sub_8125E1C
|
|
str r1, [r0]
|
|
b _08125E14
|
|
.align 2, 0
|
|
_08125DFC: .4byte gUnknown_8416EA4
|
|
_08125E00: .4byte gTasks
|
|
_08125E04: .4byte sub_8125E1C
|
|
_08125E08:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_08125E0E:
|
|
adds r0, r4, 0
|
|
bl sub_81260D8
|
|
_08125E14:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125DBC
|
|
|
|
thumb_func_start sub_8125E1C
|
|
sub_8125E1C: @ 8125E1C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08125E3C
|
|
ldr r0, _08125E44 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _08125E48 @ =sub_8125E4C
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
_08125E3C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125E44: .4byte gUnknown_203B09C
|
|
_08125E48: .4byte sub_8125E4C
|
|
thumb_func_end sub_8125E1C
|
|
|
|
thumb_func_start sub_8125E4C
|
|
sub_8125E4C: @ 8125E4C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08125E74 @ =gPlayerParty
|
|
ldr r4, _08125E78 @ =gUnknown_203B0A0
|
|
ldrb r1, [r4, 0x9]
|
|
ldr r2, _08125E7C @ =gPlayerPartyCount
|
|
ldrb r2, [r2]
|
|
subs r2, 0x1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
ldr r3, _08125E80 @ =sub_8125E84
|
|
ldrh r4, [r4, 0xE]
|
|
str r4, [sp]
|
|
bl sub_8134738
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125E74: .4byte gPlayerParty
|
|
_08125E78: .4byte gUnknown_203B0A0
|
|
_08125E7C: .4byte gPlayerPartyCount
|
|
_08125E80: .4byte sub_8125E84
|
|
thumb_func_end sub_8125E4C
|
|
|
|
thumb_func_start sub_8125E84
|
|
sub_8125E84: @ 8125E84
|
|
push {r4,r5,lr}
|
|
sub sp, 0xC
|
|
bl sub_8138B2C
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
ldr r4, _08125ED0 @ =gUnknown_203B0A0
|
|
movs r0, 0x10
|
|
ldrsh r5, [r4, r0]
|
|
cmp r5, 0
|
|
bne _08125EE8
|
|
cmp r2, 0x4
|
|
beq _08125EE8
|
|
movs r1, 0x9
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08125ED4 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r2, 0
|
|
adds r1, 0xD
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldrb r0, [r4, 0x9]
|
|
ldr r1, _08125ED8 @ =gUnknown_203AD30
|
|
ldrh r1, [r1]
|
|
ldr r3, _08125EDC @ =sub_8124EFC
|
|
bl sub_811C568
|
|
ldr r1, _08125EE0 @ =gUnknown_3005E98
|
|
ldr r0, _08125EE4 @ =sub_8125F4C
|
|
str r0, [r1]
|
|
strb r5, [r4, 0xB]
|
|
b _08125F02
|
|
.align 2, 0
|
|
_08125ED0: .4byte gUnknown_203B0A0
|
|
_08125ED4: .4byte gPlayerParty
|
|
_08125ED8: .4byte gUnknown_203AD30
|
|
_08125EDC: .4byte sub_8124EFC
|
|
_08125EE0: .4byte gUnknown_3005E98
|
|
_08125EE4: .4byte sub_8125F4C
|
|
_08125EE8:
|
|
movs r0, 0x7F
|
|
str r0, [sp]
|
|
ldr r0, _08125F0C @ =sub_8125F14
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08125F10 @ =gUnknown_203B0A0
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
_08125F02:
|
|
add sp, 0xC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125F0C: .4byte sub_8125F14
|
|
_08125F10: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_8125E84
|
|
|
|
thumb_func_start sub_8125F14
|
|
sub_8125F14: @ 8125F14
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
ldr r0, _08125F3C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08125F46
|
|
bl sub_8138B2C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
beq _08125F40
|
|
adds r0, r4, 0
|
|
bl sub_8125FFC
|
|
b _08125F46
|
|
.align 2, 0
|
|
_08125F3C: .4byte gPaletteFade
|
|
_08125F40:
|
|
adds r0, r5, 0
|
|
bl sub_81260D8
|
|
_08125F46:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125F14
|
|
|
|
thumb_func_start sub_8125F4C
|
|
sub_8125F4C: @ 8125F4C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8125F5C
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125F4C
|
|
|
|
thumb_func_start sub_8125F5C
|
|
sub_8125F5C: @ 8125F5C
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
mov r8, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r0, _08125FE4 @ =gUnknown_203B0A0
|
|
mov r9, r0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
adds r6, r1, 0
|
|
muls r6, r0
|
|
ldr r0, _08125FE8 @ =gPlayerParty
|
|
adds r6, r0
|
|
bl sub_8138B2C
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r1, r5, 0
|
|
adds r1, 0xD
|
|
adds r0, r6, 0
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r0, _08125FEC @ =gUnknown_203AD30
|
|
ldrh r2, [r0]
|
|
movs r0, 0x4
|
|
adds r1, r6, 0
|
|
adds r3, r4, 0
|
|
bl sub_80A2294
|
|
ldr r1, _08125FF0 @ =gStringVar1
|
|
adds r0, r6, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08125FF4 @ =gStringVar2
|
|
movs r1, 0xD
|
|
muls r1, r4
|
|
ldr r2, _08125FF8 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl RemoveMonPPBonus
|
|
mov r0, r9
|
|
ldrh r1, [r0, 0xE]
|
|
adds r0, r6, 0
|
|
adds r2, r5, 0
|
|
bl SetMonMoveSlot
|
|
mov r0, r8
|
|
bl sub_8125C48
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08125FE4: .4byte gUnknown_203B0A0
|
|
_08125FE8: .4byte gPlayerParty
|
|
_08125FEC: .4byte gUnknown_203AD30
|
|
_08125FF0: .4byte gStringVar1
|
|
_08125FF4: .4byte gStringVar2
|
|
_08125FF8: .4byte gUnknown_8247094
|
|
thumb_func_end sub_8125F5C
|
|
|
|
thumb_func_start sub_8125FFC
|
|
sub_8125FFC: @ 8125FFC
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _0812605C @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
adds r5, r1, 0
|
|
muls r5, r0
|
|
ldr r0, _08126060 @ =gPlayerParty
|
|
adds r5, r0
|
|
bl sub_8138B2C
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r1, 0xD
|
|
adds r0, r5, 0
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
ldr r1, _08126064 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08126068 @ =gStringVar2
|
|
movs r1, 0xD
|
|
muls r1, r4
|
|
ldr r2, _0812606C @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r0, _08126070 @ =gUnknown_8416EC6
|
|
bl sub_8125AF0
|
|
ldr r1, _08126074 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126078 @ =sub_812607C
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812605C: .4byte gUnknown_203B0A0
|
|
_08126060: .4byte gPlayerParty
|
|
_08126064: .4byte gStringVar1
|
|
_08126068: .4byte gStringVar2
|
|
_0812606C: .4byte gUnknown_8247094
|
|
_08126070: .4byte gUnknown_8416EC6
|
|
_08126074: .4byte gTasks
|
|
_08126078: .4byte sub_812607C
|
|
thumb_func_end sub_8125FFC
|
|
|
|
thumb_func_start sub_812607C
|
|
sub_812607C: @ 812607C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081260C8
|
|
ldr r5, _081260D0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r5, r1]
|
|
movs r0, 0x64
|
|
adds r4, r1, 0
|
|
muls r4, r0
|
|
ldr r0, _081260D4 @ =gPlayerParty
|
|
adds r4, r0
|
|
bl sub_8138B2C
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl RemoveMonPPBonus
|
|
ldrh r5, [r5, 0xE]
|
|
bl sub_8138B2C
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl SetMonMoveSlot
|
|
adds r0, r6, 0
|
|
bl sub_8125C48
|
|
_081260C8:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081260D0: .4byte gUnknown_203B0A0
|
|
_081260D4: .4byte gPlayerParty
|
|
thumb_func_end sub_812607C
|
|
|
|
thumb_func_start sub_81260D8
|
|
sub_81260D8: @ 81260D8
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _08126120 @ =gStringVar2
|
|
ldr r1, _08126124 @ =gUnknown_203B0A0
|
|
movs r3, 0xE
|
|
ldrsh r2, [r1, r3]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08126128 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _0812612C @ =gStringVar4
|
|
ldr r1, _08126130 @ =gUnknown_8416E6B
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08126134 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126138 @ =sub_812613C
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126120: .4byte gStringVar2
|
|
_08126124: .4byte gUnknown_203B0A0
|
|
_08126128: .4byte gUnknown_8247094
|
|
_0812612C: .4byte gStringVar4
|
|
_08126130: .4byte gUnknown_8416E6B
|
|
_08126134: .4byte gTasks
|
|
_08126138: .4byte sub_812613C
|
|
thumb_func_end sub_81260D8
|
|
|
|
thumb_func_start sub_812613C
|
|
sub_812613C: @ 812613C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08126160
|
|
bl sub_812200C
|
|
ldr r0, _08126168 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812616C @ =sub_8126170
|
|
str r0, [r1]
|
|
_08126160:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126168: .4byte gTasks
|
|
_0812616C: .4byte sub_8126170
|
|
thumb_func_end sub_812613C
|
|
|
|
thumb_func_start sub_8126170
|
|
sub_8126170: @ 8126170
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r7, _081261A0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r7, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _081261A4 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _081261AE
|
|
cmp r5, 0
|
|
bgt _081261A8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08126234
|
|
b _0812626A
|
|
.align 2, 0
|
|
_081261A0: .4byte gUnknown_203B0A0
|
|
_081261A4: .4byte gPlayerParty
|
|
_081261A8:
|
|
cmp r5, 0x1
|
|
beq _0812623A
|
|
b _0812626A
|
|
_081261AE:
|
|
ldr r1, _081261F4 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
ldr r0, _081261F8 @ =gStringVar2
|
|
movs r1, 0xE
|
|
ldrsh r2, [r7, r1]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _081261FC @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _08126200 @ =gStringVar4
|
|
ldr r1, _08126204 @ =gUnknown_8416E84
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r3, 0x10
|
|
ldrsh r0, [r7, r3]
|
|
cmp r0, 0x1
|
|
bne _08126210
|
|
ldr r0, _08126208 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812620C @ =sub_812628C
|
|
str r0, [r1]
|
|
b _0812626A
|
|
.align 2, 0
|
|
_081261F4: .4byte gStringVar1
|
|
_081261F8: .4byte gStringVar2
|
|
_081261FC: .4byte gUnknown_8247094
|
|
_08126200: .4byte gStringVar4
|
|
_08126204: .4byte gUnknown_8416E84
|
|
_08126208: .4byte gTasks
|
|
_0812620C: .4byte sub_812628C
|
|
_08126210:
|
|
cmp r0, 0x2
|
|
bne _08126218
|
|
ldr r0, _08126228 @ =gUnknown_20370D0
|
|
strh r5, [r0]
|
|
_08126218:
|
|
ldr r0, _0812622C @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08126230 @ =sub_81255BC
|
|
str r0, [r1]
|
|
b _0812626A
|
|
.align 2, 0
|
|
_08126228: .4byte gUnknown_20370D0
|
|
_0812622C: .4byte gTasks
|
|
_08126230: .4byte sub_81255BC
|
|
_08126234:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_0812623A:
|
|
ldr r1, _08126270 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08126274 @ =gStringVar2
|
|
ldr r1, _08126278 @ =gUnknown_203B0A0
|
|
movs r3, 0xE
|
|
ldrsh r2, [r1, r3]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _0812627C @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r0, _08126280 @ =gUnknown_8416DF7
|
|
bl sub_8125AF0
|
|
ldr r1, _08126284 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126288 @ =sub_8125D88
|
|
str r1, [r0]
|
|
_0812626A:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126270: .4byte gStringVar1
|
|
_08126274: .4byte gStringVar2
|
|
_08126278: .4byte gUnknown_203B0A0
|
|
_0812627C: .4byte gUnknown_8247094
|
|
_08126280: .4byte gUnknown_8416DF7
|
|
_08126284: .4byte gTasks
|
|
_08126288: .4byte sub_8125D88
|
|
thumb_func_end sub_8126170
|
|
|
|
thumb_func_start sub_812628C
|
|
sub_812628C: @ 812628C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081262A4
|
|
adds r0, r4, 0
|
|
bl sub_81266A0
|
|
_081262A4:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_812628C
|
|
|
|
thumb_func_start dp05_rare_candy
|
|
dp05_rare_candy: @ 81262AC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r7, _081262E8 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r7, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _081262EC @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
ldr r0, _081262F0 @ =gUnknown_203AD30
|
|
ldrh r5, [r0]
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
cmp r0, 0x64
|
|
beq _081262F4
|
|
ldrb r2, [r7, 0x9]
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
movs r3, 0
|
|
bl PokemonUseItemEffects2
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
b _081262F6
|
|
.align 2, 0
|
|
_081262E8: .4byte gUnknown_203B0A0
|
|
_081262EC: .4byte gPlayerParty
|
|
_081262F0: .4byte gUnknown_203AD30
|
|
_081262F4:
|
|
movs r4, 0x1
|
|
_081262F6:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
cmp r4, 0
|
|
beq _08126330
|
|
ldr r1, _08126324 @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _08126328 @ =gUnknown_84169DC
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _0812632C @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
mov r1, r8
|
|
str r1, [r0]
|
|
b _0812633C
|
|
.align 2, 0
|
|
_08126324: .4byte gUnknown_203B0C0
|
|
_08126328: .4byte gUnknown_84169DC
|
|
_0812632C: .4byte gTasks
|
|
_08126330:
|
|
adds r0, r6, 0
|
|
bl sub_8124DC0
|
|
ldr r1, _08126348 @ =gUnknown_3005E98
|
|
ldr r0, _0812634C @ =sub_8126350
|
|
str r0, [r1]
|
|
_0812633C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126348: .4byte gUnknown_3005E98
|
|
_0812634C: .4byte sub_8126350
|
|
thumb_func_end dp05_rare_candy
|
|
|
|
thumb_func_start sub_8126350
|
|
sub_8126350: @ 8126350
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r6, _08126410 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r6, r1]
|
|
movs r0, 0x64
|
|
adds r4, r1, 0
|
|
muls r4, r0
|
|
ldr r0, _08126414 @ =gPlayerParty
|
|
adds r4, r0
|
|
ldr r0, _08126418 @ =gUnknown_203B09C
|
|
ldr r7, [r0]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r7, r2
|
|
adds r0, r4, 0
|
|
bl sub_811D130
|
|
ldrb r0, [r6, 0x9]
|
|
ldr r5, _0812641C @ =gUnknown_203AD30
|
|
ldrh r1, [r5]
|
|
movs r2, 0
|
|
bl ExecuteTableBasedItemEffect__
|
|
movs r0, 0x89
|
|
lsls r0, 2
|
|
adds r1, r7, r0
|
|
adds r0, r4, 0
|
|
bl sub_811D130
|
|
ldr r1, _08126420 @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrh r2, [r5]
|
|
ldr r3, _08126424 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
adds r1, r4, 0
|
|
bl sub_80A2294
|
|
movs r0, 0
|
|
bl PlayFanfareByFanfareNum
|
|
ldrb r0, [r6, 0x9]
|
|
adds r1, r4, 0
|
|
bl sub_8126440
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
ldr r1, _08126428 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r0, _0812642C @ =gStringVar2
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _08126430 @ =gStringVar4
|
|
ldr r1, _08126434 @ =gUnknown_8417017
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08126438 @ =gTasks
|
|
mov r2, r8
|
|
lsls r0, r2, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0812643C @ =sub_81264C8
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126410: .4byte gUnknown_203B0A0
|
|
_08126414: .4byte gPlayerParty
|
|
_08126418: .4byte gUnknown_203B09C
|
|
_0812641C: .4byte gUnknown_203AD30
|
|
_08126420: .4byte gUnknown_203B0C0
|
|
_08126424: .4byte 0x0000ffff
|
|
_08126428: .4byte gStringVar1
|
|
_0812642C: .4byte gStringVar2
|
|
_08126430: .4byte gStringVar4
|
|
_08126434: .4byte gUnknown_8417017
|
|
_08126438: .4byte gTasks
|
|
_0812643C: .4byte sub_81264C8
|
|
thumb_func_end sub_8126350
|
|
|
|
thumb_func_start sub_8126440
|
|
sub_8126440: @ 8126440
|
|
push {r4-r7,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r7, r0, 0
|
|
ldr r6, _081264C0 @ =gUnknown_203B0B4
|
|
lsls r4, r7, 4
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
adds r0, r5, 0
|
|
bl party_menu_get_status_condition_and_update_object
|
|
ldr r2, _081264C4 @ =gSprites
|
|
ldr r0, [r6]
|
|
adds r3, r4, r0
|
|
ldrb r1, [r3, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r0, [r0]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
bge _0812647C
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x1
|
|
bl sub_8121790
|
|
_0812647C:
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
adds r0, r5, 0
|
|
movs r2, 0x1
|
|
bl sub_812199C
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
adds r0, r5, 0
|
|
movs r2, 0x1
|
|
bl sub_8121A3C
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
adds r0, r5, 0
|
|
bl sub_8121AF0
|
|
ldr r0, [r6]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x9]
|
|
adds r1, r5, 0
|
|
bl sub_8122358
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081264C0: .4byte gUnknown_203B0B4
|
|
_081264C4: .4byte gSprites
|
|
thumb_func_end sub_8126440
|
|
|
|
thumb_func_start sub_81264C8
|
|
sub_81264C8: @ 81264C8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0
|
|
bl WaitFanfare
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08126514
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08126514
|
|
ldr r0, _0812651C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081264FA
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126514
|
|
_081264FA:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_8126570
|
|
ldr r0, _08126520 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08126524 @ =sub_8126528
|
|
str r0, [r1]
|
|
_08126514:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812651C: .4byte gMain
|
|
_08126520: .4byte gTasks
|
|
_08126524: .4byte sub_8126528
|
|
thumb_func_end sub_81264C8
|
|
|
|
thumb_func_start sub_8126528
|
|
sub_8126528: @ 8126528
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08126564 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08126542
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812655C
|
|
_08126542:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_81265BC
|
|
ldr r0, _08126568 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812656C @ =sub_81265F8
|
|
str r0, [r1]
|
|
_0812655C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126564: .4byte gMain
|
|
_08126568: .4byte gTasks
|
|
_0812656C: .4byte sub_81265F8
|
|
thumb_func_end sub_8126528
|
|
|
|
thumb_func_start sub_8126570
|
|
sub_8126570: @ 8126570
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
ldr r0, _081265B8 @ =gUnknown_203B09C
|
|
ldr r5, [r0]
|
|
movs r0, 0x86
|
|
lsls r0, 2
|
|
adds r4, r5, r0
|
|
bl sub_8122034
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r4, 0x18]
|
|
ldrh r0, [r4, 0x18]
|
|
movs r1, 0x89
|
|
lsls r1, 2
|
|
adds r2, r5, r1
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r1, 0x3
|
|
str r1, [sp, 0x4]
|
|
adds r1, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_811E7F0
|
|
ldrb r0, [r4, 0x18]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081265B8: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_8126570
|
|
|
|
thumb_func_start sub_81265BC
|
|
sub_81265BC: @ 81265BC
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _081265F4 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
movs r0, 0x86
|
|
lsls r0, 2
|
|
adds r4, r1, r0
|
|
ldrh r0, [r4, 0x18]
|
|
movs r2, 0x89
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
movs r2, 0x3
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl sub_811E93C
|
|
ldrb r0, [r4, 0x18]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081265F4: .4byte gUnknown_203B09C
|
|
thumb_func_end sub_81265BC
|
|
|
|
thumb_func_start sub_81265F8
|
|
sub_81265F8: @ 81265F8
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
movs r0, 0
|
|
bl WaitFanfare
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812669A
|
|
ldr r0, _08126650 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r6, 0x1
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08126620
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812669A
|
|
_08126620:
|
|
bl sub_8122064
|
|
ldr r4, _08126654 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08126658 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl MonTryLearningNewMove
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
strh r6, [r4, 0x10]
|
|
ldr r0, _0812665C @ =0x0000fffe
|
|
cmp r1, r0
|
|
beq _0812667C
|
|
cmp r1, r0
|
|
bgt _08126660
|
|
cmp r1, 0
|
|
beq _0812666C
|
|
b _08126694
|
|
.align 2, 0
|
|
_08126650: .4byte gMain
|
|
_08126654: .4byte gUnknown_203B0A0
|
|
_08126658: .4byte gPlayerParty
|
|
_0812665C: .4byte 0x0000fffe
|
|
_08126660:
|
|
ldr r0, _08126668 @ =0x0000ffff
|
|
cmp r1, r0
|
|
beq _08126674
|
|
b _08126694
|
|
.align 2, 0
|
|
_08126668: .4byte 0x0000ffff
|
|
_0812666C:
|
|
adds r0, r5, 0
|
|
bl sub_8126704
|
|
b _0812669A
|
|
_08126674:
|
|
adds r0, r5, 0
|
|
bl sub_8126770
|
|
b _0812669A
|
|
_0812667C:
|
|
ldr r0, _0812668C @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08126690 @ =sub_81266A0
|
|
str r0, [r1]
|
|
b _0812669A
|
|
.align 2, 0
|
|
_0812668C: .4byte gTasks
|
|
_08126690: .4byte sub_81266A0
|
|
_08126694:
|
|
adds r0, r5, 0
|
|
bl sub_8126804
|
|
_0812669A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81265F8
|
|
|
|
thumb_func_start sub_81266A0
|
|
sub_81266A0: @ 81266A0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081266D0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081266D4 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0
|
|
bl MonTryLearningNewMove
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _081266D8 @ =0x0000fffe
|
|
cmp r1, r0
|
|
beq _081266FE
|
|
cmp r1, r0
|
|
bgt _081266DC
|
|
cmp r1, 0
|
|
beq _081266E8
|
|
b _081266F8
|
|
.align 2, 0
|
|
_081266D0: .4byte gUnknown_203B0A0
|
|
_081266D4: .4byte gPlayerParty
|
|
_081266D8: .4byte 0x0000fffe
|
|
_081266DC:
|
|
ldr r0, _081266E4 @ =0x0000ffff
|
|
cmp r1, r0
|
|
beq _081266F0
|
|
b _081266F8
|
|
.align 2, 0
|
|
_081266E4: .4byte 0x0000ffff
|
|
_081266E8:
|
|
adds r0, r4, 0
|
|
bl sub_8126704
|
|
b _081266FE
|
|
_081266F0:
|
|
adds r0, r4, 0
|
|
bl sub_8126770
|
|
b _081266FE
|
|
_081266F8:
|
|
adds r0, r4, 0
|
|
bl sub_8126804
|
|
_081266FE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81266A0
|
|
|
|
thumb_func_start sub_8126704
|
|
sub_8126704: @ 8126704
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r6, _08126748 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r6, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _0812674C @ =gPlayerParty
|
|
adds r7, r1, r0
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl GetEvolutionTargetSpecies
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0
|
|
beq _08126754
|
|
bl sub_811F070
|
|
ldr r0, _08126750 @ =gUnknown_300537C
|
|
ldr r1, [r6]
|
|
str r1, [r0]
|
|
ldrb r3, [r6, 0x9]
|
|
adds r0, r7, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x1
|
|
bl BeginEvolutionScene
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
b _08126762
|
|
.align 2, 0
|
|
_08126748: .4byte gUnknown_203B0A0
|
|
_0812674C: .4byte gPlayerParty
|
|
_08126750: .4byte gUnknown_300537C
|
|
_08126754:
|
|
ldr r0, _08126768 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0812676C @ =sub_81255BC
|
|
str r0, [r1]
|
|
_08126762:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126768: .4byte gTasks
|
|
_0812676C: .4byte sub_81255BC
|
|
thumb_func_end sub_8126704
|
|
|
|
thumb_func_start sub_8126770
|
|
sub_8126770: @ 8126770
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _081267DC @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081267E0 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _081267E4 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r0, _081267E8 @ =gStringVar2
|
|
ldr r6, _081267EC @ =gMoveToLearn
|
|
ldrh r2, [r6]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _081267F0 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _081267F4 @ =gStringVar4
|
|
ldr r1, _081267F8 @ =gUnknown_8416DF7
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrh r0, [r6]
|
|
mov r1, r8
|
|
strh r0, [r1, 0xE]
|
|
ldr r1, _081267FC @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126800 @ =sub_8125D88
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081267DC: .4byte gUnknown_203B0A0
|
|
_081267E0: .4byte gPlayerParty
|
|
_081267E4: .4byte gStringVar1
|
|
_081267E8: .4byte gStringVar2
|
|
_081267EC: .4byte gMoveToLearn
|
|
_081267F0: .4byte gUnknown_8247094
|
|
_081267F4: .4byte gStringVar4
|
|
_081267F8: .4byte gUnknown_8416DF7
|
|
_081267FC: .4byte gTasks
|
|
_08126800: .4byte sub_8125D88
|
|
thumb_func_end sub_8126770
|
|
|
|
thumb_func_start sub_8126804
|
|
sub_8126804: @ 8126804
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
ldr r0, _08126870 @ =gUnknown_203B0A0
|
|
mov r8, r0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08126874 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08126878 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r0, _0812687C @ =gStringVar2
|
|
movs r1, 0xD
|
|
muls r1, r5
|
|
ldr r2, _08126880 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r4, _08126884 @ =gStringVar4
|
|
ldr r1, _08126888 @ =gUnknown_8416DB3
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
mov r0, r8
|
|
strh r5, [r0, 0xE]
|
|
ldr r1, _0812688C @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126890 @ =sub_8125CF4
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126870: .4byte gUnknown_203B0A0
|
|
_08126874: .4byte gPlayerParty
|
|
_08126878: .4byte gStringVar1
|
|
_0812687C: .4byte gStringVar2
|
|
_08126880: .4byte gUnknown_8247094
|
|
_08126884: .4byte gStringVar4
|
|
_08126888: .4byte gUnknown_8416DB3
|
|
_0812688C: .4byte gTasks
|
|
_08126890: .4byte sub_8125CF4
|
|
thumb_func_end sub_8126804
|
|
|
|
thumb_func_start sub_8126894
|
|
sub_8126894: @ 8126894
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081268C8 @ =gUnknown_203B09C
|
|
ldr r2, [r1]
|
|
movs r3, 0x86
|
|
lsls r3, 2
|
|
adds r1, r2, r3
|
|
movs r3, 0
|
|
strh r3, [r1]
|
|
ldr r4, _081268CC @ =0x0000021a
|
|
adds r1, r2, r4
|
|
strh r3, [r1]
|
|
ldr r1, _081268D0 @ =gUnknown_203B0A0
|
|
ldrb r1, [r1, 0x9]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r3, 0x87
|
|
lsls r3, 2
|
|
adds r2, r3
|
|
strh r1, [r2]
|
|
bl sub_81268D4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081268C8: .4byte gUnknown_203B09C
|
|
_081268CC: .4byte 0x0000021a
|
|
_081268D0: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_8126894
|
|
|
|
thumb_func_start sub_81268D4
|
|
sub_81268D4: @ 81268D4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
mov r9, r4
|
|
ldr r6, _08126930 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r6, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08126934 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08126920
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldrb r0, [r6, 0x9]
|
|
ldr r1, _08126938 @ =gUnknown_203AD30
|
|
ldrh r1, [r1]
|
|
movs r2, 0
|
|
bl ExecuteTableBasedItemEffect__
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08126944
|
|
_08126920:
|
|
ldr r0, _0812693C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08126940 @ =sub_8126A18
|
|
str r0, [r1]
|
|
b _081269EE
|
|
.align 2, 0
|
|
_08126930: .4byte gUnknown_203B0A0
|
|
_08126934: .4byte gPlayerParty
|
|
_08126938: .4byte gUnknown_203AD30
|
|
_0812693C: .4byte gTasks
|
|
_08126940: .4byte sub_8126A18
|
|
_08126944:
|
|
movs r0, 0x1
|
|
bl PlaySE
|
|
ldr r7, _08126A00 @ =gUnknown_203B09C
|
|
ldr r0, [r7]
|
|
ldr r1, _08126A04 @ =0x0000021a
|
|
mov r10, r1
|
|
add r0, r10
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
cmp r0, 0
|
|
bne _08126960
|
|
ldr r0, _08126A08 @ =gUnknown_203B0D0
|
|
str r5, [r0]
|
|
_08126960:
|
|
ldr r4, _08126A0C @ =gUnknown_203B0B4
|
|
movs r0, 0x9
|
|
ldrsb r0, [r6, r0]
|
|
lsls r0, 4
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
adds r0, r5, 0
|
|
bl party_menu_get_status_condition_and_update_object
|
|
ldr r2, _08126A10 @ =gSprites
|
|
movs r0, 0x9
|
|
ldrsb r0, [r6, r0]
|
|
ldr r1, [r4]
|
|
lsls r0, 4
|
|
adds r3, r0, r1
|
|
ldrb r1, [r3, 0xC]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3E
|
|
ldrb r0, [r0]
|
|
lsls r0, 29
|
|
cmp r0, 0
|
|
bge _0812699C
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
movs r2, 0x1
|
|
bl sub_8121790
|
|
_0812699C:
|
|
ldr r0, [r7]
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_811F818
|
|
ldrb r0, [r6, 0x9]
|
|
movs r1, 0x1
|
|
bl sub_811F818
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r3, r0, 0
|
|
mov r2, r8
|
|
subs r3, r2
|
|
lsls r3, 16
|
|
asrs r3, 16
|
|
ldrb r1, [r6, 0x9]
|
|
ldr r0, _08126A14 @ =sub_8126AFC
|
|
str r0, [sp]
|
|
mov r0, r9
|
|
movs r2, 0x1
|
|
bl sub_8120760
|
|
mov r0, r9
|
|
movs r1, 0
|
|
mov r2, r8
|
|
bl sub_81207F0
|
|
ldr r0, [r7]
|
|
movs r2, 0x86
|
|
lsls r2, 2
|
|
adds r1, r0, r2
|
|
movs r2, 0x1
|
|
strh r2, [r1]
|
|
add r0, r10
|
|
strh r2, [r0]
|
|
_081269EE:
|
|
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
|
|
_08126A00: .4byte gUnknown_203B09C
|
|
_08126A04: .4byte 0x0000021a
|
|
_08126A08: .4byte gUnknown_203B0D0
|
|
_08126A0C: .4byte gUnknown_203B0B4
|
|
_08126A10: .4byte gSprites
|
|
_08126A14: .4byte sub_8126AFC
|
|
thumb_func_end sub_81268D4
|
|
|
|
thumb_func_start sub_8126A18
|
|
sub_8126A18: @ 8126A18
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08126AF6
|
|
ldr r5, _08126A80 @ =gUnknown_203B09C
|
|
ldr r2, [r5]
|
|
movs r0, 0x86
|
|
lsls r0, 2
|
|
adds r1, r2, r0
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
ldr r3, _08126A84 @ =gUnknown_203B0A0
|
|
cmp r0, 0x1
|
|
bne _08126A4E
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
movs r1, 0x9
|
|
ldrsb r1, [r3, r1]
|
|
movs r6, 0x87
|
|
lsls r6, 2
|
|
adds r0, r2, r6
|
|
strh r1, [r0]
|
|
_08126A4E:
|
|
adds r1, r3, 0
|
|
ldrb r0, [r1, 0x9]
|
|
adds r0, 0x1
|
|
strb r0, [r1, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
cmp r0, 0x6
|
|
bne _08126AF0
|
|
ldr r0, [r5]
|
|
ldr r1, _08126A88 @ =0x0000021a
|
|
adds r0, r1
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
cmp r1, 0
|
|
bne _08126A94
|
|
ldr r0, _08126A8C @ =gUnknown_203B0C0
|
|
strb r1, [r0]
|
|
ldr r0, _08126A90 @ =gUnknown_84169DC
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
b _08126ABE
|
|
.align 2, 0
|
|
_08126A80: .4byte gUnknown_203B09C
|
|
_08126A84: .4byte gUnknown_203B0A0
|
|
_08126A88: .4byte 0x0000021a
|
|
_08126A8C: .4byte gUnknown_203B0C0
|
|
_08126A90: .4byte gUnknown_84169DC
|
|
_08126A94:
|
|
ldr r1, _08126AD4 @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrb r1, [r3, 0x8]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
beq _08126AB4
|
|
ldr r0, _08126AD8 @ =gUnknown_203B0D0
|
|
ldr r1, [r0]
|
|
ldr r0, _08126ADC @ =gUnknown_203AD30
|
|
ldrh r2, [r0]
|
|
ldr r3, _08126AE0 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
bl sub_80A2294
|
|
_08126AB4:
|
|
ldr r0, _08126ADC @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
_08126ABE:
|
|
ldr r1, _08126AE4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126AE8 @ =sub_81255BC
|
|
str r1, [r0]
|
|
ldr r1, _08126AEC @ =gUnknown_203B0A0
|
|
movs r0, 0
|
|
strb r0, [r1, 0x9]
|
|
b _08126AF6
|
|
.align 2, 0
|
|
_08126AD4: .4byte gUnknown_203B0C0
|
|
_08126AD8: .4byte gUnknown_203B0D0
|
|
_08126ADC: .4byte gUnknown_203AD30
|
|
_08126AE0: .4byte 0x0000ffff
|
|
_08126AE4: .4byte gTasks
|
|
_08126AE8: .4byte sub_81255BC
|
|
_08126AEC: .4byte gUnknown_203B0A0
|
|
_08126AF0:
|
|
adds r0, r4, 0
|
|
bl sub_81268D4
|
|
_08126AF6:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8126A18
|
|
|
|
thumb_func_start sub_8126AFC
|
|
sub_8126AFC: @ 8126AFC
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, _08126B44 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08126B48 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08126B4C @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r4, _08126B50 @ =gStringVar4
|
|
ldr r1, _08126B54 @ =gUnknown_8416F27
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08126B58 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126B5C @ =sub_8126A18
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126B44: .4byte gUnknown_203B0A0
|
|
_08126B48: .4byte gPlayerParty
|
|
_08126B4C: .4byte gStringVar1
|
|
_08126B50: .4byte gStringVar4
|
|
_08126B54: .4byte gUnknown_8416F27
|
|
_08126B58: .4byte gTasks
|
|
_08126B5C: .4byte sub_8126A18
|
|
thumb_func_end sub_8126AFC
|
|
|
|
thumb_func_start sub_8126B60
|
|
sub_8126B60: @ 8126B60
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r2, _08126BB0 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08126BB4 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08126BB8 @ =gUnknown_203AD30
|
|
ldrh r1, [r1]
|
|
ldrb r2, [r2, 0x9]
|
|
movs r3, 0
|
|
bl PokemonUseItemEffects2
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08126BC8
|
|
ldr r1, _08126BBC @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r0, _08126BC0 @ =gUnknown_84169DC
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _08126BC4 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
str r5, [r0]
|
|
b _08126BCE
|
|
.align 2, 0
|
|
_08126BB0: .4byte gUnknown_203B0A0
|
|
_08126BB4: .4byte gPlayerParty
|
|
_08126BB8: .4byte gUnknown_203AD30
|
|
_08126BBC: .4byte gUnknown_203B0C0
|
|
_08126BC0: .4byte gUnknown_84169DC
|
|
_08126BC4: .4byte gTasks
|
|
_08126BC8:
|
|
adds r0, r4, 0
|
|
bl sub_8124DC0
|
|
_08126BCE:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8126B60
|
|
|
|
thumb_func_start sub_8126BD4
|
|
sub_8126BD4: @ 8126BD4
|
|
push {r4,r5,lr}
|
|
ldr r1, _08126C10 @ =gUnknown_300537C
|
|
ldr r4, _08126C14 @ =gUnknown_203B0A0
|
|
ldr r0, [r4]
|
|
str r0, [r1]
|
|
ldrb r0, [r4, 0x9]
|
|
ldr r5, _08126C18 @ =gUnknown_203AD30
|
|
ldrh r1, [r5]
|
|
movs r2, 0
|
|
bl ExecuteTableBasedItemEffect__
|
|
movs r1, 0x9
|
|
ldrsb r1, [r4, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08126C1C @ =gPlayerParty
|
|
adds r1, r0
|
|
ldrh r2, [r5]
|
|
ldr r3, _08126C20 @ =0x0000ffff
|
|
movs r0, 0x4
|
|
bl sub_80A2294
|
|
ldrh r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126C10: .4byte gUnknown_300537C
|
|
_08126C14: .4byte gUnknown_203B0A0
|
|
_08126C18: .4byte gUnknown_203AD30
|
|
_08126C1C: .4byte gPlayerParty
|
|
_08126C20: .4byte 0x0000ffff
|
|
thumb_func_end sub_8126BD4
|
|
|
|
thumb_func_start sub_8126C24
|
|
sub_8126C24: @ 8126C24
|
|
push {lr}
|
|
bl sub_806E25C
|
|
cmp r0, 0
|
|
bne _08126C60
|
|
ldr r0, _08126C54 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08126C58 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08126C5C @ =gUnknown_203AD30
|
|
ldrh r2, [r1]
|
|
movs r1, 0x2
|
|
bl GetEvolutionTargetSpecies
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x97
|
|
bls _08126C60
|
|
movs r0, 0
|
|
b _08126C62
|
|
.align 2, 0
|
|
_08126C54: .4byte gUnknown_203B0A0
|
|
_08126C58: .4byte gPlayerParty
|
|
_08126C5C: .4byte gUnknown_203AD30
|
|
_08126C60:
|
|
movs r0, 0x1
|
|
_08126C62:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8126C24
|
|
|
|
thumb_func_start GetItemEffectType
|
|
GetItemEffectType: @ 8126C68
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
adds r2, r1, 0
|
|
subs r2, 0xD
|
|
lsls r0, r2, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0xA5
|
|
bls _08126C7C
|
|
b _08126DBC
|
|
_08126C7C:
|
|
cmp r1, 0xAF
|
|
bne _08126C94
|
|
ldr r0, _08126C8C @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
ldr r1, _08126C90 @ =0x00003108
|
|
adds r4, r0, r1
|
|
b _08126C9C
|
|
.align 2, 0
|
|
_08126C8C: .4byte gSaveBlock1Ptr
|
|
_08126C90: .4byte 0x00003108
|
|
_08126C94:
|
|
ldr r1, _08126CC4 @ =gItemEffectTable
|
|
lsls r0, r2, 2
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
_08126C9C:
|
|
ldrb r1, [r4]
|
|
movs r5, 0x3F
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08126CBE
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0
|
|
bne _08126CBE
|
|
ldrb r0, [r4, 0x2]
|
|
cmp r0, 0
|
|
bne _08126CBE
|
|
ldrb r3, [r4, 0x3]
|
|
movs r0, 0x80
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08126CC8
|
|
_08126CBE:
|
|
movs r0, 0
|
|
b _08126DC2
|
|
.align 2, 0
|
|
_08126CC4: .4byte gItemEffectTable
|
|
_08126CC8:
|
|
movs r2, 0x40
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126CD6
|
|
movs r0, 0xA
|
|
b _08126DC2
|
|
_08126CD6:
|
|
adds r0, r2, 0
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08126CE2
|
|
movs r0, 0x1
|
|
b _08126DC2
|
|
_08126CE2:
|
|
adds r2, r5, 0
|
|
ands r2, r3
|
|
cmp r2, 0
|
|
bne _08126CF0
|
|
lsrs r0, r1, 7
|
|
cmp r0, 0
|
|
beq _08126D32
|
|
_08126CF0:
|
|
cmp r2, 0x20
|
|
bne _08126CF8
|
|
movs r0, 0x4
|
|
b _08126DC2
|
|
_08126CF8:
|
|
cmp r2, 0x10
|
|
bne _08126D00
|
|
movs r0, 0x3
|
|
b _08126DC2
|
|
_08126D00:
|
|
cmp r2, 0x8
|
|
bne _08126D08
|
|
movs r0, 0x5
|
|
b _08126DC2
|
|
_08126D08:
|
|
cmp r2, 0x4
|
|
bne _08126D10
|
|
movs r0, 0x6
|
|
b _08126DC2
|
|
_08126D10:
|
|
cmp r2, 0x2
|
|
bne _08126D18
|
|
movs r0, 0x7
|
|
b _08126DC2
|
|
_08126D18:
|
|
cmp r2, 0x1
|
|
bne _08126D20
|
|
movs r0, 0x8
|
|
b _08126DC2
|
|
_08126D20:
|
|
lsrs r0, r1, 7
|
|
cmp r0, 0
|
|
beq _08126D2E
|
|
cmp r2, 0
|
|
bne _08126D2E
|
|
movs r0, 0x9
|
|
b _08126DC2
|
|
_08126D2E:
|
|
movs r0, 0xB
|
|
b _08126DC2
|
|
_08126D32:
|
|
ldrb r1, [r4, 0x4]
|
|
movs r0, 0x44
|
|
ands r0, r1
|
|
adds r2, r1, 0
|
|
cmp r0, 0
|
|
beq _08126D42
|
|
movs r0, 0x2
|
|
b _08126DC2
|
|
_08126D42:
|
|
movs r5, 0x2
|
|
adds r0, r5, 0
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126D50
|
|
movs r0, 0xC
|
|
b _08126DC2
|
|
_08126D50:
|
|
movs r3, 0x1
|
|
adds r0, r3, 0
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126D5E
|
|
movs r0, 0xD
|
|
b _08126DC2
|
|
_08126D5E:
|
|
ldrb r1, [r4, 0x5]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126D6C
|
|
movs r0, 0xE
|
|
b _08126DC2
|
|
_08126D6C:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126D78
|
|
movs r0, 0xF
|
|
b _08126DC2
|
|
_08126D78:
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126D84
|
|
movs r0, 0x10
|
|
b _08126DC2
|
|
_08126D84:
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126D90
|
|
movs r0, 0x11
|
|
b _08126DC2
|
|
_08126D90:
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126D9C
|
|
movs r0, 0x12
|
|
b _08126DC2
|
|
_08126D9C:
|
|
movs r0, 0x20
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126DA8
|
|
movs r0, 0x13
|
|
b _08126DC2
|
|
_08126DA8:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126DB4
|
|
movs r0, 0x14
|
|
b _08126DC2
|
|
_08126DB4:
|
|
movs r0, 0x18
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _08126DC0
|
|
_08126DBC:
|
|
movs r0, 0x16
|
|
b _08126DC2
|
|
_08126DC0:
|
|
movs r0, 0x15
|
|
_08126DC2:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetItemEffectType
|
|
|
|
thumb_func_start sub_8126DC8
|
|
sub_8126DC8: @ 8126DC8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08126E4C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08126E98
|
|
ldr r7, _08126E50 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r7, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08126E54 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
movs r0, 0xE
|
|
adds r0, r7
|
|
mov r8, r0
|
|
ldr r1, _08126E58 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
bl GetMonNickname
|
|
ldr r4, _08126E5C @ =gSpecialVar_0x8005
|
|
ldrb r0, [r4]
|
|
bl sub_8120BA8
|
|
strh r0, [r7, 0xE]
|
|
ldr r0, _08126E60 @ =gStringVar2
|
|
movs r1, 0xE
|
|
ldrsh r2, [r7, r1]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08126E64 @ =gUnknown_8247094
|
|
adds r1, r2
|
|
bl StringCopy
|
|
movs r0, 0x2
|
|
mov r1, r8
|
|
strh r0, [r1, 0x2]
|
|
ldrb r2, [r4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_8120B20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08126E6C
|
|
cmp r0, 0x2
|
|
beq _08126E74
|
|
ldrh r1, [r7, 0xE]
|
|
adds r0, r5, 0
|
|
bl GiveMoveToMon
|
|
lsls r0, 16
|
|
ldr r1, _08126E68 @ =0xffff0000
|
|
cmp r0, r1
|
|
beq _08126E84
|
|
adds r0, r6, 0
|
|
bl sub_8125C48
|
|
b _08126E98
|
|
.align 2, 0
|
|
_08126E4C: .4byte gPaletteFade
|
|
_08126E50: .4byte gUnknown_203B0A0
|
|
_08126E54: .4byte gPlayerParty
|
|
_08126E58: .4byte gStringVar1
|
|
_08126E5C: .4byte gSpecialVar_0x8005
|
|
_08126E60: .4byte gStringVar2
|
|
_08126E64: .4byte gUnknown_8247094
|
|
_08126E68: .4byte 0xffff0000
|
|
_08126E6C:
|
|
ldr r1, _08126E70 @ =gUnknown_8416DC2
|
|
b _08126E76
|
|
.align 2, 0
|
|
_08126E70: .4byte gUnknown_8416DC2
|
|
_08126E74:
|
|
ldr r1, _08126E80 @ =gUnknown_8416F10
|
|
_08126E76:
|
|
adds r0, r6, 0
|
|
bl sub_8125B14
|
|
b _08126E98
|
|
.align 2, 0
|
|
_08126E80: .4byte gUnknown_8416F10
|
|
_08126E84:
|
|
ldr r0, _08126EA4 @ =gUnknown_8416DF7
|
|
bl sub_8125AF0
|
|
ldr r1, _08126EA8 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126EAC @ =sub_8125D88
|
|
str r1, [r0]
|
|
_08126E98:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126EA4: .4byte gUnknown_8416DF7
|
|
_08126EA8: .4byte gTasks
|
|
_08126EAC: .4byte sub_8125D88
|
|
thumb_func_end sub_8126DC8
|
|
|
|
thumb_func_start CB2_PartyMenuFromStartMenu
|
|
CB2_PartyMenuFromStartMenu: @ 8126EB0
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _08126ED4 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08126ED8 @ =sub_80568A8
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126ED4: .4byte sub_811FB28
|
|
_08126ED8: .4byte sub_80568A8
|
|
thumb_func_end CB2_PartyMenuFromStartMenu
|
|
|
|
thumb_func_start sub_8126EDC
|
|
sub_8126EDC: @ 8126EDC
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r0, _08126EF8 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl GetPocketByItemId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
beq _08126F00
|
|
cmp r0, 0x5
|
|
beq _08126F08
|
|
ldr r1, _08126EFC @ =sub_8124D90
|
|
b _08126F0A
|
|
.align 2, 0
|
|
_08126EF8: .4byte gUnknown_203AD30
|
|
_08126EFC: .4byte sub_8124D90
|
|
_08126F00:
|
|
ldr r1, _08126F04 @ =sub_8124DA0
|
|
b _08126F0A
|
|
.align 2, 0
|
|
_08126F04: .4byte sub_8124DA0
|
|
_08126F08:
|
|
ldr r1, _08126F30 @ =sub_8124DB0
|
|
_08126F0A:
|
|
movs r0, 0x6
|
|
str r0, [sp]
|
|
ldr r0, _08126F34 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x5
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
ldr r1, _08126F38 @ =gUnknown_203B0A0
|
|
ldr r0, _08126F3C @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
strh r0, [r1, 0xC]
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126F30: .4byte sub_8124DB0
|
|
_08126F34: .4byte sub_811FB28
|
|
_08126F38: .4byte gUnknown_203B0A0
|
|
_08126F3C: .4byte gUnknown_203AD30
|
|
thumb_func_end sub_8126EDC
|
|
|
|
thumb_func_start sub_8126F40
|
|
sub_8126F40: @ 8126F40
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r6, r4, 0
|
|
ldr r5, _08126F80 @ =gUnknown_203B0D8
|
|
ldr r0, _08126F84 @ =gUnknown_203B0A0
|
|
mov r9, r0
|
|
ldrb r0, [r0, 0x9]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
movs r1, 0x64
|
|
mov r8, r1
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r7, _08126F88 @ =gPlayerParty
|
|
adds r0, r7
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
strh r0, [r5]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _08126F8C
|
|
adds r0, r4, 0
|
|
bl sub_8126FD8
|
|
b _08126FC4
|
|
.align 2, 0
|
|
_08126F80: .4byte gUnknown_203B0D8
|
|
_08126F84: .4byte gUnknown_203B0A0
|
|
_08126F88: .4byte gPlayerParty
|
|
_08126F8C:
|
|
ldrh r0, [r5]
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08126FA0
|
|
adds r0, r4, 0
|
|
bl sub_812734C
|
|
b _08126FC4
|
|
_08126FA0:
|
|
mov r1, r9
|
|
movs r0, 0x9
|
|
ldrsb r0, [r1, r0]
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r7
|
|
ldrh r1, [r5]
|
|
movs r2, 0x1
|
|
bl sub_812050C
|
|
ldr r1, _08126FD0 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08126FD4 @ =sub_8127234
|
|
str r1, [r0]
|
|
_08126FC4:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08126FD0: .4byte gTasks
|
|
_08126FD4: .4byte sub_8127234
|
|
thumb_func_end sub_8126F40
|
|
|
|
thumb_func_start sub_8126FD8
|
|
sub_8126FD8: @ 8126FD8
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r5, _08127004 @ =gUnknown_203B0A0
|
|
ldrh r0, [r5, 0xC]
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08127010
|
|
ldrh r0, [r5, 0xC]
|
|
bl sub_8127384
|
|
ldr r0, _08127008 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _0812700C @ =sub_81270E0
|
|
str r0, [r1, 0x4]
|
|
adds r0, r4, 0
|
|
bl sub_811FA78
|
|
b _08127016
|
|
.align 2, 0
|
|
_08127004: .4byte gUnknown_203B0A0
|
|
_08127008: .4byte gUnknown_203B09C
|
|
_0812700C: .4byte sub_81270E0
|
|
_08127010:
|
|
adds r0, r4, 0
|
|
bl sub_812701C
|
|
_08127016:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8126FD8
|
|
|
|
thumb_func_start sub_812701C
|
|
sub_812701C: @ 812701C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, _08127084 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08127078
|
|
ldr r4, _08127088 @ =gUnknown_203B0A0
|
|
ldrh r5, [r4, 0xC]
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, 0x64
|
|
mov r8, r1
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
ldr r6, _0812708C @ =gPlayerParty
|
|
adds r0, r6
|
|
adds r1, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl sub_8120420
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
mov r1, r8
|
|
muls r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, r6
|
|
adds r1, r5, 0
|
|
bl sub_81205C8
|
|
adds r0, r5, 0
|
|
bl sub_8127384
|
|
ldr r1, _08127090 @ =gTasks
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08127094 @ =sub_8127098
|
|
str r1, [r0]
|
|
_08127078:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127084: .4byte gPaletteFade
|
|
_08127088: .4byte gUnknown_203B0A0
|
|
_0812708C: .4byte gPlayerParty
|
|
_08127090: .4byte gTasks
|
|
_08127094: .4byte sub_8127098
|
|
thumb_func_end sub_812701C
|
|
|
|
thumb_func_start sub_8127098
|
|
sub_8127098: @ 8127098
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _081270D4 @ =gUnknown_203B0A0
|
|
ldrb r4, [r0, 0x9]
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081270CC
|
|
lsls r2, r4, 24
|
|
asrs r2, 24
|
|
movs r0, 0x64
|
|
muls r0, r2
|
|
ldr r1, _081270D8 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _081270DC @ =gUnknown_203B0B4
|
|
lsls r2, 4
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
bl sub_81224B4
|
|
adds r0, r5, 0
|
|
bl sub_811FA78
|
|
_081270CC:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081270D4: .4byte gUnknown_203B0A0
|
|
_081270D8: .4byte gPlayerParty
|
|
_081270DC: .4byte gUnknown_203B0B4
|
|
thumb_func_end sub_8127098
|
|
|
|
thumb_func_start sub_81270E0
|
|
sub_81270E0: @ 81270E0
|
|
push {r4-r6,lr}
|
|
ldr r4, _08127128 @ =gUnknown_203B0A0
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
movs r6, 0x64
|
|
muls r0, r6
|
|
ldr r5, _0812712C @ =gPlayerParty
|
|
adds r0, r5
|
|
ldrh r1, [r4, 0xC]
|
|
bl sub_81205C8
|
|
movs r0, 0x9
|
|
ldrsb r0, [r4, r0]
|
|
muls r0, r6
|
|
adds r0, r5
|
|
movs r1, 0x40
|
|
bl GetMonData
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _08127130 @ =gSaveBlock1Ptr
|
|
lsls r2, r0, 3
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
ldr r0, _08127134 @ =0x00002cd0
|
|
adds r2, r0
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
ldr r2, _08127138 @ =sub_812713C
|
|
movs r0, 0x4
|
|
bl sub_80FEBAC
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127128: .4byte gUnknown_203B0A0
|
|
_0812712C: .4byte gPlayerParty
|
|
_08127130: .4byte gSaveBlock1Ptr
|
|
_08127134: .4byte 0x00002cd0
|
|
_08127138: .4byte sub_812713C
|
|
thumb_func_end sub_81270E0
|
|
|
|
thumb_func_start sub_812713C
|
|
sub_812713C: @ 812713C
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
ldr r6, _0812718C @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r6, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08127190 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
ldr r0, _08127194 @ =gUnknown_20370D0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0812719C
|
|
adds r0, r5, 0
|
|
bl TakeMailFromMon
|
|
ldr r4, _08127198 @ =gUnknown_203B0D8
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
adds r2, r4, 0
|
|
bl SetMonData
|
|
ldrh r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
adds r0, r7, 0
|
|
bl sub_81273AC
|
|
ldr r0, [r6]
|
|
bl SetMainCallback2
|
|
b _081271B8
|
|
.align 2, 0
|
|
_0812718C: .4byte gUnknown_203B0A0
|
|
_08127190: .4byte gPlayerParty
|
|
_08127194: .4byte gUnknown_20370D0
|
|
_08127198: .4byte gUnknown_203B0D8
|
|
_0812719C:
|
|
ldrb r0, [r6, 0x8]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
ldrb r2, [r6, 0xB]
|
|
movs r1, 0x7F
|
|
str r1, [sp]
|
|
ldr r1, _081271C0 @ =sub_81271C4
|
|
str r1, [sp, 0x4]
|
|
ldr r1, [r6]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0xFF
|
|
movs r3, 0x1
|
|
bl sub_811EA44
|
|
_081271B8:
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081271C0: .4byte sub_81271C4
|
|
thumb_func_end sub_812713C
|
|
|
|
thumb_func_start sub_81271C4
|
|
sub_81271C4: @ 81271C4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081271EC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0812721E
|
|
ldr r1, _081271F0 @ =gUnknown_203B0D8
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _081271F8
|
|
ldr r0, _081271F4 @ =gUnknown_203B0A0
|
|
ldrh r0, [r0, 0xC]
|
|
ldrh r1, [r1]
|
|
movs r2, 0
|
|
bl sub_8120558
|
|
b _08127210
|
|
.align 2, 0
|
|
_081271EC: .4byte gPaletteFade
|
|
_081271F0: .4byte gUnknown_203B0D8
|
|
_081271F4: .4byte gUnknown_203B0A0
|
|
_081271F8:
|
|
ldr r2, _08127224 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08127228 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldrh r1, [r2, 0xC]
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl sub_8120420
|
|
_08127210:
|
|
ldr r0, _0812722C @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08127230 @ =sub_8127098
|
|
str r0, [r1]
|
|
_0812721E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127224: .4byte gUnknown_203B0A0
|
|
_08127228: .4byte gPlayerParty
|
|
_0812722C: .4byte gTasks
|
|
_08127230: .4byte sub_8127098
|
|
thumb_func_end sub_81271C4
|
|
|
|
thumb_func_start sub_8127234
|
|
sub_8127234: @ 8127234
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_8120370
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08127258
|
|
bl sub_812200C
|
|
ldr r0, _08127260 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08127264 @ =sub_8127268
|
|
str r0, [r1]
|
|
_08127258:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127260: .4byte gTasks
|
|
_08127264: .4byte sub_8127268
|
|
thumb_func_end sub_8127234
|
|
|
|
thumb_func_start sub_8127268
|
|
sub_8127268: @ 8127268
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0812728E
|
|
cmp r1, 0
|
|
bgt _08127288
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08127328
|
|
b _0812733C
|
|
_08127288:
|
|
cmp r1, 0x1
|
|
beq _0812732E
|
|
b _0812733C
|
|
_0812728E:
|
|
ldr r7, _081272C0 @ =gUnknown_203B0A0
|
|
ldrh r4, [r7, 0xC]
|
|
adds r0, r4, 0
|
|
bl sub_8127384
|
|
ldr r6, _081272C4 @ =gUnknown_203B0D8
|
|
ldrh r0, [r6]
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081272CC
|
|
adds r0, r4, 0
|
|
bl sub_81273AC
|
|
ldrh r0, [r6]
|
|
bl sub_8120658
|
|
ldr r0, _081272C8 @ =gStringVar4
|
|
movs r1, 0
|
|
bl sub_81202F8
|
|
b _0812730C
|
|
.align 2, 0
|
|
_081272C0: .4byte gUnknown_203B0A0
|
|
_081272C4: .4byte gUnknown_203B0D8
|
|
_081272C8: .4byte gStringVar4
|
|
_081272CC:
|
|
adds r0, r4, 0
|
|
bl itemid_is_mail
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081272F0
|
|
ldr r0, _081272E8 @ =gUnknown_203B09C
|
|
ldr r1, [r0]
|
|
ldr r0, _081272EC @ =sub_81270E0
|
|
str r0, [r1, 0x4]
|
|
adds r0, r5, 0
|
|
bl sub_811FA78
|
|
b _0812733C
|
|
.align 2, 0
|
|
_081272E8: .4byte gUnknown_203B09C
|
|
_081272EC: .4byte sub_81270E0
|
|
_081272F0:
|
|
movs r1, 0x9
|
|
ldrsb r1, [r7, r1]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0812731C @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
bl sub_81205C8
|
|
ldrh r1, [r6]
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
bl sub_8120558
|
|
_0812730C:
|
|
ldr r1, _08127320 @ =gTasks
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08127324 @ =sub_8127098
|
|
str r1, [r0]
|
|
b _0812733C
|
|
.align 2, 0
|
|
_0812731C: .4byte gPlayerParty
|
|
_08127320: .4byte gTasks
|
|
_08127324: .4byte sub_8127098
|
|
_08127328:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_0812732E:
|
|
ldr r0, _08127344 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08127348 @ =sub_8127098
|
|
str r0, [r1]
|
|
_0812733C:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127344: .4byte gTasks
|
|
_08127348: .4byte sub_8127098
|
|
thumb_func_end sub_8127268
|
|
|
|
thumb_func_start sub_812734C
|
|
sub_812734C: @ 812734C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _08127378 @ =gUnknown_8416BFB
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _0812737C @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _08127380 @ =sub_8127098
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127378: .4byte gUnknown_8416BFB
|
|
_0812737C: .4byte gTasks
|
|
_08127380: .4byte sub_8127098
|
|
thumb_func_end sub_812734C
|
|
|
|
thumb_func_start sub_8127384
|
|
sub_8127384: @ 8127384
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _0812739C @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x6
|
|
bne _081273A0
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A460
|
|
b _081273A8
|
|
.align 2, 0
|
|
_0812739C: .4byte gUnknown_203B0A0
|
|
_081273A0:
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A1D8
|
|
_081273A8:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8127384
|
|
|
|
thumb_func_start sub_81273AC
|
|
sub_81273AC: @ 81273AC
|
|
push {lr}
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _081273C4 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x5
|
|
beq _081273C8
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A3C8
|
|
b _081273D0
|
|
.align 2, 0
|
|
_081273C4: .4byte gUnknown_203B0A0
|
|
_081273C8:
|
|
adds r0, r1, 0
|
|
movs r1, 0x1
|
|
bl sub_809A084
|
|
_081273D0:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81273AC
|
|
|
|
thumb_func_start sub_81273D8
|
|
sub_81273D8: @ 81273D8
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x6
|
|
str r0, [sp]
|
|
ldr r0, _081273FC @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08127400 @ =sub_80EC500
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x7
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081273FC: .4byte sub_811FB28
|
|
_08127400: .4byte sub_80EC500
|
|
thumb_func_end sub_81273D8
|
|
|
|
thumb_func_start sub_8127404
|
|
sub_8127404: @ 8127404
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08127450 @ =gUnknown_203B0A0
|
|
movs r1, 0x9
|
|
ldrsb r1, [r0, r1]
|
|
movs r0, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08127454 @ =gPlayerParty
|
|
adds r5, r1, r0
|
|
ldr r1, _08127458 @ =gUnknown_203B0C0
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
ldr r2, _0812745C @ =gSaveBlock1Ptr
|
|
ldr r0, _08127460 @ =gUnknown_203AAC4
|
|
ldrh r1, [r0]
|
|
adds r1, 0x6
|
|
ldrh r0, [r0, 0x2]
|
|
adds r1, r0
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _08127464 @ =0x00002cd0
|
|
adds r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _0812746C
|
|
ldr r0, _08127468 @ =gUnknown_8416D17
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
b _08127482
|
|
.align 2, 0
|
|
_08127450: .4byte gUnknown_203B0A0
|
|
_08127454: .4byte gPlayerParty
|
|
_08127458: .4byte gUnknown_203B0C0
|
|
_0812745C: .4byte gSaveBlock1Ptr
|
|
_08127460: .4byte gUnknown_203AAC4
|
|
_08127464: .4byte 0x00002cd0
|
|
_08127468: .4byte gUnknown_8416D17
|
|
_0812746C:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl GiveMailToMon2
|
|
adds r0, r4, 0
|
|
bl ClearMailStruct
|
|
ldr r0, _0812749C @ =gUnknown_8416D4F
|
|
movs r1, 0x1
|
|
bl sub_81202F8
|
|
_08127482:
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, _081274A0 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081274A4 @ =sub_8127098
|
|
str r0, [r1]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812749C: .4byte gUnknown_8416D4F
|
|
_081274A0: .4byte gTasks
|
|
_081274A4: .4byte sub_8127098
|
|
thumb_func_end sub_8127404
|
|
|
|
thumb_func_start sub_81274A8
|
|
sub_81274A8: @ 81274A8
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_81274FC
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _081274EC @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081274F0 @ =gMain
|
|
ldr r0, [r0, 0x8]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
ldr r1, _081274F4 @ =gUnknown_203B0A0
|
|
lsls r4, 6
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0x3F
|
|
ands r0, r2
|
|
orrs r0, r4
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, _081274F8 @ =sub_812773C
|
|
str r0, [r1, 0x4]
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081274EC: .4byte sub_811FB28
|
|
_081274F0: .4byte gMain
|
|
_081274F4: .4byte gUnknown_203B0A0
|
|
_081274F8: .4byte sub_812773C
|
|
thumb_func_end sub_81274A8
|
|
|
|
thumb_func_start sub_81274FC
|
|
sub_81274FC: @ 81274FC
|
|
push {lr}
|
|
ldr r0, _0812750C @ =gUnknown_203B0D4
|
|
movs r1, 0
|
|
movs r2, 0x3
|
|
bl memset
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812750C: .4byte gUnknown_203B0D4
|
|
thumb_func_end sub_81274FC
|
|
|
|
thumb_func_start sub_8127510
|
|
sub_8127510: @ 8127510
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0812752C @ =gPlayerParty
|
|
adds r0, r1
|
|
bl sub_8127550
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127530
|
|
movs r0, 0x2
|
|
b _08127548
|
|
.align 2, 0
|
|
_0812752C: .4byte gPlayerParty
|
|
_08127530:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8127710
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08127546
|
|
movs r0, 0
|
|
b _08127548
|
|
_08127546:
|
|
movs r0, 0x1
|
|
_08127548:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8127510
|
|
|
|
thumb_func_start sub_8127550
|
|
sub_8127550: @ 8127550
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r5, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _0812757A
|
|
ldr r0, _08127580 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsrs r1, r0, 6
|
|
cmp r1, 0
|
|
beq _08127584
|
|
cmp r1, 0x1
|
|
beq _08127592
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
cmp r0, 0x1E
|
|
bls _081275E0
|
|
_0812757A:
|
|
movs r0, 0
|
|
b _081275E2
|
|
.align 2, 0
|
|
_08127580: .4byte gUnknown_203B0A0
|
|
_08127584:
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _081275E0
|
|
b _0812757A
|
|
_08127592:
|
|
ldr r0, _081275E8 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldr r2, _081275EC @ =0x0000055c
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
bne _081275AE
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
cmp r0, 0x32
|
|
bhi _0812757A
|
|
_081275AE:
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r3, _081275F0 @ =gUnknown_84020C4
|
|
lsls r1, r5, 1
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
ldr r2, _081275F4 @ =0x0000ffff
|
|
cmp r0, r2
|
|
beq _081275E0
|
|
_081275C8:
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
beq _0812757A
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r1, r5, 1
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, r2
|
|
bne _081275C8
|
|
_081275E0:
|
|
movs r0, 0x1
|
|
_081275E2:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081275E8: .4byte gSaveBlock2Ptr
|
|
_081275EC: .4byte 0x0000055c
|
|
_081275F0: .4byte gUnknown_84020C4
|
|
_081275F4: .4byte 0x0000ffff
|
|
thumb_func_end sub_8127550
|
|
|
|
thumb_func_start sub_81275F8
|
|
sub_81275F8: @ 81275F8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _08127618 @ =gPlayerParty
|
|
mov r10, r0
|
|
ldr r0, _0812761C @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0x8]
|
|
lsrs r0, 6
|
|
cmp r0, 0x1
|
|
beq _08127620
|
|
cmp r0, 0x2
|
|
beq _081276E8
|
|
b _08127700
|
|
.align 2, 0
|
|
_08127618: .4byte gPlayerParty
|
|
_0812761C: .4byte gUnknown_203B0A0
|
|
_08127620:
|
|
ldr r1, _0812762C @ =gUnknown_203B0D4
|
|
ldrb r0, [r1, 0x2]
|
|
cmp r0, 0
|
|
bne _08127630
|
|
movs r0, 0x11
|
|
b _08127702
|
|
.align 2, 0
|
|
_0812762C: .4byte gUnknown_203B0D4
|
|
_08127630:
|
|
movs r5, 0
|
|
_08127632:
|
|
ldr r2, _081276DC @ =gUnknown_203B0D4
|
|
adds r4, r2, r5
|
|
ldrb r0, [r4]
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
subs r0, 0x64
|
|
add r0, r10
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
ldr r2, _081276E0 @ =gUnknown_203B09C
|
|
ldr r1, [r2]
|
|
ldr r2, _081276E4 @ =0x00000236
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
ldrb r0, [r4]
|
|
movs r1, 0x64
|
|
muls r0, r1
|
|
subs r0, 0x64
|
|
add r0, r10
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
ldr r2, _081276E0 @ =gUnknown_203B09C
|
|
ldr r1, [r2]
|
|
movs r2, 0x8D
|
|
lsls r2, 2
|
|
adds r1, r2
|
|
strh r0, [r1]
|
|
adds r1, r5, 0x1
|
|
lsls r0, r1, 24
|
|
lsrs r5, r0, 24
|
|
mov r9, r1
|
|
cmp r5, 0x2
|
|
bhi _081276D0
|
|
ldr r0, _081276E0 @ =gUnknown_203B09C
|
|
mov r8, r0
|
|
movs r7, 0x64
|
|
_0812767E:
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
ldr r2, _081276E4 @ =0x00000236
|
|
adds r0, r2
|
|
movs r1, 0
|
|
ldrsh r4, [r0, r1]
|
|
ldr r2, _081276DC @ =gUnknown_203B0D4
|
|
adds r6, r2, r5
|
|
ldrb r0, [r6]
|
|
muls r0, r7
|
|
subs r0, 0x64
|
|
add r0, r10
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r4, r0
|
|
beq _081276F8
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
movs r2, 0x8D
|
|
lsls r2, 2
|
|
adds r1, r0, r2
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
beq _081276C6
|
|
adds r4, r0, 0
|
|
ldrb r0, [r6]
|
|
muls r0, r7
|
|
subs r0, 0x64
|
|
add r0, r10
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
cmp r4, r0
|
|
beq _081276FC
|
|
_081276C6:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x2
|
|
bls _0812767E
|
|
_081276D0:
|
|
mov r1, r9
|
|
lsls r0, r1, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x1
|
|
bls _08127632
|
|
b _08127700
|
|
.align 2, 0
|
|
_081276DC: .4byte gUnknown_203B0D4
|
|
_081276E0: .4byte gUnknown_203B09C
|
|
_081276E4: .4byte 0x00000236
|
|
_081276E8:
|
|
ldr r2, _081276F4 @ =gUnknown_203B0D4
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0
|
|
bne _08127700
|
|
movs r0, 0x12
|
|
b _08127702
|
|
.align 2, 0
|
|
_081276F4: .4byte gUnknown_203B0D4
|
|
_081276F8:
|
|
movs r0, 0x13
|
|
b _08127702
|
|
_081276FC:
|
|
movs r0, 0x14
|
|
b _08127702
|
|
_08127700:
|
|
movs r0, 0xFF
|
|
_08127702:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81275F8
|
|
|
|
thumb_func_start sub_8127710
|
|
sub_8127710: @ 8127710
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
movs r1, 0
|
|
ldr r3, _08127728 @ =gUnknown_203B0D4
|
|
_0812771A:
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
bne _0812772C
|
|
movs r0, 0x1
|
|
b _08127738
|
|
.align 2, 0
|
|
_08127728: .4byte gUnknown_203B0D4
|
|
_0812772C:
|
|
adds r0, r1, 0x1
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0x2
|
|
bls _0812771A
|
|
movs r0, 0
|
|
_08127738:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8127710
|
|
|
|
thumb_func_start sub_812773C
|
|
sub_812773C: @ 812773C
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
bl sub_81275F8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xFF
|
|
beq _08127768
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _08127764 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
b _08127796
|
|
.align 2, 0
|
|
_08127764: .4byte gTasks
|
|
_08127768:
|
|
ldr r0, _08127780 @ =gUnknown_203B0D4
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08127784
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
bl sub_811FA78
|
|
b _0812779E
|
|
.align 2, 0
|
|
_08127780: .4byte gUnknown_203B0D4
|
|
_08127784:
|
|
movs r0, 0x1A
|
|
bl PlaySE
|
|
movs r0, 0xE
|
|
bl sub_8121D0C
|
|
ldr r0, _081277A4 @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
_08127796:
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081277A8 @ =sub_81277AC
|
|
str r0, [r1]
|
|
_0812779E:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081277A4: .4byte gTasks
|
|
_081277A8: .4byte sub_81277AC
|
|
thumb_func_end sub_812773C
|
|
|
|
thumb_func_start sub_81277AC
|
|
sub_81277AC: @ 81277AC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081277E8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081277C6
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _081277E0
|
|
_081277C6:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
bl sub_8121D0C
|
|
ldr r0, _081277EC @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _081277F0 @ =sub_811FB28
|
|
str r0, [r1]
|
|
_081277E0:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081277E8: .4byte gMain
|
|
_081277EC: .4byte gTasks
|
|
_081277F0: .4byte sub_811FB28
|
|
thumb_func_end sub_81277AC
|
|
|
|
thumb_func_start sub_81277F4
|
|
sub_81277F4: @ 81277F4
|
|
push {lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
ldr r2, _08127818 @ =sub_811FB28
|
|
str r2, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127818: .4byte sub_811FB28
|
|
thumb_func_end sub_81277F4
|
|
|
|
thumb_func_start sub_812781C
|
|
sub_812781C: @ 812781C
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r0, _08127844 @ =gSpecialVar_0x8005
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xE
|
|
bhi _08127850
|
|
movs r0, 0x4
|
|
str r0, [sp]
|
|
ldr r0, _08127848 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _0812784C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
b _08127870
|
|
.align 2, 0
|
|
_08127844: .4byte gSpecialVar_0x8005
|
|
_08127848: .4byte sub_811FB28
|
|
_0812784C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
_08127850:
|
|
movs r0, 0x7F
|
|
str r0, [sp]
|
|
ldr r0, _08127878 @ =sub_8126DC8
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _0812787C @ =c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
ldr r1, _08127880 @ =gUnknown_203B0A0
|
|
ldr r0, _08127884 @ =gUnknown_20370C6
|
|
ldrh r0, [r0]
|
|
strb r0, [r1, 0x9]
|
|
_08127870:
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127878: .4byte sub_8126DC8
|
|
_0812787C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
_08127880: .4byte gUnknown_203B0A0
|
|
_08127884: .4byte gUnknown_20370C6
|
|
thumb_func_end sub_812781C
|
|
|
|
thumb_func_start sub_8127888
|
|
sub_8127888: @ 8127888
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
ldr r0, _081278AC @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081278B0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0xB
|
|
movs r1, 0
|
|
movs r2, 0xD
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081278AC: .4byte sub_811FB28
|
|
_081278B0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
thumb_func_end sub_8127888
|
|
|
|
thumb_func_start sub_81278B4
|
|
sub_81278B4: @ 81278B4
|
|
push {lr}
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081278C4
|
|
movs r0, 0
|
|
b _081278D6
|
|
_081278C4:
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _081278D4
|
|
movs r0, 0x1
|
|
b _081278D6
|
|
_081278D4:
|
|
movs r0, 0x2
|
|
_081278D6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81278B4
|
|
|
|
thumb_func_start sub_81278DC
|
|
sub_81278DC: @ 81278DC
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x8
|
|
bl sub_80EB2E0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127930
|
|
ldr r0, _08127924 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08127930
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x7F
|
|
str r0, [sp]
|
|
ldr r0, _08127928 @ =sub_8120C3C
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _0812792C @ =sub_8030ADC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
movs r0, 0x8
|
|
bl sub_80EB2F4
|
|
b _08127950
|
|
.align 2, 0
|
|
_08127924: .4byte gBattleTypeFlags
|
|
_08127928: .4byte sub_8120C3C
|
|
_0812792C: .4byte sub_8030ADC
|
|
_08127930:
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _08127960 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08127964 @ =sub_8030ADC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
_08127950:
|
|
bl nullsub_44
|
|
bl pokemon_change_order
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127960: .4byte sub_811FB28
|
|
_08127964: .4byte sub_8030ADC
|
|
thumb_func_end sub_81278DC
|
|
|
|
thumb_func_start sub_8127968
|
|
sub_8127968: @ 8127968
|
|
push {lr}
|
|
sub sp, 0xC
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, _0812799C @ =sub_8120EBC
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081279A0 @ =sub_8030ADC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
bl nullsub_44
|
|
bl pokemon_change_order
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0812799C: .4byte sub_8120EBC
|
|
_081279A0: .4byte sub_8030ADC
|
|
thumb_func_end sub_8127968
|
|
|
|
thumb_func_start sub_81279A4
|
|
sub_81279A4: @ 81279A4
|
|
push {lr}
|
|
sub sp, 0xC
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
ldr r0, _081279D8 @ =sub_8120FCC
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081279DC @ =sub_8107ECC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0xE
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
bl nullsub_44
|
|
bl pokemon_change_order
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081279D8: .4byte sub_8120FCC
|
|
_081279DC: .4byte sub_8107ECC
|
|
thumb_func_end sub_81279A4
|
|
|
|
thumb_func_start sub_81279E0
|
|
sub_81279E0: @ 81279E0
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x8
|
|
bl sub_80EB2E0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127A30
|
|
ldr r0, _08127A24 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08127A30
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x7F
|
|
str r0, [sp]
|
|
ldr r0, _08127A28 @ =sub_8120C3C
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _08127A2C @ =sub_8107ECC
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0x3
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
movs r0, 0x8
|
|
bl sub_80EB2F4
|
|
b _08127A62
|
|
.align 2, 0
|
|
_08127A24: .4byte gBattleTypeFlags
|
|
_08127A28: .4byte sub_8120C3C
|
|
_08127A2C: .4byte sub_8107ECC
|
|
_08127A30:
|
|
ldr r0, _08127A74 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl GetPocketByItemId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r4, _08127A78 @ =sub_8107ECC
|
|
cmp r0, 0x5
|
|
bne _08127A44
|
|
ldr r4, _08127A7C @ =sub_8124DB0
|
|
_08127A44:
|
|
bl sub_81278B4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
ldr r0, _08127A80 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
movs r0, 0x1
|
|
movs r2, 0x3
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
_08127A62:
|
|
bl nullsub_44
|
|
bl pokemon_change_order
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127A74: .4byte gUnknown_203AD30
|
|
_08127A78: .4byte sub_8107ECC
|
|
_08127A7C: .4byte sub_8124DB0
|
|
_08127A80: .4byte sub_811FB28
|
|
thumb_func_end sub_81279E0
|
|
|
|
thumb_func_start sub_8127A84
|
|
sub_8127A84: @ 8127A84
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _08127AA4 @ =gUnknown_20242E8
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08127AA0
|
|
adds r0, r4, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08127AA8
|
|
_08127AA0:
|
|
movs r0, 0x7
|
|
b _08127ABA
|
|
.align 2, 0
|
|
_08127AA4: .4byte gUnknown_20242E8
|
|
_08127AA8:
|
|
ldr r0, _08127AB4 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x1
|
|
beq _08127AB8
|
|
movs r0, 0x2
|
|
b _08127ABA
|
|
.align 2, 0
|
|
_08127AB4: .4byte gUnknown_203B0A0
|
|
_08127AB8:
|
|
movs r0, 0x3
|
|
_08127ABA:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8127A84
|
|
|
|
thumb_func_start sub_8127AC0
|
|
sub_8127AC0: @ 8127AC0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08127B08
|
|
cmp r5, 0x1
|
|
beq _08127AE6
|
|
cmp r5, 0x4
|
|
beq _08127AE6
|
|
cmp r5, 0x5
|
|
bne _08127B08
|
|
_08127AE6:
|
|
ldr r4, _08127AFC @ =gStringVar1
|
|
bl sub_80444C4
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, _08127B00 @ =gStringVar4
|
|
ldr r1, _08127B04 @ =gUnknown_8416A98
|
|
b _08127C86
|
|
.align 2, 0
|
|
_08127AFC: .4byte gStringVar1
|
|
_08127B00: .4byte gStringVar4
|
|
_08127B04: .4byte gUnknown_8416A98
|
|
_08127B08:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _08127B2C @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _08127B3C
|
|
ldr r1, _08127B30 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08127B34 @ =gStringVar4
|
|
ldr r1, _08127B38 @ =gUnknown_8416A75
|
|
b _08127C86
|
|
.align 2, 0
|
|
_08127B2C: .4byte gPlayerParty
|
|
_08127B30: .4byte gStringVar1
|
|
_08127B34: .4byte gStringVar4
|
|
_08127B38: .4byte gUnknown_8416A75
|
|
_08127B3C:
|
|
movs r4, 0
|
|
b _08127B68
|
|
_08127B40:
|
|
adds r0, r4, 0
|
|
bl GetBattlerSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127B62
|
|
adds r0, r5, 0
|
|
bl sub_8127F7C
|
|
lsls r0, 24
|
|
ldr r2, _08127B90 @ =gBattlerPartyIndexes
|
|
lsls r1, r4, 1
|
|
adds r1, r2
|
|
lsrs r0, 24
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
beq _08127C40
|
|
_08127B62:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_08127B68:
|
|
ldr r0, _08127B94 @ =gBattlersCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bcc _08127B40
|
|
movs r7, 0x64
|
|
adds r0, r5, 0
|
|
muls r0, r7
|
|
ldr r1, _08127B98 @ =gPlayerParty
|
|
mov r8, r1
|
|
adds r6, r0, r1
|
|
adds r0, r6, 0
|
|
movs r1, 0x2D
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08127BA4
|
|
ldr r0, _08127B9C @ =gStringVar4
|
|
ldr r1, _08127BA0 @ =gUnknown_8416ACB
|
|
b _08127C86
|
|
.align 2, 0
|
|
_08127B90: .4byte gBattlerPartyIndexes
|
|
_08127B94: .4byte gBattlersCount
|
|
_08127B98: .4byte gPlayerParty
|
|
_08127B9C: .4byte gStringVar4
|
|
_08127BA0: .4byte gUnknown_8416ACB
|
|
_08127BA4:
|
|
adds r0, r5, 0
|
|
bl sub_8127F7C
|
|
ldr r1, _08127BC8 @ =gBattleStruct
|
|
ldr r1, [r1]
|
|
adds r1, 0x8B
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _08127BD8
|
|
ldr r1, _08127BCC @ =gStringVar1
|
|
adds r0, r6, 0
|
|
bl GetMonNickname
|
|
ldr r0, _08127BD0 @ =gStringVar4
|
|
ldr r1, _08127BD4 @ =gUnknown_8416A55
|
|
b _08127C86
|
|
.align 2, 0
|
|
_08127BC8: .4byte gBattleStruct
|
|
_08127BCC: .4byte gStringVar1
|
|
_08127BD0: .4byte gStringVar4
|
|
_08127BD4: .4byte gUnknown_8416A55
|
|
_08127BD8:
|
|
ldr r0, _08127BE8 @ =gUnknown_203B0A0
|
|
ldrb r0, [r0, 0xB]
|
|
cmp r0, 0x4
|
|
bne _08127BEC
|
|
bl sub_8044348
|
|
b _08127C8A
|
|
.align 2, 0
|
|
_08127BE8: .4byte gUnknown_203B0A0
|
|
_08127BEC:
|
|
cmp r0, 0x2
|
|
beq _08127C64
|
|
adds r0, r5, 0
|
|
bl sub_8127F7C
|
|
ldr r1, _08127C30 @ =gUnknown_203B0C1
|
|
strb r0, [r1]
|
|
ldr r1, _08127C34 @ =gUnknown_203B0C0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, _08127C38 @ =gBattlerPartyIndexes
|
|
ldr r0, _08127C3C @ =gBattlerInMenuId
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl pokemon_order_func
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_8127FF4
|
|
adds r0, r4, 0
|
|
muls r0, r7
|
|
add r0, r8
|
|
adds r1, r6, 0
|
|
bl sub_811FA40
|
|
movs r0, 0x1
|
|
b _08127C8C
|
|
.align 2, 0
|
|
_08127C30: .4byte gUnknown_203B0C1
|
|
_08127C34: .4byte gUnknown_203B0C0
|
|
_08127C38: .4byte gBattlerPartyIndexes
|
|
_08127C3C: .4byte gBattlerInMenuId
|
|
_08127C40:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08127C54 @ =gPlayerParty
|
|
adds r0, r1
|
|
ldr r1, _08127C58 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r0, _08127C5C @ =gStringVar4
|
|
ldr r1, _08127C60 @ =gUnknown_8416A3A
|
|
b _08127C86
|
|
.align 2, 0
|
|
_08127C54: .4byte gPlayerParty
|
|
_08127C58: .4byte gStringVar1
|
|
_08127C5C: .4byte gStringVar4
|
|
_08127C60: .4byte gUnknown_8416A3A
|
|
_08127C64:
|
|
ldr r0, _08127C98 @ =gBattlerInMenuId
|
|
ldrb r0, [r0]
|
|
ldr r1, _08127C9C @ =gBattlerPartyIndexes
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl pokemon_order_func
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
muls r0, r7
|
|
add r0, r8
|
|
ldr r1, _08127CA0 @ =gStringVar1
|
|
bl GetMonNickname
|
|
ldr r0, _08127CA4 @ =gStringVar4
|
|
ldr r1, _08127CA8 @ =gUnknown_8416A1E
|
|
_08127C86:
|
|
bl StringExpandPlaceholders
|
|
_08127C8A:
|
|
movs r0, 0
|
|
_08127C8C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08127C98: .4byte gBattlerInMenuId
|
|
_08127C9C: .4byte gBattlerPartyIndexes
|
|
_08127CA0: .4byte gStringVar1
|
|
_08127CA4: .4byte gStringVar4
|
|
_08127CA8: .4byte gUnknown_8416A1E
|
|
thumb_func_end sub_8127AC0
|
|
|
|
thumb_func_start sub_8127CAC
|
|
sub_8127CAC: @ 8127CAC
|
|
push {r4,lr}
|
|
ldr r4, _08127CC8 @ =gUnknown_203B0DC
|
|
bl sub_80435E0
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_8127CCC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127CC8: .4byte gUnknown_203B0DC
|
|
thumb_func_end sub_8127CAC
|
|
|
|
thumb_func_start sub_8127CCC
|
|
sub_8127CCC: @ 8127CCC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r6, r0, 0
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08127D02
|
|
cmp r4, 0
|
|
beq _08127CF4
|
|
movs r0, 0x30
|
|
strb r0, [r6]
|
|
movs r0, 0x45
|
|
strb r0, [r6, 0x1]
|
|
movs r0, 0x12
|
|
strb r0, [r6, 0x2]
|
|
b _08127D9C
|
|
_08127CF4:
|
|
movs r0, 0x3
|
|
strb r0, [r6]
|
|
movs r0, 0x12
|
|
strb r0, [r6, 0x1]
|
|
movs r0, 0x45
|
|
strb r0, [r6, 0x2]
|
|
b _08127D9C
|
|
_08127D02:
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127D40
|
|
movs r5, 0x1
|
|
movs r0, 0
|
|
bl GetBattlerAtPosition
|
|
mov r2, sp
|
|
ldr r1, _08127D3C @ =gBattlerPartyIndexes
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strb r0, [r2]
|
|
movs r4, 0
|
|
mov r1, sp
|
|
_08127D26:
|
|
ldrb r0, [r1]
|
|
cmp r4, r0
|
|
beq _08127D34
|
|
mov r2, sp
|
|
adds r0, r2, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_08127D34:
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _08127D26
|
|
b _08127D84
|
|
.align 2, 0
|
|
_08127D3C: .4byte gBattlerPartyIndexes
|
|
_08127D40:
|
|
movs r5, 0x2
|
|
movs r0, 0
|
|
bl GetBattlerAtPosition
|
|
mov r1, sp
|
|
ldr r4, _08127DA4 @ =gBattlerPartyIndexes
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
movs r0, 0x2
|
|
bl GetBattlerAtPosition
|
|
mov r1, sp
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
strb r0, [r1, 0x1]
|
|
movs r4, 0
|
|
_08127D6A:
|
|
ldrb r0, [r1]
|
|
cmp r4, r0
|
|
beq _08127D7E
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r4, r0
|
|
beq _08127D7E
|
|
mov r2, sp
|
|
adds r0, r2, r5
|
|
strb r4, [r0]
|
|
adds r5, 0x1
|
|
_08127D7E:
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _08127D6A
|
|
_08127D84:
|
|
movs r4, 0
|
|
mov r3, sp
|
|
_08127D88:
|
|
adds r0, r6, r4
|
|
ldrb r1, [r3]
|
|
lsls r1, 4
|
|
ldrb r2, [r3, 0x1]
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r3, 0x2
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _08127D88
|
|
_08127D9C:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127DA4: .4byte gBattlerPartyIndexes
|
|
thumb_func_end sub_8127CCC
|
|
|
|
thumb_func_start sub_8127DA8
|
|
sub_8127DA8: @ 8127DA8
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r0, _08127DC8 @ =gBattleStruct
|
|
lsls r3, r2, 1
|
|
adds r3, r2
|
|
adds r3, 0x60
|
|
ldr r0, [r0]
|
|
adds r0, r3
|
|
bl sub_8127DCC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127DC8: .4byte gBattleStruct
|
|
thumb_func_end sub_8127DA8
|
|
|
|
thumb_func_start sub_8127DCC
|
|
sub_8127DCC: @ 8127DCC
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
adds r5, r0, 0
|
|
adds r0, r2, 0
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl GetBattlerSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127DF4
|
|
movs r0, 0
|
|
bl GetBattlerAtPosition
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x2
|
|
b _08127E00
|
|
_08127DF4:
|
|
movs r0, 0x1
|
|
bl GetBattlerAtPosition
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r0, 0x3
|
|
_08127E00:
|
|
bl GetBattlerAtPosition
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08127E34
|
|
cmp r7, 0
|
|
beq _08127E26
|
|
movs r0, 0x30
|
|
strb r0, [r5]
|
|
movs r0, 0x45
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0x12
|
|
strb r0, [r5, 0x2]
|
|
b _08127EB6
|
|
_08127E26:
|
|
movs r0, 0x3
|
|
strb r0, [r5]
|
|
movs r0, 0x12
|
|
strb r0, [r5, 0x1]
|
|
movs r0, 0x45
|
|
strb r0, [r5, 0x2]
|
|
b _08127EB6
|
|
_08127E34:
|
|
bl sub_8075290
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08127E6C
|
|
movs r3, 0x1
|
|
mov r2, sp
|
|
ldr r1, _08127E68 @ =gBattlerPartyIndexes
|
|
lsls r0, r4, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strb r0, [r2]
|
|
movs r4, 0
|
|
mov r1, sp
|
|
_08127E50:
|
|
ldrb r0, [r1]
|
|
cmp r4, r0
|
|
beq _08127E5E
|
|
mov r2, sp
|
|
adds r0, r2, r3
|
|
strb r4, [r0]
|
|
adds r3, 0x1
|
|
_08127E5E:
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _08127E50
|
|
b _08127E9E
|
|
.align 2, 0
|
|
_08127E68: .4byte gBattlerPartyIndexes
|
|
_08127E6C:
|
|
movs r3, 0x2
|
|
mov r1, sp
|
|
ldr r2, _08127EC0 @ =gBattlerPartyIndexes
|
|
lsls r0, r4, 1
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
strb r0, [r1]
|
|
lsls r0, r6, 1
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
strb r0, [r1, 0x1]
|
|
movs r4, 0
|
|
_08127E84:
|
|
ldrb r0, [r1]
|
|
cmp r4, r0
|
|
beq _08127E98
|
|
ldrb r0, [r1, 0x1]
|
|
cmp r4, r0
|
|
beq _08127E98
|
|
mov r2, sp
|
|
adds r0, r2, r3
|
|
strb r4, [r0]
|
|
adds r3, 0x1
|
|
_08127E98:
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _08127E84
|
|
_08127E9E:
|
|
movs r4, 0
|
|
mov r3, sp
|
|
_08127EA2:
|
|
adds r0, r5, r4
|
|
ldrb r1, [r3]
|
|
lsls r1, 4
|
|
ldrb r2, [r3, 0x1]
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r3, 0x2
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _08127EA2
|
|
_08127EB6:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127EC0: .4byte gBattlerPartyIndexes
|
|
thumb_func_end sub_8127DCC
|
|
|
|
thumb_func_start sub_8127EC4
|
|
sub_8127EC4: @ 8127EC4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
movs r7, 0
|
|
bl sub_811FA20
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08127F72
|
|
ldr r0, _08127F28 @ =gBattleStruct
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
adds r1, 0x60
|
|
ldr r0, [r0]
|
|
adds r4, r0, r1
|
|
movs r2, 0
|
|
add r6, sp
|
|
mov r12, r6
|
|
movs r6, 0xF
|
|
mov r3, sp
|
|
_08127EF6:
|
|
adds r1, r4, r2
|
|
ldrb r0, [r1]
|
|
lsrs r0, 4
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
ldrb r1, [r1]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
adds r3, 0x1
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _08127EF6
|
|
mov r0, r12
|
|
ldrb r3, [r0]
|
|
movs r2, 0
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
cmp r0, r5
|
|
bne _08127F2C
|
|
mov r0, sp
|
|
ldrb r7, [r0]
|
|
strb r3, [r0]
|
|
b _08127F40
|
|
.align 2, 0
|
|
_08127F28: .4byte gBattleStruct
|
|
_08127F2C:
|
|
adds r2, 0x1
|
|
cmp r2, 0x5
|
|
bgt _08127F40
|
|
mov r0, sp
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, r5
|
|
bne _08127F2C
|
|
adds r7, r0, 0
|
|
strb r3, [r1]
|
|
_08127F40:
|
|
cmp r2, 0x6
|
|
beq _08127F72
|
|
mov r0, r12
|
|
strb r7, [r0]
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
lsls r0, 4
|
|
mov r1, sp
|
|
ldrb r1, [r1, 0x1]
|
|
orrs r0, r1
|
|
strb r0, [r4]
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 4
|
|
mov r1, sp
|
|
ldrb r1, [r1, 0x3]
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x1]
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0x4]
|
|
lsls r0, 4
|
|
mov r1, sp
|
|
ldrb r1, [r1, 0x5]
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x2]
|
|
_08127F72:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8127EC4
|
|
|
|
thumb_func_start sub_8127F7C
|
|
sub_8127F7C: @ 8127F7C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
movs r1, 0x1
|
|
ands r1, r2
|
|
lsrs r2, r0, 25
|
|
cmp r1, 0
|
|
beq _08127F9C
|
|
ldr r0, _08127F98 @ =gUnknown_203B0DC
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
movs r1, 0xF
|
|
ands r1, r0
|
|
b _08127FA4
|
|
.align 2, 0
|
|
_08127F98: .4byte gUnknown_203B0DC
|
|
_08127F9C:
|
|
ldr r0, _08127FAC @ =gUnknown_203B0DC
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
lsrs r1, r0, 4
|
|
_08127FA4:
|
|
adds r0, r1, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08127FAC: .4byte gUnknown_203B0DC
|
|
thumb_func_end sub_8127F7C
|
|
|
|
thumb_func_start sub_8127FB0
|
|
sub_8127FB0: @ 8127FB0
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
movs r1, 0x1
|
|
ands r1, r3
|
|
lsrs r3, r0, 25
|
|
cmp r1, 0
|
|
beq _08127FD8
|
|
ldr r0, _08127FD4 @ =gUnknown_203B0DC
|
|
adds r0, r3, r0
|
|
ldrb r2, [r0]
|
|
movs r1, 0xF0
|
|
ands r1, r2
|
|
orrs r1, r4
|
|
strb r1, [r0]
|
|
b _08127FE8
|
|
.align 2, 0
|
|
_08127FD4: .4byte gUnknown_203B0DC
|
|
_08127FD8:
|
|
ldr r2, _08127FF0 @ =gUnknown_203B0DC
|
|
adds r2, r3, r2
|
|
ldrb r1, [r2]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
lsls r1, r4, 4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_08127FE8:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08127FF0: .4byte gUnknown_203B0DC
|
|
thumb_func_end sub_8127FB0
|
|
|
|
thumb_func_start sub_8127FF4
|
|
sub_8127FF4: @ 8127FF4
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
adds r0, r5, 0
|
|
bl sub_8127F7C
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r6, 0
|
|
bl sub_8127F7C
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
bl sub_8127FB0
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_8127FB0
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8127FF4
|
|
|
|
thumb_func_start pokemon_order_func
|
|
pokemon_order_func: @ 8128030
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r3, 0
|
|
movs r2, 0
|
|
ldr r5, _08128058 @ =gUnknown_203B0DC
|
|
_0812803C:
|
|
adds r0, r3, r5
|
|
ldrb r1, [r0]
|
|
lsrs r0, r1, 4
|
|
cmp r0, r4
|
|
beq _08128054
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, r4
|
|
bne _0812805C
|
|
_08128054:
|
|
adds r0, r2, 0
|
|
b _0812806E
|
|
.align 2, 0
|
|
_08128058: .4byte gUnknown_203B0DC
|
|
_0812805C:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x2
|
|
bls _0812803C
|
|
movs r0, 0
|
|
_0812806E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end pokemon_order_func
|
|
|
|
thumb_func_start pokemon_change_order
|
|
pokemon_change_order: @ 8128074
|
|
push {r4-r6,lr}
|
|
movs r4, 0x96
|
|
lsls r4, 2
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r5, r0, 0
|
|
ldr r1, _081280C0 @ =gPlayerParty
|
|
adds r2, r4, 0
|
|
bl memcpy
|
|
movs r4, 0
|
|
movs r6, 0x64
|
|
_0812808E:
|
|
adds r0, r4, 0
|
|
bl pokemon_order_func
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
muls r0, r6
|
|
ldr r1, _081280C0 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
muls r1, r6
|
|
adds r1, r5
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x5
|
|
bls _0812808E
|
|
adds r0, r5, 0
|
|
bl Free
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081280C0: .4byte gPlayerParty
|
|
thumb_func_end pokemon_change_order
|
|
|
|
thumb_func_start sub_81280C4
|
|
sub_81280C4: @ 81280C4
|
|
push {r4-r6,lr}
|
|
movs r4, 0x96
|
|
lsls r4, 2
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
adds r5, r0, 0
|
|
ldr r1, _08128110 @ =gPlayerParty
|
|
adds r2, r4, 0
|
|
bl memcpy
|
|
movs r4, 0
|
|
movs r6, 0x64
|
|
_081280DE:
|
|
adds r0, r4, 0
|
|
bl sub_8127F7C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
muls r0, r6
|
|
ldr r1, _08128110 @ =gPlayerParty
|
|
adds r0, r1
|
|
adds r1, r4, 0
|
|
muls r1, r6
|
|
adds r1, r5
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x5
|
|
bls _081280DE
|
|
adds r0, r5, 0
|
|
bl Free
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08128110: .4byte gPlayerParty
|
|
thumb_func_end sub_81280C4
|
|
|
|
thumb_func_start sub_8128114
|
|
sub_8128114: @ 8128114
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r6, 0x1
|
|
movs r7, 0x64
|
|
ldr r0, _0812816C @ =gPlayerParty
|
|
mov r8, r0
|
|
_08128122:
|
|
adds r0, r6, 0
|
|
bl sub_8127F7C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
muls r0, r7
|
|
mov r1, r8
|
|
adds r5, r0, r1
|
|
adds r0, r5, 0
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08128170
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
beq _08128170
|
|
movs r0, 0
|
|
bl sub_8127F7C
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
bl sub_8127FF4
|
|
adds r0, r4, 0
|
|
muls r0, r7
|
|
add r0, r8
|
|
adds r1, r5, 0
|
|
bl sub_811FA40
|
|
b _0812817A
|
|
.align 2, 0
|
|
_0812816C: .4byte gPlayerParty
|
|
_08128170:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x5
|
|
bls _08128122
|
|
_0812817A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8128114
|
|
|
|
thumb_func_start sub_8128184
|
|
sub_8128184: @ 8128184
|
|
push {lr}
|
|
bl sub_8108CF0
|
|
ldr r0, _08128194 @ =sub_8030ADC
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08128194: .4byte sub_8030ADC
|
|
thumb_func_end sub_8128184
|
|
|
|
thumb_func_start sub_8128198
|
|
sub_8128198: @ 8128198
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x7F
|
|
str r0, [sp]
|
|
ldr r0, _081281BC @ =sub_81281C4
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081281C0 @ =gMain
|
|
ldr r0, [r0, 0x8]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x5
|
|
movs r1, 0x3
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081281BC: .4byte sub_81281C4
|
|
_081281C0: .4byte gMain
|
|
thumb_func_end sub_8128198
|
|
|
|
thumb_func_start sub_81281C4
|
|
sub_81281C4: @ 81281C4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081281F4 @ =gTasks
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
adds r4, r1
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
strh r1, [r4, 0x8]
|
|
bl sub_81282DC
|
|
movs r1, 0x80
|
|
lsls r1, 9
|
|
movs r0, 0x2
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
ldr r0, _081281F8 @ =sub_81281FC
|
|
str r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081281F4: .4byte gTasks
|
|
_081281F8: .4byte sub_81281FC
|
|
thumb_func_end sub_81281C4
|
|
|
|
thumb_func_start sub_81281FC
|
|
sub_81281FC: @ 81281FC
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r6, r5, 2
|
|
adds r0, r6, r5
|
|
lsls r0, 3
|
|
ldr r1, _08128270 @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
ldr r0, _08128274 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08128268
|
|
ldrh r0, [r4]
|
|
subs r0, 0x8
|
|
strh r0, [r4]
|
|
adds r0, r5, 0
|
|
bl sub_81282DC
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
bne _08128268
|
|
movs r4, 0x3
|
|
ldr r7, _08128278 @ =gUnknown_2022B58
|
|
_08128230:
|
|
subs r0, r4, 0x3
|
|
lsls r0, 5
|
|
adds r0, r7
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0812824C
|
|
ldr r0, _0812827C @ =gUnknown_203B0B4
|
|
ldr r1, [r0]
|
|
lsls r0, r4, 4
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x9]
|
|
movs r1, 0
|
|
bl sub_812238C
|
|
_0812824C:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x5
|
|
bls _08128230
|
|
movs r0, 0x71
|
|
bl PlaySE
|
|
ldr r0, _08128280 @ =gTasks
|
|
adds r1, r6, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _08128284 @ =sub_8128288
|
|
str r0, [r1]
|
|
_08128268:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08128270: .4byte gTasks+0x8
|
|
_08128274: .4byte gPaletteFade
|
|
_08128278: .4byte gUnknown_2022B58
|
|
_0812827C: .4byte gUnknown_203B0B4
|
|
_08128280: .4byte gTasks
|
|
_08128284: .4byte sub_8128288
|
|
thumb_func_end sub_81281FC
|
|
|
|
thumb_func_start sub_8128288
|
|
sub_8128288: @ 8128288
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
ldr r1, _081282B4 @ =gTasks+0x8
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
adds r1, 0x1
|
|
strh r1, [r0]
|
|
lsls r1, 16
|
|
movs r0, 0x80
|
|
lsls r0, 17
|
|
cmp r1, r0
|
|
bne _081282AE
|
|
adds r0, r2, 0
|
|
bl sub_811FA78
|
|
_081282AE:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081282B4: .4byte gTasks+0x8
|
|
thumb_func_end sub_8128288
|
|
|
|
thumb_func_start sub_81282B8
|
|
sub_81282B8: @ 81282B8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r1, 16
|
|
lsrs r3, r1, 16
|
|
cmp r1, 0
|
|
blt _081282D2
|
|
ldr r1, _081282D8 @ =gSprites
|
|
lsls r0, r2, 4
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
strh r3, [r0, 0x24]
|
|
_081282D2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081282D8: .4byte gSprites
|
|
thumb_func_end sub_81282B8
|
|
|
|
thumb_func_start sub_81282DC
|
|
sub_81282DC: @ 81282DC
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08128364 @ =gTasks+0x8
|
|
adds r5, r1, r0
|
|
movs r6, 0x3
|
|
ldr r7, _08128368 @ =gUnknown_203B0B4
|
|
_081282F0:
|
|
ldr r0, _0812836C @ =gUnknown_2022B58
|
|
subs r1, r6, 0x3
|
|
lsls r1, 5
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
beq _08128348
|
|
ldr r0, [r7]
|
|
lsls r4, r6, 4
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0x9]
|
|
ldrh r1, [r5]
|
|
subs r1, 0x8
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_81282B8
|
|
ldr r0, [r7]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0xA]
|
|
ldrh r1, [r5]
|
|
subs r1, 0x8
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_81282B8
|
|
ldr r0, [r7]
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0, 0xB]
|
|
ldrh r1, [r5]
|
|
subs r1, 0x8
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_81282B8
|
|
ldr r0, [r7]
|
|
adds r4, r0
|
|
ldrb r0, [r4, 0xC]
|
|
ldrh r1, [r5]
|
|
subs r1, 0x8
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_81282B8
|
|
_08128348:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x5
|
|
bls _081282F0
|
|
movs r1, 0x80
|
|
lsls r1, 4
|
|
movs r0, 0x2
|
|
movs r2, 0x1
|
|
bl ChangeBgX
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08128364: .4byte gTasks+0x8
|
|
_08128368: .4byte gUnknown_203B0B4
|
|
_0812836C: .4byte gUnknown_2022B58
|
|
thumb_func_end sub_81282DC
|
|
|
|
thumb_func_start sub_8128370
|
|
sub_8128370: @ 8128370
|
|
push {lr}
|
|
sub sp, 0xC
|
|
ldr r1, _08128398 @ =gUnknown_3005024
|
|
ldr r0, _0812839C @ =hm_add_c3_without_phase_2
|
|
str r0, [r1]
|
|
movs r0, 0xF
|
|
str r0, [sp]
|
|
ldr r0, _081283A0 @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _081283A4 @ =c2_exit_to_overworld_2_switch
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x6
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08128398: .4byte gUnknown_3005024
|
|
_0812839C: .4byte hm_add_c3_without_phase_2
|
|
_081283A0: .4byte sub_811FB28
|
|
_081283A4: .4byte c2_exit_to_overworld_2_switch
|
|
thumb_func_end sub_8128370
|
|
|
|
thumb_func_start sub_81283A8
|
|
sub_81283A8: @ 81283A8
|
|
push {lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _081283D4 @ =gUnknown_3005024
|
|
ldr r1, _081283D8 @ =hm_add_c3_without_phase_2
|
|
str r1, [r2]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
ldr r1, _081283DC @ =sub_811FB28
|
|
str r1, [sp, 0x4]
|
|
ldr r1, _081283E0 @ =c2_exit_to_overworld_2_switch
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
movs r2, 0xB
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081283D4: .4byte gUnknown_3005024
|
|
_081283D8: .4byte hm_add_c3_without_phase_2
|
|
_081283DC: .4byte sub_811FB28
|
|
_081283E0: .4byte c2_exit_to_overworld_2_switch
|
|
thumb_func_end sub_81283A8
|
|
|
|
thumb_func_start hm_add_c3_without_phase_2
|
|
hm_add_c3_without_phase_2: @ 81283E4
|
|
push {lr}
|
|
bl sub_807DC00
|
|
ldr r0, _081283F8 @ =task_hm_without_phase_2
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
movs r0, 0x1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081283F8: .4byte task_hm_without_phase_2
|
|
thumb_func_end hm_add_c3_without_phase_2
|
|
|
|
thumb_func_start task_hm_without_phase_2
|
|
task_hm_without_phase_2: @ 81283FC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_807AA70
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812841A
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl ScriptContext2_Disable
|
|
bl EnableBothScriptContexts
|
|
_0812841A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end task_hm_without_phase_2
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|