mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 19:54:21 +01:00
4268 lines
65 KiB
ArmAsm
4268 lines
65 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start do_choose_name_or_words_screen
|
|
@ int do_choose_name_or_words_screen(u8 type, sav2 *sav2_ptr, s16 player_gender, s16 a4, int a5, void ( *after_finishing_callback)())
|
|
do_choose_name_or_words_screen: @ 80E2D78
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r2, 16
|
|
lsrs r5, r2, 16
|
|
lsls r3, 16
|
|
lsrs r6, r3, 16
|
|
ldr r4, =gUnknown_02039F94
|
|
movs r0, 0xF2
|
|
lsls r0, 5
|
|
bl Alloc
|
|
str r0, [r4]
|
|
cmp r0, 0
|
|
bne _080E2DA8
|
|
ldr r0, [sp, 0x1C]
|
|
bl SetMainCallback2
|
|
b _080E2DE2
|
|
.pool
|
|
_080E2DA8:
|
|
ldr r1, =0x00001e2c
|
|
adds r0, r1
|
|
strb r7, [r0]
|
|
ldr r0, [r4]
|
|
ldr r2, =0x00001e34
|
|
adds r1, r0, r2
|
|
strh r5, [r1]
|
|
adds r2, 0x2
|
|
adds r1, r0, r2
|
|
strh r6, [r1]
|
|
ldr r1, =0x00001e38
|
|
adds r2, r0, r1
|
|
ldr r1, [sp, 0x18]
|
|
str r1, [r2]
|
|
ldr r2, =0x00001e30
|
|
adds r1, r0, r2
|
|
mov r2, r8
|
|
str r2, [r1]
|
|
ldr r1, =0x00001e3c
|
|
adds r0, r1
|
|
ldr r2, [sp, 0x1C]
|
|
str r2, [r0]
|
|
cmp r7, 0
|
|
bne _080E2DDC
|
|
bl StartTimer1
|
|
_080E2DDC:
|
|
ldr r0, =c2_choose_name_or_words_screen
|
|
bl SetMainCallback2
|
|
_080E2DE2:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end do_choose_name_or_words_screen
|
|
|
|
thumb_func_start c2_choose_name_or_words_screen
|
|
c2_choose_name_or_words_screen: @ 80E2E04
|
|
push {lr}
|
|
ldr r0, =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7
|
|
bhi _080E2E9C
|
|
lsls r0, 2
|
|
ldr r1, =_080E2E28
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_080E2E28:
|
|
.4byte _080E2E48
|
|
.4byte _080E2E52
|
|
.4byte _080E2E58
|
|
.4byte _080E2E5E
|
|
.4byte _080E2E68
|
|
.4byte _080E2E6E
|
|
.4byte _080E2E74
|
|
.4byte _080E2E7A
|
|
_080E2E48:
|
|
bl sub_80E4F70
|
|
bl choose_name_or_words_screen_setup
|
|
b _080E2E86
|
|
_080E2E52:
|
|
bl choose_name_or_words_screen_init_bgs
|
|
b _080E2E86
|
|
_080E2E58:
|
|
bl ResetPaletteFade
|
|
b _080E2E86
|
|
_080E2E5E:
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
b _080E2E86
|
|
_080E2E68:
|
|
bl ResetTasks
|
|
b _080E2E86
|
|
_080E2E6E:
|
|
bl choose_name_or_words_screen_apply_bg_pals
|
|
b _080E2E86
|
|
_080E2E74:
|
|
bl choose_name_or_words_screen_load_bg_tile_patterns
|
|
b _080E2E86
|
|
_080E2E7A:
|
|
bl sub_80E3CC8
|
|
bl UpdatePaletteFade
|
|
bl sub_80E501C
|
|
_080E2E86:
|
|
ldr r1, =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _080E2EA4
|
|
.pool
|
|
_080E2E9C:
|
|
bl sub_80E4CB8
|
|
bl sub_80E3194
|
|
_080E2EA4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end c2_choose_name_or_words_screen
|
|
|
|
thumb_func_start choose_name_or_words_screen_setup
|
|
@ void choose_name_or_words_screen_setup()
|
|
choose_name_or_words_screen_setup: @ 80E2EA8
|
|
push {r4-r7,lr}
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r2, 0
|
|
strb r2, [r0]
|
|
ldr r1, [r5]
|
|
ldr r3, =0x00001e18
|
|
adds r0, r1, r3
|
|
movs r4, 0
|
|
strh r2, [r0]
|
|
ldr r7, =0x00001e1a
|
|
adds r0, r1, r7
|
|
strh r2, [r0]
|
|
ldr r0, =0x00001e1c
|
|
adds r2, r1, r0
|
|
movs r3, 0x1
|
|
movs r0, 0x1
|
|
strh r0, [r2]
|
|
adds r7, 0x4
|
|
adds r2, r1, r7
|
|
movs r0, 0x2
|
|
strh r0, [r2]
|
|
movs r0, 0xF1
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
strb r4, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e21
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
ldr r1, [r5]
|
|
ldr r6, =0x00001e28
|
|
adds r3, r1, r6
|
|
ldr r2, =gUnknown_0858BFD8
|
|
ldr r4, =0x00001e2c
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
ldrb r0, [r0, 0x4]
|
|
ldr r2, =0x00001e22
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
ldr r2, [r5]
|
|
adds r0, r2, r6
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x1]
|
|
lsls r1, 3
|
|
movs r0, 0xF0
|
|
subs r0, r1
|
|
asrs r3, r0, 1
|
|
adds r0, r3, 0x6
|
|
subs r7, 0x8
|
|
adds r1, r2, r7
|
|
strh r0, [r1]
|
|
adds r2, r4
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x4
|
|
bne _080E2F2C
|
|
adds r0, r3, 0
|
|
adds r0, 0x11
|
|
strh r0, [r1]
|
|
_080E2F2C:
|
|
ldr r0, [r5]
|
|
ldr r4, =gKeyRepeatStartDelay
|
|
ldrh r1, [r4]
|
|
ldr r2, =0x00001e25
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
movs r3, 0xC0
|
|
lsls r3, 5
|
|
adds r0, r3
|
|
movs r1, 0xFF
|
|
movs r2, 0x10
|
|
bl memset
|
|
ldr r1, [r5]
|
|
adds r0, r1, r6
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080E2F64
|
|
movs r7, 0xC0
|
|
lsls r7, 5
|
|
adds r0, r1, r7
|
|
ldr r2, =0x00001e30
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
_080E2F64:
|
|
movs r0, 0x10
|
|
strh r0, [r4]
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end choose_name_or_words_screen_setup
|
|
|
|
thumb_func_start sub_80E2FA4
|
|
sub_80E2FA4: @ 80E2FA4
|
|
push {r4,r5,lr}
|
|
movs r3, 0
|
|
ldr r4, =gSprites
|
|
movs r5, 0x5
|
|
negs r5, r5
|
|
_080E2FAE:
|
|
lsls r0, r3, 4
|
|
adds r0, r3
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
adds r2, r0, 0
|
|
adds r2, 0x3E
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 31
|
|
cmp r0, 0
|
|
beq _080E2FC8
|
|
adds r0, r5, 0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_080E2FC8:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x3F
|
|
bls _080E2FAE
|
|
movs r0, 0
|
|
bl sub_80E3E3C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E2FA4
|
|
|
|
thumb_func_start choose_name_or_words_screen_init_bgs
|
|
choose_name_or_words_screen_init_bgs: @ 80E2FE4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
movs r3, 0xC0
|
|
lsls r3, 19
|
|
movs r4, 0xC0
|
|
lsls r4, 9
|
|
add r0, sp, 0xC
|
|
mov r8, r0
|
|
add r2, sp, 0x8
|
|
movs r6, 0
|
|
ldr r1, =0x040000d4
|
|
movs r5, 0x80
|
|
lsls r5, 5
|
|
ldr r7, =0x81000800
|
|
movs r0, 0x81
|
|
lsls r0, 24
|
|
mov r12, r0
|
|
_080E300A:
|
|
strh r6, [r2]
|
|
add r0, sp, 0x8
|
|
str r0, [r1]
|
|
str r3, [r1, 0x4]
|
|
str r7, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
adds r3, r5
|
|
subs r4, r5
|
|
cmp r4, r5
|
|
bhi _080E300A
|
|
strh r6, [r2]
|
|
add r2, sp, 0x8
|
|
str r2, [r1]
|
|
str r3, [r1, 0x4]
|
|
lsrs r0, r4, 1
|
|
mov r2, r12
|
|
orrs r0, r2
|
|
str r0, [r1, 0x8]
|
|
ldr r0, [r1, 0x8]
|
|
movs r0, 0xE0
|
|
lsls r0, 19
|
|
movs r3, 0x80
|
|
lsls r3, 3
|
|
movs r4, 0
|
|
str r4, [sp, 0xC]
|
|
ldr r2, =0x040000d4
|
|
mov r1, r8
|
|
str r1, [r2]
|
|
str r0, [r2, 0x4]
|
|
lsrs r0, r3, 2
|
|
movs r1, 0x85
|
|
lsls r1, 24
|
|
orrs r0, r1
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r1, 0xA0
|
|
lsls r1, 19
|
|
add r0, sp, 0x8
|
|
strh r4, [r0]
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
lsrs r3, 1
|
|
movs r0, 0x81
|
|
lsls r0, 24
|
|
orrs r3, r0
|
|
str r3, [r2, 0x8]
|
|
ldr r0, [r2, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, =gUnknown_0858BE00
|
|
movs r0, 0
|
|
movs r2, 0x4
|
|
bl InitBgsFromTemplates
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgX
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ChangeBgY
|
|
bl sub_81971D0
|
|
bl sub_8197200
|
|
_080E30D8:
|
|
lsls r0, r4, 3
|
|
ldr r1, =gUnknown_0858BE10
|
|
adds r0, r1
|
|
bl AddWindow
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r1, [r5]
|
|
ldr r2, =0x00001e11
|
|
adds r1, r2
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x4
|
|
bls _080E30D8
|
|
movs r1, 0x82
|
|
lsls r1, 5
|
|
movs r0, 0
|
|
bl SetGpuReg
|
|
movs r1, 0xC8
|
|
lsls r1, 3
|
|
movs r0, 0x50
|
|
bl SetGpuReg
|
|
ldr r1, =0x0000080c
|
|
movs r0, 0x52
|
|
bl SetGpuReg
|
|
ldr r1, [r5]
|
|
movs r0, 0x1
|
|
bl SetBgTilemapBuffer
|
|
ldr r1, [r5]
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
movs r0, 0x2
|
|
bl SetBgTilemapBuffer
|
|
ldr r1, [r5]
|
|
movs r2, 0x80
|
|
lsls r2, 5
|
|
adds r1, r2
|
|
movs r0, 0x3
|
|
bl SetBgTilemapBuffer
|
|
movs r4, 0x20
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
str r4, [sp]
|
|
str r4, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect_Palette0
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end choose_name_or_words_screen_init_bgs
|
|
|
|
thumb_func_start sub_80E3194
|
|
sub_80E3194: @ 80E3194
|
|
push {lr}
|
|
ldr r0, =sub_80E31B0
|
|
movs r1, 0x2
|
|
bl CreateTask
|
|
ldr r0, =sub_80E4F58
|
|
bl SetMainCallback2
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3194
|
|
|
|
thumb_func_start sub_80E31B0
|
|
sub_80E31B0: @ 80E31B0
|
|
push {lr}
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x9
|
|
bhi _080E3240
|
|
lsls r0, 2
|
|
ldr r1, =_080E31D8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_080E31D8:
|
|
.4byte _080E3200
|
|
.4byte _080E320E
|
|
.4byte _080E3218
|
|
.4byte _080E3214
|
|
.4byte _080E321E
|
|
.4byte _080E3224
|
|
.4byte _080E322A
|
|
.4byte _080E3230
|
|
.4byte _080E3236
|
|
.4byte _080E323C
|
|
_080E3200:
|
|
bl sub_80E3294
|
|
bl sub_80E2FA4
|
|
bl sub_80E4F84
|
|
b _080E3240
|
|
_080E320E:
|
|
bl sub_80E335C
|
|
b _080E3240
|
|
_080E3214:
|
|
bl sub_80E33A8
|
|
_080E3218:
|
|
bl sub_80E3398
|
|
b _080E3240
|
|
_080E321E:
|
|
bl sub_80E3640
|
|
b _080E3240
|
|
_080E3224:
|
|
bl sub_80E3680
|
|
b _080E3240
|
|
_080E322A:
|
|
bl pokemon_store
|
|
b _080E3240
|
|
_080E3230:
|
|
bl sub_80E3604
|
|
b _080E3240
|
|
_080E3236:
|
|
bl sub_80E3448
|
|
b _080E3240
|
|
_080E323C:
|
|
bl sub_80E347C
|
|
_080E3240:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E31B0
|
|
|
|
thumb_func_start sub_80E3244
|
|
sub_80E3244: @ 80E3244
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =gUnknown_0858BEBB
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E3244
|
|
|
|
thumb_func_start sub_80E3254
|
|
sub_80E3254: @ 80E3254
|
|
ldr r1, =gUnknown_0858BEBE
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e22
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E3254
|
|
|
|
thumb_func_start sub_80E3274
|
|
sub_80E3274: @ 80E3274
|
|
ldr r1, =gUnknown_0858BEC1
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e22
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E3274
|
|
|
|
thumb_func_start sub_80E3294
|
|
sub_80E3294: @ 80E3294
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r1, =gUnknown_08DD4544
|
|
movs r0, 0x3
|
|
bl sub_80E4CF8
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e22
|
|
adds r0, r1
|
|
movs r6, 0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r1, =gUnknown_08DD46E0
|
|
movs r0, 0x2
|
|
bl sub_80E4CF8
|
|
ldr r1, =gUnknown_08DD4620
|
|
movs r0, 0x1
|
|
bl sub_80E4CF8
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e12
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl sub_80E4DE4
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e11
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0x1
|
|
bl sub_80E4DE4
|
|
movs r0, 0x2
|
|
movs r1, 0
|
|
bl nullsub_10
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
bl nullsub_10
|
|
bl sub_80E4D10
|
|
bl sub_80E4964
|
|
bl sub_80E4EF0
|
|
movs r0, 0x1
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x2
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x3
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
movs r2, 0
|
|
bl BlendPalettes
|
|
str r6, [sp]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, [r5]
|
|
ldr r0, =0x00001e10
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3294
|
|
|
|
thumb_func_start sub_80E335C
|
|
sub_80E335C: @ 80E335C
|
|
push {lr}
|
|
ldr r0, =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080E3384
|
|
movs r0, 0x1
|
|
bl sub_80E4630
|
|
movs r0, 0x1
|
|
bl sub_80E3E94
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00001e10
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
_080E3384:
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E335C
|
|
|
|
thumb_func_start sub_80E3398
|
|
sub_80E3398: @ 80E3398
|
|
push {lr}
|
|
bl sub_80E44BC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E3398
|
|
|
|
thumb_func_start sub_80E33A8
|
|
sub_80E33A8: @ 80E33A8
|
|
push {lr}
|
|
bl sub_80E3F04
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080E33CA
|
|
movs r0, 0x1
|
|
bl sub_80E4630
|
|
bl sub_80E3E28
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
strb r1, [r0]
|
|
_080E33CA:
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E33A8
|
|
|
|
thumb_func_start pokemon_store
|
|
pokemon_store: @ 80E33D8
|
|
push {r4,lr}
|
|
bl sub_80E4BE4
|
|
movs r0, 0
|
|
bl sub_80E4630
|
|
movs r0, 0
|
|
bl sub_80E3E94
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80E3948
|
|
ldr r4, =gUnknown_02039F94
|
|
ldr r0, [r4]
|
|
ldr r1, =0x00001e2c
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2
|
|
bne _080E342C
|
|
bl CalculatePlayerPartyCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
bls _080E342C
|
|
bl pokemon_transfer_to_pc_with_message
|
|
ldr r0, [r4]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x7
|
|
strb r1, [r0]
|
|
movs r0, 0
|
|
b _080E343A
|
|
.pool
|
|
_080E342C:
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
_080E343A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end pokemon_store
|
|
|
|
thumb_func_start sub_80E3448
|
|
sub_80E3448: @ 80E3448
|
|
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, =gUnknown_02039F94
|
|
ldr r1, [r0]
|
|
ldr r0, =0x00001e10
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
add sp, 0x4
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3448
|
|
|
|
thumb_func_start sub_80E347C
|
|
sub_80E347C: @ 80E347C
|
|
push {r4,r5,lr}
|
|
ldr r0, =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _080E34C6
|
|
ldr r4, =gUnknown_02039F94
|
|
ldr r0, [r4]
|
|
ldr r1, =0x00001e2c
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080E34A0
|
|
bl SeedRngAndSetTrainerId
|
|
_080E34A0:
|
|
ldr r0, [r4]
|
|
ldr r1, =0x00001e3c
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl SetMainCallback2
|
|
ldr r0, =sub_80E31B0
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl DestroyTask
|
|
bl FreeAllWindowBuffers
|
|
ldr r0, [r4]
|
|
bl Free
|
|
str r5, [r4]
|
|
_080E34C6:
|
|
movs r0, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E347C
|
|
|
|
thumb_func_start pokemon_transfer_to_pc_with_message
|
|
pokemon_transfer_to_pc_with_message: @ 80E34E4
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
movs r5, 0
|
|
bl sub_813B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080E3534
|
|
ldr r4, =gStringVar1
|
|
ldr r0, =0x00004036
|
|
bl VarGet
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sav3_get_box_name
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, =gStringVar2
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00001e30
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
b _080E3574
|
|
.pool
|
|
_080E3534:
|
|
ldr r4, =gStringVar1
|
|
ldr r0, =0x00004036
|
|
bl VarGet
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sav3_get_box_name
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, =gStringVar2
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00001e30
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r4, =gStringVar3
|
|
bl get_unknown_box_id
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sav3_get_box_name
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
movs r5, 0x2
|
|
_080E3574:
|
|
ldr r0, =0x000008ab
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080E3586
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_080E3586:
|
|
ldr r4, =gStringVar4
|
|
ldr r1, =gUnknown_0858BDB8
|
|
lsls r0, r5, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_81973C4
|
|
ldr r2, =gTextFlags
|
|
ldrb r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
bl sav2_get_text_speed
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
adds r2, r4, 0
|
|
bl AddTextPrinterParametrized
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end pokemon_transfer_to_pc_with_message
|
|
|
|
thumb_func_start sub_80E3604
|
|
sub_80E3604: @ 80E3604
|
|
push {lr}
|
|
bl RunTextPrinters
|
|
movs r0, 0
|
|
bl IsTextPrinterActive
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080E362E
|
|
ldr r0, =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E362E
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
strb r1, [r0]
|
|
_080E362E:
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3604
|
|
|
|
thumb_func_start sub_80E3640
|
|
sub_80E3640: @ 80E3640
|
|
push {lr}
|
|
movs r0, 0
|
|
bl sub_80E4630
|
|
bl sub_80E4050
|
|
bl sub_80E373C
|
|
movs r0, 0x1
|
|
bl sub_80E3E3C
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80E3948
|
|
movs r0, 0x6
|
|
bl PlaySE
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x5
|
|
strb r1, [r0]
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3640
|
|
|
|
thumb_func_start sub_80E3680
|
|
sub_80E3680: @ 80E3680
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
bl sub_80E3794
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080E3732
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_80E3DFC
|
|
bl sub_80E3F70
|
|
movs r5, 0
|
|
mov r1, sp
|
|
movs r2, 0
|
|
ldrsh r1, [r1, r2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r6, r4, 0
|
|
cmp r1, r0
|
|
bne _080E36B2
|
|
movs r5, 0x1
|
|
_080E36B2:
|
|
ldr r2, =gUnknown_02039F94
|
|
ldr r0, [r2]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
strb r1, [r0]
|
|
ldr r1, [r2]
|
|
ldr r3, =0x00001e22
|
|
adds r1, r3
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r4, [r2]
|
|
adds r4, r3
|
|
ldrb r0, [r4]
|
|
movs r1, 0x3
|
|
bl __umodsi3
|
|
strb r0, [r4]
|
|
cmp r5, 0
|
|
beq _080E36F4
|
|
mov r4, sp
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _080E3712
|
|
.pool
|
|
_080E36F4:
|
|
mov r0, sp
|
|
movs r2, 0
|
|
ldrsh r4, [r0, r2]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
blt _080E3714
|
|
mov r4, sp
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
_080E3712:
|
|
strh r0, [r4]
|
|
_080E3714:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r6, r2]
|
|
bl sub_80E3D78
|
|
bl sub_80E4E5C
|
|
movs r0, 0x1
|
|
bl sub_80E4630
|
|
movs r0, 0
|
|
bl sub_80E3E3C
|
|
_080E3732:
|
|
movs r0, 0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E3680
|
|
|
|
thumb_func_start sub_80E373C
|
|
sub_80E373C: @ 80E373C
|
|
push {r4,lr}
|
|
ldr r4, =sub_80E375C
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl _call_via_r4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E373C
|
|
|
|
thumb_func_start sub_80E375C
|
|
sub_80E375C: @ 80E375C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, =gUnknown_0858BEC4
|
|
ldr r2, =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r4, r1, r2
|
|
_080E376E:
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl _call_via_r1
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080E376E
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E375C
|
|
|
|
thumb_func_start sub_80E3794
|
|
sub_80E3794: @ 80E3794
|
|
push {lr}
|
|
ldr r0, =sub_80E375C
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _080E37AC
|
|
movs r0, 0
|
|
b _080E37AE
|
|
.pool
|
|
_080E37AC:
|
|
movs r0, 0x1
|
|
_080E37AE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E3794
|
|
|
|
thumb_func_start sub_80E37B4
|
|
sub_80E37B4: @ 80E37B4
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r3, =0x00001e18
|
|
adds r2, r1, r3
|
|
movs r3, 0
|
|
strh r3, [r2]
|
|
ldr r2, =0x00001e1a
|
|
adds r1, r2
|
|
strh r3, [r1]
|
|
ldrh r1, [r0, 0x8]
|
|
adds r1, 0x1
|
|
strh r1, [r0, 0x8]
|
|
movs r0, 0
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E37B4
|
|
|
|
thumb_func_start sub_80E37DC
|
|
sub_80E37DC: @ 80E37DC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r2, =0x00001e1a
|
|
adds r1, r0, r2
|
|
str r1, [sp]
|
|
ldr r1, =0x00001e18
|
|
adds r0, r1
|
|
str r0, [sp, 0x4]
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x4
|
|
strh r0, [r4, 0xA]
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
movs r1, 0x28
|
|
bl Sin
|
|
ldr r1, [r5]
|
|
movs r2, 0xF1
|
|
lsls r2, 5
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
add r1, sp
|
|
ldr r1, [r1]
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x80
|
|
movs r1, 0xFF
|
|
ands r0, r1
|
|
movs r1, 0x28
|
|
bl Sin
|
|
ldr r1, [r5]
|
|
ldr r2, =0x00001e21
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
add r1, sp
|
|
ldr r1, [r1]
|
|
strh r0, [r1]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x3F
|
|
ble _080E3852
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e1c
|
|
adds r2, r0, r1
|
|
ldrb r3, [r2]
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
strh r1, [r2]
|
|
strh r3, [r0]
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
_080E3852:
|
|
movs r0, 0
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E37DC
|
|
|
|
thumb_func_start sub_80E3870
|
|
sub_80E3870: @ 80E3870
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r2, =0x00001e1a
|
|
adds r1, r0, r2
|
|
str r1, [sp]
|
|
ldr r3, =0x00001e18
|
|
adds r0, r3
|
|
str r0, [sp, 0x4]
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x4
|
|
strh r0, [r4, 0xA]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
movs r1, 0x28
|
|
bl Sin
|
|
ldr r1, [r5]
|
|
movs r2, 0xF1
|
|
lsls r2, 5
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
add r1, sp
|
|
ldr r1, [r1]
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, 0xA]
|
|
adds r0, 0x80
|
|
movs r1, 0xFF
|
|
ands r0, r1
|
|
movs r1, 0x28
|
|
bl Sin
|
|
ldr r1, [r5]
|
|
ldr r3, =0x00001e21
|
|
adds r1, r3
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
add r1, sp
|
|
ldr r1, [r1]
|
|
strh r0, [r1]
|
|
movs r1, 0xA
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x7F
|
|
ble _080E38EA
|
|
ldr r0, [r5]
|
|
movs r2, 0xF1
|
|
lsls r2, 5
|
|
adds r1, r0, r2
|
|
ldrb r2, [r1]
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
adds r0, r3
|
|
strb r2, [r0]
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
_080E38EA:
|
|
movs r0, 0
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3870
|
|
|
|
thumb_func_start sub_80E3904
|
|
sub_80E3904: @ 80E3904
|
|
push {lr}
|
|
ldr r0, =sub_80E375C
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl DestroyTask
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3904
|
|
|
|
thumb_func_start sub_80E3920
|
|
sub_80E3920: @ 80E3920
|
|
push {lr}
|
|
ldr r0, =c3_0809E58C
|
|
movs r1, 0x3
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r0, 0x3
|
|
strh r0, [r1, 0x8]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3920
|
|
|
|
thumb_func_start sub_80E3948
|
|
sub_80E3948: @ 80E3948
|
|
push {r4-r7,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 24
|
|
lsrs r7, r1, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldr r0, =c3_0809E58C
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, =gTasks
|
|
adds r4, r1, r0
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r5, r0
|
|
bne _080E3988
|
|
cmp r6, 0
|
|
bne _080E3988
|
|
strh r7, [r4, 0xA]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0xC]
|
|
b _080E39B4
|
|
.pool
|
|
_080E3988:
|
|
cmp r5, 0x3
|
|
bne _080E3998
|
|
movs r2, 0xA
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
bne _080E3998
|
|
cmp r6, 0
|
|
beq _080E39B4
|
|
_080E3998:
|
|
ldrh r1, [r4, 0x8]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x3
|
|
beq _080E39AA
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
bl sub_80E3AE8
|
|
_080E39AA:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
adds r2, r7, 0
|
|
bl sub_80E3B10
|
|
_080E39B4:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E3948
|
|
|
|
thumb_func_start c3_0809E58C
|
|
c3_0809E58C: @ 80E39BC
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, =gTasks
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4, 0x8]
|
|
movs r2, 0x8
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x3
|
|
beq _080E3A6E
|
|
movs r3, 0xC
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0
|
|
beq _080E3A6E
|
|
lsls r0, r1, 24
|
|
lsrs r0, 24
|
|
bl sub_80E3A74
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r3, [r4, 0xE]
|
|
adds r1, r3, 0
|
|
adds r2, r3, 0
|
|
bl sub_80B609C
|
|
ldrh r1, [r4, 0x12]
|
|
movs r2, 0x12
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
beq _080E3A08
|
|
subs r0, r1, 0x1
|
|
strh r0, [r4, 0x12]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080E3A6E
|
|
_080E3A08:
|
|
movs r0, 0x2
|
|
strh r0, [r4, 0x12]
|
|
ldrh r1, [r4, 0x10]
|
|
movs r3, 0x10
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0
|
|
blt _080E3A32
|
|
ldrh r2, [r4, 0xE]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, 0xD
|
|
bgt _080E3A28
|
|
adds r0, r2, r1
|
|
b _080E3A36
|
|
.pool
|
|
_080E3A28:
|
|
movs r0, 0x10
|
|
strh r0, [r4, 0xE]
|
|
ldrh r0, [r4, 0x14]
|
|
adds r0, 0x1
|
|
b _080E3A3C
|
|
_080E3A32:
|
|
ldrh r3, [r4, 0xE]
|
|
adds r0, r1, r3
|
|
_080E3A36:
|
|
strh r0, [r4, 0xE]
|
|
ldrh r2, [r4, 0x14]
|
|
adds r0, r1, r2
|
|
_080E3A3C:
|
|
strh r0, [r4, 0x14]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r4, r3]
|
|
ldrh r1, [r4, 0xE]
|
|
cmp r0, 0x10
|
|
bne _080E3A5C
|
|
movs r2, 0x14
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0x16
|
|
bne _080E3A5C
|
|
ldr r0, =0x0000fffc
|
|
strh r0, [r4, 0x10]
|
|
b _080E3A6E
|
|
.pool
|
|
_080E3A5C:
|
|
lsls r0, r1, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
bne _080E3A6E
|
|
ldrh r0, [r4, 0xA]
|
|
strh r0, [r4, 0xC]
|
|
movs r0, 0x2
|
|
strh r0, [r4, 0x10]
|
|
strh r1, [r4, 0x14]
|
|
_080E3A6E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end c3_0809E58C
|
|
|
|
thumb_func_start sub_80E3A74
|
|
sub_80E3A74: @ 80E3A74
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x4
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 20
|
|
movs r1, 0x87
|
|
lsls r1, 1
|
|
adds r5, r1, 0
|
|
adds r0, r5
|
|
add r6, sp, 0x8
|
|
strh r0, [r6]
|
|
movs r0, 0x6
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 20
|
|
adds r0, r5
|
|
mov r1, sp
|
|
adds r1, 0xA
|
|
strh r0, [r1]
|
|
movs r0, 0x7
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 20
|
|
adds r0, r5
|
|
add r1, sp, 0xC
|
|
strh r0, [r1]
|
|
movs r0, 0x7
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 20
|
|
ldr r1, =0x00000101
|
|
adds r0, r1
|
|
mov r1, sp
|
|
adds r1, 0xE
|
|
strh r0, [r1]
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
lsls r4, 1
|
|
mov r1, sp
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3A74
|
|
|
|
thumb_func_start sub_80E3AE8
|
|
sub_80E3AE8: @ 80E3AE8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80E3A74
|
|
lsls r0, 16
|
|
ldr r2, =gPlttBufferFaded
|
|
lsrs r0, 15
|
|
adds r2, r0, r2
|
|
ldr r1, =gPlttBufferUnfaded
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3AE8
|
|
|
|
thumb_func_start sub_80E3B10
|
|
sub_80E3B10: @ 80E3B10
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
movs r3, 0
|
|
strh r1, [r0, 0x8]
|
|
strh r2, [r0, 0xA]
|
|
movs r1, 0x1
|
|
strh r1, [r0, 0xC]
|
|
movs r2, 0x4
|
|
strh r2, [r0, 0xE]
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x10]
|
|
strh r3, [r0, 0x12]
|
|
strh r2, [r0, 0x14]
|
|
bx lr
|
|
thumb_func_end sub_80E3B10
|
|
|
|
thumb_func_start sub_80E3B30
|
|
sub_80E3B30: @ 80E3B30
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r0, 0x3F
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E3B48
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
_080E3B48:
|
|
ldrh r0, [r5, 0x36]
|
|
movs r1, 0xFF
|
|
ands r1, r0
|
|
adds r6, r5, 0
|
|
adds r6, 0x3E
|
|
movs r0, 0x1
|
|
ands r1, r0
|
|
lsls r1, 2
|
|
ldrb r2, [r6]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r6]
|
|
movs r0, 0x2E
|
|
ldrsh r4, [r5, r0]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bne _080E3B7C
|
|
ldrb r0, [r6]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r6]
|
|
_080E3B7C:
|
|
ldrb r1, [r6]
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080E3BAC
|
|
movs r1, 0x36
|
|
ldrsh r0, [r5, r1]
|
|
movs r1, 0xFF
|
|
lsls r1, 8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E3BAC
|
|
movs r2, 0x2E
|
|
ldrsh r1, [r5, r2]
|
|
movs r2, 0x32
|
|
ldrsh r0, [r5, r2]
|
|
cmp r1, r0
|
|
bne _080E3BAC
|
|
movs r0, 0x30
|
|
ldrsh r1, [r5, r0]
|
|
movs r2, 0x34
|
|
ldrsh r0, [r5, r2]
|
|
cmp r1, r0
|
|
beq _080E3BB6
|
|
_080E3BAC:
|
|
movs r0, 0
|
|
strh r0, [r5, 0x38]
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x3A]
|
|
strh r0, [r5, 0x3C]
|
|
_080E3BB6:
|
|
ldrh r0, [r5, 0x3C]
|
|
subs r0, 0x1
|
|
strh r0, [r5, 0x3C]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080E3BDE
|
|
ldrh r1, [r5, 0x3A]
|
|
ldrh r2, [r5, 0x38]
|
|
adds r0, r1, r2
|
|
strh r0, [r5, 0x38]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x10
|
|
beq _080E3BD6
|
|
cmp r0, 0
|
|
bne _080E3BDA
|
|
_080E3BD6:
|
|
negs r0, r1
|
|
strh r0, [r5, 0x3A]
|
|
_080E3BDA:
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x3C]
|
|
_080E3BDE:
|
|
movs r1, 0x36
|
|
ldrsh r0, [r5, r1]
|
|
movs r1, 0xFF
|
|
lsls r1, 8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E3C14
|
|
ldrh r4, [r5, 0x38]
|
|
lsls r5, r4, 24
|
|
lsrs r5, 24
|
|
lsls r4, 16
|
|
asrs r4, 17
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x5
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 24
|
|
lsrs r0, 4
|
|
ldr r2, =0x01010000
|
|
adds r0, r2
|
|
lsrs r0, 16
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
adds r3, r5, 0
|
|
bl sub_80B609C
|
|
_080E3C14:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3B30
|
|
|
|
thumb_func_start sub_80E3C20
|
|
sub_80E3C20: @ 80E3C20
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r1, =gUnknown_0858BED4
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
ldrh r1, [r4, 0x2E]
|
|
movs r2, 0x2E
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, 0
|
|
beq _080E3C44
|
|
subs r0, r1, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080E3C52
|
|
_080E3C44:
|
|
movs r0, 0x8
|
|
strh r0, [r4, 0x2E]
|
|
ldrh r0, [r4, 0x30]
|
|
adds r0, 0x1
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
strh r0, [r4, 0x30]
|
|
_080E3C52:
|
|
movs r1, 0x30
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 1
|
|
add r0, sp
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, 0x24]
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3C20
|
|
|
|
thumb_func_start sub_80E3C6C
|
|
sub_80E3C6C: @ 80E3C6C
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r1, =gUnknown_0858BEDC
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
bl sub_80E4A60
|
|
lsls r0, 24
|
|
ldrh r1, [r4, 0x2E]
|
|
lsls r1, 24
|
|
cmp r0, r1
|
|
beq _080E3C98
|
|
movs r0, 0
|
|
strh r0, [r4, 0x26]
|
|
strh r0, [r4, 0x30]
|
|
b _080E3CBE
|
|
.pool
|
|
_080E3C98:
|
|
movs r1, 0x30
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 1
|
|
add r0, sp
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, 0x26]
|
|
ldrh r0, [r4, 0x32]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x32]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x8
|
|
ble _080E3CC0
|
|
ldrh r0, [r4, 0x30]
|
|
adds r0, 0x1
|
|
movs r1, 0x3
|
|
ands r0, r1
|
|
strh r0, [r4, 0x30]
|
|
movs r0, 0
|
|
_080E3CBE:
|
|
strh r0, [r4, 0x32]
|
|
_080E3CC0:
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E3C6C
|
|
|
|
thumb_func_start sub_80E3CC8
|
|
sub_80E3CC8: @ 80E3CC8
|
|
push {lr}
|
|
bl sub_80E3CE4
|
|
bl sub_80E3F8C
|
|
bl sub_80E4218
|
|
bl sub_80E4290
|
|
bl sub_80E4354
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E3CC8
|
|
|
|
thumb_func_start sub_80E3CE4
|
|
sub_80E3CE4: @ 80E3CE4
|
|
push {r4-r6,lr}
|
|
ldr r0, =gUnknown_0858C138
|
|
movs r1, 0x26
|
|
movs r2, 0x58
|
|
movs r3, 0x1
|
|
bl CreateSprite
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r1, [r5]
|
|
ldr r4, =0x00001e23
|
|
adds r1, r4
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
bl sub_80E3E3C
|
|
ldr r6, =gSprites
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
ldrb r3, [r1, 0x5]
|
|
movs r2, 0xD
|
|
negs r2, r2
|
|
adds r0, r2, 0
|
|
ands r0, r3
|
|
movs r3, 0x4
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0, 0x1]
|
|
ands r2, r1
|
|
orrs r2, r3
|
|
strb r2, [r0, 0x1]
|
|
ldr r2, [r5]
|
|
adds r2, r4
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x1
|
|
strh r1, [r0, 0x3A]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x3A]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80E3D78
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3CE4
|
|
|
|
thumb_func_start sub_80E3D78
|
|
sub_80E3D78: @ 80E3D78
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 16
|
|
lsls r1, 16
|
|
lsrs r7, r1, 16
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00001e23
|
|
adds r1, r2
|
|
ldrb r2, [r1]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
ldr r2, =gSprites
|
|
adds r5, r1, r2
|
|
lsrs r1, r0, 16
|
|
mov r8, r1
|
|
asrs r6, r0, 16
|
|
ldr r4, =gUnknown_0858BEA0
|
|
bl sub_80E3274
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
bge _080E3DD8
|
|
bl sub_80E3274
|
|
ldr r1, =gUnknown_0858BEA3
|
|
lsls r0, 24
|
|
lsrs r0, 21
|
|
adds r0, r6, r0
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r0, 0x26
|
|
b _080E3DDA
|
|
.pool
|
|
_080E3DD8:
|
|
movs r0, 0
|
|
_080E3DDA:
|
|
strh r0, [r5, 0x20]
|
|
lsls r0, r7, 16
|
|
asrs r0, 12
|
|
adds r0, 0x58
|
|
strh r0, [r5, 0x22]
|
|
ldrh r0, [r5, 0x2E]
|
|
strh r0, [r5, 0x32]
|
|
ldrh r0, [r5, 0x30]
|
|
strh r0, [r5, 0x34]
|
|
mov r2, r8
|
|
strh r2, [r5, 0x2E]
|
|
strh r7, [r5, 0x30]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E3D78
|
|
|
|
thumb_func_start sub_80E3DFC
|
|
sub_80E3DFC: @ 80E3DFC
|
|
ldr r2, =gUnknown_02039F94
|
|
ldr r2, [r2]
|
|
ldr r3, =0x00001e23
|
|
adds r2, r3
|
|
ldrb r3, [r2]
|
|
lsls r2, r3, 4
|
|
adds r2, r3
|
|
lsls r2, 2
|
|
ldr r3, =gSprites
|
|
adds r2, r3
|
|
ldrh r3, [r2, 0x2E]
|
|
strh r3, [r0]
|
|
ldrh r0, [r2, 0x30]
|
|
strh r0, [r1]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E3DFC
|
|
|
|
thumb_func_start sub_80E3E28
|
|
sub_80E3E28: @ 80E3E28
|
|
push {lr}
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
bl sub_80E3D78
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E3E28
|
|
|
|
thumb_func_start sub_80E3E3C
|
|
sub_80E3E3C: @ 80E3E3C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, =gSprites
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r4, [r1]
|
|
ldr r1, =0x00001e23
|
|
adds r4, r1
|
|
ldrb r1, [r4]
|
|
lsls r2, r1, 4
|
|
adds r2, r1
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x36]
|
|
ldr r1, =0xffffff00
|
|
ands r1, r3
|
|
strh r1, [r2, 0x36]
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
ldrh r2, [r1, 0x36]
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x36]
|
|
ldrb r1, [r4]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
movs r1, 0
|
|
bl StartSpriteAnim
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3E3C
|
|
|
|
thumb_func_start sub_80E3E94
|
|
sub_80E3E94: @ 80E3E94
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
ldr r5, =gSprites
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r4, [r1]
|
|
ldr r1, =0x00001e23
|
|
adds r4, r1
|
|
ldrb r1, [r4]
|
|
lsls r2, r1, 4
|
|
adds r2, r1
|
|
lsls r2, 2
|
|
adds r2, r5
|
|
ldrh r3, [r2, 0x36]
|
|
movs r1, 0xFF
|
|
ands r1, r3
|
|
strh r1, [r2, 0x36]
|
|
ldrb r2, [r4]
|
|
lsls r1, r2, 4
|
|
adds r1, r2
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
lsrs r0, 16
|
|
ldrh r2, [r1, 0x36]
|
|
orrs r0, r2
|
|
strh r0, [r1, 0x36]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3E94
|
|
|
|
thumb_func_start sub_80E3ED8
|
|
sub_80E3ED8: @ 80E3ED8
|
|
push {lr}
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e23
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
bl StartSpriteAnim
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3ED8
|
|
|
|
thumb_func_start sub_80E3F04
|
|
sub_80E3F04: @ 80E3F04
|
|
ldr r2, =gSprites
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e23
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r0, 0x3F
|
|
ldrb r0, [r0]
|
|
lsls r0, 27
|
|
lsrs r0, 31
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E3F04
|
|
|
|
thumb_func_start sub_80E3F30
|
|
sub_80E3F30: @ 80E3F30
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
mov r5, sp
|
|
adds r5, 0x2
|
|
mov r0, sp
|
|
adds r1, r5, 0
|
|
bl sub_80E3DFC
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r4, [r0, r1]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
blt _080E3F64
|
|
ldr r0, =gUnknown_0858BEE4
|
|
movs r2, 0
|
|
ldrsh r1, [r5, r2]
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
b _080E3F66
|
|
.pool
|
|
_080E3F64:
|
|
movs r0, 0
|
|
_080E3F66:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E3F30
|
|
|
|
thumb_func_start sub_80E3F70
|
|
sub_80E3F70: @ 80E3F70
|
|
push {r4,lr}
|
|
ldr r4, =gUnknown_0858BEA0
|
|
bl sub_80E3274
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E3F70
|
|
|
|
thumb_func_start sub_80E3F8C
|
|
sub_80E3F8C: @ 80E3F8C
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
ldr r0, =gUnknown_0858C0C0
|
|
movs r1, 0xCC
|
|
movs r2, 0x58
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00001e24
|
|
adds r1, r2
|
|
strb r0, [r1]
|
|
lsls r5, r0, 4
|
|
adds r5, r0
|
|
lsls r5, 2
|
|
ldr r0, =gSprites
|
|
mov r8, r0
|
|
add r5, r8
|
|
ldr r1, =gUnknown_0858C050
|
|
adds r0, r5, 0
|
|
bl SetSubspriteTables
|
|
adds r1, r5, 0
|
|
adds r1, 0x3E
|
|
ldrb r0, [r1]
|
|
movs r6, 0x4
|
|
orrs r0, r6
|
|
strb r0, [r1]
|
|
ldr r0, =gUnknown_0858C0F0
|
|
movs r1, 0xCC
|
|
movs r2, 0x54
|
|
movs r3, 0x1
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r5, 0x3A]
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
add r4, r8
|
|
ldr r1, =gUnknown_0858C058
|
|
adds r0, r4, 0
|
|
bl SetSubspriteTables
|
|
adds r4, 0x3E
|
|
ldrb r0, [r4]
|
|
orrs r0, r6
|
|
strb r0, [r4]
|
|
ldr r0, =gUnknown_0858C0D8
|
|
movs r1, 0xCC
|
|
movs r2, 0x53
|
|
movs r3, 0x2
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, r0, 4
|
|
adds r2, r0
|
|
lsls r2, 2
|
|
add r2, r8
|
|
ldrb r3, [r2, 0x5]
|
|
movs r1, 0xD
|
|
negs r1, r1
|
|
ands r1, r3
|
|
orrs r1, r6
|
|
strb r1, [r2, 0x5]
|
|
strh r0, [r5, 0x3C]
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
orrs r0, r6
|
|
strb r0, [r2]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E3F8C
|
|
|
|
thumb_func_start sub_80E4050
|
|
sub_80E4050: @ 80E4050
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r2, [r0]
|
|
ldr r1, =0x00001e24
|
|
adds r0, r2, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =gSprites
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
strh r1, [r0, 0x2E]
|
|
ldr r1, =0x00001e22
|
|
adds r2, r1
|
|
ldrb r1, [r2]
|
|
strh r1, [r0, 0x30]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E4050
|
|
|
|
thumb_func_start sub_80E4084
|
|
sub_80E4084: @ 80E4084
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r5, =gUnknown_0858BEE8
|
|
_080E408A:
|
|
movs r1, 0x2E
|
|
ldrsh r0, [r4, r1]
|
|
lsls r0, 2
|
|
adds r0, r5
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl _call_via_r1
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080E408A
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4084
|
|
|
|
thumb_func_start sub_80E40AC
|
|
sub_80E40AC: @ 80E40AC
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
movs r1, 0x3A
|
|
ldrsh r0, [r6, r1]
|
|
lsls r5, r0, 4
|
|
adds r5, r0
|
|
lsls r5, 2
|
|
ldr r1, =gSprites
|
|
adds r5, r1
|
|
movs r2, 0x3C
|
|
ldrsh r0, [r6, r2]
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
adds r4, r1
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e22
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80E3244
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_80E41B8
|
|
ldrh r0, [r6, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r6, 0x2E]
|
|
movs r0, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E40AC
|
|
|
|
thumb_func_start sub_80E4100
|
|
sub_80E4100: @ 80E4100
|
|
movs r0, 0
|
|
bx lr
|
|
thumb_func_end sub_80E4100
|
|
|
|
thumb_func_start sub_80E4104
|
|
sub_80E4104: @ 80E4104
|
|
push {r4,r5,lr}
|
|
adds r3, r0, 0
|
|
movs r0, 0x3A
|
|
ldrsh r1, [r3, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r2, =gSprites
|
|
adds r4, r0, r2
|
|
movs r0, 0x3C
|
|
ldrsh r1, [r3, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r5, r0, r2
|
|
ldrh r0, [r4, 0x26]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x26]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x7
|
|
ble _080E4168
|
|
ldrh r0, [r3, 0x2E]
|
|
adds r0, 0x1
|
|
strh r0, [r3, 0x2E]
|
|
ldr r0, =0x0000fffc
|
|
strh r0, [r4, 0x26]
|
|
adds r2, r4, 0
|
|
adds r2, 0x3E
|
|
ldrb r0, [r2]
|
|
movs r1, 0x4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrh r0, [r3, 0x30]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, 0x1
|
|
movs r1, 0x3
|
|
bl __modsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80E3244
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_80E41B8
|
|
_080E4168:
|
|
movs r0, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E4104
|
|
|
|
thumb_func_start sub_80E4178
|
|
sub_80E4178: @ 80E4178
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0x3A
|
|
ldrsh r1, [r4, r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, =gSprites
|
|
adds r2, r0, r1
|
|
adds r3, r2, 0
|
|
adds r3, 0x3E
|
|
ldrb r1, [r3]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
ldrh r0, [r2, 0x26]
|
|
adds r0, 0x1
|
|
strh r0, [r2, 0x26]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _080E41AC
|
|
movs r0, 0
|
|
strh r0, [r2, 0x26]
|
|
movs r0, 0x1
|
|
strh r0, [r4, 0x2E]
|
|
_080E41AC:
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E4178
|
|
|
|
thumb_func_start sub_80E41B8
|
|
sub_80E41B8: @ 80E41B8
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
ldr r0, =gUnknown_0858BEF8
|
|
lsls r4, r5, 1
|
|
adds r0, r4, r0
|
|
ldrh r0, [r0]
|
|
bl IndexOfSpritePaletteTag
|
|
lsls r0, 4
|
|
mov r1, r8
|
|
ldrb r2, [r1, 0x5]
|
|
movs r1, 0xF
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
mov r0, r8
|
|
strb r1, [r0, 0x5]
|
|
ldr r0, =gUnknown_0858BEFE
|
|
adds r4, r0
|
|
ldrh r0, [r4]
|
|
bl GetSpriteTileStartByTag
|
|
adds r1, r6, 0
|
|
adds r1, 0x40
|
|
strh r0, [r1]
|
|
adds r6, 0x42
|
|
movs r1, 0x3F
|
|
ands r1, r5
|
|
ldrb r2, [r6]
|
|
movs r0, 0x40
|
|
negs r0, r0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r6]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E41B8
|
|
|
|
thumb_func_start sub_80E4218
|
|
sub_80E4218: @ 80E4218
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
ldr r0, =gUnknown_0858C108
|
|
movs r1, 0xCC
|
|
movs r2, 0x74
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
ldr r6, =gSprites
|
|
adds r4, r6
|
|
ldr r0, =gUnknown_0858C070
|
|
mov r8, r0
|
|
adds r0, r4, 0
|
|
mov r1, r8
|
|
bl SetSubspriteTables
|
|
adds r4, 0x3E
|
|
ldrb r0, [r4]
|
|
movs r5, 0x4
|
|
orrs r0, r5
|
|
strb r0, [r4]
|
|
ldr r0, =gUnknown_0858C120
|
|
movs r1, 0xCC
|
|
movs r2, 0x8C
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
adds r4, r6
|
|
adds r0, r4, 0
|
|
mov r1, r8
|
|
bl SetSubspriteTables
|
|
adds r4, 0x3E
|
|
ldrb r0, [r4]
|
|
orrs r0, r5
|
|
strb r0, [r4]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4218
|
|
|
|
thumb_func_start sub_80E4290
|
|
sub_80E4290: @ 80E4290
|
|
push {r4-r6,lr}
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r4, =0x00001e16
|
|
adds r0, r4
|
|
ldrh r1, [r0]
|
|
subs r1, 0x5
|
|
ldr r0, =gUnknown_0858C150
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
movs r2, 0x38
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
ldr r3, =gSprites
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r3
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r4, r0, r4
|
|
ldrh r1, [r4]
|
|
movs r5, 0
|
|
ldr r2, =0x00001e28
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r5, r0
|
|
bcs _080E4334
|
|
adds r6, r3, 0
|
|
_080E42E2:
|
|
lsls r1, 16
|
|
asrs r4, r1, 16
|
|
movs r0, 0xC0
|
|
lsls r0, 10
|
|
adds r1, r0
|
|
asrs r1, 16
|
|
ldr r0, =gUnknown_0858C168
|
|
movs r2, 0x3C
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
strh r5, [r0, 0x2E]
|
|
adds r0, 0x3E
|
|
ldrb r1, [r0]
|
|
movs r2, 0x4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x8
|
|
lsls r4, 16
|
|
lsrs r1, r4, 16
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e28
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r5, r0
|
|
bcc _080E42E2
|
|
_080E4334:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4290
|
|
|
|
thumb_func_start sub_80E4354
|
|
sub_80E4354: @ 80E4354
|
|
push {lr}
|
|
ldr r1, =gUnknown_0858BF04
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e28
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4354
|
|
|
|
thumb_func_start TaskDummy2
|
|
TaskDummy2: @ 80E4380
|
|
bx lr
|
|
thumb_func_end TaskDummy2
|
|
|
|
thumb_func_start sub_80E4384
|
|
sub_80E4384: @ 80E4384
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e34
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0
|
|
bl sub_808BD3C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =SpriteCallbackDummy
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
movs r2, 0x38
|
|
movs r3, 0x25
|
|
bl AddPseudoFieldObject
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, =gSprites
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
movs r1, 0x4
|
|
bl StartSpriteAnim
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4384
|
|
|
|
thumb_func_start sub_80E43E0
|
|
sub_80E43E0: @ 80E43E0
|
|
push {r4,lr}
|
|
ldr r0, =gUnknown_0858C180
|
|
movs r1, 0x38
|
|
movs r2, 0x29
|
|
movs r3, 0
|
|
bl CreateSprite
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r4, r0, 4
|
|
adds r4, r0
|
|
lsls r4, 2
|
|
ldr r0, =gSprites
|
|
adds r4, r0
|
|
ldr r1, =gUnknown_0858C078
|
|
adds r0, r4, 0
|
|
bl SetSubspriteTables
|
|
ldrb r0, [r4, 0x5]
|
|
movs r1, 0xC
|
|
orrs r0, r1
|
|
strb r0, [r4, 0x5]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E43E0
|
|
|
|
thumb_func_start sub_80E4420
|
|
sub_80E4420: @ 80E4420
|
|
push {lr}
|
|
sub sp, 0xC
|
|
bl sub_80D2F04
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r3, [r0]
|
|
ldr r1, =0x00001e34
|
|
adds r0, r3, r1
|
|
ldrh r0, [r0]
|
|
ldr r1, =SpriteCallbackDummy
|
|
movs r2, 0
|
|
str r2, [sp]
|
|
ldr r2, =0x00001e38
|
|
adds r3, r2
|
|
ldr r2, [r3]
|
|
str r2, [sp, 0x4]
|
|
movs r2, 0x1
|
|
str r2, [sp, 0x8]
|
|
movs r2, 0x38
|
|
movs r3, 0x28
|
|
bl sub_80D2CC4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, =gSprites
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r0, [r1, 0x5]
|
|
movs r2, 0xC
|
|
orrs r0, r2
|
|
strb r0, [r1, 0x5]
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4420
|
|
|
|
thumb_func_start sub_80E447C
|
|
sub_80E447C: @ 80E447C
|
|
push {lr}
|
|
sub sp, 0x4
|
|
ldr r1, =SpriteCallbackDummy
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x13
|
|
movs r2, 0x38
|
|
movs r3, 0x25
|
|
bl AddPseudoFieldObject
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, =gSprites
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x5]
|
|
movs r2, 0xC
|
|
orrs r1, r2
|
|
strb r1, [r0, 0x5]
|
|
movs r1, 0x4
|
|
bl StartSpriteAnim
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E447C
|
|
|
|
thumb_func_start sub_80E44BC
|
|
sub_80E44BC: @ 80E44BC
|
|
push {r4,r5,lr}
|
|
bl sub_80E460C
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r5, r4, 0
|
|
bl sub_80E3F30
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, 0x8
|
|
bne _080E44DA
|
|
bl sub_80E45E0
|
|
b _080E44F6
|
|
_080E44DA:
|
|
cmp r4, 0x6
|
|
bne _080E44E4
|
|
bl sub_80E4AF8
|
|
b _080E4504
|
|
_080E44E4:
|
|
cmp r5, 0x9
|
|
beq _080E4500
|
|
ldr r1, =gUnknown_0858BF18
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl _call_via_r1
|
|
_080E44F6:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _080E4506
|
|
.pool
|
|
_080E4500:
|
|
bl sub_80E3E28
|
|
_080E4504:
|
|
movs r0, 0
|
|
_080E4506:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E44BC
|
|
|
|
thumb_func_start sub_80E450C
|
|
sub_80E450C: @ 80E450C
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x3
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80E3948
|
|
cmp r4, 0x5
|
|
bne _080E4546
|
|
bl sub_80E4B54
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80E3ED8
|
|
cmp r4, 0
|
|
beq _080E4546
|
|
movs r0, 0x2
|
|
bl sub_80E4630
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
strb r1, [r0]
|
|
_080E4546:
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E450C
|
|
|
|
thumb_func_start sub_80E4558
|
|
sub_80E4558: @ 80E4558
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_80E3948
|
|
cmp r4, 0x5
|
|
beq _080E4572
|
|
movs r0, 0
|
|
b _080E457A
|
|
_080E4572:
|
|
bl sub_80E45E0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080E457A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E4558
|
|
|
|
thumb_func_start sub_80E4580
|
|
sub_80E4580: @ 80E4580
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_80E3948
|
|
cmp r4, 0x5
|
|
bne _080E459A
|
|
bl sub_80E4AF8
|
|
_080E459A:
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E4580
|
|
|
|
thumb_func_start sub_80E45A4
|
|
sub_80E45A4: @ 80E45A4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x2
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_80E3948
|
|
cmp r4, 0x5
|
|
beq _080E45BE
|
|
movs r0, 0
|
|
b _080E45D2
|
|
_080E45BE:
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
_080E45D2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E45A4
|
|
|
|
thumb_func_start sub_80E45E0
|
|
sub_80E45E0: @ 80E45E0
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r1, =0x00001e10
|
|
adds r0, r1
|
|
movs r1, 0x4
|
|
strb r1, [r0]
|
|
movs r0, 0x1
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_80E45E0
|
|
|
|
thumb_func_start sub_80E45F8
|
|
sub_80E45F8: @ 80E45F8
|
|
push {lr}
|
|
ldr r0, =sub_80E465C
|
|
movs r1, 0x1
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E45F8
|
|
|
|
thumb_func_start sub_80E460C
|
|
sub_80E460C: @ 80E460C
|
|
push {lr}
|
|
ldr r0, =sub_80E465C
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
ldrb r0, [r1, 0xA]
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E460C
|
|
|
|
thumb_func_start sub_80E4630
|
|
sub_80E4630: @ 80E4630
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, =sub_80E465C
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
strh r4, [r1, 0x8]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4630
|
|
|
|
thumb_func_start sub_80E465C
|
|
sub_80E465C: @ 80E465C
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r3, =gUnknown_0858BF28
|
|
ldr r2, =gTasks
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
movs r2, 0x8
|
|
ldrsh r1, [r0, r2]
|
|
lsls r1, 2
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E465C
|
|
|
|
thumb_func_start sub_80E468C
|
|
sub_80E468C: @ 80E468C
|
|
movs r1, 0
|
|
strh r1, [r0, 0xA]
|
|
bx lr
|
|
thumb_func_end sub_80E468C
|
|
|
|
thumb_func_start sub_80E4692
|
|
sub_80E4692: @ 80E4692
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
movs r0, 0
|
|
strh r0, [r2, 0xA]
|
|
ldr r0, =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E46B4
|
|
movs r0, 0x5
|
|
strh r0, [r2, 0xA]
|
|
b _080E46E4
|
|
.pool
|
|
_080E46B4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E46C2
|
|
movs r0, 0x6
|
|
strh r0, [r2, 0xA]
|
|
b _080E46E4
|
|
_080E46C2:
|
|
movs r0, 0x4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E46D0
|
|
movs r0, 0x8
|
|
strh r0, [r2, 0xA]
|
|
b _080E46E4
|
|
_080E46D0:
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080E46DE
|
|
movs r0, 0x9
|
|
strh r0, [r2, 0xA]
|
|
b _080E46E4
|
|
_080E46DE:
|
|
adds r0, r2, 0
|
|
bl sub_80E46F0
|
|
_080E46E4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E4692
|
|
|
|
thumb_func_start sub_80E46E8
|
|
sub_80E46E8: @ 80E46E8
|
|
movs r1, 0
|
|
strh r1, [r0, 0xA]
|
|
bx lr
|
|
thumb_func_end sub_80E46E8
|
|
|
|
thumb_func_start sub_80E46F0
|
|
sub_80E46F0: @ 80E46F0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x34
|
|
mov r9, r0
|
|
ldr r1, =gUnknown_0858BF34
|
|
mov r0, sp
|
|
movs r2, 0xA
|
|
bl memcpy
|
|
add r0, sp, 0xC
|
|
mov r10, r0
|
|
ldr r1, =gUnknown_0858BF3E
|
|
movs r2, 0xA
|
|
bl memcpy
|
|
mov r1, sp
|
|
adds r1, 0x18
|
|
str r1, [sp, 0x2C]
|
|
ldr r1, =gUnknown_0858BF48
|
|
ldr r0, [sp, 0x2C]
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
mov r2, sp
|
|
adds r2, 0x20
|
|
str r2, [sp, 0x30]
|
|
ldr r1, =gUnknown_0858BF50
|
|
adds r0, r2, 0
|
|
movs r2, 0x6
|
|
bl memcpy
|
|
add r4, sp, 0x28
|
|
mov r5, sp
|
|
adds r5, 0x2A
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80E3DFC
|
|
ldr r0, =gMain
|
|
ldrh r2, [r0, 0x30]
|
|
movs r0, 0x40
|
|
ands r0, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
negs r0, r0
|
|
lsrs r1, r0, 31
|
|
movs r0, 0x80
|
|
ands r0, r2
|
|
adds r6, r4, 0
|
|
cmp r0, 0
|
|
beq _080E475E
|
|
movs r1, 0x2
|
|
_080E475E:
|
|
movs r0, 0x20
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080E4768
|
|
movs r1, 0x3
|
|
_080E4768:
|
|
movs r0, 0x10
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _080E4772
|
|
movs r1, 0x4
|
|
_080E4772:
|
|
ldrh r0, [r6]
|
|
mov r8, r0
|
|
lsls r1, 1
|
|
mov r2, sp
|
|
adds r7, r2, r1
|
|
ldrh r0, [r7]
|
|
add r0, r8
|
|
strh r0, [r6]
|
|
add r1, r10
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r5]
|
|
adds r0, r1
|
|
strh r0, [r5]
|
|
movs r2, 0
|
|
ldrsh r0, [r6, r2]
|
|
cmp r0, 0
|
|
bge _080E479E
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r6]
|
|
_080E479E:
|
|
movs r0, 0
|
|
ldrsh r4, [r6, r0]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
ble _080E47B2
|
|
movs r0, 0
|
|
strh r0, [r6]
|
|
_080E47B2:
|
|
movs r1, 0
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
beq _080E481E
|
|
movs r2, 0
|
|
ldrsh r4, [r6, r2]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bne _080E47F0
|
|
ldrh r0, [r5]
|
|
mov r1, r9
|
|
strh r0, [r1, 0xC]
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
lsls r0, 1
|
|
ldr r1, [sp, 0x2C]
|
|
adds r0, r1, r0
|
|
b _080E481A
|
|
.pool
|
|
_080E47F0:
|
|
mov r2, r8
|
|
lsls r4, r2, 16
|
|
asrs r4, 16
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bne _080E481E
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
bne _080E4810
|
|
mov r2, r9
|
|
ldrh r0, [r2, 0xC]
|
|
b _080E481C
|
|
_080E4810:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
lsls r0, 1
|
|
ldr r2, [sp, 0x30]
|
|
adds r0, r2, r0
|
|
_080E481A:
|
|
ldrh r0, [r0]
|
|
_080E481C:
|
|
strh r0, [r5]
|
|
_080E481E:
|
|
movs r0, 0
|
|
ldrsh r4, [r6, r0]
|
|
bl sub_80E3F70
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
bne _080E4860
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0
|
|
bge _080E483A
|
|
movs r0, 0x2
|
|
strh r0, [r5]
|
|
_080E483A:
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, 0x2
|
|
ble _080E4846
|
|
movs r0, 0
|
|
strh r0, [r5]
|
|
_080E4846:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0
|
|
bne _080E4856
|
|
movs r0, 0x1
|
|
mov r2, r9
|
|
strh r0, [r2, 0xC]
|
|
b _080E4878
|
|
_080E4856:
|
|
cmp r0, 0x2
|
|
bne _080E4878
|
|
mov r1, r9
|
|
strh r0, [r1, 0xC]
|
|
b _080E4878
|
|
_080E4860:
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, 0
|
|
bge _080E486C
|
|
movs r0, 0x3
|
|
strh r0, [r5]
|
|
_080E486C:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x3
|
|
ble _080E4878
|
|
movs r0, 0
|
|
strh r0, [r5]
|
|
_080E4878:
|
|
movs r2, 0
|
|
ldrsh r0, [r6, r2]
|
|
movs r2, 0
|
|
ldrsh r1, [r5, r2]
|
|
bl sub_80E3D78
|
|
add sp, 0x34
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E46F0
|
|
|
|
thumb_func_start sub_80E4894
|
|
sub_80E4894: @ 80E4894
|
|
push {r4,r5,lr}
|
|
sub sp, 0xC
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r4, =0x00001e14
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, [r5]
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
ldr r2, =0x00001e28
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, 0x8]
|
|
movs r1, 0x1
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
movs r3, 0x8
|
|
bl PrintTextOnWindow
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl PutWindowTilemap
|
|
add sp, 0xC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4894
|
|
|
|
thumb_func_start sub_80E48E8
|
|
sub_80E48E8: @ 80E48E8
|
|
push {r4,r5,lr}
|
|
sub sp, 0x2C
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e34
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0xB
|
|
muls r1, r0
|
|
ldr r0, =gSpeciesNames
|
|
adds r1, r0
|
|
add r0, sp, 0xC
|
|
bl StringCopy
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e28
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x8]
|
|
add r0, sp, 0xC
|
|
movs r2, 0xF
|
|
bl StringAppendN
|
|
ldr r0, [r5]
|
|
ldr r4, =0x00001e14
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x1
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
add r2, sp, 0xC
|
|
movs r3, 0x8
|
|
bl PrintTextOnWindow
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl PutWindowTilemap
|
|
add sp, 0x2C
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E48E8
|
|
|
|
thumb_func_start sub_80E4964
|
|
sub_80E4964: @ 80E4964
|
|
push {lr}
|
|
ldr r1, =gUnknown_0858BF58
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e2c
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4964
|
|
|
|
thumb_func_start sub_80E498C
|
|
sub_80E498C: @ 80E498C
|
|
push {lr}
|
|
ldr r1, =gUnknown_0858BF6C
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e28
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x3]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E498C
|
|
|
|
thumb_func_start TaskDummy3
|
|
TaskDummy3: @ 80E49B8
|
|
bx lr
|
|
thumb_func_end TaskDummy3
|
|
|
|
thumb_func_start sub_80E49BC
|
|
sub_80E49BC: @ 80E49BC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
movs r4, 0
|
|
ldr r1, =gText_MaleSymbol
|
|
add r0, sp, 0xC
|
|
bl StringCopy
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e36
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _080E4A0C
|
|
cmp r0, 0xFE
|
|
bne _080E49E6
|
|
ldr r1, =gText_FemaleSymbol
|
|
add r0, sp, 0xC
|
|
bl StringCopy
|
|
movs r4, 0x1
|
|
_080E49E6:
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e13
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r1, r4
|
|
ldr r2, =gUnknown_0858BF74
|
|
adds r1, r2
|
|
str r1, [sp]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
str r1, [sp, 0x4]
|
|
add r1, sp, 0xC
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
movs r2, 0x68
|
|
movs r3, 0x1
|
|
bl box_print
|
|
_080E4A0C:
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E49BC
|
|
|
|
thumb_func_start sub_80E4A2C
|
|
sub_80E4A2C: @ 80E4A2C
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
ldr r6, =gUnknown_0858BE40
|
|
bl sub_80E3274
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
lsls r5, 16
|
|
asrs r5, 13
|
|
adds r4, r5
|
|
lsls r0, 24
|
|
lsrs r0, 19
|
|
adds r4, r0
|
|
adds r4, r6
|
|
ldrb r0, [r4]
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E4A2C
|
|
|
|
thumb_func_start sub_80E4A60
|
|
sub_80E4A60: @ 80E4A60
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r4, [r0]
|
|
ldr r3, =0x00001e28
|
|
adds r1, r4, r3
|
|
ldr r1, [r1]
|
|
ldrb r3, [r1, 0x1]
|
|
adds r5, r0, 0
|
|
cmp r2, r3
|
|
bcs _080E4A9A
|
|
movs r0, 0xC0
|
|
lsls r0, 5
|
|
adds r1, r4, r0
|
|
_080E4A7C:
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _080E4A90
|
|
adds r0, r2, 0
|
|
b _080E4AAA
|
|
.pool
|
|
_080E4A90:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, r3
|
|
bcc _080E4A7C
|
|
_080E4A9A:
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e28
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
subs r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
_080E4AAA:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E4A60
|
|
|
|
thumb_func_start sub_80E4AB4
|
|
sub_80E4AB4: @ 80E4AB4
|
|
push {lr}
|
|
ldr r0, =gUnknown_02039F94
|
|
ldr r2, [r0]
|
|
ldr r1, =0x00001e28
|
|
adds r0, r2, r1
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
subs r0, 0x1
|
|
lsls r1, r0, 24
|
|
cmp r1, 0
|
|
ble _080E4AF0
|
|
movs r0, 0xC0
|
|
lsls r0, 5
|
|
adds r3, r2, r0
|
|
_080E4AD0:
|
|
asrs r2, r1, 24
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _080E4AE8
|
|
lsrs r0, r1, 24
|
|
b _080E4AF2
|
|
.pool
|
|
_080E4AE8:
|
|
subs r0, r2, 0x1
|
|
lsls r1, r0, 24
|
|
cmp r1, 0
|
|
bgt _080E4AD0
|
|
_080E4AF0:
|
|
movs r0, 0
|
|
_080E4AF2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E4AB4
|
|
|
|
thumb_func_start sub_80E4AF8
|
|
sub_80E4AF8: @ 80E4AF8
|
|
push {r4-r6,lr}
|
|
bl sub_80E4AB4
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r6, =gUnknown_02039F94
|
|
ldr r0, [r6]
|
|
movs r5, 0xC0
|
|
lsls r5, 5
|
|
adds r0, r5
|
|
adds r0, r4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
bl sub_80E4D10
|
|
movs r0, 0x3
|
|
bl CopyBgTilemapBufferToVram
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
adds r0, r4
|
|
movs r1, 0xFF
|
|
strb r1, [r0]
|
|
bl sub_80E3F30
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _080E4B38
|
|
cmp r0, 0x2
|
|
bne _080E4B42
|
|
_080E4B38:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80E3948
|
|
_080E4B42:
|
|
movs r0, 0x17
|
|
bl PlaySE
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4AF8
|
|
|
|
thumb_func_start sub_80E4B54
|
|
sub_80E4B54: @ 80E4B54
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_80E3DFC
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
bl sub_80E4A2C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80E4BBC
|
|
bl sub_80E4D10
|
|
movs r0, 0x3
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_80E4AB4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
ldr r2, =0x00001e28
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
ldrb r1, [r1, 0x1]
|
|
subs r1, 0x1
|
|
cmp r0, r1
|
|
bne _080E4BB0
|
|
movs r0, 0x1
|
|
b _080E4BB2
|
|
.pool
|
|
_080E4BB0:
|
|
movs r0, 0
|
|
_080E4BB2:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80E4B54
|
|
|
|
thumb_func_start sub_80E4BBC
|
|
sub_80E4BBC: @ 80E4BBC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80E4A60
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r1, [r1]
|
|
movs r2, 0xC0
|
|
lsls r2, 5
|
|
adds r1, r2
|
|
adds r1, r0
|
|
strb r4, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4BBC
|
|
|
|
thumb_func_start sub_80E4BE4
|
|
sub_80E4BE4: @ 80E4BE4
|
|
push {r4,r5,lr}
|
|
movs r2, 0
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r0, [r1]
|
|
ldr r4, =0x00001e28
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
adds r5, r1, 0
|
|
b _080E4C44
|
|
.pool
|
|
_080E4C00:
|
|
ldr r1, [r1]
|
|
movs r0, 0xC0
|
|
lsls r0, 5
|
|
adds r3, r1, r0
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080E4C34
|
|
cmp r0, 0xFF
|
|
beq _080E4C34
|
|
ldr r2, =0x00001e30
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
ldrb r2, [r1, 0x1]
|
|
adds r2, 0x1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r1, r3, 0
|
|
bl StringCopyN
|
|
b _080E4C4A
|
|
.pool
|
|
_080E4C34:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r1, r5, 0
|
|
ldr r0, [r1]
|
|
ldr r4, =0x00001e28
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
_080E4C44:
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r2, r0
|
|
bcc _080E4C00
|
|
_080E4C4A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4BE4
|
|
|
|
thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns
|
|
choose_name_or_words_screen_load_bg_tile_patterns: @ 80E4C54
|
|
push {r4-r6,lr}
|
|
ldr r0, =gUnknown_08DD3838
|
|
ldr r6, =gUnknown_02039F94
|
|
ldr r1, [r6]
|
|
ldr r4, =0x00001810
|
|
adds r1, r4
|
|
bl LZ77UnCompWram
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
movs r5, 0xC0
|
|
lsls r5, 3
|
|
movs r0, 0x1
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl LoadBgTiles
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
movs r0, 0x2
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl LoadBgTiles
|
|
ldr r1, [r6]
|
|
adds r1, r4
|
|
movs r0, 0x3
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl LoadBgTiles
|
|
ldr r0, =gUnknown_0858C1C8
|
|
bl LoadSpriteSheets
|
|
ldr r0, =gUnknown_0858C230
|
|
bl LoadSpritePalettes
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns
|
|
|
|
thumb_func_start sub_80E4CB8
|
|
sub_80E4CB8: @ 80E4CB8
|
|
push {lr}
|
|
bl sub_80E45F8
|
|
bl sub_80E3920
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E4CB8
|
|
|
|
thumb_func_start choose_name_or_words_screen_apply_bg_pals
|
|
choose_name_or_words_screen_apply_bg_pals: @ 80E4CC8
|
|
push {lr}
|
|
ldr r0, =gUnknown_08DD3778
|
|
movs r1, 0
|
|
movs r2, 0xC0
|
|
bl LoadPalette
|
|
ldr r0, =gUnknown_0858BD78
|
|
movs r1, 0xA0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
movs r0, 0x2
|
|
bl stdpal_get
|
|
movs r1, 0xB0
|
|
movs r2, 0x20
|
|
bl LoadPalette
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end choose_name_or_words_screen_apply_bg_pals
|
|
|
|
thumb_func_start sub_80E4CF8
|
|
sub_80E4CF8: @ 80E4CF8
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl CopyToBgTilemapBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E4CF8
|
|
|
|
thumb_func_start nullsub_10
|
|
nullsub_10: @ 80E4D0C
|
|
bx lr
|
|
thumb_func_end nullsub_10
|
|
|
|
thumb_func_start sub_80E4D10
|
|
sub_80E4D10: @ 80E4D10
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
ldr r7, =gUnknown_02039F94
|
|
ldr r1, [r7]
|
|
ldr r2, =0x00001e28
|
|
adds r0, r1, r2
|
|
ldr r0, [r0]
|
|
ldrb r6, [r0, 0x1]
|
|
subs r2, 0x12
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
subs r0, 0x40
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r9, r0
|
|
ldr r0, =0x00001e13
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r4, 0
|
|
cmp r4, r6
|
|
bcs _080E4DA6
|
|
add r5, sp, 0xC
|
|
mov r10, r4
|
|
ldr r0, =gExpandedPlaceholder_Empty
|
|
ldrb r0, [r0]
|
|
mov r8, r0
|
|
_080E4D52:
|
|
ldr r0, [r7]
|
|
movs r1, 0xC0
|
|
lsls r1, 5
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r5]
|
|
mov r2, r8
|
|
strb r2, [r5, 0x1]
|
|
ldrb r0, [r5]
|
|
bl sub_80E503C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
cmp r0, 0x1
|
|
bne _080E4D76
|
|
movs r1, 0x2
|
|
_080E4D76:
|
|
ldr r0, [r7]
|
|
ldr r2, =0x00001e13
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r3, r4, 3
|
|
add r3, r9
|
|
adds r3, r1
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r1, 0x1
|
|
str r1, [sp]
|
|
movs r1, 0xFF
|
|
str r1, [sp, 0x4]
|
|
mov r1, r10
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0x1
|
|
add r2, sp, 0xC
|
|
bl PrintTextOnWindow
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, r6
|
|
bcc _080E4D52
|
|
_080E4DA6:
|
|
bl sub_80E498C
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r4, =0x00001e13
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl PutWindowTilemap
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4D10
|
|
|
|
thumb_func_start sub_80E4DE4
|
|
sub_80E4DE4: @ 80E4DE4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
ldr r0, =gUnknown_0858BF88
|
|
adds r0, r5, r0
|
|
ldrb r1, [r0]
|
|
adds r0, r6, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r4, 0
|
|
ldr r1, =gUnknown_0858BF8C
|
|
lsls r0, r5, 2
|
|
adds r0, r1
|
|
ldr r7, [r0]
|
|
ldr r0, =gUnknown_0858C198
|
|
mov r8, r0
|
|
_080E4E0E:
|
|
lsls r3, r4, 4
|
|
adds r3, 0x1
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r7, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
lsls r0, r4, 2
|
|
lsls r1, r5, 4
|
|
adds r0, r1
|
|
add r0, r8
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x8]
|
|
adds r0, r6, 0
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl box_print
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
bls _080E4E0E
|
|
adds r0, r6, 0
|
|
bl PutWindowTilemap
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4DE4
|
|
|
|
thumb_func_start sub_80E4E5C
|
|
sub_80E4E5C: @ 80E4E5C
|
|
push {r4-r6,lr}
|
|
movs r0, 0xA
|
|
bl GetGpuReg
|
|
adds r4, r0, 0
|
|
movs r5, 0x3
|
|
ands r4, r5
|
|
movs r0, 0xC
|
|
bl GetGpuReg
|
|
ands r0, r5
|
|
cmp r4, r0
|
|
bls _080E4E8C
|
|
movs r5, 0x1
|
|
movs r6, 0x1
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r0, [r1]
|
|
ldr r2, =0x00001e11
|
|
b _080E4E96
|
|
.pool
|
|
_080E4E8C:
|
|
movs r5, 0x2
|
|
movs r6, 0x2
|
|
ldr r1, =gUnknown_02039F94
|
|
ldr r0, [r1]
|
|
ldr r2, =0x00001e12
|
|
_080E4E96:
|
|
adds r0, r2
|
|
ldrb r4, [r0]
|
|
adds r0, r1, 0
|
|
ldr r1, =gUnknown_0858BF98
|
|
ldr r0, [r0]
|
|
ldr r2, =0x00001e22
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl sub_80E4CF8
|
|
bl sub_80E3254
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_80E4DE4
|
|
bl sub_80E3254
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
bl nullsub_10
|
|
adds r0, r6, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4E5C
|
|
|
|
thumb_func_start sub_80E4EF0
|
|
sub_80E4EF0: @ 80E4EF0
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r1, =gUnknown_0858BFA4
|
|
add r0, sp, 0xC
|
|
movs r2, 0x3
|
|
bl memcpy
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r4, =0x00001e15
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0xFF
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
add r1, sp, 0xC
|
|
str r1, [sp]
|
|
movs r1, 0
|
|
str r1, [sp, 0x4]
|
|
ldr r1, =gUnknown_085EEAF6
|
|
str r1, [sp, 0x8]
|
|
movs r1, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x1
|
|
bl box_print
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
bl PutWindowTilemap
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4EF0
|
|
|
|
thumb_func_start sub_80E4F58
|
|
sub_80E4F58: @ 80E4F58
|
|
push {lr}
|
|
bl RunTasks
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E4F58
|
|
|
|
thumb_func_start sub_80E4F70
|
|
sub_80E4F70: @ 80E4F70
|
|
push {lr}
|
|
movs r0, 0
|
|
bl SetVBlankCallback
|
|
movs r0, 0
|
|
bl SetHBlankCallback
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E4F70
|
|
|
|
thumb_func_start sub_80E4F84
|
|
sub_80E4F84: @ 80E4F84
|
|
push {lr}
|
|
ldr r0, =sub_80E4F94
|
|
bl SetVBlankCallback
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4F84
|
|
|
|
thumb_func_start sub_80E4F94
|
|
sub_80E4F94: @ 80E4F94
|
|
push {r4,r5,lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
ldr r5, =gUnknown_02039F94
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e18
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x16
|
|
bl SetGpuReg
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e1a
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1A
|
|
bl SetGpuReg
|
|
movs r0, 0xA
|
|
bl GetGpuReg
|
|
ldr r4, =0x0000fffc
|
|
adds r1, r4, 0
|
|
ands r1, r0
|
|
movs r0, 0xA
|
|
bl SetGpuReg
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e1c
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0xA
|
|
bl SetGpuRegBits
|
|
movs r0, 0xC
|
|
bl GetGpuReg
|
|
ands r4, r0
|
|
movs r0, 0xC
|
|
adds r1, r4, 0
|
|
bl SetGpuReg
|
|
ldr r0, [r5]
|
|
ldr r1, =0x00001e1e
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0xC
|
|
bl SetGpuRegBits
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E4F94
|
|
|
|
thumb_func_start sub_80E501C
|
|
sub_80E501C: @ 80E501C
|
|
push {lr}
|
|
movs r0, 0
|
|
bl ShowBg
|
|
movs r0, 0x1
|
|
bl ShowBg
|
|
movs r0, 0x2
|
|
bl ShowBg
|
|
movs r0, 0x3
|
|
bl ShowBg
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80E501C
|
|
|
|
thumb_func_start sub_80E503C
|
|
sub_80E503C: @ 80E503C
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0858BDC8
|
|
ldrb r1, [r0]
|
|
adds r3, r0, 0
|
|
cmp r1, 0xFF
|
|
beq _080E5066
|
|
adds r1, r3, 0
|
|
_080E5050:
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
beq _080E5066
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _080E5050
|
|
_080E5066:
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_80E503C
|
|
|
|
thumb_func_start sub_80E5074
|
|
sub_80E5074: @ 80E5074
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, =gSaveBlock2Ptr
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, =sub_8086194
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
movs r3, 0
|
|
bl do_choose_name_or_words_screen
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E5074
|
|
|
|
thumb_func_start sub_80E509C
|
|
sub_80E509C: @ 80E509C
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, =gSaveBlock2Ptr
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, =sub_8086194
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
movs r3, 0
|
|
bl do_choose_name_or_words_screen
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E509C
|
|
|
|
thumb_func_start sub_80E50C4
|
|
sub_80E50C4: @ 80E50C4
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, =gSaveBlock2Ptr
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, =sub_8086194
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x2
|
|
movs r3, 0
|
|
bl do_choose_name_or_words_screen
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E50C4
|
|
|
|
thumb_func_start sub_80E50EC
|
|
sub_80E50EC: @ 80E50EC
|
|
push {lr}
|
|
sub sp, 0x8
|
|
ldr r0, =gSaveBlock2Ptr
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, 0x8]
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
ldr r0, =sub_8086194
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x3
|
|
movs r3, 0
|
|
bl do_choose_name_or_words_screen
|
|
add sp, 0x8
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_80E50EC
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|