mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 13:47:12 -05:00
2910 lines
50 KiB
ArmAsm
2910 lines
50 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_810D3F4
|
|
sub_810D3F4: @ 810D3F4
|
|
push {r4-r6,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r5, r0, 0
|
|
cmp r5, 0x1
|
|
bhi _0810D410
|
|
ldr r6, _0810D418 @ =gUnknown_203ADBC
|
|
movs r0, 0x14
|
|
bl Alloc
|
|
str r0, [r6]
|
|
cmp r0, 0
|
|
bne _0810D41C
|
|
_0810D410:
|
|
adds r0, r4, 0
|
|
bl SetMainCallback2
|
|
b _0810D462
|
|
.align 2, 0
|
|
_0810D418: .4byte gUnknown_203ADBC
|
|
_0810D41C:
|
|
cmp r5, 0x1
|
|
beq _0810D42A
|
|
ldr r0, _0810D468 @ =gUnknown_203ADCC
|
|
str r4, [r0]
|
|
movs r1, 0
|
|
strh r1, [r0, 0x6]
|
|
strh r1, [r0, 0x4]
|
|
_0810D42A:
|
|
ldr r1, [r6]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x4]
|
|
ldr r0, [r6]
|
|
movs r2, 0
|
|
strb r2, [r0, 0x5]
|
|
ldr r1, [r6]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
strb r0, [r1, 0x8]
|
|
ldr r0, [r6]
|
|
str r2, [r0]
|
|
ldr r5, _0810D46C @ =sub_810D4A0
|
|
adds r4, r6, 0
|
|
movs r3, 0
|
|
_0810D448:
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 1
|
|
adds r0, 0xC
|
|
adds r0, r1
|
|
strh r3, [r0]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x2
|
|
bls _0810D448
|
|
adds r0, r5, 0
|
|
bl SetMainCallback2
|
|
_0810D462:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810D468: .4byte gUnknown_203ADCC
|
|
_0810D46C: .4byte sub_810D4A0
|
|
thumb_func_end sub_810D3F4
|
|
|
|
thumb_func_start sub_810D470
|
|
sub_810D470: @ 810D470
|
|
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_810D470
|
|
|
|
thumb_func_start sub_810D48C
|
|
sub_810D48C: @ 810D48C
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810D48C
|
|
|
|
thumb_func_start sub_810D4A0
|
|
sub_810D4A0: @ 810D4A0
|
|
push {lr}
|
|
_0810D4A2:
|
|
bl sub_810D4C0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0810D4BA
|
|
bl sub_80BF708
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0810D4A2
|
|
_0810D4BA:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810D4A0
|
|
|
|
thumb_func_start sub_810D4C0
|
|
sub_810D4C0: @ 810D4C0
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _0810D4E0 @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x14
|
|
bls _0810D4D4
|
|
b _0810D688
|
|
_0810D4D4:
|
|
lsls r0, 2
|
|
ldr r1, _0810D4E4 @ =_0810D4E8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0810D4E0: .4byte gMain
|
|
_0810D4E4: .4byte _0810D4E8
|
|
.align 2, 0
|
|
_0810D4E8:
|
|
.4byte _0810D53C
|
|
.4byte _0810D546
|
|
.4byte _0810D54C
|
|
.4byte _0810D552
|
|
.4byte _0810D558
|
|
.4byte _0810D55E
|
|
.4byte _0810D564
|
|
.4byte _0810D56A
|
|
.4byte _0810D584
|
|
.4byte _0810D594
|
|
.4byte _0810D59A
|
|
.4byte _0810D5A8
|
|
.4byte _0810D5BA
|
|
.4byte _0810D5C0
|
|
.4byte _0810D5C6
|
|
.4byte _0810D5CC
|
|
.4byte _0810D608
|
|
.4byte _0810D60E
|
|
.4byte _0810D616
|
|
.4byte _0810D630
|
|
.4byte _0810D668
|
|
_0810D53C:
|
|
bl sub_80BF768
|
|
bl clear_scheduled_bg_copies_to_vram
|
|
b _0810D674
|
|
_0810D546:
|
|
bl remove_some_task
|
|
b _0810D674
|
|
_0810D54C:
|
|
bl FreeAllSpritePalettes
|
|
b _0810D674
|
|
_0810D552:
|
|
bl ResetPaletteFade
|
|
b _0810D674
|
|
_0810D558:
|
|
bl ResetSpriteData
|
|
b _0810D674
|
|
_0810D55E:
|
|
bl sub_80984D8
|
|
b _0810D674
|
|
_0810D564:
|
|
bl ResetTasks
|
|
b _0810D674
|
|
_0810D56A:
|
|
bl sub_810D71C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0810D5B2
|
|
ldr r0, _0810D580 @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strh r0, [r1, 0xC]
|
|
b _0810D674
|
|
.align 2, 0
|
|
_0810D580: .4byte gUnknown_203ADBC
|
|
_0810D584:
|
|
bl sub_810D78C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0810D592
|
|
b _0810D6A0
|
|
_0810D592:
|
|
b _0810D674
|
|
_0810D594:
|
|
bl sub_810E8F0
|
|
b _0810D674
|
|
_0810D59A:
|
|
bl sub_810DDA4
|
|
bl sub_810DBF0
|
|
bl sub_810DE08
|
|
b _0810D674
|
|
_0810D5A8:
|
|
bl sub_810D83C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810D674
|
|
_0810D5B2:
|
|
bl sub_810D6AC
|
|
movs r0, 0x1
|
|
b _0810D6A2
|
|
_0810D5BA:
|
|
bl sub_810D878
|
|
b _0810D674
|
|
_0810D5C0:
|
|
bl sub_810DB34
|
|
b _0810D674
|
|
_0810D5C6:
|
|
bl sub_80985E4
|
|
b _0810D674
|
|
_0810D5CC:
|
|
ldr r0, _0810D5F8 @ =sub_810DEA0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0810D5FC @ =gUnknown_3005E70
|
|
ldr r2, _0810D600 @ =gUnknown_203ADCC
|
|
ldrh r1, [r2, 0x4]
|
|
ldrh r2, [r2, 0x6]
|
|
bl ListMenuInit
|
|
ldr r2, _0810D604 @ =gUnknown_3005090
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r1, 0x8]
|
|
b _0810D674
|
|
.align 2, 0
|
|
_0810D5F8: .4byte sub_810DEA0
|
|
_0810D5FC: .4byte gUnknown_3005E70
|
|
_0810D600: .4byte gUnknown_203ADCC
|
|
_0810D604: .4byte gUnknown_3005090
|
|
_0810D608:
|
|
bl sub_810DB5C
|
|
b _0810D674
|
|
_0810D60E:
|
|
movs r0, 0x1D
|
|
bl sub_812B1F0
|
|
b _0810D674
|
|
_0810D616:
|
|
ldr r0, _0810D62C @ =gUnknown_203ADCC
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0x1
|
|
bne _0810D674
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
b _0810D674
|
|
.align 2, 0
|
|
_0810D62C: .4byte gUnknown_203ADCC
|
|
_0810D630:
|
|
ldr r0, _0810D64C @ =gUnknown_203ADCC
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0x1
|
|
bne _0810D650
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
b _0810D674
|
|
.align 2, 0
|
|
_0810D64C: .4byte gUnknown_203ADCC
|
|
_0810D650:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80A0A48
|
|
movs r0, 0x1
|
|
bl sub_810DE94
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
b _0810D674
|
|
_0810D668:
|
|
bl sub_80BF72C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0810D6A0
|
|
_0810D674:
|
|
ldr r1, _0810D684 @ =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0810D6A0
|
|
.align 2, 0
|
|
_0810D684: .4byte gMain
|
|
_0810D688:
|
|
ldr r0, _0810D698 @ =sub_810D48C
|
|
bl SetVBlankCallback
|
|
ldr r0, _0810D69C @ =sub_810D470
|
|
bl SetMainCallback2
|
|
movs r0, 0x1
|
|
b _0810D6A2
|
|
.align 2, 0
|
|
_0810D698: .4byte sub_810D48C
|
|
_0810D69C: .4byte sub_810D470
|
|
_0810D6A0:
|
|
movs r0, 0
|
|
_0810D6A2:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810D4C0
|
|
|
|
thumb_func_start sub_810D6AC
|
|
sub_810D6AC: @ 810D6AC
|
|
push {lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _0810D6DC @ =sub_810D6E8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r0, _0810D6E0 @ =sub_810D48C
|
|
bl SetVBlankCallback
|
|
ldr r0, _0810D6E4 @ =sub_810D470
|
|
bl SetMainCallback2
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810D6DC: .4byte sub_810D6E8
|
|
_0810D6E0: .4byte sub_810D48C
|
|
_0810D6E4: .4byte sub_810D470
|
|
thumb_func_end sub_810D6AC
|
|
|
|
thumb_func_start sub_810D6E8
|
|
sub_810D6E8: @ 810D6E8
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0810D714 @ =gUnknown_2037AB8
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810D70C
|
|
ldr r0, _0810D718 @ =gUnknown_203ADCC
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
bl sub_810DC40
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_0810D70C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810D714: .4byte gUnknown_2037AB8
|
|
_0810D718: .4byte gUnknown_203ADCC
|
|
thumb_func_end sub_810D6E8
|
|
|
|
thumb_func_start sub_810D71C
|
|
sub_810D71C: @ 810D71C
|
|
push {r4,r5,lr}
|
|
bl sub_80BF7C8
|
|
ldr r5, _0810D77C @ =gUnknown_203ADC0
|
|
movs r4, 0x80
|
|
lsls r4, 4
|
|
adds r0, r4, 0
|
|
bl Alloc
|
|
str r0, [r5]
|
|
cmp r0, 0
|
|
beq _0810D784
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl memset
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, _0810D780 @ =gUnknown_8453F6C
|
|
movs r0, 0
|
|
movs r2, 0x2
|
|
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, 0x1
|
|
b _0810D786
|
|
.align 2, 0
|
|
_0810D77C: .4byte gUnknown_203ADC0
|
|
_0810D780: .4byte gUnknown_8453F6C
|
|
_0810D784:
|
|
movs r0, 0
|
|
_0810D786:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810D71C
|
|
|
|
thumb_func_start sub_810D78C
|
|
sub_810D78C: @ 810D78C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _0810D7A8 @ =gUnknown_203ADBC
|
|
ldr r0, [r5]
|
|
movs r1, 0xC
|
|
ldrsh r4, [r0, r1]
|
|
cmp r4, 0x1
|
|
beq _0810D7D0
|
|
cmp r4, 0x1
|
|
bgt _0810D7AC
|
|
cmp r4, 0
|
|
beq _0810D7B6
|
|
b _0810D814
|
|
.align 2, 0
|
|
_0810D7A8: .4byte gUnknown_203ADBC
|
|
_0810D7AC:
|
|
cmp r4, 0x2
|
|
beq _0810D7F0
|
|
cmp r4, 0x3
|
|
beq _0810D800
|
|
b _0810D814
|
|
_0810D7B6:
|
|
bl reset_temp_tile_data_buffers
|
|
ldr r1, _0810D7CC @ =gUnknown_8E85090
|
|
str r4, [sp]
|
|
movs r0, 0x1
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl decompress_and_copy_tile_data_to_vram
|
|
b _0810D806
|
|
.align 2, 0
|
|
_0810D7CC: .4byte gUnknown_8E85090
|
|
_0810D7D0:
|
|
bl free_temp_tile_data_buffers_if_possible
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0810D830
|
|
ldr r0, _0810D7E8 @ =gUnknown_8E85458
|
|
ldr r1, _0810D7EC @ =gUnknown_203ADC0
|
|
ldr r1, [r1]
|
|
bl LZDecompressWram
|
|
b _0810D806
|
|
.align 2, 0
|
|
_0810D7E8: .4byte gUnknown_8E85458
|
|
_0810D7EC: .4byte gUnknown_203ADC0
|
|
_0810D7F0:
|
|
ldr r0, _0810D7FC @ =gUnknown_8E85408
|
|
movs r1, 0
|
|
movs r2, 0x60
|
|
bl LoadCompressedPalette
|
|
b _0810D806
|
|
.align 2, 0
|
|
_0810D7FC: .4byte gUnknown_8E85408
|
|
_0810D800:
|
|
ldr r0, _0810D810 @ =gUnknown_83D4240
|
|
bl LoadCompressedObjectPic
|
|
_0810D806:
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, 0xC]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0xC]
|
|
b _0810D830
|
|
.align 2, 0
|
|
_0810D810: .4byte gUnknown_83D4240
|
|
_0810D814:
|
|
ldr r0, _0810D828 @ =gUnknown_83D4248
|
|
bl LoadCompressedObjectPalette
|
|
ldr r0, _0810D82C @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
movs r0, 0
|
|
strh r0, [r1, 0xC]
|
|
movs r0, 0x1
|
|
b _0810D832
|
|
.align 2, 0
|
|
_0810D828: .4byte gUnknown_83D4248
|
|
_0810D82C: .4byte gUnknown_203ADBC
|
|
_0810D830:
|
|
movs r0, 0
|
|
_0810D832:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810D78C
|
|
|
|
thumb_func_start sub_810D83C
|
|
sub_810D83C: @ 810D83C
|
|
push {r4,lr}
|
|
ldr r4, _0810D860 @ =gUnknown_203ADC4
|
|
movs r0, 0xF8
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0810D868
|
|
ldr r4, _0810D864 @ =gUnknown_203ADC8
|
|
movs r0, 0xD9
|
|
lsls r0, 1
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
beq _0810D868
|
|
movs r0, 0x1
|
|
b _0810D872
|
|
.align 2, 0
|
|
_0810D860: .4byte gUnknown_203ADC4
|
|
_0810D864: .4byte gUnknown_203ADC8
|
|
_0810D868:
|
|
bl sub_810DC40
|
|
bl sub_810D6AC
|
|
movs r0, 0
|
|
_0810D872:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_810D83C
|
|
|
|
thumb_func_start sub_810D878
|
|
sub_810D878: @ 810D878
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
b _0810D8A4
|
|
_0810D87E:
|
|
ldr r0, _0810D938 @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 2
|
|
adds r0, r1
|
|
movs r1, 0xA6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
bl ItemId_GetItem
|
|
ldr r1, _0810D93C @ =gUnknown_203ADC4
|
|
ldr r2, [r1]
|
|
lsls r1, r4, 3
|
|
adds r1, r2
|
|
str r0, [r1]
|
|
str r4, [r1, 0x4]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
_0810D8A4:
|
|
ldr r0, _0810D940 @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r4, r0
|
|
bcc _0810D87E
|
|
ldr r0, _0810D93C @ =gUnknown_203ADC4
|
|
ldr r3, [r0]
|
|
lsls r0, r4, 3
|
|
adds r0, r3
|
|
ldr r1, _0810D944 @ =gUnknown_84161C1
|
|
str r1, [r0]
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
str r1, [r0, 0x4]
|
|
ldr r2, _0810D948 @ =gUnknown_3005E70
|
|
str r3, [r2]
|
|
ldr r0, _0810D940 @ =gUnknown_203ADBC
|
|
ldr r3, [r0]
|
|
ldrb r0, [r3, 0x7]
|
|
adds r0, 0x1
|
|
movs r1, 0
|
|
strh r0, [r2, 0xC]
|
|
strb r1, [r2, 0x10]
|
|
strb r1, [r2, 0x11]
|
|
movs r0, 0x9
|
|
strb r0, [r2, 0x12]
|
|
movs r1, 0x1
|
|
movs r0, 0x1
|
|
strb r0, [r2, 0x13]
|
|
ldrb r0, [r2, 0x16]
|
|
movs r4, 0x8
|
|
negs r4, r4
|
|
ands r4, r0
|
|
orrs r4, r1
|
|
movs r0, 0x39
|
|
negs r0, r0
|
|
ands r4, r0
|
|
movs r0, 0x10
|
|
orrs r4, r0
|
|
strb r4, [r2, 0x16]
|
|
ldrb r1, [r2, 0x14]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r5, 0x2
|
|
orrs r0, r5
|
|
strb r0, [r2, 0x14]
|
|
ldrb r1, [r3, 0x6]
|
|
strh r1, [r2, 0xE]
|
|
ldrb r1, [r2, 0x17]
|
|
movs r3, 0x40
|
|
negs r3, r3
|
|
ands r3, r1
|
|
orrs r3, r5
|
|
movs r1, 0xF
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x14]
|
|
movs r0, 0x30
|
|
strb r0, [r2, 0x15]
|
|
ldr r0, _0810D94C @ =sub_810D954
|
|
str r0, [r2, 0x4]
|
|
ldr r0, _0810D950 @ =sub_810DA20
|
|
str r0, [r2, 0x8]
|
|
movs r0, 0x3F
|
|
ands r4, r0
|
|
strb r4, [r2, 0x16]
|
|
ands r3, r0
|
|
strb r3, [r2, 0x17]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810D938: .4byte gSaveBlock1Ptr
|
|
_0810D93C: .4byte gUnknown_203ADC4
|
|
_0810D940: .4byte gUnknown_203ADBC
|
|
_0810D944: .4byte gUnknown_84161C1
|
|
_0810D948: .4byte gUnknown_3005E70
|
|
_0810D94C: .4byte sub_810D954
|
|
_0810D950: .4byte sub_810DA20
|
|
thumb_func_end sub_810D878
|
|
|
|
thumb_func_start sub_810D954
|
|
sub_810D954: @ 810D954
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
adds r4, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0x1
|
|
beq _0810D968
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
_0810D968:
|
|
ldr r5, _0810D9BC @ =gUnknown_203ADBC
|
|
ldr r1, [r5]
|
|
ldrb r0, [r1, 0x4]
|
|
cmp r0, 0xFF
|
|
bne _0810DA0A
|
|
ldrb r1, [r1, 0x5]
|
|
movs r0, 0x1
|
|
eors r0, r1
|
|
bl sub_8098940
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0810D9CE
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, 0x5]
|
|
adds r0, r4, 0
|
|
bl sub_80988E8
|
|
adds r0, r4, 0
|
|
bl ItemId_GetPocket
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x4
|
|
bne _0810D9C4
|
|
adds r0, r4, 0
|
|
bl ItemIdToBattleMoveId
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0xD
|
|
muls r1, r0
|
|
ldr r0, _0810D9C0 @ =gUnknown_8247094
|
|
adds r5, r1, r0
|
|
b _0810D9DA
|
|
.align 2, 0
|
|
_0810D9BC: .4byte gUnknown_203ADBC
|
|
_0810D9C0: .4byte gUnknown_8247094
|
|
_0810D9C4:
|
|
adds r0, r4, 0
|
|
bl ItemId_GetDescription
|
|
adds r5, r0, 0
|
|
b _0810D9DA
|
|
_0810D9CE:
|
|
ldr r0, _0810DA14 @ =0x00000177
|
|
ldr r1, [r5]
|
|
ldrb r1, [r1, 0x5]
|
|
bl sub_80988E8
|
|
ldr r5, _0810DA18 @ =gUnknown_84178BE
|
|
_0810D9DA:
|
|
ldr r0, _0810DA1C @ =gUnknown_203ADBC
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, 0x5]
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
movs r4, 0
|
|
strb r0, [r2, 0x5]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r1, 0x3
|
|
str r1, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
str r1, [sp, 0x10]
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_810EA34
|
|
_0810DA0A:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DA14: .4byte 0x00000177
|
|
_0810DA18: .4byte gUnknown_84178BE
|
|
_0810DA1C: .4byte gUnknown_203ADBC
|
|
thumb_func_end sub_810D954
|
|
|
|
thumb_func_start sub_810DA20
|
|
sub_810DA20: @ 810DA20
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
ldr r0, _0810DA4C @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x4]
|
|
cmp r1, 0xFF
|
|
beq _0810DA58
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
cmp r1, r0
|
|
bne _0810DA50
|
|
adds r0, r5, 0
|
|
movs r1, 0x2
|
|
bl sub_810DAD4
|
|
b _0810DA58
|
|
.align 2, 0
|
|
_0810DA4C: .4byte gUnknown_203ADBC
|
|
_0810DA50:
|
|
adds r0, r5, 0
|
|
movs r1, 0xFF
|
|
bl sub_810DAD4
|
|
_0810DA58:
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0810DA9E
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl sub_810DD80
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r0, _0810DAA8 @ =gStringVar1
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0810DAAC @ =gStringVar4
|
|
ldr r1, _0810DAB0 @ =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_810EA34
|
|
_0810DA9E:
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DAA8: .4byte gStringVar1
|
|
_0810DAAC: .4byte gStringVar4
|
|
_0810DAB0: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_810DA20
|
|
|
|
thumb_func_start sub_810DAB4
|
|
sub_810DAB4: @ 810DAB4
|
|
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_810DAD4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810DAB4
|
|
|
|
thumb_func_start sub_810DAD4
|
|
sub_810DAD4: @ 810DAD4
|
|
push {r4,r5,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0xFF
|
|
bne _0810DB10
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl GetFontAttribute
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetFontAttribute
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r4, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
adds r3, r5, 0
|
|
bl FillWindowPixelRect
|
|
b _0810DB26
|
|
_0810DB10:
|
|
ldr r2, _0810DB30 @ =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, 0
|
|
bl sub_810EA34
|
|
_0810DB26:
|
|
add sp, 0x14
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DB30: .4byte gUnknown_841623B
|
|
thumb_func_end sub_810DAD4
|
|
|
|
thumb_func_start sub_810DB34
|
|
sub_810DB34: @ 810DB34
|
|
push {lr}
|
|
sub sp, 0x14
|
|
ldr r2, _0810DB58 @ =gUnknown_84178A7
|
|
movs r1, 0x1
|
|
str r1, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
str r0, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r3, 0
|
|
bl sub_810EA34
|
|
add sp, 0x14
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DB58: .4byte gUnknown_84178A7
|
|
thumb_func_end sub_810DB34
|
|
|
|
thumb_func_start sub_810DB5C
|
|
sub_810DB5C: @ 810DB5C
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _0810DB90 @ =gUnknown_203ADBC
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x7]
|
|
ldrb r1, [r1, 0x6]
|
|
subs r0, r1
|
|
adds r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0x6E
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
ldr r0, _0810DB94 @ =gUnknown_203ADD0
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0x2
|
|
movs r1, 0x80
|
|
movs r2, 0x8
|
|
movs r3, 0x68
|
|
bl AddScrollIndicatorArrowPairParametrized
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x8]
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DB90: .4byte gUnknown_203ADBC
|
|
_0810DB94: .4byte gUnknown_203ADD0
|
|
thumb_func_end sub_810DB5C
|
|
|
|
thumb_func_start sub_810DB98
|
|
sub_810DB98: @ 810DB98
|
|
push {r4,lr}
|
|
sub sp, 0x10
|
|
ldr r4, _0810DBCC @ =gUnknown_203ADBC
|
|
ldr r1, [r4]
|
|
movs r0, 0x1
|
|
strh r0, [r1, 0xA]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x6E
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r1, 0xA
|
|
str r1, [sp, 0xC]
|
|
movs r0, 0x2
|
|
movs r1, 0xD4
|
|
movs r2, 0x78
|
|
movs r3, 0x98
|
|
bl AddScrollIndicatorArrowPairParametrized
|
|
ldr r1, [r4]
|
|
strb r0, [r1, 0x8]
|
|
add sp, 0x10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DBCC: .4byte gUnknown_203ADBC
|
|
thumb_func_end sub_810DB98
|
|
|
|
thumb_func_start sub_810DBD0
|
|
sub_810DBD0: @ 810DBD0
|
|
push {r4,lr}
|
|
ldr r4, _0810DBEC @ =gUnknown_203ADBC
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x8]
|
|
cmp r0, 0xFF
|
|
beq _0810DBE6
|
|
bl RemoveScrollIndicatorArrowPair
|
|
ldr r1, [r4]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x8]
|
|
_0810DBE6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DBEC: .4byte gUnknown_203ADBC
|
|
thumb_func_end sub_810DBD0
|
|
|
|
thumb_func_start sub_810DBF0
|
|
sub_810DBF0: @ 810DBF0
|
|
push {r4,r5,lr}
|
|
ldr r0, _0810DC30 @ =gUnknown_203ADCC
|
|
ldrh r1, [r0, 0x4]
|
|
adds r4, r0, 0
|
|
ldr r5, _0810DC34 @ =gUnknown_203ADBC
|
|
cmp r1, 0
|
|
beq _0810DC14
|
|
ldrh r0, [r4, 0x4]
|
|
ldr r1, [r5]
|
|
ldrb r3, [r1, 0x6]
|
|
adds r0, r3
|
|
ldrb r2, [r1, 0x7]
|
|
adds r1, r2, 0x1
|
|
cmp r0, r1
|
|
ble _0810DC14
|
|
subs r0, r3, 0x1
|
|
subs r0, r2, r0
|
|
strh r0, [r4, 0x4]
|
|
_0810DC14:
|
|
adds r3, r4, 0
|
|
ldrh r0, [r3, 0x4]
|
|
ldrh r1, [r3, 0x6]
|
|
adds r0, r1
|
|
ldr r1, [r5]
|
|
ldrb r1, [r1, 0x7]
|
|
adds r2, r1, 0x1
|
|
cmp r0, r2
|
|
blt _0810DC3A
|
|
cmp r2, 0x1
|
|
bgt _0810DC38
|
|
movs r0, 0
|
|
strh r0, [r3, 0x6]
|
|
b _0810DC3A
|
|
.align 2, 0
|
|
_0810DC30: .4byte gUnknown_203ADCC
|
|
_0810DC34: .4byte gUnknown_203ADBC
|
|
_0810DC38:
|
|
strh r1, [r4, 0x6]
|
|
_0810DC3A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810DBF0
|
|
|
|
thumb_func_start sub_810DC40
|
|
sub_810DC40: @ 810DC40
|
|
push {lr}
|
|
ldr r0, _0810DC7C @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DC4E
|
|
bl Free
|
|
_0810DC4E:
|
|
ldr r0, _0810DC80 @ =gUnknown_203ADC0
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DC5A
|
|
bl Free
|
|
_0810DC5A:
|
|
ldr r0, _0810DC84 @ =gUnknown_203ADC4
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DC66
|
|
bl Free
|
|
_0810DC66:
|
|
ldr r0, _0810DC88 @ =gUnknown_203ADC8
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DC72
|
|
bl Free
|
|
_0810DC72:
|
|
bl FreeAllWindowBuffers
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DC7C: .4byte gUnknown_203ADBC
|
|
_0810DC80: .4byte gUnknown_203ADC0
|
|
_0810DC84: .4byte gUnknown_203ADC4
|
|
_0810DC88: .4byte gUnknown_203ADC8
|
|
thumb_func_end sub_810DC40
|
|
|
|
thumb_func_start sub_810DC8C
|
|
sub_810DC8C: @ 810DC8C
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0810DCB0 @ =gUnknown_203ADCC
|
|
ldrb r0, [r0, 0x8]
|
|
cmp r0, 0x1
|
|
bne _0810DCB4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
b _0810DCC4
|
|
.align 2, 0
|
|
_0810DCB0: .4byte gUnknown_203ADCC
|
|
_0810DCB4:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80A0A70
|
|
movs r0, 0x3
|
|
bl PlaySE
|
|
_0810DCC4:
|
|
ldr r0, _0810DCDC @ =gUnknown_3005090
|
|
lsls r1, r4, 2
|
|
adds r1, r4
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0810DCE0 @ =sub_810DCE4
|
|
str r0, [r1]
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DCDC: .4byte gUnknown_3005090
|
|
_0810DCE0: .4byte sub_810DCE4
|
|
thumb_func_end sub_810DC8C
|
|
|
|
thumb_func_start sub_810DCE4
|
|
sub_810DCE4: @ 810DCE4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _0810DD28 @ =gUnknown_3005098
|
|
adds r4, r0, r1
|
|
ldr r0, _0810DD2C @ =gUnknown_2037AB8
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810DD4E
|
|
bl sub_80A0AAC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810DD4E
|
|
ldrb r0, [r4]
|
|
ldr r4, _0810DD30 @ =gUnknown_203ADD0
|
|
adds r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
ldr r0, _0810DD34 @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DD38
|
|
bl SetMainCallback2
|
|
b _0810DD40
|
|
.align 2, 0
|
|
_0810DD28: .4byte gUnknown_3005098
|
|
_0810DD2C: .4byte gUnknown_2037AB8
|
|
_0810DD30: .4byte gUnknown_203ADD0
|
|
_0810DD34: .4byte gUnknown_203ADBC
|
|
_0810DD38:
|
|
subs r0, r4, 0x4
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
_0810DD40:
|
|
bl sub_810DBD0
|
|
bl sub_810DC40
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_0810DD4E:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810DCE4
|
|
|
|
thumb_func_start sub_810DD54
|
|
sub_810DD54: @ 810DD54
|
|
ldr r1, _0810DD64 @ =gUnknown_203ADCC
|
|
ldrb r0, [r1, 0x6]
|
|
ldrb r1, [r1, 0x4]
|
|
adds r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bx lr
|
|
.align 2, 0
|
|
_0810DD64: .4byte gUnknown_203ADCC
|
|
thumb_func_end sub_810DD54
|
|
|
|
thumb_func_start sub_810DD68
|
|
sub_810DD68: @ 810DD68
|
|
lsls r0, 16
|
|
ldr r1, _0810DD7C @ =gSaveBlock1Ptr
|
|
ldr r1, [r1]
|
|
lsrs r0, 14
|
|
adds r1, r0
|
|
movs r0, 0xA6
|
|
lsls r0, 2
|
|
adds r1, r0
|
|
ldrh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0810DD7C: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_810DD68
|
|
|
|
thumb_func_start sub_810DD80
|
|
sub_810DD80: @ 810DD80
|
|
push {lr}
|
|
lsls r0, 16
|
|
ldr r1, _0810DD9C @ =gSaveBlock1Ptr
|
|
lsrs r0, 14
|
|
ldr r1, [r1]
|
|
adds r0, r1
|
|
ldr r1, _0810DDA0 @ =0x0000029a
|
|
adds r0, r1
|
|
bl GetBagItemId
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0810DD9C: .4byte gSaveBlock1Ptr
|
|
_0810DDA0: .4byte 0x0000029a
|
|
thumb_func_end sub_810DD80
|
|
|
|
thumb_func_start sub_810DDA4
|
|
sub_810DDA4: @ 810DDA4
|
|
push {r4,r5,lr}
|
|
bl sub_809A4E8
|
|
ldr r4, _0810DE00 @ =gUnknown_203ADBC
|
|
ldr r1, [r4]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x7]
|
|
movs r2, 0
|
|
ldr r3, _0810DE04 @ =gSaveBlock1Ptr
|
|
ldr r0, [r3]
|
|
movs r1, 0xA6
|
|
lsls r1, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _0810DDEA
|
|
adds r5, r4, 0
|
|
adds r4, r3, 0
|
|
adds r3, r1, 0
|
|
_0810DDCA:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, 0x7]
|
|
adds r1, 0x1
|
|
strb r1, [r0, 0x7]
|
|
adds r0, r2, 0x1
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r2, 0x1D
|
|
bhi _0810DDEA
|
|
ldr r0, [r4]
|
|
lsls r1, r2, 2
|
|
adds r0, r1
|
|
adds r0, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
bne _0810DDCA
|
|
_0810DDEA:
|
|
ldr r0, _0810DE00 @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, 0x7]
|
|
adds r0, 0x1
|
|
cmp r0, 0x6
|
|
ble _0810DDF8
|
|
movs r0, 0x6
|
|
_0810DDF8:
|
|
strb r0, [r1, 0x6]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DE00: .4byte gUnknown_203ADBC
|
|
_0810DE04: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_810DDA4
|
|
|
|
thumb_func_start sub_810DE08
|
|
sub_810DE08: @ 810DE08
|
|
push {r4-r6,lr}
|
|
ldr r0, _0810DE64 @ =gUnknown_203ADCC
|
|
ldrh r1, [r0, 0x6]
|
|
adds r6, r0, 0
|
|
cmp r1, 0x3
|
|
bls _0810DE5C
|
|
movs r4, 0
|
|
ldrh r0, [r6, 0x6]
|
|
subs r0, 0x3
|
|
cmp r4, r0
|
|
bgt _0810DE5C
|
|
ldrh r1, [r6, 0x4]
|
|
ldr r5, _0810DE68 @ =gUnknown_203ADBC
|
|
ldr r2, [r5]
|
|
ldrb r0, [r2, 0x6]
|
|
adds r1, r0
|
|
ldrb r0, [r2, 0x7]
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
beq _0810DE5C
|
|
adds r3, r6, 0
|
|
_0810DE32:
|
|
ldrh r0, [r3, 0x6]
|
|
subs r0, 0x1
|
|
strh r0, [r3, 0x6]
|
|
ldrh r0, [r3, 0x4]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x4]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldrh r0, [r3, 0x6]
|
|
subs r0, 0x3
|
|
cmp r4, r0
|
|
bgt _0810DE5C
|
|
ldrh r1, [r6, 0x4]
|
|
ldr r2, [r5]
|
|
ldrb r0, [r2, 0x6]
|
|
adds r1, r0
|
|
ldrb r0, [r2, 0x7]
|
|
adds r0, 0x1
|
|
cmp r1, r0
|
|
bne _0810DE32
|
|
_0810DE5C:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DE64: .4byte gUnknown_203ADCC
|
|
_0810DE68: .4byte gUnknown_203ADBC
|
|
thumb_func_end sub_810DE08
|
|
|
|
thumb_func_start sub_810DE6C
|
|
sub_810DE6C: @ 810DE6C
|
|
push {lr}
|
|
sub sp, 0x8
|
|
movs r1, 0x6
|
|
str r1, [sp]
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0xE
|
|
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_810DE6C
|
|
|
|
thumb_func_start sub_810DE94
|
|
sub_810DE94: @ 810DE94
|
|
ldr r1, _0810DE9C @ =gUnknown_203ADCC
|
|
strb r0, [r1, 0x8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0810DE9C: .4byte gUnknown_203ADCC
|
|
thumb_func_end sub_810DE94
|
|
|
|
thumb_func_start sub_810DEA0
|
|
sub_810DEA0: @ 810DEA0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _0810DF10 @ =gUnknown_3005098
|
|
adds r6, r0, r1
|
|
ldr r0, _0810DF14 @ =gUnknown_2037AB8
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810DF9E
|
|
bl sub_80A0A98
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810DF9E
|
|
ldr r0, _0810DF18 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810DF20
|
|
ldrb r0, [r6]
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r1, sp
|
|
adds r2, r4, 0
|
|
bl get_coro_args_x18_x1A
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldrh r0, [r4]
|
|
adds r1, r0
|
|
ldr r0, _0810DF1C @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x7]
|
|
cmp r1, r0
|
|
beq _0810DF20
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
mov r0, sp
|
|
ldrh r1, [r4]
|
|
ldrh r0, [r0]
|
|
adds r1, r0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r5, 0
|
|
bl sub_810DFE0
|
|
b _0810DF9E
|
|
.align 2, 0
|
|
_0810DF10: .4byte gUnknown_3005098
|
|
_0810DF14: .4byte gUnknown_2037AB8
|
|
_0810DF18: .4byte gMain
|
|
_0810DF1C: .4byte gUnknown_203ADBC
|
|
_0810DF20:
|
|
ldrb r0, [r6]
|
|
bl ListMenuHandleInput
|
|
adds r4, r0, 0
|
|
ldrb r0, [r6]
|
|
ldr r1, _0810DF44 @ =gUnknown_203ADD0
|
|
adds r2, r1, 0x2
|
|
bl get_coro_args_x18_x1A
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0810DF48
|
|
adds r0, 0x1
|
|
cmp r4, r0
|
|
bne _0810DF6C
|
|
b _0810DF9E
|
|
.align 2, 0
|
|
_0810DF44: .4byte gUnknown_203ADD0
|
|
_0810DF48:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0
|
|
bl sub_810DE94
|
|
ldr r0, _0810DF64 @ =gUnknown_3005090
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
ldr r0, _0810DF68 @ =sub_810DC8C
|
|
str r0, [r1]
|
|
b _0810DF9E
|
|
.align 2, 0
|
|
_0810DF64: .4byte gUnknown_3005090
|
|
_0810DF68: .4byte sub_810DC8C
|
|
_0810DF6C:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_810DE6C
|
|
bl sub_810DBD0
|
|
strh r4, [r6, 0x2]
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl sub_810DD80
|
|
strh r0, [r6, 0x4]
|
|
ldrb r0, [r6]
|
|
movs r1, 0x2
|
|
bl sub_810DAB4
|
|
ldr r1, _0810DFA8 @ =gUnknown_3005090
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810DFAC @ =sub_810E274
|
|
str r1, [r0]
|
|
_0810DF9E:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DFA8: .4byte gUnknown_3005090
|
|
_0810DFAC: .4byte sub_810E274
|
|
thumb_func_end sub_810DEA0
|
|
|
|
thumb_func_start sub_810DFB0
|
|
sub_810DFB0: @ 810DFB0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
bl sub_810DE6C
|
|
bl sub_810DB5C
|
|
ldr r1, _0810DFD8 @ =gUnknown_3005090
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
adds r0, r1
|
|
ldr r1, _0810DFDC @ =sub_810DEA0
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810DFD8: .4byte gUnknown_3005090
|
|
_0810DFDC: .4byte sub_810DEA0
|
|
thumb_func_end sub_810DFB0
|
|
|
|
thumb_func_start sub_810DFE0
|
|
sub_810DFE0: @ 810DFE0
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x14
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, r0, 2
|
|
adds r5, r0
|
|
lsls r5, 3
|
|
ldr r0, _0810E09C @ =gUnknown_3005098
|
|
mov r8, r0
|
|
adds r6, r5, r0
|
|
ldrb r0, [r6]
|
|
movs r1, 0x10
|
|
movs r2, 0x1
|
|
bl sub_8107BD0
|
|
strh r4, [r6, 0x2]
|
|
ldr r0, _0810E0A0 @ =gUnknown_203ADBC
|
|
ldr r0, [r0]
|
|
movs r1, 0
|
|
mov r9, r1
|
|
strb r4, [r0, 0x4]
|
|
ldr r4, _0810E0A4 @ =gStringVar1
|
|
ldrh r0, [r6, 0x2]
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl ItemId_GetItem
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r4, _0810E0A8 @ =gStringVar4
|
|
ldr r1, _0810E0AC @ =gUnknown_841633F
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r1, 0x3
|
|
str r1, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
mov r0, r9
|
|
str r0, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x1
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl sub_810EA34
|
|
movs r4, 0x20
|
|
negs r4, r4
|
|
ldrb r0, [r6]
|
|
bl ListMenuGetYCoordForPrintingArrowCursor
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80986A8
|
|
movs r0, 0
|
|
bl sub_8098660
|
|
ldrb r0, [r6]
|
|
movs r1, 0x2
|
|
bl sub_810DAB4
|
|
movs r1, 0x8
|
|
negs r1, r1
|
|
add r8, r1
|
|
add r5, r8
|
|
ldr r0, _0810E0B0 @ =sub_810E0B4
|
|
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
|
|
_0810E09C: .4byte gUnknown_3005098
|
|
_0810E0A0: .4byte gUnknown_203ADBC
|
|
_0810E0A4: .4byte gStringVar1
|
|
_0810E0A8: .4byte gStringVar4
|
|
_0810E0AC: .4byte gUnknown_841633F
|
|
_0810E0B0: .4byte sub_810E0B4
|
|
thumb_func_end sub_810DFE0
|
|
|
|
thumb_func_start sub_810E0B4
|
|
sub_810E0B4: @ 810E0B4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
mov r8, r6
|
|
lsls r4, r6, 2
|
|
adds r4, r6
|
|
lsls r4, 3
|
|
ldr r0, _0810E11C @ =gUnknown_3005098
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
bl ListMenuHandleInput
|
|
ldrb r0, [r4]
|
|
ldr r7, _0810E120 @ =gUnknown_203ADD0
|
|
adds r2, r7, 0x2
|
|
adds r1, r7, 0
|
|
bl get_coro_args_x18_x1A
|
|
movs r5, 0x20
|
|
negs r5, r5
|
|
ldrb r0, [r4]
|
|
bl ListMenuGetYCoordForPrintingArrowCursor
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r5, 0
|
|
bl sub_80986A8
|
|
ldr r0, _0810E124 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x5
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E12C
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0810E128 @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x4]
|
|
subs r0, r7, 0x4
|
|
ldrh r1, [r0, 0x4]
|
|
ldrh r0, [r0, 0x6]
|
|
adds r1, r0
|
|
adds r0, r6, 0
|
|
bl sub_810E160
|
|
b _0810E150
|
|
.align 2, 0
|
|
_0810E11C: .4byte gUnknown_3005098
|
|
_0810E120: .4byte gUnknown_203ADD0
|
|
_0810E124: .4byte gMain
|
|
_0810E128: .4byte gUnknown_203ADBC
|
|
_0810E12C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E150
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0810E15C @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x4]
|
|
subs r0, r7, 0x4
|
|
ldrh r1, [r0, 0x4]
|
|
ldrh r0, [r0, 0x6]
|
|
adds r1, r0
|
|
mov r0, r8
|
|
bl sub_810E200
|
|
_0810E150:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E15C: .4byte gUnknown_203ADBC
|
|
thumb_func_end sub_810E0B4
|
|
|
|
thumb_func_start sub_810E160
|
|
sub_810E160: @ 810E160
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
lsls r7, r0, 3
|
|
ldr r0, _0810E190 @ =gUnknown_3005098
|
|
mov r8, r0
|
|
adds r6, r7, r0
|
|
movs r0, 0x2
|
|
ldrsh r1, [r6, r0]
|
|
cmp r1, r4
|
|
beq _0810E186
|
|
subs r0, r4, 0x1
|
|
cmp r1, r0
|
|
bne _0810E194
|
|
_0810E186:
|
|
adds r0, r2, 0
|
|
adds r1, r4, 0
|
|
bl sub_810E200
|
|
b _0810E1E6
|
|
.align 2, 0
|
|
_0810E190: .4byte gUnknown_3005098
|
|
_0810E194:
|
|
ldr r0, _0810E1F0 @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
movs r2, 0xA6
|
|
lsls r2, 2
|
|
adds r0, r2
|
|
adds r2, r4, 0
|
|
bl sub_8108D60
|
|
ldrb r0, [r6]
|
|
ldr r5, _0810E1F4 @ =gUnknown_203ADD0
|
|
adds r2, r5, 0x2
|
|
adds r1, r5, 0
|
|
bl sub_810713C
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, r4
|
|
bcs _0810E1C0
|
|
subs r1, r5, 0x4
|
|
ldrh r0, [r1, 0x6]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x6]
|
|
_0810E1C0:
|
|
bl sub_810D878
|
|
ldr r0, _0810E1F8 @ =gUnknown_3005E70
|
|
subs r2, r5, 0x4
|
|
ldrh r1, [r2, 0x4]
|
|
ldrh r2, [r2, 0x6]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r6]
|
|
movs r0, 0x1
|
|
bl sub_8098660
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r7, r0
|
|
ldr r1, _0810E1FC @ =sub_810DEA0
|
|
str r1, [r0]
|
|
_0810E1E6:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E1F0: .4byte gSaveBlock1Ptr
|
|
_0810E1F4: .4byte gUnknown_203ADD0
|
|
_0810E1F8: .4byte gUnknown_3005E70
|
|
_0810E1FC: .4byte sub_810DEA0
|
|
thumb_func_end sub_810E160
|
|
|
|
thumb_func_start sub_810E200
|
|
sub_810E200: @ 810E200
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r7, r1, 3
|
|
ldr r0, _0810E264 @ =gUnknown_3005098
|
|
mov r8, r0
|
|
adds r6, r7, r0
|
|
ldrb r0, [r6]
|
|
ldr r5, _0810E268 @ =gUnknown_203ADD0
|
|
adds r2, r5, 0x2
|
|
adds r1, r5, 0
|
|
bl sub_810713C
|
|
movs r1, 0x2
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, r4
|
|
bcs _0810E234
|
|
subs r1, r5, 0x4
|
|
ldrh r0, [r1, 0x6]
|
|
subs r0, 0x1
|
|
strh r0, [r1, 0x6]
|
|
_0810E234:
|
|
bl sub_810D878
|
|
ldr r0, _0810E26C @ =gUnknown_3005E70
|
|
subs r2, r5, 0x4
|
|
ldrh r1, [r2, 0x4]
|
|
ldrh r2, [r2, 0x6]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r6]
|
|
movs r0, 0x1
|
|
bl sub_8098660
|
|
mov r0, r8
|
|
subs r0, 0x8
|
|
adds r0, r7, r0
|
|
ldr r1, _0810E270 @ =sub_810DEA0
|
|
str r1, [r0]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E264: .4byte gUnknown_3005098
|
|
_0810E268: .4byte gUnknown_203ADD0
|
|
_0810E26C: .4byte gUnknown_3005E70
|
|
_0810E270: .4byte sub_810DEA0
|
|
thumb_func_end sub_810E200
|
|
|
|
thumb_func_start sub_810E274
|
|
sub_810E274: @ 810E274
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x14
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 2
|
|
adds r4, r0
|
|
lsls r4, 3
|
|
ldr r0, _0810E340 @ =gUnknown_3005098
|
|
mov r9, r0
|
|
adds r6, r4, r0
|
|
movs r0, 0x4
|
|
bl sub_810EA9C
|
|
movs r0, 0
|
|
bl sub_810EAB4
|
|
mov r8, r0
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetFontAttribute
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
movs r5, 0x3
|
|
str r5, [sp, 0x4]
|
|
ldr r0, _0810E344 @ =gUnknown_8453F74
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0x8
|
|
movs r3, 0x2
|
|
bl PrintTextArray
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
bl GetFontAttribute
|
|
adds r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
str r0, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r5, 0
|
|
str r5, [sp, 0x8]
|
|
movs r0, 0x4
|
|
movs r1, 0x2
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_810F7D8
|
|
ldrh r0, [r6, 0x2]
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r1, _0810E348 @ =gStringVar1
|
|
bl sub_8099E90
|
|
ldr r6, _0810E34C @ =gStringVar4
|
|
ldr r1, _0810E350 @ =gUnknown_84162FF
|
|
adds r0, r6, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r5, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
mov r0, r8
|
|
movs r1, 0x2
|
|
adds r2, r6, 0
|
|
movs r3, 0
|
|
bl sub_810EA34
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r0, 0x8
|
|
negs r0, r0
|
|
add r9, r0
|
|
add r4, r9
|
|
ldr r0, _0810E354 @ =sub_810E358
|
|
str r0, [r4]
|
|
add sp, 0x14
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E340: .4byte gUnknown_3005098
|
|
_0810E344: .4byte gUnknown_8453F74
|
|
_0810E348: .4byte gStringVar1
|
|
_0810E34C: .4byte gStringVar4
|
|
_0810E350: .4byte gUnknown_84162FF
|
|
_0810E354: .4byte sub_810E358
|
|
thumb_func_end sub_810E274
|
|
|
|
thumb_func_start sub_810E358
|
|
sub_810E358: @ 810E358
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r6, r5, 0
|
|
bl ProcessMenuInputNoWrapAround
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0810E39A
|
|
adds r0, 0x1
|
|
cmp r4, r0
|
|
bne _0810E384
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
bl sub_810E8A0
|
|
b _0810E39A
|
|
_0810E384:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, _0810E3A0 @ =gUnknown_8453F74
|
|
lsls r1, r4, 3
|
|
adds r0, 0x4
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r6, 0
|
|
bl _call_via_r1
|
|
_0810E39A:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E3A0: .4byte gUnknown_8453F74
|
|
thumb_func_end sub_810E358
|
|
|
|
thumb_func_start sub_810E3A4
|
|
sub_810E3A4: @ 810E3A4
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r6, r0, 3
|
|
ldr r7, _0810E3F0 @ =gUnknown_3005098
|
|
adds r4, r6, r7
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0
|
|
bl sub_810EAF0
|
|
movs r0, 0x4
|
|
bl ClearWindowTilemap
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x10]
|
|
ldrh r0, [r4, 0x2]
|
|
bl sub_810DD80
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x1
|
|
bne _0810E3F4
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
adds r0, r5, 0
|
|
bl sub_810E418
|
|
b _0810E40E
|
|
.align 2, 0
|
|
_0810E3F0: .4byte gUnknown_3005098
|
|
_0810E3F4:
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
ldrh r0, [r4, 0x2]
|
|
bl sub_810E5E0
|
|
bl sub_810DB98
|
|
adds r0, r7, 0
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0810E414 @ =sub_810E6D8
|
|
str r1, [r0]
|
|
_0810E40E:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E414: .4byte sub_810E6D8
|
|
thumb_func_end sub_810E3A4
|
|
|
|
thumb_func_start sub_810E418
|
|
sub_810E418: @ 810E418
|
|
push {r4-r7,lr}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r6, r1, 3
|
|
ldr r7, _0810E49C @ =gUnknown_3005098
|
|
adds r5, r6, r7
|
|
ldrh r0, [r5, 0x2]
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
ldrh r1, [r5, 0x10]
|
|
adds r0, r4, 0
|
|
bl sub_809A084
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _0810E4B8
|
|
ldr r3, _0810E4A0 @ =0x0000ffff
|
|
movs r0, 0x1D
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl sub_80A2294
|
|
ldr r1, _0810E4A4 @ =gStringVar1
|
|
adds r0, r4, 0
|
|
bl sub_8099E90
|
|
ldr r0, _0810E4A8 @ =gStringVar2
|
|
movs r2, 0x10
|
|
ldrsh r1, [r5, r2]
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0810E4AC @ =gStringVar4
|
|
ldr r1, _0810E4B0 @ =gUnknown_84177C5
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x2
|
|
bl sub_810EAB4
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r0, r1, 0
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
movs r3, 0
|
|
bl PrintTextOnWindow
|
|
adds r0, r7, 0
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0810E4B4 @ =sub_810E4F4
|
|
b _0810E4E0
|
|
.align 2, 0
|
|
_0810E49C: .4byte gUnknown_3005098
|
|
_0810E4A0: .4byte 0x0000ffff
|
|
_0810E4A4: .4byte gStringVar1
|
|
_0810E4A8: .4byte gStringVar2
|
|
_0810E4AC: .4byte gStringVar4
|
|
_0810E4B0: .4byte gUnknown_84177C5
|
|
_0810E4B4: .4byte sub_810E4F4
|
|
_0810E4B8:
|
|
movs r0, 0x2
|
|
bl sub_810EAB4
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r2, _0810E4EC @ =gUnknown_841778A
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
str r0, [sp, 0x8]
|
|
adds r0, r1, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl PrintTextOnWindow
|
|
adds r0, r7, 0
|
|
subs r0, 0x8
|
|
adds r0, r6, r0
|
|
ldr r1, _0810E4F0 @ =sub_810E548
|
|
_0810E4E0:
|
|
str r1, [r0]
|
|
add sp, 0xC
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E4EC: .4byte gUnknown_841778A
|
|
_0810E4F0: .4byte sub_810E548
|
|
thumb_func_end sub_810E418
|
|
|
|
thumb_func_start sub_810E4F4
|
|
sub_810E4F4: @ 810E4F4
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r4, r0, 0
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0810E540 @ =gUnknown_3005098
|
|
adds r5, r0, r1
|
|
ldr r0, _0810E544 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810E51A
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E53A
|
|
_0810E51A:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrh r0, [r5, 0x2]
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrh r1, [r5, 0x10]
|
|
bl sub_809A460
|
|
bl sub_809A4E8
|
|
adds r0, r4, 0
|
|
bl sub_810E578
|
|
_0810E53A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E540: .4byte gUnknown_3005098
|
|
_0810E544: .4byte gMain
|
|
thumb_func_end sub_810E4F4
|
|
|
|
thumb_func_start sub_810E548
|
|
sub_810E548: @ 810E548
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _0810E574 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0810E562
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E56E
|
|
_0810E562:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r4, 0
|
|
bl sub_810E578
|
|
_0810E56E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E574: .4byte gMain
|
|
thumb_func_end sub_810E548
|
|
|
|
thumb_func_start sub_810E578
|
|
sub_810E578: @ 810E578
|
|
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, _0810E5D4 @ =gUnknown_3005098
|
|
adds r5, r0
|
|
movs r0, 0x2
|
|
bl sub_810EAF0
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r5]
|
|
ldr r4, _0810E5D8 @ =gUnknown_203ADD0
|
|
adds r2, r4, 0x2
|
|
adds r1, r4, 0
|
|
bl sub_810713C
|
|
bl sub_810DDA4
|
|
bl sub_810DBF0
|
|
bl sub_810D878
|
|
ldr r0, _0810E5DC @ =gUnknown_3005E70
|
|
subs r4, 0x4
|
|
ldrh r1, [r4, 0x4]
|
|
ldrh r2, [r4, 0x6]
|
|
bl ListMenuInit
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5]
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
adds r0, r6, 0
|
|
bl sub_810DFB0
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E5D4: .4byte gUnknown_3005098
|
|
_0810E5D8: .4byte gUnknown_203ADD0
|
|
_0810E5DC: .4byte gUnknown_3005E70
|
|
thumb_func_end sub_810E578
|
|
|
|
thumb_func_start sub_810E5E0
|
|
sub_810E5E0: @ 810E5E0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x14
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_810DD68
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldr r6, _0810E660 @ =gStringVar1
|
|
adds r1, r6, 0
|
|
bl sub_8099E90
|
|
ldr r5, _0810E664 @ =gStringVar4
|
|
ldr r1, _0810E668 @ =gUnknown_84177AC
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x1
|
|
bl sub_810EAB4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r4, 0
|
|
str r4, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl PrintTextOnWindow
|
|
adds r0, r6, 0
|
|
movs r1, 0x1
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r1, _0810E66C @ =gUnknown_84162B9
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x3
|
|
bl sub_810EA9C
|
|
movs r0, 0xA
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
str r4, [sp, 0x8]
|
|
str r4, [sp, 0xC]
|
|
str r0, [sp, 0x10]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0x8
|
|
bl sub_810EA34
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x14
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E660: .4byte gStringVar1
|
|
_0810E664: .4byte gStringVar4
|
|
_0810E668: .4byte gUnknown_84177AC
|
|
_0810E66C: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_810E5E0
|
|
|
|
thumb_func_start sub_810E670
|
|
sub_810E670: @ 810E670
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
movs r0, 0x1C
|
|
str r0, [sp]
|
|
movs r0, 0xC
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r1, 0x11
|
|
movs r2, 0xA
|
|
movs r3, 0xA
|
|
bl FillWindowPixelRect
|
|
ldr r0, _0810E6CC @ =gStringVar1
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r1, r4, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0810E6D0 @ =gStringVar4
|
|
ldr r1, _0810E6D4 @ =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]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0x8
|
|
bl sub_810EA34
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E6CC: .4byte gStringVar1
|
|
_0810E6D0: .4byte gStringVar4
|
|
_0810E6D4: .4byte gUnknown_84162B9
|
|
thumb_func_end sub_810E670
|
|
|
|
thumb_func_start sub_810E6D8
|
|
sub_810E6D8: @ 810E6D8
|
|
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, _0810E708 @ =gUnknown_3005098
|
|
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 _0810E70C
|
|
movs r1, 0x10
|
|
ldrsh r0, [r4, r1]
|
|
bl sub_810E670
|
|
b _0810E796
|
|
.align 2, 0
|
|
_0810E708: .4byte gUnknown_3005098
|
|
_0810E70C:
|
|
ldr r0, _0810E74C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E750
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x1
|
|
bl sub_810EAF0
|
|
movs r0, 0x3
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_810DAB4
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_810DBD0
|
|
adds r0, r5, 0
|
|
bl sub_810E418
|
|
b _0810E796
|
|
.align 2, 0
|
|
_0810E74C: .4byte gMain
|
|
_0810E750:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E796
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0x1
|
|
bl sub_810EAF0
|
|
movs r0, 0x3
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_810DAB4
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
bl sub_810DBD0
|
|
adds r0, r6, 0
|
|
bl sub_810DFB0
|
|
_0810E796:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810E6D8
|
|
|
|
thumb_func_start sub_810E79C
|
|
sub_810E79C: @ 810E79C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0810E7DC
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0
|
|
bl sub_810EAF0
|
|
movs r0, 0x4
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
ldr r1, _0810E7D4 @ =gUnknown_841632A
|
|
ldr r2, _0810E7D8 @ =sub_810E848
|
|
adds r0, r4, 0
|
|
bl sub_810EB30
|
|
b _0810E7EA
|
|
.align 2, 0
|
|
_0810E7D4: .4byte gUnknown_841632A
|
|
_0810E7D8: .4byte sub_810E848
|
|
_0810E7DC:
|
|
ldr r0, _0810E7F0 @ =gUnknown_203ADBC
|
|
ldr r1, [r0]
|
|
ldr r0, _0810E7F4 @ =sub_810E7F8
|
|
str r0, [r1]
|
|
adds r0, r4, 0
|
|
bl sub_810DC8C
|
|
_0810E7EA:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E7F0: .4byte gUnknown_203ADBC
|
|
_0810E7F4: .4byte sub_810E7F8
|
|
thumb_func_end sub_810E79C
|
|
|
|
thumb_func_start sub_810E7F8
|
|
sub_810E7F8: @ 810E7F8
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x6
|
|
str r0, [sp]
|
|
ldr r0, _0810E82C @ =sub_811FB28
|
|
str r0, [sp, 0x4]
|
|
ldr r0, _0810E830 @ =sub_810E838
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
movs r3, 0
|
|
bl sub_811EA44
|
|
bl sub_810DD54
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_810DD68
|
|
ldr r1, _0810E834 @ =gUnknown_203B0A0
|
|
strh r0, [r1, 0xC]
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E82C: .4byte sub_811FB28
|
|
_0810E830: .4byte sub_810E838
|
|
_0810E834: .4byte gUnknown_203B0A0
|
|
thumb_func_end sub_810E7F8
|
|
|
|
thumb_func_start sub_810E838
|
|
sub_810E838: @ 810E838
|
|
push {lr}
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_810D3F4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810E838
|
|
|
|
thumb_func_start sub_810E848
|
|
sub_810E848: @ 810E848
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _0810E898 @ =gUnknown_3005098
|
|
adds r5, r0, r1
|
|
ldr r0, _0810E89C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0810E892
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
movs r0, 0x5
|
|
movs r1, 0
|
|
bl sub_810F260
|
|
movs r0, 0x5
|
|
bl ClearWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_810DAB4
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
adds r0, r4, 0
|
|
bl sub_810DFB0
|
|
_0810E892:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E898: .4byte gUnknown_3005098
|
|
_0810E89C: .4byte gMain
|
|
thumb_func_end sub_810E848
|
|
|
|
thumb_func_start sub_810E8A0
|
|
sub_810E8A0: @ 810E8A0
|
|
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, _0810E8EC @ =gUnknown_3005098
|
|
adds r4, r0
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
movs r0, 0
|
|
bl sub_810EAF0
|
|
movs r0, 0x4
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0x1
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_810DAB4
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
adds r0, r5, 0
|
|
bl sub_810DFB0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E8EC: .4byte gUnknown_3005098
|
|
thumb_func_end sub_810E8A0
|
|
|
|
thumb_func_start sub_810E8F0
|
|
sub_810E8F0: @ 810E8F0
|
|
push {r4,lr}
|
|
ldr r0, _0810E974 @ =gUnknown_8453F98
|
|
bl InitWindows
|
|
bl DeactivateAllTextPrinters
|
|
movs r1, 0xF0
|
|
lsls r1, 2
|
|
movs r0, 0
|
|
movs r2, 0xE0
|
|
bl sub_815001C
|
|
ldr r1, _0810E978 @ =0x000003a3
|
|
movs r0, 0
|
|
movs r2, 0xC0
|
|
bl sub_814FF2C
|
|
movs r1, 0xEB
|
|
lsls r1, 2
|
|
movs r0, 0
|
|
movs r2, 0xB0
|
|
bl sub_814FEAC
|
|
movs r0, 0x2
|
|
bl stdpal_get
|
|
movs r1, 0xD0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
ldr r0, _0810E97C @ =gUnknown_841F408
|
|
movs r1, 0xF0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r4, 0
|
|
_0810E938:
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
adds r0, r4, 0
|
|
bl PutWindowTilemap
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bls _0810E938
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
movs r4, 0
|
|
ldr r3, _0810E980 @ =gUnknown_203ADD8
|
|
movs r2, 0xFF
|
|
_0810E95C:
|
|
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, 0x2
|
|
bls _0810E95C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810E974: .4byte gUnknown_8453F98
|
|
_0810E978: .4byte 0x000003a3
|
|
_0810E97C: .4byte gUnknown_841F408
|
|
_0810E980: .4byte gUnknown_203ADD8
|
|
thumb_func_end sub_810E8F0
|
|
|
|
thumb_func_start sub_810E984
|
|
sub_810E984: @ 810E984
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x10
|
|
ldr r6, [sp, 0x28]
|
|
ldr r4, [sp, 0x2C]
|
|
mov r8, r4
|
|
ldr r4, [sp, 0x30]
|
|
mov r9, r4
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
mov r4, r8
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r8, r4
|
|
mov r4, r9
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r9, r4
|
|
str r1, [sp]
|
|
mov r1, sp
|
|
strb r0, [r1, 0x4]
|
|
movs r0, 0x3
|
|
strb r0, [r1, 0x5]
|
|
mov r0, sp
|
|
strb r2, [r0, 0x6]
|
|
strb r3, [r0, 0x7]
|
|
strb r2, [r0, 0x8]
|
|
strb r3, [r0, 0x9]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r5, 0xF
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r4, 0x10
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
strb r0, [r2, 0xD]
|
|
mov r1, sp
|
|
movs r0, 0x30
|
|
strb r0, [r1, 0xD]
|
|
movs r0, 0x3
|
|
movs r1, 0x4
|
|
bl GetFontAttribute
|
|
mov r1, sp
|
|
ands r5, r0
|
|
ldrb r0, [r1, 0xC]
|
|
ands r4, r0
|
|
orrs r4, r5
|
|
strb r4, [r1, 0xC]
|
|
movs r0, 0x3
|
|
movs r1, 0x2
|
|
bl GetFontAttribute
|
|
mov r1, sp
|
|
adds r6, r0
|
|
strb r6, [r1, 0xA]
|
|
movs r0, 0x3
|
|
movs r1, 0x3
|
|
bl GetFontAttribute
|
|
mov r1, sp
|
|
add r8, r0
|
|
mov r0, r8
|
|
strb r0, [r1, 0xB]
|
|
mov r0, sp
|
|
mov r1, r9
|
|
movs r2, 0
|
|
bl AddTextPrinter
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810E984
|
|
|
|
thumb_func_start sub_810EA34
|
|
sub_810EA34: @ 810EA34
|
|
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, _0810EA98 @ =gUnknown_8453F8C
|
|
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
|
|
_0810EA98: .4byte gUnknown_8453F8C
|
|
thumb_func_end sub_810EA34
|
|
|
|
thumb_func_start sub_810EA9C
|
|
sub_810EA9C: @ 810EA9C
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0xF0
|
|
lsls r2, 2
|
|
movs r1, 0
|
|
movs r3, 0xE
|
|
bl SetWindowBorderStyle
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810EA9C
|
|
|
|
thumb_func_start sub_810EAB4
|
|
sub_810EAB4: @ 810EAB4
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r0, _0810EAE4 @ =gUnknown_203ADD8
|
|
adds r4, r1, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
bne _0810EADC
|
|
lsls r0, r1, 3
|
|
ldr r1, _0810EAE8 @ =gUnknown_8453FD0
|
|
adds r0, r1
|
|
bl AddWindow
|
|
strb r0, [r4]
|
|
ldrb r0, [r4]
|
|
ldr r2, _0810EAEC @ =0x000003a3
|
|
movs r1, 0x1
|
|
movs r3, 0xC
|
|
bl SetWindowBorderStyle
|
|
_0810EADC:
|
|
ldrb r0, [r4]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0810EAE4: .4byte gUnknown_203ADD8
|
|
_0810EAE8: .4byte gUnknown_8453FD0
|
|
_0810EAEC: .4byte 0x000003a3
|
|
thumb_func_end sub_810EAB4
|
|
|
|
thumb_func_start sub_810EAF0
|
|
sub_810EAF0: @ 810EAF0
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _0810EB1C @ =gUnknown_203ADD8
|
|
adds r4, r0
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
bl sub_810F4D8
|
|
ldrb r0, [r4]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0810EB1C: .4byte gUnknown_203ADD8
|
|
thumb_func_end sub_810EAF0
|
|
|
|
thumb_func_start sub_810EB20
|
|
sub_810EB20: @ 810EB20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _0810EB2C @ =gUnknown_203ADD8
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0810EB2C: .4byte gUnknown_203ADD8
|
|
thumb_func_end sub_810EB20
|
|
|
|
thumb_func_start sub_810EB30
|
|
sub_810EB30: @ 810EB30
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80F78A8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0xEB
|
|
lsls r2, 2
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
str r0, [sp, 0x4]
|
|
str r5, [sp, 0x8]
|
|
str r6, [sp, 0xC]
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
movs r3, 0xB
|
|
bl DisplayMessageAndContinueTask
|
|
movs r0, 0
|
|
bl schedule_bg_copy_tilemap_to_vram
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_810EB30
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|