mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 22:28:44 -05:00
3820 lines
67 KiB
ArmAsm
3820 lines
67 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_813CD50
|
|
sub_813CD50: @ 813CD50
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldr r7, _0813CD78 @ =gUnknown_203F36C
|
|
ldr r0, _0813CD7C @ =0x00000814
|
|
bl Alloc
|
|
str r0, [r7]
|
|
cmp r0, 0
|
|
bne _0813CD80
|
|
adds r0, r4, 0
|
|
bl SetMainCallback2
|
|
b _0813CDE2
|
|
.align 2, 0
|
|
_0813CD78: .4byte gUnknown_203F36C
|
|
_0813CD7C: .4byte 0x00000814
|
|
_0813CD80:
|
|
cmp r5, 0x6
|
|
beq _0813CD88
|
|
ldr r0, _0813CDEC @ =gUnknown_203F370
|
|
strb r5, [r0, 0x4]
|
|
_0813CD88:
|
|
cmp r6, 0xFF
|
|
beq _0813CD90
|
|
ldr r0, _0813CDEC @ =gUnknown_203F370
|
|
strb r6, [r0, 0x5]
|
|
_0813CD90:
|
|
cmp r4, 0
|
|
beq _0813CD98
|
|
ldr r0, _0813CDEC @ =gUnknown_203F370
|
|
str r4, [r0]
|
|
_0813CD98:
|
|
ldr r1, [r7]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
strb r0, [r1, 0x9]
|
|
ldr r1, [r7]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x6]
|
|
movs r2, 0
|
|
ldr r6, _0813CDF0 @ =gTextFlags
|
|
ldr r0, _0813CDF4 @ =gUnknown_203AD30
|
|
mov r12, r0
|
|
ldr r1, _0813CDF8 @ =sub_813CE30
|
|
mov r8, r1
|
|
adds r5, r7, 0
|
|
ldr r4, _0813CDFC @ =0x0000080c
|
|
movs r3, 0
|
|
_0813CDB8:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 1
|
|
adds r0, r4
|
|
adds r0, r1
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x3
|
|
bls _0813CDB8
|
|
ldrb r0, [r6]
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r1, r0
|
|
strb r1, [r6]
|
|
movs r0, 0
|
|
mov r1, r12
|
|
strh r0, [r1]
|
|
mov r0, r8
|
|
bl SetMainCallback2
|
|
_0813CDE2:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813CDEC: .4byte gUnknown_203F370
|
|
_0813CDF0: .4byte gTextFlags
|
|
_0813CDF4: .4byte gUnknown_203AD30
|
|
_0813CDF8: .4byte sub_813CE30
|
|
_0813CDFC: .4byte 0x0000080c
|
|
thumb_func_end sub_813CD50
|
|
|
|
thumb_func_start sub_813CE00
|
|
sub_813CE00: @ 813CE00
|
|
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_813CE00
|
|
|
|
thumb_func_start sub_813CE1C
|
|
sub_813CE1C: @ 813CE1C
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813CE1C
|
|
|
|
thumb_func_start sub_813CE30
|
|
sub_813CE30: @ 813CE30
|
|
push {lr}
|
|
_0813CE32:
|
|
bl sub_80BF72C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0813CE56
|
|
bl sub_813CE5C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0813CE56
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0813CE32
|
|
_0813CE56:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813CE30
|
|
|
|
thumb_func_start sub_813CE5C
|
|
sub_813CE5C: @ 813CE5C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0813CE7C @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x12
|
|
bls _0813CE70
|
|
b _0813CFE8
|
|
_0813CE70:
|
|
lsls r0, 2
|
|
ldr r1, _0813CE80 @ =_0813CE84
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0813CE7C: .4byte gMain
|
|
_0813CE80: .4byte _0813CE84
|
|
.align 2, 0
|
|
_0813CE84:
|
|
.4byte _0813CED0
|
|
.4byte _0813CEDA
|
|
.4byte _0813CEE0
|
|
.4byte _0813CEE6
|
|
.4byte _0813CEEC
|
|
.4byte _0813CEF2
|
|
.4byte _0813CEF8
|
|
.4byte _0813CF08
|
|
.4byte _0813CF24
|
|
.4byte _0813CF30
|
|
.4byte _0813CF36
|
|
.4byte _0813CF44
|
|
.4byte _0813CF56
|
|
.4byte _0813CF5C
|
|
.4byte _0813CF62
|
|
.4byte _0813CFA4
|
|
.4byte _0813CFAA
|
|
.4byte _0813CFB0
|
|
.4byte _0813CFBE
|
|
_0813CED0:
|
|
bl sub_80BF768
|
|
bl clear_scheduled_bg_copies_to_vram
|
|
b _0813CFD2
|
|
_0813CEDA:
|
|
bl remove_some_task
|
|
b _0813CFD2
|
|
_0813CEE0:
|
|
bl FreeAllSpritePalettes
|
|
b _0813CFD2
|
|
_0813CEE6:
|
|
bl ResetPaletteFade
|
|
b _0813CFD2
|
|
_0813CEEC:
|
|
bl ResetSpriteData
|
|
b _0813CFD2
|
|
_0813CEF2:
|
|
bl sub_80984D8
|
|
b _0813CFD2
|
|
_0813CEF8:
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813CFD2
|
|
bl ResetTasks
|
|
b _0813CFD2
|
|
_0813CF08:
|
|
bl sub_813D07C
|
|
ldr r0, _0813CF1C @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldr r1, _0813CF20 @ =0x0000080c
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
b _0813CFD2
|
|
.align 2, 0
|
|
_0813CF1C: .4byte gUnknown_203F36C
|
|
_0813CF20: .4byte 0x0000080c
|
|
_0813CF24:
|
|
bl sub_813D0E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0813D000
|
|
b _0813CFD2
|
|
_0813CF30:
|
|
bl sub_813E910
|
|
b _0813CFD2
|
|
_0813CF36:
|
|
bl sub_813D8AC
|
|
bl sub_813D6F4
|
|
bl sub_813D754
|
|
b _0813CFD2
|
|
_0813CF44:
|
|
bl sub_813D1C0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813CFD2
|
|
bl sub_813D00C
|
|
movs r0, 0x1
|
|
b _0813D002
|
|
_0813CF56:
|
|
bl sub_813D204
|
|
b _0813CFD2
|
|
_0813CF5C:
|
|
bl sub_813D6A4
|
|
b _0813CFD2
|
|
_0813CF62:
|
|
ldr r0, _0813CF94 @ =sub_813DA68
|
|
movs r1, 0
|
|
bl CreateTask
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0813CF98 @ =gUnknown_3005E70
|
|
ldr r2, _0813CF9C @ =gUnknown_203F370
|
|
ldrh r1, [r2, 0xA]
|
|
ldrh r2, [r2, 0x8]
|
|
bl ListMenuInit
|
|
ldr r2, _0813CFA0 @ =gTasks
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0
|
|
strh r0, [r1, 0x8]
|
|
strh r2, [r1, 0x18]
|
|
b _0813CFD2
|
|
.align 2, 0
|
|
_0813CF94: .4byte sub_813DA68
|
|
_0813CF98: .4byte gUnknown_3005E70
|
|
_0813CF9C: .4byte gUnknown_203F370
|
|
_0813CFA0: .4byte gTasks
|
|
_0813CFA4:
|
|
bl sub_813EC08
|
|
b _0813CFD2
|
|
_0813CFAA:
|
|
bl sub_813D5BC
|
|
b _0813CFD2
|
|
_0813CFB0:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
b _0813CFD2
|
|
_0813CFBE:
|
|
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
|
|
_0813CFD2:
|
|
ldr r1, _0813CFE4 @ =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0813D000
|
|
.align 2, 0
|
|
_0813CFE4: .4byte gMain
|
|
_0813CFE8:
|
|
ldr r0, _0813CFF8 @ =sub_813CE1C
|
|
bl SetVBlankCallback
|
|
ldr r0, _0813CFFC @ =sub_813CE00
|
|
bl SetMainCallback2
|
|
movs r0, 0x1
|
|
b _0813D002
|
|
.align 2, 0
|
|
_0813CFF8: .4byte sub_813CE1C
|
|
_0813CFFC: .4byte sub_813CE00
|
|
_0813D000:
|
|
movs r0, 0
|
|
_0813D002:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_813CE5C
|
|
|
|
thumb_func_start sub_813D00C
|
|
sub_813D00C: @ 813D00C
|
|
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, _0813D03C @ =sub_813D048
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r0, _0813D040 @ =sub_813CE1C
|
|
bl SetVBlankCallback
|
|
ldr r0, _0813D044 @ =sub_813CE00
|
|
bl SetMainCallback2
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D03C: .4byte sub_813D048
|
|
_0813D040: .4byte sub_813CE1C
|
|
_0813D044: .4byte sub_813CE00
|
|
thumb_func_end sub_813D00C
|
|
|
|
thumb_func_start sub_813D048
|
|
sub_813D048: @ 813D048
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0813D074 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0813D06C
|
|
ldr r0, _0813D078 @ =gUnknown_203F370
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
bl sub_813D7CC
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_0813D06C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D074: .4byte gPaletteFade
|
|
_0813D078: .4byte gUnknown_203F370
|
|
thumb_func_end sub_813D048
|
|
|
|
thumb_func_start sub_813D07C
|
|
sub_813D07C: @ 813D07C
|
|
push {r4,lr}
|
|
bl sub_80BF7C8
|
|
ldr r4, _0813D0DC @ =gUnknown_203F36C
|
|
ldr r0, [r4]
|
|
adds r0, 0xC
|
|
movs r2, 0x80
|
|
lsls r2, 4
|
|
movs r1, 0
|
|
bl memset
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, _0813D0E0 @ =gUnknown_846434C
|
|
movs r0, 0
|
|
movs r2, 0x3
|
|
bl InitBgsFromTemplates
|
|
ldr r1, [r4]
|
|
adds r1, 0xC
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
movs r0, 0x1
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x50
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r1, 0x82
|
|
lsls r1, 5
|
|
movs r0, 0
|
|
bl SetGpuReg
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
bl ShowBg
|
|
movs r0, 0x2
|
|
bl ShowBg
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D0DC: .4byte gUnknown_203F36C
|
|
_0813D0E0: .4byte gUnknown_846434C
|
|
thumb_func_end sub_813D07C
|
|
|
|
thumb_func_start sub_813D0E4
|
|
sub_813D0E4: @ 813D0E4
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0813D104 @ =gUnknown_203F36C
|
|
ldr r0, [r5]
|
|
ldr r6, _0813D108 @ =0x0000080c
|
|
adds r0, r6
|
|
movs r1, 0
|
|
ldrsh r4, [r0, r1]
|
|
cmp r4, 0x1
|
|
beq _0813D130
|
|
cmp r4, 0x1
|
|
bgt _0813D10C
|
|
cmp r4, 0
|
|
beq _0813D116
|
|
b _0813D190
|
|
.align 2, 0
|
|
_0813D104: .4byte gUnknown_203F36C
|
|
_0813D108: .4byte 0x0000080c
|
|
_0813D10C:
|
|
cmp r4, 0x2
|
|
beq _0813D14C
|
|
cmp r4, 0x3
|
|
beq _0813D178
|
|
b _0813D190
|
|
_0813D116:
|
|
bl reset_temp_tile_data_buffers
|
|
ldr r1, _0813D12C @ =gUnknown_8E859D0
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl decompress_and_copy_tile_data_to_vram
|
|
b _0813D17E
|
|
.align 2, 0
|
|
_0813D12C: .4byte gUnknown_8E859D0
|
|
_0813D130:
|
|
bl free_temp_tile_data_buffers_if_possible
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0813D1B4
|
|
ldr r0, _0813D148 @ =gUnknown_8E85C44
|
|
ldr r1, [r5]
|
|
adds r1, 0xC
|
|
bl LZDecompressWram
|
|
b _0813D17E
|
|
.align 2, 0
|
|
_0813D148: .4byte gUnknown_8E85C44
|
|
_0813D14C:
|
|
ldr r0, _0813D16C @ =gUnknown_8E85BA4
|
|
movs r1, 0
|
|
movs r2, 0x60
|
|
bl LoadCompressedPalette
|
|
ldr r0, _0813D170 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0
|
|
beq _0813D17E
|
|
ldr r0, _0813D174 @ =gUnknown_8E85BF4
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl LoadCompressedPalette
|
|
b _0813D17E
|
|
.align 2, 0
|
|
_0813D16C: .4byte gUnknown_8E85BA4
|
|
_0813D170: .4byte gSaveBlock2Ptr
|
|
_0813D174: .4byte gUnknown_8E85BF4
|
|
_0813D178:
|
|
ldr r0, _0813D18C @ =gUnknown_84644A8
|
|
bl LoadCompressedObjectPic
|
|
_0813D17E:
|
|
ldr r1, [r5]
|
|
adds r1, r6
|
|
ldrh r0, [r1]
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _0813D1B4
|
|
.align 2, 0
|
|
_0813D18C: .4byte gUnknown_84644A8
|
|
_0813D190:
|
|
ldr r0, _0813D1A8 @ =gUnknown_84644B0
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, _0813D1AC @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldr r1, _0813D1B0 @ =0x0000080c
|
|
adds r0, r1
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
movs r0, 0x1
|
|
b _0813D1B6
|
|
.align 2, 0
|
|
_0813D1A8: .4byte gUnknown_84644B0
|
|
_0813D1AC: .4byte gUnknown_203F36C
|
|
_0813D1B0: .4byte 0x0000080c
|
|
_0813D1B4:
|
|
movs r0, 0
|
|
_0813D1B6:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_813D0E4
|
|
|
|
thumb_func_start sub_813D1C0
|
|
sub_813D1C0: @ 813D1C0
|
|
push {r4,lr}
|
|
ldr r4, _0813D1F0 @ =gUnknown_203F37C
|
|
movs r0, 0xB0
|
|
lsls r0, 1
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0813D1FC
|
|
ldr r4, _0813D1F4 @ =gUnknown_203F380
|
|
ldr r0, _0813D1F8 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x7]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
subs r0, r1
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0813D1FC
|
|
movs r0, 0x1
|
|
b _0813D1FE
|
|
.align 2, 0
|
|
_0813D1F0: .4byte gUnknown_203F37C
|
|
_0813D1F4: .4byte gUnknown_203F380
|
|
_0813D1F8: .4byte gUnknown_203F36C
|
|
_0813D1FC:
|
|
movs r0, 0
|
|
_0813D1FE:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_813D1C0
|
|
|
|
thumb_func_start sub_813D204
|
|
sub_813D204: @ 813D204
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _0813D280 @ =gUnknown_20398AC
|
|
mov r8, r0
|
|
movs r6, 0
|
|
ldr r0, _0813D284 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r6, r0
|
|
bcs _0813D254
|
|
ldr r7, _0813D288 @ =gUnknown_203F380
|
|
_0813D21C:
|
|
lsls r5, r6, 3
|
|
subs r4, r5, r6
|
|
lsls r4, 2
|
|
subs r4, r6
|
|
ldr r0, [r7]
|
|
adds r0, r4
|
|
mov r1, r8
|
|
ldr r2, [r1]
|
|
lsls r1, r6, 2
|
|
adds r1, r2
|
|
ldrh r1, [r1]
|
|
bl sub_813D31C
|
|
ldr r0, _0813D28C @ =gUnknown_203F37C
|
|
ldr r0, [r0]
|
|
adds r5, r0
|
|
ldr r0, [r7]
|
|
adds r0, r4
|
|
str r0, [r5]
|
|
str r6, [r5, 0x4]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r0, _0813D284 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r6, r0
|
|
bcc _0813D21C
|
|
_0813D254:
|
|
ldr r0, _0813D28C @ =gUnknown_203F37C
|
|
ldr r2, [r0]
|
|
lsls r0, r6, 3
|
|
adds r0, r2
|
|
ldr r1, _0813D290 @ =gUnknown_84166DB
|
|
str r1, [r0]
|
|
str r6, [r0, 0x4]
|
|
ldr r1, _0813D294 @ =gUnknown_3005E70
|
|
str r2, [r1]
|
|
ldr r0, _0813D298 @ =gUnknown_203F370
|
|
ldrb r0, [r0, 0x4]
|
|
adds r5, r1, 0
|
|
cmp r0, 0x5
|
|
beq _0813D29C
|
|
ldr r1, _0813D284 @ =gUnknown_203F36C
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x7]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0xC]
|
|
adds r2, r1, 0
|
|
b _0813D2A6
|
|
.align 2, 0
|
|
_0813D280: .4byte gUnknown_20398AC
|
|
_0813D284: .4byte gUnknown_203F36C
|
|
_0813D288: .4byte gUnknown_203F380
|
|
_0813D28C: .4byte gUnknown_203F37C
|
|
_0813D290: .4byte gUnknown_84166DB
|
|
_0813D294: .4byte gUnknown_3005E70
|
|
_0813D298: .4byte gUnknown_203F370
|
|
_0813D29C:
|
|
ldr r0, _0813D310 @ =gUnknown_203F36C
|
|
ldr r1, [r0]
|
|
ldrb r1, [r1, 0x7]
|
|
strh r1, [r5, 0xC]
|
|
adds r2, r0, 0
|
|
_0813D2A6:
|
|
movs r0, 0
|
|
strb r0, [r5, 0x10]
|
|
strb r0, [r5, 0x11]
|
|
movs r0, 0x9
|
|
strb r0, [r5, 0x12]
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x13]
|
|
ldrb r0, [r5, 0x16]
|
|
movs r3, 0x8
|
|
negs r3, r3
|
|
ands r3, r0
|
|
movs r0, 0x39
|
|
negs r0, r0
|
|
ands r3, r0
|
|
movs r0, 0x10
|
|
orrs r3, r0
|
|
strb r3, [r5, 0x16]
|
|
ldrb r1, [r5, 0x14]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r4, 0x2
|
|
orrs r0, r4
|
|
strb r0, [r5, 0x14]
|
|
ldr r1, [r2]
|
|
ldrb r1, [r1, 0x8]
|
|
strh r1, [r5, 0xE]
|
|
ldrb r1, [r5, 0x17]
|
|
movs r2, 0x40
|
|
negs r2, r2
|
|
ands r2, r1
|
|
orrs r2, r4
|
|
movs r1, 0xF
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strb r0, [r5, 0x14]
|
|
movs r0, 0x30
|
|
strb r0, [r5, 0x15]
|
|
ldr r0, _0813D314 @ =sub_813D3C0
|
|
str r0, [r5, 0x4]
|
|
ldr r0, _0813D318 @ =sub_813D430
|
|
str r0, [r5, 0x8]
|
|
movs r0, 0x3F
|
|
ands r2, r0
|
|
strb r2, [r5, 0x17]
|
|
ands r3, r0
|
|
strb r3, [r5, 0x16]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D310: .4byte gUnknown_203F36C
|
|
_0813D314: .4byte sub_813D3C0
|
|
_0813D318: .4byte sub_813D430
|
|
thumb_func_end sub_813D204
|
|
|
|
thumb_func_start sub_813D31C
|
|
sub_813D31C: @ 813D31C
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
mov r8, r0
|
|
lsls r5, r1, 16
|
|
lsrs r5, 16
|
|
ldr r4, _0813D384 @ =gStringVar4
|
|
ldr r1, _0813D388 @ =gUnknown_84166FF
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r1, _0813D38C @ =gUnknown_8416226
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
ldr r6, _0813D390 @ =gStringVar1
|
|
adds r1, r5, 0
|
|
subs r1, 0x84
|
|
adds r0, r6, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl StringAppend
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_8099E90
|
|
ldr r1, _0813D394 @ =gUnknown_84643B4
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
ldr r1, _0813D398 @ =gUnknown_8416703
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl StringAppend
|
|
mov r0, r8
|
|
adds r1, r4, 0
|
|
bl StringCopy
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D384: .4byte gStringVar4
|
|
_0813D388: .4byte gUnknown_84166FF
|
|
_0813D38C: .4byte gUnknown_8416226
|
|
_0813D390: .4byte gStringVar1
|
|
_0813D394: .4byte gUnknown_84643B4
|
|
_0813D398: .4byte gUnknown_8416703
|
|
thumb_func_end sub_813D31C
|
|
|
|
thumb_func_start sub_813D39C
|
|
sub_813D39C: @ 813D39C
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
ldr r1, _0813D3BC @ =gUnknown_203F380
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
lsls r2, r0, 3
|
|
subs r2, r0
|
|
lsls r2, 2
|
|
subs r2, r0
|
|
ldr r1, [r1]
|
|
adds r1, r2
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D3BC: .4byte gUnknown_203F380
|
|
thumb_func_end sub_813D39C
|
|
|
|
thumb_func_start sub_813D3C0
|
|
sub_813D3C0: @ 813D3C0
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0x1
|
|
beq _0813D3D6
|
|
movs r0, 0xF5
|
|
bl PlaySE
|
|
bl sub_813EC28
|
|
_0813D3D6:
|
|
ldr r4, _0813D404 @ =gUnknown_203F36C
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, 0x9]
|
|
movs r0, 0x1
|
|
eors r0, r1
|
|
bl sub_8098940
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x7]
|
|
cmp r0, r5
|
|
beq _0813D408
|
|
lsls r1, r5, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0x9]
|
|
bl sub_80989A0
|
|
b _0813D410
|
|
.align 2, 0
|
|
_0813D404: .4byte gUnknown_203F36C
|
|
_0813D408:
|
|
ldr r0, _0813D428 @ =0x00000177
|
|
ldrb r1, [r1, 0x9]
|
|
bl sub_80989A0
|
|
_0813D410:
|
|
ldr r0, _0813D42C @ =gUnknown_203F36C
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x9]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
strb r0, [r2, 0x9]
|
|
adds r0, r5, 0
|
|
bl sub_813D538
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D428: .4byte 0x00000177
|
|
_0813D42C: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D3C0
|
|
|
|
thumb_func_start sub_813D430
|
|
sub_813D430: @ 813D430
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0813D498
|
|
ldr r0, _0813D4A0 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r0, r1
|
|
beq _0813D498
|
|
lsls r4, r1, 16
|
|
lsrs r4, 16
|
|
movs r0, 0x5
|
|
adds r1, r4, 0
|
|
bl sub_809A798
|
|
movs r0, 0x5
|
|
adds r1, r4, 0
|
|
bl sub_809A7B4
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r0, _0813D4A4 @ =gStringVar1
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0813D4A8 @ =gStringVar4
|
|
ldr r1, _0813D4AC @ =gUnknown_84162B9
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
str r5, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x10]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0x6E
|
|
bl sub_813E9A0
|
|
_0813D498:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D4A0: .4byte gUnknown_203F36C
|
|
_0813D4A4: .4byte gStringVar1
|
|
_0813D4A8: .4byte gStringVar4
|
|
_0813D4AC: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_813D430
|
|
|
|
thumb_func_start sub_813D4B0
|
|
sub_813D4B0: @ 813D4B0
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl ListMenuGetYCoordForPrintingArrowCursor
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
bl sub_813D4D0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813D4B0
|
|
|
|
thumb_func_start sub_813D4D0
|
|
sub_813D4D0: @ 813D4D0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0xFF
|
|
bne _0813D514
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl GetMenuCursorDimensionByFont
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetMenuCursorDimensionByFont
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r4, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
adds r3, r5, 0
|
|
bl FillWindowPixelRect
|
|
movs r0, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
b _0813D52A
|
|
_0813D514:
|
|
ldr r2, _0813D534 @ =gUnknown_841623B
|
|
str r5, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r1, [sp, 0x10]
|
|
movs r1, 0x2
|
|
movs r3, 0x1
|
|
bl sub_813E9A0
|
|
_0813D52A:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D534: .4byte gUnknown_841623B
|
|
thumb_func_end sub_813D4D0
|
|
|
|
thumb_func_start sub_813D538
|
|
sub_813D538: @ 813D538
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
adds r1, r0, 0
|
|
ldr r0, _0813D560 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r1, r0
|
|
beq _0813D564
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl ItemId_GetDescription
|
|
adds r4, r0, 0
|
|
b _0813D566
|
|
.align 2, 0
|
|
_0813D560: .4byte gUnknown_203F36C
|
|
_0813D564:
|
|
ldr r4, _0813D590 @ =gUnknown_8416716
|
|
_0813D566:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl sub_813E9A0
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D590: .4byte gUnknown_8416716
|
|
thumb_func_end sub_813D538
|
|
|
|
thumb_func_start sub_813D594
|
|
sub_813D594: @ 813D594
|
|
push {lr}
|
|
sub sp, 0x8
|
|
movs r1, 0x4
|
|
str r1, [sp]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
movs r3, 0x1E
|
|
bl sub_80F6B08
|
|
movs r0, 0x1
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813D594
|
|
|
|
thumb_func_start sub_813D5BC
|
|
sub_813D5BC: @ 813D5BC
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r2, _0813D5D8 @ =gUnknown_203F370
|
|
ldrb r0, [r2, 0x4]
|
|
cmp r0, 0x5
|
|
beq _0813D5E0
|
|
ldr r4, _0813D5DC @ =gUnknown_203F36C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x7]
|
|
ldrb r1, [r1, 0x8]
|
|
subs r0, r1
|
|
adds r0, 0x1
|
|
b _0813D5EA
|
|
.align 2, 0
|
|
_0813D5D8: .4byte gUnknown_203F370
|
|
_0813D5DC: .4byte gUnknown_203F36C
|
|
_0813D5E0:
|
|
ldr r4, _0813D610 @ =gUnknown_203F36C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x7]
|
|
ldrb r1, [r1, 0x8]
|
|
subs r0, r1
|
|
_0813D5EA:
|
|
str r0, [sp]
|
|
movs r0, 0x6E
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0x2
|
|
movs r1, 0xA0
|
|
movs r2, 0x8
|
|
movs r3, 0x78
|
|
bl AddScrollIndicatorArrowPairParametrized
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x6]
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D610: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D5BC
|
|
|
|
thumb_func_start sub_813D614
|
|
sub_813D614: @ 813D614
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _0813D648 @ =gUnknown_203F36C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x6E
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r1, 0x4
|
|
str r1, [sp, 0xC]
|
|
movs r0, 0x2
|
|
movs r1, 0xD4
|
|
movs r2, 0x78
|
|
movs r3, 0x98
|
|
bl AddScrollIndicatorArrowPairParametrized
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x6]
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D648: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D614
|
|
|
|
thumb_func_start sub_813D64C
|
|
sub_813D64C: @ 813D64C
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _0813D680 @ =gUnknown_203F36C
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0x4]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x6E
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r1, 0x4
|
|
str r1, [sp, 0xC]
|
|
movs r0, 0x2
|
|
movs r1, 0x98
|
|
movs r2, 0x48
|
|
movs r3, 0x68
|
|
bl AddScrollIndicatorArrowPairParametrized
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x6]
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D680: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D64C
|
|
|
|
thumb_func_start sub_813D684
|
|
sub_813D684: @ 813D684
|
|
push {r4,lr}
|
|
ldr r4, _0813D6A0 @ =gUnknown_203F36C
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x6]
|
|
cmp r0, 0xFF
|
|
beq _0813D69A
|
|
bl RemoveScrollIndicatorArrowPair
|
|
ldr r1, [r4]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x6]
|
|
_0813D69A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D6A0: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D684
|
|
|
|
thumb_func_start sub_813D6A4
|
|
sub_813D6A4: @ 813D6A4
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r4, _0813D6E0 @ =gUnknown_841670A
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
movs r3, 0x48
|
|
subs r3, r0
|
|
lsrs r3, 1
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
adds r2, r4, 0
|
|
bl sub_813E9A0
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D6E0: .4byte gUnknown_841670A
|
|
thumb_func_end sub_813D6A4
|
|
|
|
thumb_func_start sub_813D6E4
|
|
sub_813D6E4: @ 813D6E4
|
|
ldr r1, _0813D6F0 @ =gUnknown_203F370
|
|
movs r0, 0
|
|
strh r0, [r1, 0x8]
|
|
strh r0, [r1, 0xA]
|
|
bx lr
|
|
.align 2, 0
|
|
_0813D6F0: .4byte gUnknown_203F370
|
|
thumb_func_end sub_813D6E4
|
|
|
|
thumb_func_start sub_813D6F4
|
|
sub_813D6F4: @ 813D6F4
|
|
push {r4,lr}
|
|
ldr r0, _0813D70C @ =gUnknown_203F370
|
|
ldrb r1, [r0, 0x4]
|
|
adds r4, r0, 0
|
|
cmp r1, 0x5
|
|
beq _0813D714
|
|
ldr r0, _0813D710 @ =gUnknown_203F36C
|
|
ldr r1, [r0]
|
|
ldrb r1, [r1, 0x7]
|
|
adds r2, r1, 0x1
|
|
adds r1, r0, 0
|
|
b _0813D71A
|
|
.align 2, 0
|
|
_0813D70C: .4byte gUnknown_203F370
|
|
_0813D710: .4byte gUnknown_203F36C
|
|
_0813D714:
|
|
ldr r1, _0813D744 @ =gUnknown_203F36C
|
|
ldr r0, [r1]
|
|
ldrb r2, [r0, 0x7]
|
|
_0813D71A:
|
|
ldrh r0, [r4, 0xA]
|
|
cmp r0, 0
|
|
beq _0813D72E
|
|
ldr r1, [r1]
|
|
ldrb r1, [r1, 0x8]
|
|
adds r0, r1
|
|
cmp r0, r2
|
|
ble _0813D72E
|
|
subs r0, r2, r1
|
|
strh r0, [r4, 0xA]
|
|
_0813D72E:
|
|
adds r3, r4, 0
|
|
ldrh r0, [r3, 0xA]
|
|
ldrh r1, [r3, 0x8]
|
|
adds r0, r1
|
|
cmp r0, r2
|
|
blt _0813D74C
|
|
cmp r2, 0x1
|
|
bhi _0813D748
|
|
movs r0, 0
|
|
strh r0, [r3, 0x8]
|
|
b _0813D74C
|
|
.align 2, 0
|
|
_0813D744: .4byte gUnknown_203F36C
|
|
_0813D748:
|
|
subs r0, r2, 0x1
|
|
strh r0, [r4, 0x8]
|
|
_0813D74C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813D6F4
|
|
|
|
thumb_func_start sub_813D754
|
|
sub_813D754: @ 813D754
|
|
push {r4-r6,lr}
|
|
ldr r0, _0813D770 @ =gUnknown_203F370
|
|
ldrb r1, [r0, 0x4]
|
|
adds r5, r0, 0
|
|
cmp r1, 0x5
|
|
beq _0813D778
|
|
ldr r1, _0813D774 @ =gUnknown_203F36C
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, 0x7]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
b _0813D77E
|
|
.align 2, 0
|
|
_0813D770: .4byte gUnknown_203F370
|
|
_0813D774: .4byte gUnknown_203F36C
|
|
_0813D778:
|
|
ldr r1, _0813D7C8 @ =gUnknown_203F36C
|
|
ldr r0, [r1]
|
|
ldrb r4, [r0, 0x7]
|
|
_0813D77E:
|
|
adds r6, r1, 0
|
|
ldrh r0, [r5, 0x8]
|
|
cmp r0, 0x4
|
|
bls _0813D7C2
|
|
movs r3, 0
|
|
subs r0, 0x4
|
|
cmp r3, r0
|
|
bgt _0813D7C2
|
|
ldrh r0, [r5, 0xA]
|
|
ldr r1, [r6]
|
|
ldrb r1, [r1, 0x8]
|
|
adds r0, r1
|
|
cmp r0, r4
|
|
beq _0813D7C2
|
|
adds r2, r5, 0
|
|
_0813D79C:
|
|
ldrh r0, [r2, 0x8]
|
|
subs r0, 0x1
|
|
strh r0, [r2, 0x8]
|
|
ldrh r0, [r2, 0xA]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0xA]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldrh r0, [r2, 0x8]
|
|
subs r0, 0x4
|
|
cmp r3, r0
|
|
bgt _0813D7C2
|
|
ldrh r0, [r5, 0xA]
|
|
ldr r1, [r6]
|
|
ldrb r1, [r1, 0x8]
|
|
adds r0, r1
|
|
cmp r0, r4
|
|
bne _0813D79C
|
|
_0813D7C2:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D7C8: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D754
|
|
|
|
thumb_func_start sub_813D7CC
|
|
sub_813D7CC: @ 813D7CC
|
|
push {lr}
|
|
ldr r0, _0813D7FC @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0813D7DA
|
|
bl Free
|
|
_0813D7DA:
|
|
ldr r0, _0813D800 @ =gUnknown_203F37C
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0813D7E6
|
|
bl Free
|
|
_0813D7E6:
|
|
ldr r0, _0813D804 @ =gUnknown_203F380
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0813D7F2
|
|
bl Free
|
|
_0813D7F2:
|
|
bl FreeAllWindowBuffers
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D7FC: .4byte gUnknown_203F36C
|
|
_0813D800: .4byte gUnknown_203F37C
|
|
_0813D804: .4byte gUnknown_203F380
|
|
thumb_func_end sub_813D7CC
|
|
|
|
thumb_func_start sub_813D808
|
|
sub_813D808: @ 813D808
|
|
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, _0813D83C @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0813D840 @ =sub_813D844
|
|
str r1, [r0]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D83C: .4byte gTasks
|
|
_0813D840: .4byte sub_813D844
|
|
thumb_func_end sub_813D808
|
|
|
|
thumb_func_start sub_813D844
|
|
sub_813D844: @ 813D844
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _0813D87C @ =gTasks+0x8
|
|
adds r2, r0, r1
|
|
ldr r0, _0813D880 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0813D8A4
|
|
ldrb r0, [r2]
|
|
ldr r4, _0813D884 @ =gUnknown_203F37A
|
|
subs r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
ldr r0, _0813D888 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0813D88C
|
|
bl SetMainCallback2
|
|
b _0813D896
|
|
.align 2, 0
|
|
_0813D87C: .4byte gTasks+0x8
|
|
_0813D880: .4byte gPaletteFade
|
|
_0813D884: .4byte gUnknown_203F37A
|
|
_0813D888: .4byte gUnknown_203F36C
|
|
_0813D88C:
|
|
adds r0, r4, 0
|
|
subs r0, 0xA
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
_0813D896:
|
|
bl sub_813D684
|
|
bl sub_813D7CC
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_0813D8A4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813D844
|
|
|
|
thumb_func_start sub_813D8AC
|
|
sub_813D8AC: @ 813D8AC
|
|
push {r4,lr}
|
|
ldr r4, _0813D904 @ =gUnknown_20398AC
|
|
adds r0, r4, 0
|
|
bl sub_809A720
|
|
ldr r3, _0813D908 @ =gUnknown_203F36C
|
|
ldr r1, [r3]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x7]
|
|
movs r2, 0
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r2, r0
|
|
bcs _0813D8EE
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0813D8EE
|
|
_0813D8CE:
|
|
ldr r0, [r3]
|
|
ldrb r1, [r0, 0x7]
|
|
adds r1, 0x1
|
|
strb r1, [r0, 0x7]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldrb r0, [r4, 0x4]
|
|
cmp r2, r0
|
|
bcs _0813D8EE
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _0813D8CE
|
|
_0813D8EE:
|
|
ldr r0, _0813D90C @ =gUnknown_203F370
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x5
|
|
beq _0813D910
|
|
ldr r0, _0813D908 @ =gUnknown_203F36C
|
|
ldr r1, [r0]
|
|
ldrb r1, [r1, 0x7]
|
|
adds r2, r1, 0x1
|
|
adds r1, r0, 0
|
|
b _0813D916
|
|
.align 2, 0
|
|
_0813D904: .4byte gUnknown_20398AC
|
|
_0813D908: .4byte gUnknown_203F36C
|
|
_0813D90C: .4byte gUnknown_203F370
|
|
_0813D910:
|
|
ldr r1, _0813D924 @ =gUnknown_203F36C
|
|
ldr r0, [r1]
|
|
ldrb r2, [r0, 0x7]
|
|
_0813D916:
|
|
cmp r2, 0x7
|
|
bls _0813D928
|
|
ldr r1, [r1]
|
|
movs r0, 0x7
|
|
strb r0, [r1, 0x8]
|
|
b _0813D92C
|
|
.align 2, 0
|
|
_0813D924: .4byte gUnknown_203F36C
|
|
_0813D928:
|
|
ldr r0, [r1]
|
|
strb r2, [r0, 0x8]
|
|
_0813D92C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813D8AC
|
|
|
|
thumb_func_start sub_813D934
|
|
sub_813D934: @ 813D934
|
|
ldr r1, _0813D93C @ =gUnknown_203F36C
|
|
ldr r1, [r1]
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0813D93C: .4byte gUnknown_203F36C
|
|
thumb_func_end sub_813D934
|
|
|
|
thumb_func_start sub_813D940
|
|
sub_813D940: @ 813D940
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0x14
|
|
adds r6, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r0, _0813D9E8 @ =gTasks+0x8
|
|
adds r4, r0
|
|
movs r0, 0x8
|
|
bl sub_813EA08
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r1, 0x2
|
|
ldrsh r0, [r4, r1]
|
|
ldr r1, _0813D9EC @ =gStringVar1
|
|
mov r10, r1
|
|
bl sub_813D39C
|
|
ldr r0, _0813D9F0 @ =gStringVar4
|
|
mov r9, r0
|
|
adds r1, r6, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r6, 0x1
|
|
str r6, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
movs r1, 0
|
|
mov r8, r1
|
|
str r1, [sp, 0xC]
|
|
str r6, [sp, 0x10]
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
mov r2, r9
|
|
movs r3, 0
|
|
bl sub_813E9A0
|
|
movs r0, 0
|
|
bl sub_813EA08
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r0, r10
|
|
movs r1, 0x1
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r1, _0813D9F4 @ =gUnknown_84162B9
|
|
mov r0, r9
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0xA
|
|
str r0, [sp]
|
|
str r6, [sp, 0x4]
|
|
mov r0, r8
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r6, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
mov r2, r9
|
|
movs r3, 0x4
|
|
bl sub_813E9A0
|
|
add sp, 0x14
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813D9E8: .4byte gTasks+0x8
|
|
_0813D9EC: .4byte gStringVar1
|
|
_0813D9F0: .4byte gStringVar4
|
|
_0813D9F4: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_813D940
|
|
|
|
thumb_func_start sub_813D9F8
|
|
sub_813D9F8: @ 813D9F8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
bl sub_813EB10
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
adds r0, r6, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _0813DA5C @ =gStringVar1
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r1, r4, 0
|
|
movs r2, 0x2
|
|
adds r3, r5, 0
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0813DA60 @ =gStringVar4
|
|
ldr r1, _0813DA64 @ =gUnknown_84162B9
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0xA
|
|
str r0, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r1, [sp, 0x10]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0x4
|
|
bl sub_813E9A0
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DA5C: .4byte gStringVar1
|
|
_0813DA60: .4byte gStringVar4
|
|
_0813DA64: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_813D9F8
|
|
|
|
thumb_func_start sub_813DA68
|
|
sub_813DA68: @ 813DA68
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r1, _0813DAD8 @ =gTasks+0x8
|
|
adds r7, r0, r1
|
|
ldr r0, _0813DADC @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
beq _0813DA90
|
|
b _0813DB9E
|
|
_0813DA90:
|
|
bl sub_80BF72C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0813DA9E
|
|
b _0813DB9E
|
|
_0813DA9E:
|
|
ldrb r0, [r7]
|
|
bl ListMenuHandleInput
|
|
adds r5, r0, 0
|
|
ldrb r0, [r7]
|
|
ldr r4, _0813DAE0 @ =gUnknown_203F37A
|
|
subs r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl get_coro_args_x18_x1A
|
|
ldr r0, _0813DAE4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813DAEC
|
|
adds r0, r4, 0
|
|
subs r0, 0xA
|
|
ldrb r0, [r0, 0x5]
|
|
cmp r0, 0x1
|
|
bne _0813DAEC
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0813DAE8 @ =gUnknown_203AD30
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
b _0813DB48
|
|
.align 2, 0
|
|
_0813DAD8: .4byte gTasks+0x8
|
|
_0813DADC: .4byte gPaletteFade
|
|
_0813DAE0: .4byte gUnknown_203F37A
|
|
_0813DAE4: .4byte gMain
|
|
_0813DAE8: .4byte gUnknown_203AD30
|
|
_0813DAEC:
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _0813DAFC
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
bne _0813DB10
|
|
b _0813DB9E
|
|
_0813DAFC:
|
|
ldr r0, _0813DB0C @ =gUnknown_203F370
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x5
|
|
beq _0813DB9E
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
b _0813DB42
|
|
.align 2, 0
|
|
_0813DB0C: .4byte gUnknown_203F370
|
|
_0813DB10:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r3, _0813DB30 @ =gUnknown_203F370
|
|
mov r8, r3
|
|
ldrb r0, [r3, 0x4]
|
|
cmp r0, 0x5
|
|
bne _0813DB38
|
|
lsls r1, r5, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
ldr r1, _0813DB34 @ =gUnknown_203AD30
|
|
b _0813DB46
|
|
.align 2, 0
|
|
_0813DB30: .4byte gUnknown_203F370
|
|
_0813DB34: .4byte gUnknown_203AD30
|
|
_0813DB38:
|
|
ldr r0, _0813DB50 @ =gUnknown_203F36C
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r5, r0
|
|
bne _0813DB58
|
|
_0813DB42:
|
|
ldr r1, _0813DB54 @ =gUnknown_203AD30
|
|
movs r0, 0
|
|
_0813DB46:
|
|
strh r0, [r1]
|
|
_0813DB48:
|
|
adds r0, r6, 0
|
|
bl sub_813D808
|
|
b _0813DB9E
|
|
.align 2, 0
|
|
_0813DB50: .4byte gUnknown_203F36C
|
|
_0813DB54: .4byte gUnknown_203AD30
|
|
_0813DB58:
|
|
bl sub_813D684
|
|
movs r0, 0x1
|
|
bl sub_813D594
|
|
ldrb r0, [r7]
|
|
movs r1, 0x2
|
|
bl sub_813D4B0
|
|
strh r5, [r7, 0x2]
|
|
lsls r4, r5, 16
|
|
lsrs r4, 16
|
|
movs r0, 0x5
|
|
adds r1, r4, 0
|
|
bl sub_809A7B4
|
|
strh r0, [r7, 0x4]
|
|
movs r0, 0x5
|
|
adds r1, r4, 0
|
|
bl sub_809A798
|
|
ldr r1, _0813DBA8 @ =gUnknown_203AD30
|
|
strh r0, [r1]
|
|
ldr r0, _0813DBAC @ =gTasks
|
|
lsls r1, r6, 2
|
|
adds r1, r6
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r2, _0813DBB0 @ =gUnknown_8464358
|
|
mov r3, r8
|
|
ldrb r0, [r3, 0x4]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
_0813DB9E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DBA8: .4byte gUnknown_203AD30
|
|
_0813DBAC: .4byte gTasks
|
|
_0813DBB0: .4byte gUnknown_8464358
|
|
thumb_func_end sub_813DA68
|
|
|
|
thumb_func_start sub_813DBB4
|
|
sub_813DBB4: @ 813DBB4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_813D594
|
|
bl sub_813D5BC
|
|
ldr r1, _0813DBDC @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0813DBE0 @ =sub_813DA68
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DBDC: .4byte gTasks
|
|
_0813DBE0: .4byte sub_813DA68
|
|
thumb_func_end sub_813DBB4
|
|
|
|
thumb_func_start sub_813DBE4
|
|
sub_813DBE4: @ 813DBE4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _0813DC10 @ =gTasks+0x8
|
|
adds r7, r1, r0
|
|
ldr r0, _0813DC14 @ =gUnknown_203F370
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x4
|
|
bne _0813DC24
|
|
ldr r1, _0813DC18 @ =gUnknown_203F384
|
|
ldr r0, _0813DC1C @ =gUnknown_84643B0
|
|
str r0, [r1]
|
|
ldr r1, _0813DC20 @ =gUnknown_203F388
|
|
movs r0, 0x3
|
|
b _0813DC86
|
|
.align 2, 0
|
|
_0813DC10: .4byte gTasks+0x8
|
|
_0813DC14: .4byte gUnknown_203F370
|
|
_0813DC18: .4byte gUnknown_203F384
|
|
_0813DC1C: .4byte gUnknown_84643B0
|
|
_0813DC20: .4byte gUnknown_203F388
|
|
_0813DC24:
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0813DC38
|
|
bl InUnionRoom
|
|
cmp r0, 0x1
|
|
bne _0813DC7C
|
|
_0813DC38:
|
|
ldr r0, _0813DC54 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl sub_80BF6A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813DC64
|
|
ldr r1, _0813DC58 @ =gUnknown_203F384
|
|
ldr r0, _0813DC5C @ =gUnknown_84643AC
|
|
str r0, [r1]
|
|
ldr r1, _0813DC60 @ =gUnknown_203F388
|
|
movs r0, 0x1
|
|
b _0813DC86
|
|
.align 2, 0
|
|
_0813DC54: .4byte gUnknown_203AD30
|
|
_0813DC58: .4byte gUnknown_203F384
|
|
_0813DC5C: .4byte gUnknown_84643AC
|
|
_0813DC60: .4byte gUnknown_203F388
|
|
_0813DC64:
|
|
ldr r1, _0813DC70 @ =gUnknown_203F384
|
|
ldr r0, _0813DC74 @ =gUnknown_84643A8
|
|
str r0, [r1]
|
|
ldr r1, _0813DC78 @ =gUnknown_203F388
|
|
movs r0, 0x2
|
|
b _0813DC86
|
|
.align 2, 0
|
|
_0813DC70: .4byte gUnknown_203F384
|
|
_0813DC74: .4byte gUnknown_84643A8
|
|
_0813DC78: .4byte gUnknown_203F388
|
|
_0813DC7C:
|
|
ldr r1, _0813DD58 @ =gUnknown_203F384
|
|
ldr r0, _0813DD5C @ =gUnknown_84643A4
|
|
str r0, [r1]
|
|
ldr r1, _0813DD60 @ =gUnknown_203F388
|
|
movs r0, 0x4
|
|
_0813DC86:
|
|
strb r0, [r1]
|
|
mov r8, r1
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EA08
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl GetMenuCursorDimensionByFont
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
movs r0, 0x2
|
|
movs r1, 0x2
|
|
bl GetFontAttribute
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetFontAttribute
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r4, [sp]
|
|
str r0, [sp, 0x4]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
str r0, [sp, 0x8]
|
|
ldr r0, _0813DD64 @ =gUnknown_846437C
|
|
str r0, [sp, 0xC]
|
|
ldr r0, _0813DD58 @ =gUnknown_203F384
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x10]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0x2
|
|
bl AddItemMenuActionTextPrinters
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetFontAttribute
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
mov r8, r0
|
|
str r0, [sp, 0x8]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_810F7D8
|
|
movs r0, 0x6
|
|
bl sub_813EA08
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
ldr r1, _0813DD68 @ =gStringVar1
|
|
bl sub_813D39C
|
|
ldr r5, _0813DD6C @ =gStringVar4
|
|
ldr r1, _0813DD70 @ =gUnknown_84162FF
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
mov r0, r8
|
|
str r0, [sp, 0xC]
|
|
str r1, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_813E9A0
|
|
add sp, 0x14
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DD58: .4byte gUnknown_203F384
|
|
_0813DD5C: .4byte gUnknown_84643A4
|
|
_0813DD60: .4byte gUnknown_203F388
|
|
_0813DD64: .4byte gUnknown_846437C
|
|
_0813DD68: .4byte gStringVar1
|
|
_0813DD6C: .4byte gStringVar4
|
|
_0813DD70: .4byte gUnknown_84162FF
|
|
thumb_func_end sub_813DBE4
|
|
|
|
thumb_func_start sub_813DD74
|
|
sub_813DD74: @ 813DD74
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
bl sub_813DBE4
|
|
ldr r1, _0813DD98 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0813DD9C @ =sub_813DDA0
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DD98: .4byte gTasks
|
|
_0813DD9C: .4byte sub_813DDA0
|
|
thumb_func_end sub_813DD74
|
|
|
|
thumb_func_start sub_813DDA0
|
|
sub_813DDA0: @ 813DDA0
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
bl sub_80BF72C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0813DDFE
|
|
bl ProcessMenuInputNoWrapAround
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0813DDFE
|
|
adds r0, 0x1
|
|
cmp r4, r0
|
|
bne _0813DDE0
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0813DDDC @ =gUnknown_846437C
|
|
ldr r1, [r0, 0x1C]
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
b _0813DDFE
|
|
.align 2, 0
|
|
_0813DDDC: .4byte gUnknown_846437C
|
|
_0813DDE0:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _0813DE04 @ =gUnknown_846437C
|
|
ldr r0, _0813DE08 @ =gUnknown_203F384
|
|
ldr r0, [r0]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
lsls r0, 3
|
|
adds r1, 0x4
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r6, 0
|
|
bl _call_via_r1
|
|
_0813DDFE:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DE04: .4byte gUnknown_846437C
|
|
_0813DE08: .4byte gUnknown_203F384
|
|
thumb_func_end sub_813DDA0
|
|
|
|
thumb_func_start sub_813DE0C
|
|
sub_813DE0C: @ 813DE0C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _0813DE5C @ =gUnknown_203F388
|
|
ldrb r0, [r0]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EA98
|
|
movs r0, 0x6
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, _0813DE60 @ =gUnknown_203F370
|
|
ldrb r0, [r0, 0x4]
|
|
cmp r0, 0x4
|
|
bne _0813DE78
|
|
ldr r4, _0813DE64 @ =gUnknown_203AD30
|
|
ldrh r0, [r4]
|
|
bl ItemId_GetBattleFunc
|
|
cmp r0, 0
|
|
bne _0813DE68
|
|
adds r0, r5, 0
|
|
bl sub_80A2238
|
|
b _0813DEB0
|
|
.align 2, 0
|
|
_0813DE5C: .4byte gUnknown_203F388
|
|
_0813DE60: .4byte gUnknown_203F370
|
|
_0813DE64: .4byte gUnknown_203AD30
|
|
_0813DE68:
|
|
ldrh r0, [r4]
|
|
bl ItemId_GetBattleFunc
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
b _0813DEB0
|
|
_0813DE78:
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813DEA0
|
|
ldr r0, _0813DE9C @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl ItemId_GetType
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0813DEA0
|
|
adds r0, r5, 0
|
|
bl sub_813E274
|
|
b _0813DEB0
|
|
.align 2, 0
|
|
_0813DE9C: .4byte gUnknown_203AD30
|
|
_0813DEA0:
|
|
ldr r0, _0813DEB8 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
bl ItemId_GetFieldFunc
|
|
adds r1, r0, 0
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
_0813DEB0:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DEB8: .4byte gUnknown_203AD30
|
|
thumb_func_end sub_813DE0C
|
|
|
|
thumb_func_start sub_813DEBC
|
|
sub_813DEBC: @ 813DEBC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r7, r0, 3
|
|
ldr r0, _0813DF24 @ =gTasks+0x8
|
|
mov r8, r0
|
|
adds r5, r7, r0
|
|
ldr r4, _0813DF28 @ =gUnknown_203F388
|
|
ldrb r0, [r4]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EB10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl ClearWindowTilemap
|
|
movs r0, 0x6
|
|
bl sub_813EB10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EA98
|
|
movs r0, 0x6
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
strh r0, [r5, 0x10]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
bne _0813DF2C
|
|
adds r0, r6, 0
|
|
bl sub_813DF54
|
|
b _0813DF42
|
|
.align 2, 0
|
|
_0813DF24: .4byte gTasks+0x8
|
|
_0813DF28: .4byte gUnknown_203F388
|
|
_0813DF2C:
|
|
ldr r1, _0813DF4C @ =gUnknown_84163DB
|
|
adds r0, r6, 0
|
|
bl sub_813D940
|
|
bl sub_813D614
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r7, r0
|
|
ldr r1, _0813DF50 @ =sub_813E010
|
|
str r1, [r0]
|
|
_0813DF42:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DF4C: .4byte gUnknown_84163DB
|
|
_0813DF50: .4byte sub_813E010
|
|
thumb_func_end sub_813DEBC
|
|
|
|
thumb_func_start sub_813DF54
|
|
sub_813DF54: @ 813DF54
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
ldr r0, _0813DFB4 @ =gTasks+0x8
|
|
adds r1, r0
|
|
ldr r0, _0813DFB8 @ =gStringVar2
|
|
movs r2, 0x10
|
|
ldrsh r1, [r1, r2]
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r5, _0813DFBC @ =gStringVar4
|
|
ldr r1, _0813DFC0 @ =gUnknown_8416409
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x7
|
|
bl sub_813EA08
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_813E9A0
|
|
ldr r1, _0813DFC4 @ =gUnknown_846436C
|
|
adds r0, r4, 0
|
|
bl sub_813EB7C
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813DFB4: .4byte gTasks+0x8
|
|
_0813DFB8: .4byte gStringVar2
|
|
_0813DFBC: .4byte gStringVar4
|
|
_0813DFC0: .4byte gUnknown_8416409
|
|
_0813DFC4: .4byte gUnknown_846436C
|
|
thumb_func_end sub_813DF54
|
|
|
|
thumb_func_start sub_813DFC8
|
|
sub_813DFC8: @ 813DFC8
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
ldr r0, _0813E00C @ =gTasks+0x8
|
|
adds r4, r0
|
|
movs r0, 0x7
|
|
bl sub_813EA98
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r5, 0
|
|
bl sub_813DBB4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E00C: .4byte gTasks+0x8
|
|
thumb_func_end sub_813DFC8
|
|
|
|
thumb_func_start sub_813E010
|
|
sub_813E010: @ 813E010
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _0813E044 @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
ldrh r1, [r4, 0x4]
|
|
bl sub_80BF848
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0813E048
|
|
movs r0, 0x10
|
|
ldrsh r1, [r4, r0]
|
|
movs r0, 0
|
|
movs r2, 0x3
|
|
bl sub_813D9F8
|
|
b _0813E0D4
|
|
.align 2, 0
|
|
_0813E044: .4byte gTasks+0x8
|
|
_0813E048:
|
|
ldr r0, _0813E08C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E090
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x8
|
|
bl sub_813EB10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl ClearWindowTilemap
|
|
movs r0, 0x8
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_813D684
|
|
adds r0, r5, 0
|
|
bl sub_813DF54
|
|
b _0813E0D4
|
|
.align 2, 0
|
|
_0813E08C: .4byte gMain
|
|
_0813E090:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E0D4
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x8
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
bl sub_813D684
|
|
adds r0, r6, 0
|
|
bl sub_813DBB4
|
|
_0813E0D4:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813E010
|
|
|
|
thumb_func_start sub_813E0DC
|
|
sub_813E0DC: @ 813E0DC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r6, _0813E14C @ =gTasks+0x8
|
|
adds r5, r4, r6
|
|
movs r0, 0x7
|
|
bl sub_813EA98
|
|
movs r1, 0x2
|
|
ldrsh r0, [r5, r1]
|
|
ldr r1, _0813E150 @ =gStringVar1
|
|
bl sub_813D39C
|
|
ldr r0, _0813E154 @ =gStringVar2
|
|
movs r2, 0x10
|
|
ldrsh r1, [r5, r2]
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r5, _0813E158 @ =gStringVar4
|
|
ldr r1, _0813E15C @ =gUnknown_84163F4
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x9
|
|
bl sub_813EA08
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
str r1, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_813E9A0
|
|
subs r6, 0x8
|
|
adds r4, r6
|
|
ldr r0, _0813E160 @ =sub_813E164
|
|
str r0, [r4]
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E14C: .4byte gTasks+0x8
|
|
_0813E150: .4byte gStringVar1
|
|
_0813E154: .4byte gStringVar2
|
|
_0813E158: .4byte gStringVar4
|
|
_0813E15C: .4byte gUnknown_84163F4
|
|
_0813E160: .4byte sub_813E164
|
|
thumb_func_end sub_813E0DC
|
|
|
|
thumb_func_start sub_813E164
|
|
sub_813E164: @ 813E164
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r6, r0, 0
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
ldr r1, _0813E1EC @ =gTasks+0x8
|
|
adds r5, r0, r1
|
|
ldr r0, _0813E1F0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0813E18A
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E1E4
|
|
_0813E18A:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0813E1F4 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r5, 0x10]
|
|
bl sub_809A1D8
|
|
movs r0, 0x9
|
|
bl sub_813EA98
|
|
ldrb r0, [r5]
|
|
ldr r4, _0813E1F8 @ =gUnknown_203F37A
|
|
subs r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
bl sub_813D8AC
|
|
bl sub_813D6F4
|
|
bl sub_813D204
|
|
ldr r0, _0813E1FC @ =gUnknown_3005E70
|
|
subs r4, 0xA
|
|
ldrh r1, [r4, 0xA]
|
|
ldrh r2, [r4, 0x8]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5]
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r6, 0
|
|
bl sub_813DBB4
|
|
_0813E1E4:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E1EC: .4byte gTasks+0x8
|
|
_0813E1F0: .4byte gMain
|
|
_0813E1F4: .4byte gUnknown_203AD30
|
|
_0813E1F8: .4byte gUnknown_203F37A
|
|
_0813E1FC: .4byte gUnknown_3005E70
|
|
thumb_func_end sub_813E164
|
|
|
|
thumb_func_start sub_813E200
|
|
sub_813E200: @ 813E200
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0813E244 @ =gUnknown_203F388
|
|
ldrb r0, [r0]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EA98
|
|
movs r0, 0x6
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813E248
|
|
adds r0, r4, 0
|
|
bl sub_813E274
|
|
b _0813E25E
|
|
.align 2, 0
|
|
_0813E244: .4byte gUnknown_203F388
|
|
_0813E248:
|
|
ldr r0, _0813E264 @ =gUnknown_203F36C
|
|
ldr r1, [r0]
|
|
ldr r0, _0813E268 @ =sub_8126EDC
|
|
str r0, [r1]
|
|
ldr r1, _0813E26C @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0813E270 @ =sub_813D808
|
|
str r1, [r0]
|
|
_0813E25E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E264: .4byte gUnknown_203F36C
|
|
_0813E268: .4byte sub_8126EDC
|
|
_0813E26C: .4byte gTasks
|
|
_0813E270: .4byte sub_813D808
|
|
thumb_func_end sub_813E200
|
|
|
|
thumb_func_start sub_813E274
|
|
sub_813E274: @ 813E274
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0813E288 @ =gUnknown_841632A
|
|
ldr r3, _0813E28C @ =sub_813E290
|
|
movs r1, 0x2
|
|
bl sub_813EB20
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E288: .4byte gUnknown_841632A
|
|
_0813E28C: .4byte sub_813E290
|
|
thumb_func_end sub_813E274
|
|
|
|
thumb_func_start sub_813E290
|
|
sub_813E290: @ 813E290
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0813E2B4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E2AE
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_813E2B8
|
|
_0813E2AE:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E2B4: .4byte gMain
|
|
thumb_func_end sub_813E290
|
|
|
|
thumb_func_start sub_813E2B8
|
|
sub_813E2B8: @ 813E2B8
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r5, r6, 2
|
|
adds r5, r6
|
|
lsls r5, 3
|
|
ldr r0, _0813E314 @ =gTasks+0x8
|
|
adds r5, r0
|
|
movs r0, 0x5
|
|
bl sub_813EACC
|
|
ldrb r0, [r5]
|
|
ldr r4, _0813E318 @ =gUnknown_203F37A
|
|
subs r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
bl sub_813D8AC
|
|
bl sub_813D6F4
|
|
bl sub_813D204
|
|
ldr r0, _0813E31C @ =gUnknown_3005E70
|
|
subs r4, 0xA
|
|
ldrh r1, [r4, 0xA]
|
|
ldrh r2, [r4, 0x8]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5]
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r6, 0
|
|
bl sub_813DBB4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E314: .4byte gTasks+0x8
|
|
_0813E318: .4byte gUnknown_203F37A
|
|
_0813E31C: .4byte gUnknown_3005E70
|
|
thumb_func_end sub_813E2B8
|
|
|
|
thumb_func_start sub_813E320
|
|
sub_813E320: @ 813E320
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0813E374 @ =gUnknown_203F388
|
|
ldrb r0, [r0]
|
|
adds r0, 0x9
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_813EA98
|
|
movs r0, 0x6
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r1, _0813E378 @ =gTasks
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0x8]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r4, 0
|
|
bl sub_813DBB4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E374: .4byte gUnknown_203F388
|
|
_0813E378: .4byte gTasks
|
|
thumb_func_end sub_813E320
|
|
|
|
thumb_func_start sub_813E37C
|
|
sub_813E37C: @ 813E37C
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r6, r0, 3
|
|
ldr r7, _0813E3C4 @ =gTasks+0x8
|
|
adds r0, r6, r7
|
|
ldrh r1, [r0, 0x2]
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_80BF6A8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0813E3D8
|
|
ldr r1, _0813E3C8 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r4, _0813E3CC @ =gStringVar4
|
|
ldr r1, _0813E3D0 @ =gUnknown_8416374
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r3, _0813E3D4 @ =sub_813E290
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
bl sub_813EB20
|
|
b _0813E3EA
|
|
.align 2, 0
|
|
_0813E3C4: .4byte gTasks+0x8
|
|
_0813E3C8: .4byte gStringVar1
|
|
_0813E3CC: .4byte gStringVar4
|
|
_0813E3D0: .4byte gUnknown_8416374
|
|
_0813E3D4: .4byte sub_813E290
|
|
_0813E3D8:
|
|
ldr r0, _0813E3F0 @ =gUnknown_203F36C
|
|
ldr r1, [r0]
|
|
ldr r0, _0813E3F4 @ =c2_8123744
|
|
str r0, [r1]
|
|
adds r0, r7, 0
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0813E3F8 @ =sub_813D808
|
|
str r1, [r0]
|
|
_0813E3EA:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E3F0: .4byte gUnknown_203F36C
|
|
_0813E3F4: .4byte c2_8123744
|
|
_0813E3F8: .4byte sub_813D808
|
|
thumb_func_end sub_813E37C
|
|
|
|
thumb_func_start sub_813E3FC
|
|
sub_813E3FC: @ 813E3FC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813E418 @ =gUnknown_203F36C
|
|
ldr r2, [r1]
|
|
ldr r1, _0813E41C @ =sub_808CE60
|
|
str r1, [r2]
|
|
ldr r2, _0813E420 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldr r0, _0813E424 @ =sub_813D808
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0813E418: .4byte gUnknown_203F36C
|
|
_0813E41C: .4byte sub_808CE60
|
|
_0813E420: .4byte gTasks
|
|
_0813E424: .4byte sub_813D808
|
|
thumb_func_end sub_813E3FC
|
|
|
|
thumb_func_start sub_813E428
|
|
sub_813E428: @ 813E428
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r7, r5, 0
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _0813E470 @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
ldr r6, _0813E474 @ =gUnknown_203AD30
|
|
ldrh r0, [r6]
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _0813E488
|
|
ldrh r0, [r6]
|
|
ldr r1, _0813E478 @ =gStringVar1
|
|
bl sub_8099E90
|
|
ldr r4, _0813E47C @ =gStringVar4
|
|
ldr r1, _0813E480 @ =gUnknown_84168F1
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
bl sub_80BF8E4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r3, _0813E484 @ =sub_813E2B8
|
|
adds r0, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_813EB20
|
|
b _0813E4CE
|
|
.align 2, 0
|
|
_0813E470: .4byte gTasks+0x8
|
|
_0813E474: .4byte gUnknown_203AD30
|
|
_0813E478: .4byte gStringVar1
|
|
_0813E47C: .4byte gStringVar4
|
|
_0813E480: .4byte gUnknown_84168F1
|
|
_0813E484: .4byte sub_813E2B8
|
|
_0813E488:
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x10]
|
|
movs r1, 0x4
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
bne _0813E4A0
|
|
bl sub_813EBD4
|
|
adds r0, r5, 0
|
|
bl sub_813E4E4
|
|
b _0813E4CE
|
|
_0813E4A0:
|
|
cmp r0, 0x63
|
|
ble _0813E4A8
|
|
movs r0, 0x63
|
|
strh r0, [r4, 0x4]
|
|
_0813E4A8:
|
|
ldrh r0, [r6]
|
|
ldr r1, _0813E4D4 @ =gStringVar1
|
|
bl sub_8099E90
|
|
ldr r4, _0813E4D8 @ =gStringVar4
|
|
ldr r1, _0813E4DC @ =gUnknown_8416911
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
bl sub_80BF8E4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r3, _0813E4E0 @ =sub_813E5B8
|
|
adds r0, r7, 0
|
|
adds r2, r4, 0
|
|
bl sub_813EB20
|
|
_0813E4CE:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E4D4: .4byte gStringVar1
|
|
_0813E4D8: .4byte gStringVar4
|
|
_0813E4DC: .4byte gUnknown_8416911
|
|
_0813E4E0: .4byte sub_813E5B8
|
|
thumb_func_end sub_813E428
|
|
|
|
thumb_func_start sub_813E4E4
|
|
sub_813E4E4: @ 813E4E4
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
ldr r0, _0813E540 @ =gTasks+0x8
|
|
adds r4, r0
|
|
ldr r6, _0813E544 @ =gStringVar3
|
|
ldrh r1, [r4, 0x2]
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
lsrs r0, 17
|
|
movs r2, 0x10
|
|
ldrsh r1, [r4, r2]
|
|
muls r1, r0
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0813E548 @ =gStringVar4
|
|
ldr r1, _0813E54C @ =gUnknown_8416936
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
bl sub_80BF8E4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r3, _0813E550 @ =sub_813E554
|
|
adds r0, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_813EB20
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E540: .4byte gTasks+0x8
|
|
_0813E544: .4byte gStringVar3
|
|
_0813E548: .4byte gStringVar4
|
|
_0813E54C: .4byte gUnknown_8416936
|
|
_0813E550: .4byte sub_813E554
|
|
thumb_func_end sub_813E4E4
|
|
|
|
thumb_func_start sub_813E554
|
|
sub_813E554: @ 813E554
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813E564 @ =gUnknown_8464374
|
|
bl sub_813EBA8
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E564: .4byte gUnknown_8464374
|
|
thumb_func_end sub_813E554
|
|
|
|
thumb_func_start sub_813E568
|
|
sub_813E568: @ 813E568
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
ldr r0, _0813E5B4 @ =gTasks+0x8
|
|
adds r4, r0
|
|
movs r0, 0x2
|
|
bl sub_813EA98
|
|
movs r0, 0x5
|
|
bl sub_813EACC
|
|
movs r0, 0x2
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r5, 0
|
|
bl sub_813DBB4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E5B4: .4byte gTasks+0x8
|
|
thumb_func_end sub_813E568
|
|
|
|
thumb_func_start sub_813E5B8
|
|
sub_813E5B8: @ 813E5B8
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r5, r0, 2
|
|
adds r5, r0
|
|
lsls r5, 3
|
|
ldr r6, _0813E654 @ =gTasks+0x8
|
|
adds r0, r5, r6
|
|
mov r9, r0
|
|
movs r0, 0x1
|
|
bl sub_813EA08
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0813E658 @ =gStringVar1
|
|
movs r1, 0x1
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r2, _0813E65C @ =gStringVar4
|
|
mov r8, r2
|
|
ldr r1, _0813E660 @ =gUnknown_84162B9
|
|
mov r0, r8
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0xA
|
|
str r0, [sp]
|
|
movs r1, 0x1
|
|
str r1, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0xFF
|
|
str r0, [sp, 0xC]
|
|
str r1, [sp, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
mov r2, r8
|
|
movs r3, 0x4
|
|
bl sub_813E9A0
|
|
mov r3, r9
|
|
ldrh r1, [r3, 0x2]
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
lsrs r0, 17
|
|
mov r2, r9
|
|
movs r3, 0x10
|
|
ldrsh r1, [r2, r3]
|
|
muls r0, r1
|
|
bl sub_813E668
|
|
bl sub_813EBD4
|
|
bl sub_813D64C
|
|
subs r6, 0x8
|
|
adds r5, r6
|
|
ldr r0, _0813E664 @ =sub_813E690
|
|
str r0, [r5]
|
|
add sp, 0x14
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E654: .4byte gTasks+0x8
|
|
_0813E658: .4byte gStringVar1
|
|
_0813E65C: .4byte gStringVar4
|
|
_0813E660: .4byte gUnknown_84162B9
|
|
_0813E664: .4byte sub_813E690
|
|
thumb_func_end sub_813E5B8
|
|
|
|
thumb_func_start sub_813E668
|
|
sub_813E668: @ 813E668
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
movs r0, 0x1
|
|
bl sub_813EB10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r1, 0x38
|
|
movs r2, 0xA
|
|
adds r3, r4, 0
|
|
bl PrintMoneyAmount
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813E668
|
|
|
|
thumb_func_start sub_813E690
|
|
sub_813E690: @ 813E690
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r6, r4, 0
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0813E6E0 @ =gTasks+0x8
|
|
adds r5, r0, r1
|
|
adds r0, r5, 0
|
|
adds r0, 0x10
|
|
ldrh r1, [r5, 0x4]
|
|
bl sub_80BF848
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0813E6E4
|
|
movs r0, 0x10
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, 0x1
|
|
movs r2, 0x2
|
|
bl sub_813D9F8
|
|
ldrh r1, [r5, 0x2]
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
lsrs r0, 17
|
|
movs r2, 0x10
|
|
ldrsh r1, [r5, r2]
|
|
muls r0, r1
|
|
bl sub_813E668
|
|
b _0813E762
|
|
.align 2, 0
|
|
_0813E6E0: .4byte gTasks+0x8
|
|
_0813E6E4:
|
|
ldr r0, _0813E714 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E718
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_813EA98
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_813D684
|
|
adds r0, r4, 0
|
|
bl sub_813E4E4
|
|
b _0813E762
|
|
.align 2, 0
|
|
_0813E714: .4byte gMain
|
|
_0813E718:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E762
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_813EA98
|
|
movs r0, 0x2
|
|
bl sub_813EA98
|
|
movs r0, 0x5
|
|
bl sub_813EACC
|
|
movs r0, 0x2
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_813D684
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_813D4B0
|
|
adds r0, r6, 0
|
|
bl sub_813DBB4
|
|
_0813E762:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_813E690
|
|
|
|
thumb_func_start sub_813E768
|
|
sub_813E768: @ 813E768
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, r5, 2
|
|
adds r4, r5
|
|
lsls r4, 3
|
|
ldr r0, _0813E7D4 @ =gTasks+0x8
|
|
adds r4, r0
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, _0813E7D8 @ =gUnknown_203AD30
|
|
ldrh r0, [r0]
|
|
ldr r1, _0813E7DC @ =gStringVar1
|
|
bl sub_8099E90
|
|
ldr r6, _0813E7E0 @ =gStringVar3
|
|
ldrh r1, [r4, 0x2]
|
|
movs r0, 0x5
|
|
bl sub_809A798
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
lsrs r0, 17
|
|
movs r2, 0x10
|
|
ldrsh r1, [r4, r2]
|
|
muls r1, r0
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0813E7E4 @ =gStringVar4
|
|
ldr r1, _0813E7E8 @ =gUnknown_8416959
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
ldr r3, _0813E7EC @ =sub_813E7F0
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
bl sub_813EB20
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E7D4: .4byte gTasks+0x8
|
|
_0813E7D8: .4byte gUnknown_203AD30
|
|
_0813E7DC: .4byte gStringVar1
|
|
_0813E7E0: .4byte gStringVar3
|
|
_0813E7E4: .4byte gStringVar4
|
|
_0813E7E8: .4byte gUnknown_8416959
|
|
_0813E7EC: .4byte sub_813E7F0
|
|
thumb_func_end sub_813E768
|
|
|
|
thumb_func_start sub_813E7F0
|
|
sub_813E7F0: @ 813E7F0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r6, r0, 2
|
|
adds r6, r0
|
|
lsls r6, 3
|
|
ldr r0, _0813E8BC @ =gTasks+0x8
|
|
mov r9, r0
|
|
adds r1, r6, 0
|
|
add r1, r9
|
|
mov r8, r1
|
|
movs r0, 0xF8
|
|
bl PlaySE
|
|
ldr r5, _0813E8C0 @ =gUnknown_203AD30
|
|
ldrh r0, [r5]
|
|
mov r2, r8
|
|
ldrh r1, [r2, 0x10]
|
|
bl sub_809A1D8
|
|
ldr r7, _0813E8C4 @ =gSaveBlock1Ptr
|
|
ldr r4, [r7]
|
|
movs r3, 0xA4
|
|
lsls r3, 2
|
|
mov r10, r3
|
|
add r4, r10
|
|
ldrh r0, [r5]
|
|
bl itemid_get_market_price
|
|
lsls r0, 16
|
|
lsrs r0, 17
|
|
mov r2, r8
|
|
movs r3, 0x10
|
|
ldrsh r1, [r2, r3]
|
|
muls r1, r0
|
|
adds r0, r4, 0
|
|
bl AddMoney
|
|
ldrh r0, [r5]
|
|
mov r2, r8
|
|
ldrh r1, [r2, 0x10]
|
|
movs r2, 0x2
|
|
bl sub_809C09C
|
|
mov r3, r8
|
|
ldrb r0, [r3]
|
|
ldr r4, _0813E8C8 @ =gUnknown_203F37A
|
|
subs r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
bl sub_813D8AC
|
|
bl sub_813D6F4
|
|
bl sub_813D204
|
|
ldr r0, _0813E8CC @ =gUnknown_3005E70
|
|
subs r4, 0xA
|
|
ldrh r1, [r4, 0xA]
|
|
ldrh r2, [r4, 0x8]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, r8
|
|
strh r0, [r1]
|
|
movs r1, 0x2
|
|
bl sub_813D4B0
|
|
movs r0, 0x2
|
|
bl sub_813EB10
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, [r7]
|
|
add r0, r10
|
|
bl GetMoney
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl PrintMoneyAmountInMoneyBox
|
|
movs r2, 0x8
|
|
negs r2, r2
|
|
add r9, r2
|
|
add r6, r9
|
|
ldr r0, _0813E8D0 @ =sub_813E8D4
|
|
str r0, [r6]
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E8BC: .4byte gTasks+0x8
|
|
_0813E8C0: .4byte gUnknown_203AD30
|
|
_0813E8C4: .4byte gSaveBlock1Ptr
|
|
_0813E8C8: .4byte gUnknown_203F37A
|
|
_0813E8CC: .4byte gUnknown_3005E70
|
|
_0813E8D0: .4byte sub_813E8D4
|
|
thumb_func_end sub_813E7F0
|
|
|
|
thumb_func_start sub_813E8D4
|
|
sub_813E8D4: @ 813E8D4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0813E90C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0813E8EE
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813E906
|
|
_0813E8EE:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x2
|
|
bl sub_813EA98
|
|
movs r0, 0x2
|
|
bl PutWindowTilemap
|
|
adds r0, r4, 0
|
|
bl sub_813E2B8
|
|
_0813E906:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E90C: .4byte gMain
|
|
thumb_func_end sub_813E8D4
|
|
|
|
thumb_func_start sub_813E910
|
|
sub_813E910: @ 813E910
|
|
push {r4,lr}
|
|
ldr r0, _0813E994 @ =gUnknown_84643B8
|
|
bl InitWindows
|
|
bl DeactivateAllTextPrinters
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0xE0
|
|
bl sub_815001C
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0xD0
|
|
bl sub_814FEAC
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
movs r2, 0xC0
|
|
bl sub_814FF2C
|
|
ldr r0, _0813E998 @ =gUnknown_841F408
|
|
movs r1, 0xF0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r4, 0
|
|
_0813E946:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bls _0813E946
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0x2
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r4, 0
|
|
ldr r3, _0813E99C @ =gUnknown_203F38C
|
|
movs r2, 0xFF
|
|
_0813E97C:
|
|
adds r0, r4, r3
|
|
ldrb r1, [r0]
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xD
|
|
bls _0813E97C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813E994: .4byte gUnknown_84643B8
|
|
_0813E998: .4byte gUnknown_841F408
|
|
_0813E99C: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813E910
|
|
|
|
thumb_func_start sub_813E9A0
|
|
sub_813E9A0: @ 813E9A0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x14
|
|
mov r9, r3
|
|
ldr r3, [sp, 0x30]
|
|
ldr r4, [sp, 0x34]
|
|
ldr r6, [sp, 0x38]
|
|
ldr r5, [sp, 0x3C]
|
|
mov r8, r5
|
|
ldr r5, [sp, 0x40]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r7, r9
|
|
lsls r7, 24
|
|
lsrs r7, 24
|
|
mov r9, r7
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
str r4, [sp]
|
|
str r6, [sp, 0x4]
|
|
lsls r4, r5, 1
|
|
adds r4, r5
|
|
ldr r5, _0813EA04 @ =gUnknown_8464448
|
|
adds r4, r5
|
|
str r4, [sp, 0x8]
|
|
mov r4, r8
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
str r4, [sp, 0xC]
|
|
str r2, [sp, 0x10]
|
|
mov r2, r9
|
|
bl AddTextPrinterParametrized2
|
|
add sp, 0x14
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EA04: .4byte gUnknown_8464448
|
|
thumb_func_end sub_813E9A0
|
|
|
|
thumb_func_start sub_813EA08
|
|
sub_813EA08: @ 813EA08
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0813EA4C @ =gUnknown_203F38C
|
|
adds r5, r4, r0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xFF
|
|
bne _0813EA6C
|
|
lsls r0, r4, 3
|
|
ldr r1, _0813EA50 @ =gUnknown_84643D8
|
|
adds r0, r1
|
|
bl AddWindow
|
|
strb r0, [r5]
|
|
cmp r4, 0x2
|
|
beq _0813EA38
|
|
cmp r4, 0x6
|
|
beq _0813EA38
|
|
cmp r4, 0x7
|
|
beq _0813EA38
|
|
cmp r4, 0x8
|
|
beq _0813EA38
|
|
cmp r4, 0x9
|
|
bne _0813EA54
|
|
_0813EA38:
|
|
ldr r0, _0813EA4C @ =gUnknown_203F38C
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0xA
|
|
movs r3, 0xC
|
|
bl SetWindowBorderStyle
|
|
b _0813EA60
|
|
.align 2, 0
|
|
_0813EA4C: .4byte gUnknown_203F38C
|
|
_0813EA50: .4byte gUnknown_84643D8
|
|
_0813EA54:
|
|
ldrb r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
movs r3, 0xE
|
|
bl SetWindowBorderStyle
|
|
_0813EA60:
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
ldr r0, _0813EA74 @ =gUnknown_203F38C
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
_0813EA6C:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0813EA74: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813EA08
|
|
|
|
thumb_func_start sub_813EA78
|
|
sub_813EA78: @ 813EA78
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813EA94 @ =gUnknown_203F38C
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
movs r3, 0xE
|
|
bl SetWindowBorderStyle
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EA94: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813EA78
|
|
|
|
thumb_func_start sub_813EA98
|
|
sub_813EA98: @ 813EA98
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0813EAC8 @ =gUnknown_203F38C
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
ldrb r0, [r4]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EAC8: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813EA98
|
|
|
|
thumb_func_start sub_813EACC
|
|
sub_813EACC: @ 813EACC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813EB0C @ =gUnknown_203F38C
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
beq _0813EB04
|
|
movs r1, 0
|
|
bl sub_810F260
|
|
ldrb r0, [r4]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
_0813EB04:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EB0C: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813EACC
|
|
|
|
thumb_func_start sub_813EB10
|
|
sub_813EB10: @ 813EB10
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813EB1C @ =gUnknown_203F38C
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0813EB1C: .4byte gUnknown_203F38C
|
|
thumb_func_end sub_813EB10
|
|
|
|
thumb_func_start sub_813EB20
|
|
sub_813EB20: @ 813EB20
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
adds r7, r2, 0
|
|
mov r8, r3
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r4, _0813EB74 @ =gUnknown_203F38C
|
|
ldrb r0, [r4, 0x5]
|
|
cmp r0, 0xFF
|
|
bne _0813EB44
|
|
ldr r0, _0813EB78 @ =gUnknown_8464400
|
|
bl AddWindow
|
|
strb r0, [r4, 0x5]
|
|
_0813EB44:
|
|
bl sub_80F78A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrb r1, [r4, 0x5]
|
|
str r5, [sp]
|
|
str r0, [sp, 0x4]
|
|
str r7, [sp, 0x8]
|
|
mov r0, r8
|
|
str r0, [sp, 0xC]
|
|
adds r0, r6, 0
|
|
movs r2, 0x13
|
|
movs r3, 0xD
|
|
bl DisplayMessageAndContinueTask
|
|
movs r0, 0x2
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EB74: .4byte gUnknown_203F38C
|
|
_0813EB78: .4byte gUnknown_8464400
|
|
thumb_func_end sub_813EB20
|
|
|
|
thumb_func_start sub_813EB7C
|
|
sub_813EB7C: @ 813EB7C
|
|
push {lr}
|
|
sub sp, 0x10
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813EBA4 @ =gUnknown_84643F0
|
|
movs r2, 0x2
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0xE
|
|
str r2, [sp, 0x8]
|
|
str r3, [sp, 0xC]
|
|
movs r2, 0x2
|
|
movs r3, 0
|
|
bl sub_80BF5D0
|
|
add sp, 0x10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EBA4: .4byte gUnknown_84643F0
|
|
thumb_func_end sub_813EB7C
|
|
|
|
thumb_func_start sub_813EBA8
|
|
sub_813EBA8: @ 813EBA8
|
|
push {lr}
|
|
sub sp, 0x10
|
|
adds r3, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0813EBD0 @ =gUnknown_84643F8
|
|
movs r2, 0x2
|
|
str r2, [sp]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0xE
|
|
str r2, [sp, 0x8]
|
|
str r3, [sp, 0xC]
|
|
movs r2, 0x2
|
|
movs r3, 0
|
|
bl sub_80BF5D0
|
|
add sp, 0x10
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EBD0: .4byte gUnknown_84643F8
|
|
thumb_func_end sub_813EBA8
|
|
|
|
thumb_func_start sub_813EBD4
|
|
sub_813EBD4: @ 813EBD4
|
|
push {r4,lr}
|
|
movs r0, 0x2
|
|
bl sub_813EA08
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0813EC04 @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
movs r1, 0xA4
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
bl GetMoney
|
|
adds r3, r0, 0
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
movs r2, 0xC
|
|
bl PrintMoneyAmountInMoneyBoxWithBorder
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EC04: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_813EBD4
|
|
|
|
thumb_func_start sub_813EC08
|
|
sub_813EC08: @ 813EC08
|
|
push {lr}
|
|
ldr r0, _0813EC20 @ =gUnknown_84644B8
|
|
movs r1, 0x28
|
|
movs r2, 0x4C
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
ldr r1, _0813EC24 @ =gUnknown_203F39C
|
|
strb r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EC20: .4byte gUnknown_84644B8
|
|
_0813EC24: .4byte gUnknown_203F39C
|
|
thumb_func_end sub_813EC08
|
|
|
|
thumb_func_start sub_813EC28
|
|
sub_813EC28: @ 813EC28
|
|
push {r4,lr}
|
|
ldr r0, _0813EC58 @ =gUnknown_203F39C
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0813EC5C @ =gSprites
|
|
adds r4, r0, r1
|
|
adds r0, r4, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813EC52
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl StartSpriteAffineAnim
|
|
ldr r0, _0813EC60 @ =sub_813EC64
|
|
str r0, [r4, 0x1C]
|
|
_0813EC52:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EC58: .4byte gUnknown_203F39C
|
|
_0813EC5C: .4byte gSprites
|
|
_0813EC60: .4byte sub_813EC64
|
|
thumb_func_end sub_813EC28
|
|
|
|
thumb_func_start sub_813EC64
|
|
sub_813EC64: @ 813EC64
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0813EC80
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl StartSpriteAffineAnim
|
|
ldr r0, _0813EC88 @ =SpriteCallbackDummy
|
|
str r0, [r4, 0x1C]
|
|
_0813EC80:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813EC88: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_813EC64
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|