mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 22:28:44 -05:00
13204 lines
218 KiB
ArmAsm
13204 lines
218 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_811586C
|
|
sub_811586C: @ 811586C
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r2, 24
|
|
lsrs r5, r2, 24
|
|
adds r0, r6, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
lsls r4, 8
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r4, r0
|
|
beq _081158BC
|
|
cmp r4, r0
|
|
bgt _0811589E
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
cmp r4, r0
|
|
beq _081158B0
|
|
b _0811590E
|
|
_0811589E:
|
|
movs r0, 0x94
|
|
lsls r0, 6
|
|
cmp r4, r0
|
|
beq _081158CC
|
|
movs r0, 0xD4
|
|
lsls r0, 6
|
|
cmp r4, r0
|
|
beq _081158F0
|
|
b _0811590E
|
|
_081158B0:
|
|
ldr r1, _081158B8 @ =gUnknown_845742C
|
|
subs r0, r5, 0x1
|
|
lsls r0, 2
|
|
b _081158D4
|
|
.align 2, 0
|
|
_081158B8: .4byte gUnknown_845742C
|
|
_081158BC:
|
|
ldr r1, _081158C8 @ =gUnknown_845742C
|
|
subs r0, r5, 0x1
|
|
lsls r0, 2
|
|
adds r1, 0x14
|
|
b _081158D4
|
|
.align 2, 0
|
|
_081158C8: .4byte gUnknown_845742C
|
|
_081158CC:
|
|
ldr r1, _081158EC @ =gUnknown_845742C
|
|
subs r0, r5, 0x1
|
|
lsls r0, 2
|
|
adds r1, 0x28
|
|
_081158D4:
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl sub_811A444
|
|
b _0811590E
|
|
.align 2, 0
|
|
_081158EC: .4byte gUnknown_845742C
|
|
_081158F0:
|
|
ldr r1, _08115920 @ =gUnknown_845742C
|
|
subs r0, r5, 0x1
|
|
lsls r0, 2
|
|
adds r1, 0x3C
|
|
adds r0, r1
|
|
ldr r2, [r0]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl sub_811A444
|
|
_0811590E:
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08115920: .4byte gUnknown_845742C
|
|
thumb_func_end sub_811586C
|
|
|
|
thumb_func_start sub_8115924
|
|
sub_8115924: @ 8115924
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x20
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r6, _08115994 @ =gSaveBlock2Ptr
|
|
ldr r2, [r6]
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
mov r8, r0
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
movs r3, 0
|
|
bl sub_811A444
|
|
add r5, sp, 0x14
|
|
ldr r1, _08115998 @ =gUnknown_84571B4
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
ldr r0, [r6]
|
|
adds r0, 0xA
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r5, 0
|
|
add r1, sp, 0x8
|
|
bl StringAppend
|
|
movs r0, 0x10
|
|
str r0, [sp]
|
|
mov r0, r8
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
adds r2, r5, 0
|
|
movs r3, 0
|
|
bl sub_811A444
|
|
add sp, 0x20
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08115994: .4byte gSaveBlock2Ptr
|
|
_08115998: .4byte gUnknown_84571B4
|
|
thumb_func_end sub_8115924
|
|
|
|
thumb_func_start sub_811599C
|
|
sub_811599C: @ 811599C
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x15
|
|
bhi _08115A18
|
|
lsls r0, 2
|
|
ldr r1, _081159B4 @ =_081159B8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081159B4: .4byte _081159B8
|
|
.align 2, 0
|
|
_081159B8:
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A18
|
|
.4byte _08115A10
|
|
.4byte _08115A10
|
|
_08115A10:
|
|
ldr r0, _08115A1C @ =gStringVar4
|
|
ldr r1, _08115A20 @ =gUnknown_8457234
|
|
bl StringExpandPlaceholders
|
|
_08115A18:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08115A1C: .4byte gStringVar4
|
|
_08115A20: .4byte gUnknown_8457234
|
|
thumb_func_end sub_811599C
|
|
|
|
thumb_func_start sub_8115A24
|
|
sub_8115A24: @ 8115A24
|
|
push {lr}
|
|
ldr r0, _08115A54 @ =sub_8115A68
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08115A58 @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08115A5C @ =gTasks+0x8
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r0, _08115A60 @ =gUnknown_3002024
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0xC]
|
|
strb r0, [r1, 0xD]
|
|
ldr r1, _08115A64 @ =gUnknown_20370D0
|
|
strh r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08115A54: .4byte sub_8115A68
|
|
_08115A58: .4byte gUnknown_203B05C
|
|
_08115A5C: .4byte gTasks+0x8
|
|
_08115A60: .4byte gUnknown_3002024
|
|
_08115A64: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_8115A24
|
|
|
|
thumb_func_start sub_8115A68
|
|
sub_8115A68: @ 8115A68
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08115A88 @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x1E
|
|
bls _08115A7C
|
|
b _081161D8
|
|
_08115A7C:
|
|
lsls r0, 2
|
|
ldr r1, _08115A8C @ =_08115A90
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08115A88: .4byte gUnknown_203B05C
|
|
_08115A8C: .4byte _08115A90
|
|
.align 2, 0
|
|
_08115A90:
|
|
.4byte _08115B0C
|
|
.4byte _081161D8
|
|
.4byte _081161D8
|
|
.4byte _08115B5C
|
|
.4byte _08115C60
|
|
.4byte _08115CE8
|
|
.4byte _08115D04
|
|
.4byte _08115E24
|
|
.4byte _081161D8
|
|
.4byte _08115D94
|
|
.4byte _08115DAC
|
|
.4byte _08115E40
|
|
.4byte _08115EF4
|
|
.4byte _0811600A
|
|
.4byte _08116028
|
|
.4byte _0811603A
|
|
.4byte _08116058
|
|
.4byte _08116112
|
|
.4byte _08116128
|
|
.4byte _081160A2
|
|
.4byte _081160C0
|
|
.4byte _08116168
|
|
.4byte _08116194
|
|
.4byte _08116168
|
|
.4byte _0811617E
|
|
.4byte _081161D8
|
|
.4byte _081161AC
|
|
.4byte _081161D8
|
|
.4byte _081161D8
|
|
.4byte _08115DEC
|
|
.4byte _0811614C
|
|
_08115B0C:
|
|
ldr r3, _08115B4C @ =gUnknown_203B058
|
|
ldr r2, _08115B50 @ =gUnknown_8456CD8
|
|
ldr r1, _08115B54 @ =gUnknown_20370C0
|
|
ldrh r0, [r1]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
strb r0, [r3]
|
|
ldr r4, _08115B58 @ =gUnknown_203B059
|
|
ldrh r0, [r1]
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
lsrs r0, 8
|
|
strb r0, [r4]
|
|
ldrb r0, [r3]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
ldrb r1, [r4]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
bl sub_80FBB8C
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115B4C: .4byte gUnknown_203B058
|
|
_08115B50: .4byte gUnknown_8456CD8
|
|
_08115B54: .4byte gUnknown_20370C0
|
|
_08115B58: .4byte gUnknown_203B059
|
|
_08115B5C:
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x4]
|
|
movs r0, 0xA0
|
|
bl AllocZeroed
|
|
str r0, [r5]
|
|
movs r0, 0xA0
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x8]
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r5]
|
|
movs r1, 0x5
|
|
bl sub_811A5E4
|
|
ldr r0, [r5]
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
bl sub_80FCD50
|
|
ldr r1, [r5]
|
|
movs r3, 0
|
|
movs r0, 0
|
|
strh r0, [r1, 0x18]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1A]
|
|
subs r0, 0x4
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1A]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
ldr r0, [r5]
|
|
strb r3, [r0, 0x1B]
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0xFF
|
|
bl sub_811A054
|
|
strb r0, [r5, 0x17]
|
|
ldr r0, _08115C48 @ =gUnknown_8456CD0
|
|
bl AddWindow
|
|
strb r0, [r5, 0x10]
|
|
ldr r0, _08115C4C @ =gUnknown_8456CFC
|
|
bl AddWindow
|
|
strb r0, [r5, 0xF]
|
|
ldr r0, _08115C50 @ =gUnknown_8456D04
|
|
bl AddWindow
|
|
strb r0, [r5, 0x11]
|
|
ldrb r0, [r5, 0x10]
|
|
movs r1, 0x22
|
|
bl FillWindowPixelBuffer
|
|
ldrb r0, [r5, 0x10]
|
|
ldr r2, _08115C54 @ =gUnknown_845747C
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r4, 0x4
|
|
str r4, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x8
|
|
bl sub_811A444
|
|
ldrb r0, [r5, 0x10]
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r5, 0x10]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldrb r0, [r5, 0xF]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldr r0, _08115C58 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, _08115C5C @ =gUnknown_8456D34
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldrb r1, [r5, 0xF]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
strb r0, [r5, 0x12]
|
|
ldrb r0, [r5, 0x11]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldrb r0, [r5, 0x11]
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r5, 0x11]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x13]
|
|
strb r4, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115C48: .4byte gUnknown_8456CD0
|
|
_08115C4C: .4byte gUnknown_8456CFC
|
|
_08115C50: .4byte gUnknown_8456D04
|
|
_08115C54: .4byte gUnknown_845747C
|
|
_08115C58: .4byte gUnknown_3005E70
|
|
_08115C5C: .4byte gUnknown_8456D34
|
|
_08115C60:
|
|
ldr r0, _08115C98 @ =gStringVar1
|
|
ldr r2, _08115C9C @ =gUnknown_8456C74
|
|
ldr r4, _08115CA0 @ =gUnknown_203B058
|
|
ldrb r1, [r4]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _08115CA4 @ =gUnknown_203B059
|
|
ldrb r2, [r0]
|
|
lsrs r0, r2, 4
|
|
cmp r0, 0
|
|
beq _08115CC4
|
|
ldrb r1, [r5, 0x13]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
ble _08115CB0
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08115CB0
|
|
ldr r0, _08115CA8 @ =gStringVar4
|
|
ldr r1, _08115CAC @ =gUnknown_8457264
|
|
bl StringExpandPlaceholders
|
|
b _08115CCC
|
|
.align 2, 0
|
|
_08115C98: .4byte gStringVar1
|
|
_08115C9C: .4byte gUnknown_8456C74
|
|
_08115CA0: .4byte gUnknown_203B058
|
|
_08115CA4: .4byte gUnknown_203B059
|
|
_08115CA8: .4byte gStringVar4
|
|
_08115CAC: .4byte gUnknown_8457264
|
|
_08115CB0:
|
|
ldr r0, _08115CBC @ =gStringVar4
|
|
ldr r1, _08115CC0 @ =gUnknown_8457234
|
|
bl StringExpandPlaceholders
|
|
b _08115CCC
|
|
.align 2, 0
|
|
_08115CBC: .4byte gStringVar4
|
|
_08115CC0: .4byte gUnknown_8457234
|
|
_08115CC4:
|
|
ldr r0, _08115CE0 @ =gStringVar4
|
|
ldrb r1, [r4]
|
|
bl sub_811599C
|
|
_08115CCC:
|
|
ldrb r0, [r5, 0x11]
|
|
ldr r1, _08115CE4 @ =gUnknown_203B059
|
|
ldrb r1, [r1]
|
|
ldrb r2, [r5, 0x13]
|
|
bl sub_811586C
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115CE0: .4byte gStringVar4
|
|
_08115CE4: .4byte gUnknown_203B059
|
|
_08115CE8:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08115D00 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08115CFA
|
|
b _081161D8
|
|
_08115CFA:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115D00: .4byte gStringVar4
|
|
_08115D04:
|
|
adds r0, r5, 0
|
|
movs r1, 0x7
|
|
movs r2, 0xA
|
|
bl sub_8116444
|
|
ldr r0, _08115D24 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08115D40
|
|
ldrb r0, [r5, 0x13]
|
|
cmp r0, 0x1
|
|
bne _08115D28
|
|
movs r0, 0x17
|
|
b _08115D3E
|
|
.align 2, 0
|
|
_08115D24: .4byte gMain
|
|
_08115D28:
|
|
ldr r0, _08115D38 @ =gUnknown_203B059
|
|
ldrb r1, [r0]
|
|
movs r0, 0xF0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08115D3C
|
|
movs r0, 0x1E
|
|
b _08115D3E
|
|
.align 2, 0
|
|
_08115D38: .4byte gUnknown_203B059
|
|
_08115D3C:
|
|
movs r0, 0x13
|
|
_08115D3E:
|
|
strb r0, [r5, 0xC]
|
|
_08115D40:
|
|
ldr r0, _08115D8C @ =gUnknown_203B059
|
|
ldrb r2, [r0]
|
|
lsrs r0, r2, 4
|
|
cmp r0, 0
|
|
beq _08115D76
|
|
ldrb r1, [r5, 0x13]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
ble _08115D76
|
|
movs r4, 0xF
|
|
adds r0, r4, 0
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08115D76
|
|
bl sub_80FC1CC
|
|
cmp r0, 0
|
|
beq _08115D76
|
|
ldr r0, _08115D90 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08115D76
|
|
strb r4, [r5, 0xC]
|
|
bl sub_80F8F5C
|
|
_08115D76:
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x6
|
|
beq _08115D7E
|
|
b _081161D8
|
|
_08115D7E:
|
|
bl sub_80FA5D4
|
|
cmp r0, 0
|
|
bne _08115D88
|
|
b _081161D8
|
|
_08115D88:
|
|
b _08115EEE
|
|
.align 2, 0
|
|
_08115D8C: .4byte gUnknown_203B059
|
|
_08115D90: .4byte gMain
|
|
_08115D94:
|
|
bl sub_80FA5D4
|
|
cmp r0, 0
|
|
beq _08115D9E
|
|
b _081161D8
|
|
_08115D9E:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0xC]
|
|
ldr r0, [r5]
|
|
bl sub_81165E8
|
|
strb r0, [r5, 0x13]
|
|
b _081161D8
|
|
_08115DAC:
|
|
movs r3, 0
|
|
ldr r0, _08115DE4 @ =gUnknown_203B058
|
|
ldrb r1, [r0]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x2
|
|
bne _08115DBC
|
|
movs r3, 0x1
|
|
_08115DBC:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r2, _08115DE8 @ =gUnknown_845767C
|
|
lsls r1, r3, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08115DD4
|
|
b _081161D8
|
|
_08115DD4:
|
|
ldr r0, [r5]
|
|
bl sub_81165E8
|
|
strb r0, [r5, 0x13]
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
b _0811610C
|
|
.align 2, 0
|
|
_08115DE4: .4byte gUnknown_203B058
|
|
_08115DE8: .4byte gUnknown_845767C
|
|
_08115DEC:
|
|
ldr r0, _08115E1C @ =gUnknown_203B059
|
|
ldrb r0, [r0]
|
|
movs r1, 0xF
|
|
ands r1, r0
|
|
movs r0, 0x2
|
|
eors r1, r0
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r3, r0, 31
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r2, _08115E20 @ =gUnknown_845767C
|
|
lsls r1, r3, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08115E16
|
|
b _081161D8
|
|
_08115E16:
|
|
movs r0, 0x15
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115E1C: .4byte gUnknown_203B059
|
|
_08115E20: .4byte gUnknown_845767C
|
|
_08115E24:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08115E3C @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08115E36
|
|
b _081161D8
|
|
_08115E36:
|
|
movs r0, 0xB
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08115E3C: .4byte gStringVar4
|
|
_08115E40:
|
|
adds r4, r5, 0
|
|
adds r4, 0xD
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r2, [r5, 0x13]
|
|
lsls r2, 5
|
|
ldr r1, [r5]
|
|
adds r1, r2
|
|
adds r1, 0x10
|
|
bl sub_80FA634
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08115EC0
|
|
cmp r1, r0
|
|
bgt _08115E84
|
|
subs r0, 0x2
|
|
cmp r1, r0
|
|
beq _08115EEE
|
|
b _081161D8
|
|
_08115E84:
|
|
cmp r1, 0
|
|
beq _08115E8E
|
|
cmp r1, 0x1
|
|
beq _08115EC0
|
|
b _081161D8
|
|
_08115E8E:
|
|
bl sub_80FCEA8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FCD74
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0x19]
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
ldr r2, [r5]
|
|
adds r2, r0
|
|
adds r2, 0x10
|
|
movs r0, 0x5
|
|
b _08115EE4
|
|
_08115EC0:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0x19]
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
ldr r2, [r5]
|
|
adds r2, r0
|
|
adds r2, 0x10
|
|
movs r0, 0x6
|
|
_08115EE4:
|
|
bl sub_80FA670
|
|
movs r0, 0xC
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08115EEE:
|
|
movs r0, 0x9
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08115EF4:
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r2, [r5, 0x13]
|
|
lsls r2, 5
|
|
ldr r1, [r5]
|
|
adds r1, r2
|
|
adds r1, 0x10
|
|
bl sub_80FA6FC
|
|
cmp r0, 0x1
|
|
bne _08115FFA
|
|
ldrb r0, [r5, 0x19]
|
|
cmp r0, 0x5
|
|
bne _08115FB4
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
movs r0, 0
|
|
strb r0, [r1, 0x1B]
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
ldrb r0, [r5, 0x13]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x13]
|
|
ldr r1, _08115F58 @ =gUnknown_203B059
|
|
ldrb r1, [r1]
|
|
movs r3, 0xF
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r2, r0
|
|
bne _08115FF0
|
|
movs r0, 0xF0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08115F54
|
|
cmp r2, 0x4
|
|
bne _08115F5C
|
|
_08115F54:
|
|
strb r3, [r5, 0xC]
|
|
b _08115F90
|
|
.align 2, 0
|
|
_08115F58: .4byte gUnknown_203B059
|
|
_08115F5C:
|
|
ldr r4, _08115FA4 @ =gStringVar1
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r1, r0
|
|
subs r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy7
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
subs r0, 0x1
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _08115FA8 @ =gStringVar4
|
|
ldr r1, _08115FAC @ =gUnknown_8457554
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0xD
|
|
strb r0, [r5, 0xC]
|
|
_08115F90:
|
|
bl sub_80F8F5C
|
|
ldrb r0, [r5, 0x11]
|
|
ldr r1, _08115FB0 @ =gUnknown_203B059
|
|
ldrb r1, [r1]
|
|
ldrb r2, [r5, 0x13]
|
|
bl sub_811586C
|
|
b _08115FF4
|
|
.align 2, 0
|
|
_08115FA4: .4byte gStringVar1
|
|
_08115FA8: .4byte gStringVar4
|
|
_08115FAC: .4byte gUnknown_8457554
|
|
_08115FB0: .4byte gUnknown_203B059
|
|
_08115FB4:
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80FBD4C
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x1A]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x1A]
|
|
ldr r0, [r5]
|
|
bl sub_81165E8
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
_08115FF0:
|
|
movs r0, 0x4
|
|
strb r0, [r5, 0xC]
|
|
_08115FF4:
|
|
movs r0, 0
|
|
strb r0, [r5, 0x19]
|
|
b _081161D8
|
|
_08115FFA:
|
|
cmp r0, 0x2
|
|
beq _08116000
|
|
b _081161D8
|
|
_08116000:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
b _0811610C
|
|
_0811600A:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08116024 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811601C
|
|
b _081161D8
|
|
_0811601C:
|
|
movs r0, 0xE
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08116024: .4byte gStringVar4
|
|
_08116028:
|
|
ldrb r0, [r5, 0xE]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xE]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x78
|
|
bhi _08116038
|
|
b _081161D8
|
|
_08116038:
|
|
b _0811607E
|
|
_0811603A:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08116054 @ =gUnknown_8457514
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811604C
|
|
b _081161D8
|
|
_0811604C:
|
|
movs r0, 0x10
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08116054: .4byte gUnknown_8457514
|
|
_08116058:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811607E
|
|
cmp r1, 0
|
|
bgt _08116078
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08116084
|
|
b _081161D8
|
|
_08116078:
|
|
cmp r1, 0x1
|
|
beq _08116084
|
|
b _081161D8
|
|
_0811607E:
|
|
movs r0, 0x11
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08116084:
|
|
ldr r0, _08116098 @ =gUnknown_203B059
|
|
ldrb r1, [r0]
|
|
movs r0, 0xF0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811609C
|
|
movs r0, 0x1E
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08116098: .4byte gUnknown_203B059
|
|
_0811609C:
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_081160A2:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _081160BC @ =gUnknown_8457530
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081160B4
|
|
b _081161D8
|
|
_081160B4:
|
|
movs r0, 0x14
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_081160BC: .4byte gUnknown_8457530
|
|
_081160C0:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _0811615C
|
|
cmp r1, 0
|
|
bgt _081160E0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _081160E4
|
|
b _081161D8
|
|
_081160E0:
|
|
cmp r1, 0x1
|
|
bne _081161D8
|
|
_081160E4:
|
|
ldr r0, _081160F8 @ =gUnknown_203B059
|
|
ldrb r2, [r0]
|
|
movs r0, 0xF0
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _081160FC
|
|
movs r0, 0xF
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_081160F8: .4byte gUnknown_203B059
|
|
_081160FC:
|
|
movs r3, 0xF
|
|
ldrb r1, [r5, 0x13]
|
|
adds r0, r3, 0
|
|
ands r0, r2
|
|
cmp r1, r0
|
|
bne _0811610C
|
|
strb r3, [r5, 0xC]
|
|
b _081161D8
|
|
_0811610C:
|
|
movs r0, 0x4
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08116112:
|
|
adds r0, r5, 0
|
|
movs r1, 0x7
|
|
movs r2, 0x17
|
|
bl sub_8116444
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081161D8
|
|
movs r0, 0x12
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08116128:
|
|
bl sub_80F8F40
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _08116144
|
|
movs r0, 0
|
|
bl sub_80F8F7C
|
|
cmp r0, 0
|
|
beq _081161D8
|
|
movs r0, 0x1A
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_08116144:
|
|
movs r0, 0x1D
|
|
strb r0, [r5, 0xC]
|
|
strb r1, [r5, 0xD]
|
|
b _081161D8
|
|
_0811614C:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08116164 @ =gUnknown_8457610
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081161D8
|
|
_0811615C:
|
|
movs r0, 0x17
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08116164: .4byte gUnknown_8457610
|
|
_08116168:
|
|
bl sub_80FCE44
|
|
bl sub_80F8DC0
|
|
adds r0, r5, 0
|
|
bl sub_81161E4
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_0811617E:
|
|
bl EnableBothScriptContexts
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r1, _08116190 @ =gUnknown_20370D0
|
|
movs r0, 0x5
|
|
strh r0, [r1]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_08116190: .4byte gUnknown_20370D0
|
|
_08116194:
|
|
bl EnableBothScriptContexts
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r1, _081161A8 @ =gUnknown_20370D0
|
|
movs r0, 0x8
|
|
strh r0, [r1]
|
|
b _081161D8
|
|
.align 2, 0
|
|
_081161A8: .4byte gUnknown_20370D0
|
|
_081161AC:
|
|
bl sub_80FBA00
|
|
cmp r0, 0
|
|
beq _081161BA
|
|
movs r0, 0x1D
|
|
strb r0, [r5, 0xC]
|
|
b _081161D8
|
|
_081161BA:
|
|
ldr r0, _081161E0 @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _081161D8
|
|
movs r0, 0x1
|
|
bl sub_80FAFE0
|
|
bl sub_8117990
|
|
adds r0, r5, 0
|
|
bl sub_81161E4
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_081161D8:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081161E0: .4byte gUnknown_3003F64
|
|
thumb_func_end sub_8115A68
|
|
|
|
thumb_func_start sub_81161E4
|
|
sub_81161E4: @ 81161E4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrb r0, [r4, 0x11]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4, 0x11]
|
|
movs r1, 0
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r4, 0x12]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r4, 0x10]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r4, 0xF]
|
|
movs r1, 0
|
|
bl sub_80F6F9C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r4, 0x11]
|
|
bl RemoveWindow
|
|
ldrb r0, [r4, 0xF]
|
|
bl RemoveWindow
|
|
ldrb r0, [r4, 0x10]
|
|
bl RemoveWindow
|
|
ldrb r0, [r4, 0x17]
|
|
bl DestroyTask
|
|
ldr r0, [r4, 0x8]
|
|
bl Free
|
|
ldr r0, [r4]
|
|
bl Free
|
|
ldr r0, [r4, 0x4]
|
|
bl Free
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81161E4
|
|
|
|
thumb_func_start sub_8116244
|
|
sub_8116244: @ 8116244
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x15
|
|
bhi _081162D8
|
|
lsls r0, 2
|
|
ldr r1, _0811625C @ =_08116260
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811625C: .4byte _08116260
|
|
.align 2, 0
|
|
_08116260:
|
|
.4byte _081162B8
|
|
.4byte _081162B8
|
|
.4byte _081162D0
|
|
.4byte _081162B8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D0
|
|
.4byte _081162D0
|
|
.4byte _081162D0
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162D8
|
|
.4byte _081162C0
|
|
.4byte _081162C0
|
|
_081162B8:
|
|
ldr r1, _081162BC @ =gUnknown_84574A0
|
|
b _081162C2
|
|
.align 2, 0
|
|
_081162BC: .4byte gUnknown_84574A0
|
|
_081162C0:
|
|
ldr r1, _081162CC @ =gUnknown_84574C4
|
|
_081162C2:
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
b _081162D8
|
|
.align 2, 0
|
|
_081162CC: .4byte gUnknown_84574C4
|
|
_081162D0:
|
|
ldr r1, _081162DC @ =gUnknown_84574EC
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
_081162D8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081162DC: .4byte gUnknown_84574EC
|
|
thumb_func_end sub_8116244
|
|
|
|
thumb_func_start sub_81162E0
|
|
sub_81162E0: @ 81162E0
|
|
push {lr}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r2, r1, 0
|
|
cmp r1, 0x44
|
|
beq _08116300
|
|
cmp r1, 0x44
|
|
bgt _081162F6
|
|
cmp r1, 0x41
|
|
beq _08116300
|
|
b _08116312
|
|
_081162F6:
|
|
cmp r2, 0x45
|
|
beq _0811630C
|
|
cmp r2, 0x48
|
|
beq _0811630C
|
|
b _08116312
|
|
_08116300:
|
|
ldr r1, _08116308 @ =gUnknown_8457E28
|
|
bl StringExpandPlaceholders
|
|
b _08116312
|
|
.align 2, 0
|
|
_08116308: .4byte gUnknown_8457E28
|
|
_0811630C:
|
|
ldr r1, _08116318 @ =gUnknown_8457E44
|
|
bl StringExpandPlaceholders
|
|
_08116312:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116318: .4byte gUnknown_8457E44
|
|
thumb_func_end sub_81162E0
|
|
|
|
thumb_func_start sub_811631C
|
|
sub_811631C: @ 811631C
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x15
|
|
bhi _081163A8
|
|
lsls r0, 2
|
|
ldr r1, _08116334 @ =_08116338
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08116334: .4byte _08116338
|
|
.align 2, 0
|
|
_08116338:
|
|
.4byte _08116390
|
|
.4byte _08116390
|
|
.4byte _081163A0
|
|
.4byte _08116390
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A0
|
|
.4byte _081163A0
|
|
.4byte _081163A0
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _081163A8
|
|
.4byte _08116390
|
|
.4byte _08116390
|
|
_08116390:
|
|
ldr r1, _0811639C @ =gUnknown_8459238
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
b _081163A8
|
|
.align 2, 0
|
|
_0811639C: .4byte gUnknown_8459238
|
|
_081163A0:
|
|
ldr r1, _081163AC @ =gUnknown_8459250
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
_081163A8:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081163AC: .4byte gUnknown_8459250
|
|
thumb_func_end sub_811631C
|
|
|
|
thumb_func_start sub_81163B0
|
|
sub_81163B0: @ 81163B0
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x15
|
|
bhi _0811643C
|
|
lsls r0, 2
|
|
ldr r1, _081163C8 @ =_081163CC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081163C8: .4byte _081163CC
|
|
.align 2, 0
|
|
_081163CC:
|
|
.4byte _08116424
|
|
.4byte _08116424
|
|
.4byte _08116434
|
|
.4byte _08116424
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _08116434
|
|
.4byte _08116434
|
|
.4byte _08116434
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _0811643C
|
|
.4byte _08116424
|
|
.4byte _08116424
|
|
_08116424:
|
|
ldr r1, _08116430 @ =gUnknown_84576AC
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
b _0811643C
|
|
.align 2, 0
|
|
_08116430: .4byte gUnknown_84576AC
|
|
_08116434:
|
|
ldr r1, _08116440 @ =gUnknown_84576C4
|
|
adds r0, r2, 0
|
|
bl StringExpandPlaceholders
|
|
_0811643C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116440: .4byte gUnknown_84576C4
|
|
thumb_func_end sub_81163B0
|
|
|
|
thumb_func_start sub_8116444
|
|
sub_8116444: @ 8116444
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
adds r4, r2, 0
|
|
ldr r0, [r5]
|
|
bl sub_8116524
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08116460
|
|
cmp r0, 0x2
|
|
beq _081164AC
|
|
b _081164C0
|
|
_08116460:
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
ldr r4, _081164A0 @ =gStringVar2
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy7
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _081164A4 @ =gStringVar4
|
|
ldr r1, _081164A8 @ =gUnknown_203B058
|
|
ldrb r1, [r1]
|
|
bl sub_8116244
|
|
strb r6, [r5, 0xC]
|
|
b _081164C0
|
|
.align 2, 0
|
|
_081164A0: .4byte gStringVar2
|
|
_081164A4: .4byte gStringVar4
|
|
_081164A8: .4byte gUnknown_203B058
|
|
_081164AC:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
strb r4, [r5, 0xC]
|
|
movs r0, 0x1
|
|
b _081164C2
|
|
_081164C0:
|
|
movs r0, 0
|
|
_081164C2:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8116444
|
|
|
|
thumb_func_start sub_81164C8
|
|
sub_81164C8: @ 81164C8
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldr r0, _081164F4 @ =gUnknown_203B05C
|
|
ldr r3, [r0]
|
|
movs r2, 0
|
|
ldr r1, [r3]
|
|
lsls r0, r4, 5
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
beq _081164F8
|
|
cmp r0, 0x2
|
|
beq _08116502
|
|
b _08116504
|
|
.align 2, 0
|
|
_081164F4: .4byte gUnknown_203B05C
|
|
_081164F8:
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0
|
|
beq _08116504
|
|
movs r2, 0x2
|
|
b _08116504
|
|
_08116502:
|
|
movs r2, 0x1
|
|
_08116504:
|
|
lsls r0, r4, 5
|
|
ldr r3, [r3]
|
|
adds r3, r0
|
|
str r2, [sp]
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
str r0, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
adds r2, r6, 0
|
|
bl sub_811A910
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81164C8
|
|
|
|
thumb_func_start sub_8116524
|
|
sub_8116524: @ 8116524
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
ldr r0, _0811657C @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r3, 0x1
|
|
_08116538:
|
|
ldr r0, [r5]
|
|
lsls r6, r3, 5
|
|
adds r2, r0, r6
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
mov r9, r0
|
|
cmp r0, 0x1
|
|
bne _08116598
|
|
ldr r1, [r5, 0x4]
|
|
adds r0, r2, 0
|
|
str r3, [sp]
|
|
bl sub_811A748
|
|
adds r4, r0, 0
|
|
ldr r3, [sp]
|
|
cmp r4, 0xFF
|
|
beq _08116580
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
lsls r2, r4, 3
|
|
subs r2, r4
|
|
lsls r2, 2
|
|
adds r1, r6
|
|
adds r0, r2
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
ldr r0, [r5]
|
|
adds r0, r6
|
|
mov r1, r9
|
|
strh r1, [r0, 0x18]
|
|
b _08116598
|
|
.align 2, 0
|
|
_0811657C: .4byte gUnknown_203B05C
|
|
_08116580:
|
|
ldr r2, [r5]
|
|
adds r2, r6
|
|
ldrb r1, [r2, 0x1A]
|
|
movs r4, 0x4
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
ands r1, r0
|
|
movs r0, 0x2
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x1A]
|
|
movs r7, 0x2
|
|
mov r8, r7
|
|
_08116598:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x4
|
|
bls _08116538
|
|
movs r6, 0
|
|
movs r4, 0x3
|
|
_081165A6:
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, 0x4]
|
|
adds r1, r6
|
|
movs r2, 0x5
|
|
bl sub_811A798
|
|
adds r6, 0x1C
|
|
subs r4, 0x1
|
|
ldr r0, [r5]
|
|
cmp r4, 0
|
|
bge _081165A6
|
|
mov r1, r8
|
|
cmp r1, 0x2
|
|
beq _081165D8
|
|
adds r1, r0, 0
|
|
movs r4, 0x4
|
|
_081165C6:
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0
|
|
beq _081165D0
|
|
movs r2, 0x1
|
|
mov r8, r2
|
|
_081165D0:
|
|
adds r1, 0x20
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _081165C6
|
|
_081165D8:
|
|
mov r0, r8
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8116524
|
|
|
|
thumb_func_start sub_81165E8
|
|
sub_81165E8: @ 81165E8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r0, _081166BC @ =gUnknown_203B05C
|
|
ldr r4, [r0]
|
|
movs r3, 0
|
|
_081165F8:
|
|
ldr r0, [r4, 0x8]
|
|
lsls r2, r3, 5
|
|
ldr r1, [r4]
|
|
adds r0, r2
|
|
adds r1, r2
|
|
ldm r1!, {r2,r5,r6}
|
|
stm r0!, {r2,r5,r6}
|
|
ldm r1!, {r2,r5,r7}
|
|
stm r0!, {r2,r5,r7}
|
|
ldm r1!, {r6,r7}
|
|
stm r0!, {r6,r7}
|
|
adds r3, 0x1
|
|
ldr r0, [r4, 0x8]
|
|
ldr r1, [r4]
|
|
cmp r3, 0x4
|
|
ble _081165F8
|
|
movs r5, 0
|
|
mov r8, r1
|
|
mov r9, r0
|
|
movs r3, 0x4
|
|
_08116620:
|
|
mov r1, r9
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08116642
|
|
lsls r0, r5, 5
|
|
add r0, r8
|
|
ldm r1!, {r2,r6,r7}
|
|
stm r0!, {r2,r6,r7}
|
|
ldm r1!, {r2,r6,r7}
|
|
stm r0!, {r2,r6,r7}
|
|
ldm r1!, {r2,r6}
|
|
stm r0!, {r2,r6}
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
_08116642:
|
|
movs r7, 0x20
|
|
add r9, r7
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bge _08116620
|
|
mov r10, r5
|
|
cmp r5, 0x4
|
|
bhi _081166A4
|
|
ldr r0, _081166C0 @ =gUnknown_8457034
|
|
mov r9, r0
|
|
movs r1, 0
|
|
mov r12, r1
|
|
movs r2, 0x4
|
|
negs r2, r2
|
|
mov r8, r2
|
|
_08116660:
|
|
ldr r1, [r4]
|
|
lsls r3, r5, 5
|
|
adds r1, r3
|
|
mov r0, r9
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldm r0!, {r2,r6,r7}
|
|
stm r1!, {r2,r6,r7}
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
movs r1, 0
|
|
strh r1, [r0, 0x18]
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
ldrb r2, [r1, 0x1A]
|
|
mov r0, r8
|
|
ands r0, r2
|
|
strb r0, [r1, 0x1A]
|
|
ldr r1, [r4]
|
|
adds r1, r3
|
|
ldrb r2, [r1, 0x1A]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x1A]
|
|
ldr r0, [r4]
|
|
adds r0, r3
|
|
mov r6, r12
|
|
strb r6, [r0, 0x1B]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x4
|
|
bls _08116660
|
|
_081166A4:
|
|
movs r3, 0
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _081166C4
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0x40
|
|
bne _081166C4
|
|
mov r10, r3
|
|
b _081166E4
|
|
.align 2, 0
|
|
_081166BC: .4byte gUnknown_203B05C
|
|
_081166C0: .4byte gUnknown_8457034
|
|
_081166C4:
|
|
adds r3, 0x1
|
|
cmp r3, 0x4
|
|
bgt _081166E4
|
|
lsls r0, r3, 5
|
|
adds r2, r1, r0
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _081166C4
|
|
ldrb r0, [r2, 0x1B]
|
|
cmp r0, 0x40
|
|
bne _081166C4
|
|
lsls r0, r3, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
_081166E4:
|
|
mov r0, r10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81165E8
|
|
|
|
thumb_func_start BerryBlenderLinkJoinGroup
|
|
BerryBlenderLinkJoinGroup: @ 81166F4
|
|
push {lr}
|
|
ldr r0, _08116724 @ =sub_8116738
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08116728 @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _0811672C @ =gTasks+0x8
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r0, _08116730 @ =gUnknown_3002028
|
|
str r1, [r0]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x8]
|
|
strb r0, [r1, 0x9]
|
|
ldr r1, _08116734 @ =gUnknown_20370D0
|
|
strh r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116724: .4byte sub_8116738
|
|
_08116728: .4byte gUnknown_203B05C
|
|
_0811672C: .4byte gTasks+0x8
|
|
_08116730: .4byte gUnknown_3002028
|
|
_08116734: .4byte gUnknown_20370D0
|
|
thumb_func_end BerryBlenderLinkJoinGroup
|
|
|
|
thumb_func_start sub_8116738
|
|
sub_8116738: @ 8116738
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08116758 @ =gUnknown_203B05C
|
|
ldr r6, [r0]
|
|
ldrb r0, [r6, 0x8]
|
|
cmp r0, 0x17
|
|
bls _0811674C
|
|
b _08116D06
|
|
_0811674C:
|
|
lsls r0, 2
|
|
ldr r1, _0811675C @ =_08116760
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08116758: .4byte gUnknown_203B05C
|
|
_0811675C: .4byte _08116760
|
|
.align 2, 0
|
|
_08116760:
|
|
.4byte _081167C0
|
|
.4byte _0811680C
|
|
.4byte _08116838
|
|
.4byte _08116904
|
|
.4byte _08116D06
|
|
.4byte _081169B4
|
|
.4byte _08116A08
|
|
.4byte _08116B94
|
|
.4byte _08116BB0
|
|
.4byte _08116BFE
|
|
.4byte _08116C10
|
|
.4byte _08116C98
|
|
.4byte _08116C10
|
|
.4byte _08116C68
|
|
.4byte _08116C10
|
|
.4byte _08116CA8
|
|
.4byte _08116D06
|
|
.4byte _08116D06
|
|
.4byte _08116C10
|
|
.4byte _08116CC8
|
|
.4byte _08116C10
|
|
.4byte _08116CFC
|
|
.4byte _08116D06
|
|
.4byte _08116CEC
|
|
_081167C0:
|
|
ldr r5, _08116800 @ =gUnknown_84570C8
|
|
ldr r4, _08116804 @ =gUnknown_20370C0
|
|
ldrh r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
ldr r1, _08116808 @ =gUnknown_203B058
|
|
ldrh r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBBD8
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r6, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r6]
|
|
movs r0, 0x1
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_08116800: .4byte gUnknown_84570C8
|
|
_08116804: .4byte gUnknown_20370C0
|
|
_08116808: .4byte gUnknown_203B058
|
|
_0811680C:
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
ldr r2, _08116830 @ =gUnknown_84591B8
|
|
ldr r1, _08116834 @ =gUnknown_20370C0
|
|
ldrh r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08116828
|
|
b _08116D06
|
|
_08116828:
|
|
movs r0, 0x2
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_08116830: .4byte gUnknown_84591B8
|
|
_08116834: .4byte gUnknown_20370C0
|
|
_08116838:
|
|
ldr r0, [r6, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r6]
|
|
movs r1, 0x10
|
|
bl sub_811A5E4
|
|
ldr r0, [r6, 0x4]
|
|
ldr r1, _081168E8 @ =gUnknown_20370C0
|
|
ldrh r1, [r1]
|
|
bl sub_811A054
|
|
movs r4, 0
|
|
strb r0, [r6, 0x11]
|
|
ldr r0, _081168EC @ =gUnknown_8456CD0
|
|
bl AddWindow
|
|
strb r0, [r6, 0xC]
|
|
ldr r0, _081168F0 @ =gUnknown_8456D4C
|
|
bl AddWindow
|
|
strb r0, [r6, 0xB]
|
|
ldr r0, _081168F4 @ =gUnknown_8456D54
|
|
bl AddWindow
|
|
strb r0, [r6, 0xD]
|
|
ldrb r0, [r6, 0xC]
|
|
movs r1, 0x22
|
|
bl FillWindowPixelBuffer
|
|
ldrb r0, [r6, 0xC]
|
|
ldr r2, _081168F8 @ =gUnknown_8458FC8
|
|
movs r1, 0x2
|
|
str r1, [sp]
|
|
movs r1, 0x4
|
|
str r1, [sp, 0x4]
|
|
movs r1, 0
|
|
movs r3, 0x8
|
|
bl sub_811A444
|
|
ldrb r0, [r6, 0xC]
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r6, 0xC]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
ldrb r0, [r6, 0xB]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldr r0, _081168FC @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, _08116900 @ =gUnknown_8456DDC
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldm r1!, {r3,r5,r7}
|
|
stm r2!, {r3,r5,r7}
|
|
ldrb r1, [r6, 0xB]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
strb r0, [r6, 0xE]
|
|
ldrb r0, [r6, 0xD]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldrb r0, [r6, 0xD]
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r6, 0xD]
|
|
bl sub_8115924
|
|
ldrb r0, [r6, 0xD]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
strb r4, [r6, 0xF]
|
|
movs r0, 0x3
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_081168E8: .4byte gUnknown_20370C0
|
|
_081168EC: .4byte gUnknown_8456CD0
|
|
_081168F0: .4byte gUnknown_8456D4C
|
|
_081168F4: .4byte gUnknown_8456D54
|
|
_081168F8: .4byte gUnknown_8458FC8
|
|
_081168FC: .4byte gUnknown_3005E70
|
|
_08116900: .4byte gUnknown_8456DDC
|
|
_08116904:
|
|
bl sub_8116FE4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
beq _0811691E
|
|
cmp r4, 0x1
|
|
beq _08116916
|
|
b _08116BF6
|
|
_08116916:
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
b _08116BF6
|
|
_0811691E:
|
|
ldrb r0, [r6, 0xE]
|
|
bl ListMenuHandleInput
|
|
adds r4, r0, 0
|
|
ldr r0, _0811696C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811699C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0811699C
|
|
ldr r0, [r6]
|
|
lsls r1, r4, 5
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0xA]
|
|
ldrb r0, [r0, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08116994
|
|
lsrs r0, r1, 7
|
|
cmp r0, 0
|
|
bne _08116994
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_8116D10
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _08116970
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_8116D60
|
|
movs r0, 0x5
|
|
b _08116982
|
|
.align 2, 0
|
|
_0811696C: .4byte gMain
|
|
_08116970:
|
|
ldr r0, _0811698C @ =gStringVar4
|
|
ldr r2, _08116990 @ =gUnknown_8457608
|
|
subs r1, 0x1
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
movs r0, 0x12
|
|
_08116982:
|
|
strb r0, [r6, 0x8]
|
|
movs r0, 0x67
|
|
bl PlaySE
|
|
b _08116D06
|
|
.align 2, 0
|
|
_0811698C: .4byte gStringVar4
|
|
_08116990: .4byte gUnknown_8457608
|
|
_08116994:
|
|
movs r0, 0x7
|
|
bl PlaySE
|
|
b _08116D06
|
|
_0811699C:
|
|
ldr r0, _081169B0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081169AA
|
|
b _08116D06
|
|
_081169AA:
|
|
movs r0, 0xA
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_081169B0: .4byte gMain
|
|
_081169B4:
|
|
ldr r4, _081169FC @ =gStringVar4
|
|
ldr r0, _08116A00 @ =gUnknown_203B058
|
|
ldrb r1, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_811631C
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
adds r1, r4, 0
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081169D2
|
|
b _08116D06
|
|
_081169D2:
|
|
ldr r4, _08116A04 @ =gStringVar1
|
|
ldrb r0, [r6, 0xF]
|
|
lsls r0, 5
|
|
ldr r1, [r6]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy7
|
|
ldr r1, [r6]
|
|
ldrb r0, [r6, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
b _08116C0A
|
|
.align 2, 0
|
|
_081169FC: .4byte gStringVar4
|
|
_08116A00: .4byte gUnknown_203B058
|
|
_08116A04: .4byte gStringVar1
|
|
_08116A08:
|
|
ldr r0, _08116A3C @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08116AA4
|
|
ldr r4, _08116A40 @ =gUnknown_203B058
|
|
ldr r1, [r6]
|
|
ldrb r0, [r6, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
strb r0, [r4]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
ldrb r0, [r4]
|
|
subs r0, 0x1
|
|
cmp r0, 0x15
|
|
bhi _08116AA4
|
|
lsls r0, 2
|
|
ldr r1, _08116A44 @ =_08116A48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08116A3C: .4byte gUnknown_3003F64
|
|
_08116A40: .4byte gUnknown_203B058
|
|
_08116A44: .4byte _08116A48
|
|
.align 2, 0
|
|
_08116A48:
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA4
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA4
|
|
.4byte _08116AA0
|
|
.4byte _08116AA0
|
|
_08116AA0:
|
|
movs r0, 0x14
|
|
strb r0, [r6, 0x8]
|
|
_08116AA4:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
cmp r0, 0x8
|
|
bhi _08116B70
|
|
lsls r0, 2
|
|
ldr r1, _08116ABC @ =_08116AC0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08116ABC: .4byte _08116AC0
|
|
.align 2, 0
|
|
_08116AC0:
|
|
.4byte _08116AE4
|
|
.4byte _08116AEA
|
|
.4byte _08116B70
|
|
.4byte _08116B70
|
|
.4byte _08116AF0
|
|
.4byte _08116AEA
|
|
.4byte _08116B44
|
|
.4byte _08116B70
|
|
.4byte _08116AEA
|
|
_08116AE4:
|
|
movs r0, 0xC
|
|
strb r0, [r6, 0x8]
|
|
b _08116B70
|
|
_08116AEA:
|
|
movs r0, 0xE
|
|
strb r0, [r6, 0x8]
|
|
b _08116B70
|
|
_08116AF0:
|
|
ldr r4, _08116B30 @ =gStringVar4
|
|
ldr r5, _08116B34 @ =gUnknown_203B058
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_81163B0
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
adds r1, r4, 0
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08116B70
|
|
movs r0, 0x7
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
ldr r0, _08116B38 @ =gStringVar1
|
|
ldr r2, _08116B3C @ =gUnknown_8456C74
|
|
ldrb r1, [r5]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r1, _08116B40 @ =gUnknown_8457700
|
|
adds r0, r4, 0
|
|
bl StringExpandPlaceholders
|
|
b _08116B70
|
|
.align 2, 0
|
|
_08116B30: .4byte gStringVar4
|
|
_08116B34: .4byte gUnknown_203B058
|
|
_08116B38: .4byte gStringVar1
|
|
_08116B3C: .4byte gUnknown_8456C74
|
|
_08116B40: .4byte gUnknown_8457700
|
|
_08116B44:
|
|
ldrb r0, [r6, 0x15]
|
|
cmp r0, 0xF0
|
|
bls _08116B6C
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
ldr r1, _08116B68 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08116B70
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
movs r0, 0
|
|
b _08116B6E
|
|
.align 2, 0
|
|
_08116B68: .4byte gStringVar4
|
|
_08116B6C:
|
|
adds r0, 0x1
|
|
_08116B6E:
|
|
strb r0, [r6, 0x15]
|
|
_08116B70:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08116B7C
|
|
b _08116D06
|
|
_08116B7C:
|
|
ldr r0, _08116B90 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08116B8A
|
|
b _08116D06
|
|
_08116B8A:
|
|
movs r0, 0x7
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_08116B90: .4byte gMain
|
|
_08116B94:
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
ldr r1, _08116BAC @ =gUnknown_845771C
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08116BA6
|
|
b _08116D06
|
|
_08116BA6:
|
|
movs r0, 0x8
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_08116BAC: .4byte gUnknown_845771C
|
|
_08116BB0:
|
|
adds r4, r6, 0
|
|
adds r4, 0x9
|
|
bl sub_80FB9F4
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08116BEE
|
|
cmp r1, r0
|
|
bgt _08116BDC
|
|
subs r0, 0x2
|
|
cmp r1, r0
|
|
beq _08116BF2
|
|
b _08116D06
|
|
_08116BDC:
|
|
cmp r1, 0
|
|
beq _08116BE6
|
|
cmp r1, 0x1
|
|
beq _08116BEE
|
|
b _08116D06
|
|
_08116BE6:
|
|
bl sub_80FA6BC
|
|
movs r0, 0x9
|
|
b _08116BF4
|
|
_08116BEE:
|
|
movs r0, 0x5
|
|
b _08116BF4
|
|
_08116BF2:
|
|
movs r0, 0x6
|
|
_08116BF4:
|
|
strb r0, [r6, 0x8]
|
|
_08116BF6:
|
|
ldrb r0, [r6, 0xE]
|
|
bl sub_8107180
|
|
b _08116D06
|
|
_08116BFE:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08116C0A
|
|
b _08116D06
|
|
_08116C0A:
|
|
movs r0, 0x6
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
_08116C10:
|
|
ldrb r0, [r6, 0xD]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r6, 0xD]
|
|
movs r1, 0
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r6, 0xE]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r6, 0xC]
|
|
bl ClearWindowTilemap
|
|
ldrb r0, [r6, 0xB]
|
|
movs r1, 0
|
|
bl sub_80F6F9C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r6, 0xD]
|
|
bl RemoveWindow
|
|
ldrb r0, [r6, 0xB]
|
|
bl RemoveWindow
|
|
ldrb r0, [r6, 0xC]
|
|
bl RemoveWindow
|
|
ldrb r0, [r6, 0x11]
|
|
bl DestroyTask
|
|
ldr r0, [r6]
|
|
bl Free
|
|
ldr r0, [r6, 0x4]
|
|
bl Free
|
|
ldrb r0, [r6, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
_08116C68:
|
|
bl sub_80FCE44
|
|
adds r5, r6, 0
|
|
adds r5, 0x9
|
|
ldr r4, _08116C90 @ =gUnknown_8457754
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08116D06
|
|
ldr r0, _08116C94 @ =gUnknown_20370D0
|
|
movs r1, 0x6
|
|
b _08116CDC
|
|
.align 2, 0
|
|
_08116C90: .4byte gUnknown_8457754
|
|
_08116C94: .4byte gUnknown_20370D0
|
|
_08116C98:
|
|
bl sub_80FCE44
|
|
ldr r0, _08116CA4 @ =gUnknown_20370D0
|
|
movs r1, 0x5
|
|
b _08116CDC
|
|
.align 2, 0
|
|
_08116CA4: .4byte gUnknown_20370D0
|
|
_08116CA8:
|
|
bl sub_80FCE44
|
|
adds r5, r6, 0
|
|
adds r5, 0x9
|
|
ldr r4, _08116CC4 @ =gUnknown_8457754
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
b _08116CCE
|
|
.align 2, 0
|
|
_08116CC4: .4byte gUnknown_8457754
|
|
_08116CC8:
|
|
adds r0, r6, 0
|
|
adds r0, 0x9
|
|
ldr r1, _08116CE4 @ =gStringVar4
|
|
_08116CCE:
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08116D06
|
|
ldr r0, _08116CE8 @ =gUnknown_20370D0
|
|
movs r1, 0x8
|
|
_08116CDC:
|
|
strh r1, [r0]
|
|
movs r0, 0x17
|
|
strb r0, [r6, 0x8]
|
|
b _08116D06
|
|
.align 2, 0
|
|
_08116CE4: .4byte gStringVar4
|
|
_08116CE8: .4byte gUnknown_20370D0
|
|
_08116CEC:
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl sub_811A41C
|
|
bl sub_80F8DC0
|
|
b _08116D06
|
|
_08116CFC:
|
|
bl sub_8117990
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_08116D06:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8116738
|
|
|
|
thumb_func_start sub_8116D10
|
|
sub_8116D10: @ 8116D10
|
|
push {lr}
|
|
lsls r1, 5
|
|
ldr r0, [r0]
|
|
adds r3, r0, r1
|
|
ldr r0, _08116D44 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x4
|
|
bne _08116D56
|
|
ldrb r0, [r3, 0x1]
|
|
movs r1, 0x3C
|
|
ands r1, r0
|
|
cmp r1, 0x10
|
|
beq _08116D56
|
|
cmp r1, 0x14
|
|
beq _08116D56
|
|
ldr r0, _08116D48 @ =gSaveBlock2Ptr
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, 0x9]
|
|
movs r2, 0x80
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08116D4C
|
|
movs r0, 0x1
|
|
b _08116D5C
|
|
.align 2, 0
|
|
_08116D44: .4byte gUnknown_203B058
|
|
_08116D48: .4byte gSaveBlock2Ptr
|
|
_08116D4C:
|
|
ldrb r1, [r3]
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08116D5A
|
|
_08116D56:
|
|
movs r0, 0
|
|
b _08116D5C
|
|
_08116D5A:
|
|
movs r0, 0x2
|
|
_08116D5C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8116D10
|
|
|
|
thumb_func_start sub_8116D60
|
|
sub_8116D60: @ 8116D60
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
strb r1, [r4, 0xF]
|
|
bl sub_80FCEA8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FCD74
|
|
ldrb r0, [r4, 0xE]
|
|
bl sub_8107180
|
|
ldr r5, _08116DD4 @ =gStringVar1
|
|
ldrb r0, [r4, 0xF]
|
|
lsls r0, 5
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r5, 0
|
|
bl StringCopy7
|
|
ldr r1, [r4]
|
|
ldrb r0, [r4, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r5, 0
|
|
bl ConvertInternationalString
|
|
ldr r1, _08116DD8 @ =gUnknown_84570C8
|
|
ldr r0, _08116DDC @ =gUnknown_20370C0
|
|
ldrh r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
ldrb r1, [r4, 0xF]
|
|
lsls r1, 5
|
|
ldr r0, [r4]
|
|
adds r0, r1
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80FBF54
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116DD4: .4byte gStringVar1
|
|
_08116DD8: .4byte gUnknown_84570C8
|
|
_08116DDC: .4byte gUnknown_20370C0
|
|
thumb_func_end sub_8116D60
|
|
|
|
thumb_func_start sub_8116DE0
|
|
sub_8116DE0: @ 8116DE0
|
|
push {lr}
|
|
ldr r0, _08116E0C @ =sub_8116E1C
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _08116E10 @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r2, _08116E14 @ =gTasks+0x8
|
|
adds r1, r2
|
|
str r1, [r3]
|
|
movs r2, 0
|
|
strb r2, [r1, 0x8]
|
|
strb r2, [r1, 0x9]
|
|
ldr r2, _08116E18 @ =gUnknown_3002028
|
|
str r1, [r2]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08116E0C: .4byte sub_8116E1C
|
|
_08116E10: .4byte gUnknown_203B05C
|
|
_08116E14: .4byte gTasks+0x8
|
|
_08116E18: .4byte gUnknown_3002028
|
|
thumb_func_end sub_8116DE0
|
|
|
|
thumb_func_start sub_8116E1C
|
|
sub_8116E1C: @ 8116E1C
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldr r0, _08116E38 @ =gUnknown_203B05C
|
|
ldr r4, [r0]
|
|
ldrb r0, [r4, 0x8]
|
|
cmp r0, 0xB
|
|
bhi _08116F20
|
|
lsls r0, 2
|
|
ldr r1, _08116E3C @ =_08116E40
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08116E38: .4byte gUnknown_203B05C
|
|
_08116E3C: .4byte _08116E40
|
|
.align 2, 0
|
|
_08116E40:
|
|
.4byte _08116E70
|
|
.4byte _08116F20
|
|
.4byte _08116EA4
|
|
.4byte _08116EC8
|
|
.4byte _08116F20
|
|
.4byte _08116F20
|
|
.4byte _08116F20
|
|
.4byte _08116F20
|
|
.4byte _08116F20
|
|
.4byte _08116F20
|
|
.4byte _08116EF8
|
|
.4byte _08116F16
|
|
_08116E70:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBBD8
|
|
movs r0, 0x1
|
|
bl sub_80FB128
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r4, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r4]
|
|
movs r0, 0x2
|
|
strb r0, [r4, 0x8]
|
|
b _08116F20
|
|
_08116EA4:
|
|
ldr r0, [r4, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r4]
|
|
movs r1, 0x10
|
|
bl sub_811A5E4
|
|
ldr r0, [r4, 0x4]
|
|
movs r1, 0xFF
|
|
bl sub_811A054
|
|
movs r1, 0
|
|
strb r0, [r4, 0x11]
|
|
strb r1, [r4, 0xF]
|
|
movs r0, 0x3
|
|
strb r0, [r4, 0x8]
|
|
b _08116F20
|
|
_08116EC8:
|
|
bl sub_8116FE4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08116EDA
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
_08116EDA:
|
|
ldr r0, _08116EF4 @ =gTasks
|
|
lsls r1, r5, 2
|
|
adds r1, r5
|
|
lsls r1, 3
|
|
adds r1, r0
|
|
movs r2, 0x26
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0xFF
|
|
bne _08116F20
|
|
movs r0, 0xA
|
|
strb r0, [r4, 0x8]
|
|
b _08116F20
|
|
.align 2, 0
|
|
_08116EF4: .4byte gTasks
|
|
_08116EF8:
|
|
ldrb r0, [r4, 0x11]
|
|
bl DestroyTask
|
|
ldr r0, [r4]
|
|
bl Free
|
|
ldr r0, [r4, 0x4]
|
|
bl Free
|
|
bl sub_80F8DC0
|
|
ldrb r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r4, 0x8]
|
|
b _08116F20
|
|
_08116F16:
|
|
bl sub_80F8DC0
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
_08116F20:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8116E1C
|
|
|
|
thumb_func_start sub_8116F28
|
|
sub_8116F28: @ 8116F28
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
cmp r1, 0xFF
|
|
bne _08116F34
|
|
_08116F30:
|
|
movs r0, 0x1
|
|
b _08116F58
|
|
_08116F34:
|
|
cmp r1, 0xD
|
|
bhi _08116F56
|
|
ldr r0, _08116F44 @ =gUnknown_8457094
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
b _08116F50
|
|
.align 2, 0
|
|
_08116F44: .4byte gUnknown_8457094
|
|
_08116F48:
|
|
ldrb r0, [r1]
|
|
cmp r0, r2
|
|
beq _08116F30
|
|
adds r1, 0x1
|
|
_08116F50:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFF
|
|
bne _08116F48
|
|
_08116F56:
|
|
movs r0, 0
|
|
_08116F58:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8116F28
|
|
|
|
thumb_func_start sub_8116F5C
|
|
sub_8116F5C: @ 8116F5C
|
|
push {lr}
|
|
ldr r0, [r0]
|
|
lsls r1, 5
|
|
adds r1, r0, r1
|
|
ldrb r2, [r1, 0x1A]
|
|
lsls r0, r2, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08116F8E
|
|
ldrb r0, [r1, 0xA]
|
|
lsrs r0, 7
|
|
cmp r0, 0
|
|
beq _08116F7A
|
|
movs r0, 0x3
|
|
b _08116F90
|
|
_08116F7A:
|
|
lsls r0, r2, 29
|
|
cmp r0, 0
|
|
bge _08116F84
|
|
movs r0, 0x1
|
|
b _08116F90
|
|
_08116F84:
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0
|
|
beq _08116F8E
|
|
movs r0, 0x2
|
|
b _08116F90
|
|
_08116F8E:
|
|
movs r0, 0
|
|
_08116F90:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8116F5C
|
|
|
|
thumb_func_start sub_8116F94
|
|
sub_8116F94: @ 8116F94
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x8
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
adds r6, r2, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
ldr r0, _08116FE0 @ =gUnknown_203B05C
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
bl sub_8116F5C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r4, 5
|
|
mov r2, r8
|
|
ldr r3, [r2]
|
|
adds r3, r1
|
|
str r0, [sp]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
str r4, [sp, 0x4]
|
|
adds r0, r5, 0
|
|
movs r1, 0x8
|
|
adds r2, r6, 0
|
|
bl sub_811A81C
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08116FE0: .4byte gUnknown_203B05C
|
|
thumb_func_end sub_8116F94
|
|
|
|
thumb_func_start sub_8116FE4
|
|
sub_8116FE4: @ 8116FE4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
ldr r0, _0811704C @ =gUnknown_203B05C
|
|
ldr r6, [r0]
|
|
movs r7, 0
|
|
movs r3, 0
|
|
_08116FF4:
|
|
ldr r0, [r6]
|
|
lsls r5, r3, 5
|
|
adds r2, r0, r5
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r0, 30
|
|
mov r8, r5
|
|
cmp r0, 0
|
|
beq _081170C0
|
|
ldr r1, [r6, 0x4]
|
|
adds r0, r2, 0
|
|
str r3, [sp]
|
|
bl sub_811A748
|
|
adds r4, r0, 0
|
|
ldr r3, [sp]
|
|
cmp r4, 0xFF
|
|
beq _0811708E
|
|
ldr r0, [r6]
|
|
adds r2, r0, r5
|
|
ldrb r1, [r2, 0x1A]
|
|
lsls r0, r1, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _0811706C
|
|
lsls r0, r4, 3
|
|
subs r0, r4
|
|
lsls r4, r0, 2
|
|
ldr r1, [r6, 0x4]
|
|
adds r1, r4
|
|
adds r0, r2, 0
|
|
bl sub_811A6DC
|
|
ldr r3, [sp]
|
|
cmp r0, 0
|
|
beq _08117050
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
adds r1, r5
|
|
adds r0, r4
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
b _0811707A
|
|
.align 2, 0
|
|
_0811704C: .4byte gUnknown_203B05C
|
|
_08117050:
|
|
ldr r0, [r6]
|
|
adds r1, r0, r5
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0
|
|
beq _08117084
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x1B]
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
ldrb r0, [r0, 0x1B]
|
|
cmp r0, 0
|
|
bne _08117084
|
|
movs r7, 0x2
|
|
b _08117084
|
|
_0811706C:
|
|
movs r4, 0x4
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
_0811707A:
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
movs r1, 0x40
|
|
strb r1, [r0, 0x1B]
|
|
movs r7, 0x1
|
|
_08117084:
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
movs r1, 0
|
|
strh r1, [r0, 0x18]
|
|
b _081170C0
|
|
_0811708E:
|
|
ldr r0, [r6]
|
|
adds r1, r0, r5
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x2
|
|
beq _081170C0
|
|
ldrh r0, [r1, 0x18]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x18]
|
|
ldr r0, [r6]
|
|
adds r2, r0, r5
|
|
ldrh r1, [r2, 0x18]
|
|
ldr r0, _081170FC @ =0x0000012b
|
|
cmp r1, r0
|
|
bls _081170C0
|
|
ldrb r0, [r2, 0x1A]
|
|
movs r7, 0x4
|
|
negs r7, r7
|
|
adds r1, r7, 0
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
movs r7, 0x2
|
|
_081170C0:
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0xF
|
|
bls _08116FF4
|
|
movs r5, 0
|
|
movs r4, 0x3
|
|
_081170CE:
|
|
ldr r0, [r6]
|
|
ldr r1, [r6, 0x4]
|
|
adds r1, r5
|
|
movs r2, 0x10
|
|
bl sub_811A798
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _081170E4
|
|
movs r7, 0x1
|
|
_081170E4:
|
|
adds r5, 0x1C
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _081170CE
|
|
adds r0, r7, 0
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081170FC: .4byte 0x0000012b
|
|
thumb_func_end sub_8116FE4
|
|
|
|
thumb_func_start sub_8117100
|
|
sub_8117100: @ 8117100
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_804C718
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117100
|
|
|
|
thumb_func_start sub_8117118
|
|
sub_8117118: @ 8117118
|
|
push {lr}
|
|
ldr r0, _0811712C @ =sub_8117100
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811712C: .4byte sub_8117100
|
|
thumb_func_end sub_8117118
|
|
|
|
thumb_func_start sub_8117130
|
|
sub_8117130: @ 8117130
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _0811716C @ =gUnknown_203B06C
|
|
mov r8, r0
|
|
bl GetMultiplayerId
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
mov r0, r8
|
|
bl sub_811B1EC
|
|
adds r7, r0, 0
|
|
ldr r1, _08117170 @ =gTasks
|
|
lsls r0, r6, 2
|
|
adds r0, r6
|
|
lsls r0, 3
|
|
adds r5, r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
beq _0811719C
|
|
cmp r0, 0x1
|
|
bgt _08117174
|
|
cmp r0, 0
|
|
beq _0811717E
|
|
b _0811725C
|
|
.align 2, 0
|
|
_0811716C: .4byte gUnknown_203B06C
|
|
_08117170: .4byte gTasks
|
|
_08117174:
|
|
cmp r0, 0x2
|
|
beq _081171D8
|
|
cmp r0, 0x3
|
|
beq _08117210
|
|
b _0811725C
|
|
_0811717E:
|
|
ldrh r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0x8]
|
|
movs r0, 0x64
|
|
adds r1, r7, 0
|
|
muls r1, r0
|
|
ldr r0, _08117198 @ =gPlayerParty
|
|
adds r1, r0
|
|
movs r0, 0
|
|
movs r2, 0x64
|
|
bl SendBlock
|
|
b _0811725C
|
|
.align 2, 0
|
|
_08117198: .4byte gPlayerParty
|
|
_0811719C:
|
|
bl GetBlockReceivedStatus
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
bne _0811725C
|
|
bl GetMultiplayerId
|
|
adds r1, r0, 0
|
|
ldr r0, _081171D0 @ =gEnemyParty
|
|
movs r2, 0x1
|
|
eors r1, r2
|
|
lsls r1, 24
|
|
lsrs r1, 16
|
|
ldr r2, _081171D4 @ =gUnknown_2022118
|
|
adds r1, r2
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
movs r0, 0x32
|
|
bl IncrementGameStat
|
|
bl ResetBlockReceivedFlags
|
|
b _081171FA
|
|
.align 2, 0
|
|
_081171D0: .4byte gEnemyParty
|
|
_081171D4: .4byte gUnknown_2022118
|
|
_081171D8:
|
|
ldr r4, _08117204 @ =gUnknown_2022618
|
|
ldr r0, _08117208 @ =gSaveBlock1Ptr
|
|
ldr r1, [r0]
|
|
ldr r0, _0811720C @ =0x00002cd0
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
movs r2, 0xDC
|
|
bl memcpy
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0xDC
|
|
bl SendBlock
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811725C
|
|
_081171FA:
|
|
ldrh r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r5, 0x8]
|
|
b _0811725C
|
|
.align 2, 0
|
|
_08117204: .4byte gUnknown_2022618
|
|
_08117208: .4byte gSaveBlock1Ptr
|
|
_0811720C: .4byte 0x00002cd0
|
|
_08117210:
|
|
bl GetBlockReceivedStatus
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
bne _0811725C
|
|
ldr r4, _08117268 @ =gUnknown_2031CCC
|
|
bl GetMultiplayerId
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
eors r1, r0
|
|
lsls r1, 24
|
|
lsrs r1, 16
|
|
ldr r0, _0811726C @ =gUnknown_2022118
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
movs r2, 0xD8
|
|
bl memcpy
|
|
bl ResetBlockReceivedFlags
|
|
ldr r1, _08117270 @ =gUnknown_2031DA4
|
|
strb r7, [r1]
|
|
movs r0, 0x6
|
|
strb r0, [r1, 0x1]
|
|
ldr r1, _08117274 @ =gMain
|
|
ldr r0, _08117278 @ =c2_exit_to_overworld_2_switch
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0811727C @ =sub_8050138
|
|
bl SetMainCallback2
|
|
mov r0, r8
|
|
bl sub_811B148
|
|
adds r0, r6, 0
|
|
bl DestroyTask
|
|
_0811725C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08117268: .4byte gUnknown_2031CCC
|
|
_0811726C: .4byte gUnknown_2022118
|
|
_08117270: .4byte gUnknown_2031DA4
|
|
_08117274: .4byte gMain
|
|
_08117278: .4byte c2_exit_to_overworld_2_switch
|
|
_0811727C: .4byte sub_8050138
|
|
thumb_func_end sub_8117130
|
|
|
|
thumb_func_start sub_8117280
|
|
sub_8117280: @ 8117280
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldr r1, _081172A4 @ =gTasks
|
|
lsls r0, 2
|
|
add r0, r8
|
|
lsls r0, 3
|
|
adds r4, r0, r1
|
|
movs r1, 0x8
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _081172A8
|
|
cmp r0, 0x1
|
|
beq _081172C0
|
|
b _0811734A
|
|
.align 2, 0
|
|
_081172A4: .4byte gTasks
|
|
_081172A8:
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081172B8
|
|
movs r0, 0x2
|
|
bl sub_800A474
|
|
_081172B8:
|
|
ldrh r0, [r4, 0x8]
|
|
adds r0, 0x1
|
|
strh r0, [r4, 0x8]
|
|
b _0811734A
|
|
_081172C0:
|
|
bl GetBlockReceivedStatus
|
|
adds r4, r0, 0
|
|
bl sub_800A8D4
|
|
lsls r4, 24
|
|
lsls r0, 24
|
|
cmp r4, r0
|
|
bne _0811734A
|
|
movs r4, 0
|
|
ldr r0, _081172E0 @ =gUnknown_2039624
|
|
adds r7, r0, 0
|
|
adds r7, 0x38
|
|
ldr r6, _081172E4 @ =gLinkPlayers
|
|
adds r5, r0, 0
|
|
b _08117302
|
|
.align 2, 0
|
|
_081172E0: .4byte gUnknown_2039624
|
|
_081172E4: .4byte gLinkPlayers
|
|
_081172E8:
|
|
lsls r0, r4, 8
|
|
ldr r1, _08117338 @ =gUnknown_2022118
|
|
adds r1, r0, r1
|
|
adds r0, r5, 0
|
|
movs r2, 0x60
|
|
bl memcpy
|
|
ldrh r0, [r6]
|
|
strb r0, [r7]
|
|
adds r7, 0x60
|
|
adds r6, 0x1C
|
|
adds r5, 0x60
|
|
adds r4, 0x1
|
|
_08117302:
|
|
bl GetLinkPlayerCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r4, r0
|
|
blt _081172E8
|
|
bl GetLinkPlayerCount
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _0811733C
|
|
bl GetMultiplayerId
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 16
|
|
ldr r1, _08117338 @ =gUnknown_2022118
|
|
adds r1, r0, r1
|
|
adds r0, r1, 0
|
|
adds r0, 0x60
|
|
ldrh r0, [r0]
|
|
bl sub_81446D0
|
|
b _08117340
|
|
.align 2, 0
|
|
_08117338: .4byte gUnknown_2022118
|
|
_0811733C:
|
|
bl sub_81446C4
|
|
_08117340:
|
|
bl ResetBlockReceivedFlags
|
|
mov r0, r8
|
|
bl DestroyTask
|
|
_0811734A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117280
|
|
|
|
thumb_func_start sub_8117354
|
|
sub_8117354: @ 8117354
|
|
push {r4,lr}
|
|
ldr r0, _0811736C @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _08117370
|
|
cmp r0, 0x1
|
|
beq _08117384
|
|
b _081173A2
|
|
.align 2, 0
|
|
_0811736C: .4byte gMain
|
|
_08117370:
|
|
ldr r0, _08117380 @ =sub_8117280
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _081173A2
|
|
.align 2, 0
|
|
_08117380: .4byte sub_8117280
|
|
_08117384:
|
|
ldr r0, _081173B8 @ =sub_8117280
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081173A2
|
|
bl GetMultiplayerId
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081173BC @ =c2_exit_to_overworld_2_switch
|
|
bl sub_808B700
|
|
_081173A2:
|
|
bl RunTasks
|
|
bl RunTextPrinters
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081173B8: .4byte sub_8117280
|
|
_081173BC: .4byte c2_exit_to_overworld_2_switch
|
|
thumb_func_end sub_8117354
|
|
|
|
thumb_func_start sub_81173C0
|
|
sub_81173C0: @ 81173C0
|
|
push {r4-r6,lr}
|
|
adds r6, r0, 0
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
bl sp000_heal_pokemon
|
|
bl SavePlayerParty
|
|
bl LoadPlayerBag
|
|
ldr r5, _0811742C @ =gLinkPlayers
|
|
ldr r0, _08117430 @ =0x00002211
|
|
str r0, [r5, 0x14]
|
|
bl GetMultiplayerId
|
|
adds r4, r0, 0
|
|
bl GetMultiplayerId
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, r4, 3
|
|
subs r1, r4
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r1, 0x18]
|
|
bl GetMultiplayerId
|
|
adds r4, r0, 0
|
|
bl GetMultiplayerId
|
|
movs r2, 0x1
|
|
eors r4, r2
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r1, r4, 3
|
|
subs r1, r4
|
|
lsls r1, 2
|
|
adds r1, r5
|
|
eors r0, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
strh r0, [r1, 0x18]
|
|
ldr r1, _08117434 @ =gMain
|
|
ldr r0, _08117438 @ =sub_8081668
|
|
str r0, [r1, 0x8]
|
|
ldr r0, _0811743C @ =gBattleTypeFlags
|
|
str r6, [r0]
|
|
bl PlayBattleBGM
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811742C: .4byte gLinkPlayers
|
|
_08117430: .4byte 0x00002211
|
|
_08117434: .4byte gMain
|
|
_08117438: .4byte sub_8081668
|
|
_0811743C: .4byte gBattleTypeFlags
|
|
thumb_func_end sub_81173C0
|
|
|
|
thumb_func_start sub_8117440
|
|
sub_8117440: @ 8117440
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x8
|
|
adds r3, r0, 0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
lsls r3, 16
|
|
lsrs r3, 16
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
ldr r0, _081174AC @ =0x0000406f
|
|
adds r1, r3, 0
|
|
bl VarSet
|
|
ldr r6, _081174B0 @ =gSaveBlock1Ptr
|
|
ldr r1, [r6]
|
|
movs r0, 0x4
|
|
ldrsb r0, [r1, r0]
|
|
ldrb r1, [r1, 0x5]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
mov r8, r2
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
lsls r5, 24
|
|
asrs r5, 24
|
|
str r5, [sp]
|
|
adds r3, r4, 0
|
|
bl Overworld_SetWarpDestination
|
|
ldr r0, [r6]
|
|
movs r1, 0x4
|
|
ldrsb r1, [r0, r1]
|
|
movs r2, 0x5
|
|
ldrsb r2, [r0, r2]
|
|
str r4, [sp]
|
|
str r5, [sp, 0x4]
|
|
movs r0, 0
|
|
mov r3, r8
|
|
bl saved_warp2_set_2
|
|
bl warp_in
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081174AC: .4byte 0x0000406f
|
|
_081174B0: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_8117440
|
|
|
|
thumb_func_start sub_81174B4
|
|
sub_81174B4: @ 81174B4
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
mov r8, r2
|
|
adds r6, r3, 0
|
|
ldr r1, [sp, 0x18]
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r0, _08117524 @ =gUnknown_20370C0
|
|
strh r1, [r0]
|
|
ldr r0, _08117528 @ =0x0000406f
|
|
bl VarSet
|
|
bl GetLinkPlayerCount
|
|
ldr r1, _0811752C @ =gUnknown_3005030
|
|
strb r0, [r1]
|
|
bl GetMultiplayerId
|
|
ldr r1, _08117530 @ =gUnknown_300502C
|
|
strb r0, [r1]
|
|
bl SetCableClubWarp
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
lsls r5, 24
|
|
asrs r5, 24
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
mov r0, r8
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
mov r8, r0
|
|
lsls r6, 24
|
|
asrs r6, 24
|
|
str r6, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
mov r3, r8
|
|
bl Overworld_SetWarpDestination
|
|
bl warp_in
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08117524: .4byte gUnknown_20370C0
|
|
_08117528: .4byte 0x0000406f
|
|
_0811752C: .4byte gUnknown_3005030
|
|
_08117530: .4byte gUnknown_300502C
|
|
thumb_func_end sub_81174B4
|
|
|
|
thumb_func_start sub_8117534
|
|
sub_8117534: @ 8117534
|
|
push {r4,lr}
|
|
ldr r0, _0811754C @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _08117550
|
|
cmp r0, 0x1
|
|
beq _08117564
|
|
b _08117576
|
|
.align 2, 0
|
|
_0811754C: .4byte gMain
|
|
_08117550:
|
|
ldr r0, _08117560 @ =sub_8117280
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _08117576
|
|
.align 2, 0
|
|
_08117560: .4byte sub_8117280
|
|
_08117564:
|
|
ldr r0, _0811758C @ =sub_8117280
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08117576
|
|
ldr r0, _08117590 @ =sub_8056788
|
|
bl SetMainCallback2
|
|
_08117576:
|
|
bl RunTasks
|
|
bl RunTextPrinters
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811758C: .4byte sub_8117280
|
|
_08117590: .4byte sub_8056788
|
|
thumb_func_end sub_8117534
|
|
|
|
thumb_func_start sub_8117594
|
|
sub_8117594: @ 8117594
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
bl sub_80898E8
|
|
cmp r5, 0
|
|
beq _081175AE
|
|
bl sub_81440E8
|
|
adds r1, r4, 0
|
|
adds r1, 0x60
|
|
strh r0, [r1]
|
|
b _081175B4
|
|
_081175AE:
|
|
adds r0, r4, 0
|
|
adds r0, 0x60
|
|
strh r5, [r0]
|
|
_081175B4:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117594
|
|
|
|
thumb_func_start sub_81175BC
|
|
sub_81175BC: @ 81175BC
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_81446C4
|
|
ldr r0, _081175DC @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, 0xD
|
|
bhi _08117620
|
|
lsls r0, 2
|
|
ldr r1, _081175E0 @ =_081175E4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081175DC: .4byte gUnknown_203B058
|
|
_081175E0: .4byte _081175E4
|
|
.align 2, 0
|
|
_081175E4:
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
.4byte _08117620
|
|
.4byte _08117620
|
|
.4byte _08117620
|
|
.4byte _08117620
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
.4byte _08117620
|
|
.4byte _0811761C
|
|
.4byte _0811761C
|
|
_0811761C:
|
|
bl sub_80FD1A0
|
|
_08117620:
|
|
ldr r0, _08117638 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, 0x50
|
|
bls _0811762C
|
|
b _081178E0
|
|
_0811762C:
|
|
lsls r0, 2
|
|
ldr r1, _0811763C @ =_08117640
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08117638: .4byte gUnknown_203B058
|
|
_0811763C: .4byte _08117640
|
|
.align 2, 0
|
|
_08117640:
|
|
.4byte _081177A0
|
|
.4byte _081177C8
|
|
.4byte _081177F0
|
|
.4byte _08117818
|
|
.4byte _08117854
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _08117878
|
|
.4byte _08117890
|
|
.4byte _081178B0
|
|
.4byte _081178C8
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _08117784
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _08117844
|
|
.4byte _08117854
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _08117878
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _081178E0
|
|
.4byte _08117784
|
|
_08117784:
|
|
bl sub_80563F0
|
|
ldr r1, _08117798 @ =gMain
|
|
ldr r0, _0811779C @ =sub_811C1C8
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0x2
|
|
bl sub_81274A8
|
|
b _081178E0
|
|
.align 2, 0
|
|
_08117798: .4byte gMain
|
|
_0811779C: .4byte sub_811C1C8
|
|
_081177A0:
|
|
bl sub_80563F0
|
|
ldr r0, _081177C4 @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
bl sp000_heal_pokemon
|
|
bl SavePlayerParty
|
|
bl LoadPlayerBag
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
b _0811782E
|
|
.align 2, 0
|
|
_081177C4: .4byte gUnknown_2022618
|
|
_081177C8:
|
|
bl sub_80563F0
|
|
bl sp000_heal_pokemon
|
|
bl SavePlayerParty
|
|
bl LoadPlayerBag
|
|
ldr r0, _081177EC @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
movs r0, 0x2
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0x6
|
|
b _0811782E
|
|
.align 2, 0
|
|
_081177EC: .4byte gUnknown_2022618
|
|
_081177F0:
|
|
bl sub_80563F0
|
|
bl sp000_heal_pokemon
|
|
bl SavePlayerParty
|
|
bl LoadPlayerBag
|
|
ldr r0, _08117814 @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
b _0811782C
|
|
.align 2, 0
|
|
_08117814: .4byte gUnknown_2022618
|
|
_08117818:
|
|
ldr r0, _0811783C @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
bl sub_80563F0
|
|
movs r0, 0x3
|
|
str r0, [sp]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
_0811782C:
|
|
movs r2, 0x5
|
|
_0811782E:
|
|
movs r3, 0x8
|
|
bl sub_81174B4
|
|
ldr r0, _08117840 @ =sub_8117534
|
|
bl SetMainCallback2
|
|
b _081178E0
|
|
.align 2, 0
|
|
_0811783C: .4byte gUnknown_2022618
|
|
_08117840: .4byte sub_8117534
|
|
_08117844:
|
|
ldr r0, _08117850 @ =sub_8117130
|
|
movs r1, 0
|
|
bl CreateTask
|
|
b _081178E0
|
|
.align 2, 0
|
|
_08117850: .4byte sub_8117130
|
|
_08117854:
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08117864
|
|
bl sub_80F8CFC
|
|
b _08117872
|
|
_08117864:
|
|
bl sub_80F8D14
|
|
movs r0, 0x45
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FAF58
|
|
_08117872:
|
|
bl sub_8128420
|
|
b _081178E0
|
|
_08117878:
|
|
ldr r0, _08117888 @ =gUnknown_2022618
|
|
movs r1, 0
|
|
bl sub_8117594
|
|
ldr r0, _0811788C @ =sub_8117354
|
|
bl SetMainCallback2
|
|
b _081178E0
|
|
.align 2, 0
|
|
_08117888: .4byte gUnknown_2022618
|
|
_0811788C: .4byte sub_8117354
|
|
_08117890:
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
movs r2, 0x1
|
|
bl sub_8117440
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081178AC @ =sub_805671C
|
|
bl sub_8147AA8
|
|
b _081178E0
|
|
.align 2, 0
|
|
_081178AC: .4byte sub_805671C
|
|
_081178B0:
|
|
movs r0, 0x7
|
|
movs r1, 0x9
|
|
movs r2, 0x1
|
|
bl sub_8117440
|
|
ldr r0, _081178C4 @ =sub_805671C
|
|
bl sub_814B754
|
|
b _081178E0
|
|
.align 2, 0
|
|
_081178C4: .4byte sub_805671C
|
|
_081178C8:
|
|
movs r0, 0x8
|
|
movs r1, 0x5
|
|
movs r2, 0x1
|
|
bl sub_8117440
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r1, _081178F8 @ =sub_805671C
|
|
bl sub_81507FC
|
|
_081178E0:
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r1, _081178FC @ =gUnknown_20370D0
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
bl ScriptContext2_Disable
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081178F8: .4byte sub_805671C
|
|
_081178FC: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_81175BC
|
|
|
|
thumb_func_start sub_8117900
|
|
sub_8117900: @ 8117900
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
lsls r0, 3
|
|
ldr r1, _08117924 @ =gTasks+0x8
|
|
adds r4, r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x1
|
|
beq _08117944
|
|
cmp r0, 0x1
|
|
bgt _08117928
|
|
cmp r0, 0
|
|
beq _08117932
|
|
b _08117988
|
|
.align 2, 0
|
|
_08117924: .4byte gTasks+0x8
|
|
_08117928:
|
|
cmp r0, 0x2
|
|
beq _08117958
|
|
cmp r0, 0x3
|
|
beq _08117974
|
|
b _08117988
|
|
_08117932:
|
|
ldr r1, _08117940 @ =gUnknown_20370D0
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
bl EnableBothScriptContexts
|
|
b _08117968
|
|
.align 2, 0
|
|
_08117940: .4byte gUnknown_20370D0
|
|
_08117944:
|
|
bl ScriptContext1_IsScriptSetUp
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08117988
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl fade_screen
|
|
b _08117968
|
|
_08117958:
|
|
ldr r0, _08117970 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08117988
|
|
bl sub_800AB9C
|
|
_08117968:
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _08117988
|
|
.align 2, 0
|
|
_08117970: .4byte gPaletteFade
|
|
_08117974:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08117988
|
|
adds r0, r5, 0
|
|
bl DestroyTask
|
|
bl sub_81179A4
|
|
_08117988:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117900
|
|
|
|
thumb_func_start sub_8117990
|
|
sub_8117990: @ 8117990
|
|
push {lr}
|
|
ldr r0, _081179A0 @ =sub_8117900
|
|
movs r1, 0
|
|
bl CreateTask
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081179A0: .4byte sub_8117900
|
|
thumb_func_end sub_8117990
|
|
|
|
thumb_func_start sub_81179A4
|
|
sub_81179A4: @ 81179A4
|
|
push {lr}
|
|
ldr r0, _081179C4 @ =sub_81175BC
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _081179C8 @ =gTasks
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
adds r1, r2
|
|
movs r0, 0
|
|
strh r0, [r1, 0x8]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081179C4: .4byte sub_81175BC
|
|
_081179C8: .4byte gTasks
|
|
thumb_func_end sub_81179A4
|
|
|
|
thumb_func_start sub_81179CC
|
|
sub_81179CC: @ 81179CC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _081179FC @ =sub_8117A0C
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08117A00 @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08117A04 @ =gTasks+0x8
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
movs r2, 0
|
|
strb r2, [r1, 0xC]
|
|
strb r2, [r1, 0xD]
|
|
strb r4, [r1, 0x18]
|
|
ldr r0, _08117A08 @ =gUnknown_20370D0
|
|
strh r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081179FC: .4byte sub_8117A0C
|
|
_08117A00: .4byte gUnknown_203B05C
|
|
_08117A04: .4byte gTasks+0x8
|
|
_08117A08: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_81179CC
|
|
|
|
thumb_func_start sub_8117A0C
|
|
sub_8117A0C: @ 8117A0C
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08117A2C @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x11
|
|
bls _08117A20
|
|
b _08117ECA
|
|
_08117A20:
|
|
lsls r0, 2
|
|
ldr r1, _08117A30 @ =_08117A34
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08117A2C: .4byte gUnknown_203B05C
|
|
_08117A30: .4byte _08117A34
|
|
.align 2, 0
|
|
_08117A34:
|
|
.4byte _08117A7C
|
|
.4byte _08117AB8
|
|
.4byte _08117B7C
|
|
.4byte _08117BAC
|
|
.4byte _08117BBC
|
|
.4byte _08117C0C
|
|
.4byte _08117BE4
|
|
.4byte _08117C12
|
|
.4byte _08117CB2
|
|
.4byte _08117D94
|
|
.4byte _08117DA4
|
|
.4byte _08117DBA
|
|
.4byte _08117DD2
|
|
.4byte _08117DEE
|
|
.4byte _08117E26
|
|
.4byte _08117E4C
|
|
.4byte _08117E80
|
|
.4byte _08117EBA
|
|
_08117A7C:
|
|
ldr r1, _08117AB0 @ =gUnknown_203B058
|
|
ldrb r0, [r5, 0x18]
|
|
strb r0, [r1]
|
|
ldr r1, _08117AB4 @ =gUnknown_203B059
|
|
movs r0, 0x2
|
|
strb r0, [r1]
|
|
ldrb r0, [r5, 0x18]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FAF74
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
movs r0, 0x2
|
|
bl sub_80FBB8C
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117AB0: .4byte gUnknown_203B058
|
|
_08117AB4: .4byte gUnknown_203B059
|
|
_08117AB8:
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x4]
|
|
movs r0, 0xA0
|
|
bl AllocZeroed
|
|
str r0, [r5]
|
|
movs r0, 0xA0
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x8]
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r5]
|
|
movs r1, 0x5
|
|
bl sub_811A5E4
|
|
ldr r0, [r5]
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
bl sub_80FCD50
|
|
ldr r1, [r5]
|
|
movs r3, 0
|
|
movs r0, 0
|
|
strh r0, [r1, 0x18]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1A]
|
|
subs r0, 0x4
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1A]
|
|
movs r0, 0x5
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
ldr r0, [r5]
|
|
strb r3, [r0, 0x1B]
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0xFF
|
|
bl sub_811A054
|
|
strb r0, [r5, 0x17]
|
|
ldr r0, _08117B6C @ =gUnknown_8456CFC
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
bl sub_81435D4
|
|
lsls r0, 16
|
|
ldr r2, _08117B70 @ =0x0000ffff
|
|
ldr r1, [sp, 0x4]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
bl AddWindow
|
|
strb r0, [r5, 0xF]
|
|
ldrb r0, [r5, 0xF]
|
|
bl sub_814240C
|
|
ldr r0, _08117B74 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, _08117B78 @ =gUnknown_8456D34
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldrb r1, [r5, 0xF]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
strb r0, [r5, 0x12]
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x13]
|
|
b _08117C02
|
|
.align 2, 0
|
|
_08117B6C: .4byte gUnknown_8456CFC
|
|
_08117B70: .4byte 0x0000ffff
|
|
_08117B74: .4byte gUnknown_3005E70
|
|
_08117B78: .4byte gUnknown_8456D34
|
|
_08117B7C:
|
|
ldr r0, _08117B9C @ =gStringVar1
|
|
ldr r2, _08117BA0 @ =gUnknown_8456C74
|
|
ldr r4, _08117BA4 @ =gUnknown_203B058
|
|
ldrb r1, [r4]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _08117BA8 @ =gStringVar4
|
|
ldrb r1, [r4]
|
|
bl sub_811599C
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117B9C: .4byte gStringVar1
|
|
_08117BA0: .4byte gUnknown_8456C74
|
|
_08117BA4: .4byte gUnknown_203B058
|
|
_08117BA8: .4byte gStringVar4
|
|
_08117BAC:
|
|
ldr r0, _08117BB8 @ =gStringVar4
|
|
bl sub_8142504
|
|
movs r0, 0x4
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117BB8: .4byte gStringVar4
|
|
_08117BBC:
|
|
adds r0, r5, 0
|
|
movs r1, 0x5
|
|
movs r2, 0x6
|
|
bl sub_8116444
|
|
ldr r0, _08117BE0 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08117BD4
|
|
b _08117ECA
|
|
_08117BD4:
|
|
movs r0, 0xD
|
|
strb r0, [r5, 0xC]
|
|
bl sub_80FCE44
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117BE0: .4byte gMain
|
|
_08117BE4:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08117C08 @ =gUnknown_84577F8
|
|
bl mevent_0814257C
|
|
cmp r0, 0
|
|
bne _08117BF4
|
|
b _08117ECA
|
|
_08117BF4:
|
|
ldr r0, [r5]
|
|
bl sub_81165E8
|
|
strb r0, [r5, 0x13]
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
_08117C02:
|
|
movs r0, 0x2
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117C08: .4byte gUnknown_84577F8
|
|
_08117C0C:
|
|
movs r0, 0x7
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117C12:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
adds r1, r5, 0
|
|
adds r1, 0x14
|
|
ldr r3, _08117C38 @ =gStringVar4
|
|
movs r2, 0
|
|
bl sub_81427A0
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
cmp r4, 0
|
|
beq _08117C42
|
|
cmp r4, 0
|
|
bgt _08117C3C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _08117C84
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117C38: .4byte gStringVar4
|
|
_08117C3C:
|
|
cmp r4, 0x1
|
|
beq _08117C84
|
|
b _08117ECA
|
|
_08117C42:
|
|
bl sub_80FCEA8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FCD74
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
strb r4, [r1, 0x1B]
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0x19]
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
ldr r2, [r5]
|
|
adds r2, r0
|
|
adds r2, 0x10
|
|
movs r0, 0x5
|
|
b _08117CA8
|
|
_08117C84:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0x19]
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
ldr r2, [r5]
|
|
adds r2, r0
|
|
adds r2, 0x10
|
|
movs r0, 0x6
|
|
_08117CA8:
|
|
bl sub_80FA670
|
|
movs r0, 0x8
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117CB2:
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
ldrb r2, [r5, 0x13]
|
|
lsls r2, 5
|
|
ldr r1, [r5]
|
|
adds r1, r2
|
|
adds r1, 0x10
|
|
bl sub_80FA6FC
|
|
adds r4, r0, 0
|
|
cmp r4, 0x1
|
|
bne _08117D82
|
|
ldrb r0, [r5, 0x19]
|
|
cmp r0, 0x5
|
|
bne _08117D3C
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
movs r0, 0
|
|
strb r0, [r1, 0x1B]
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
ldrb r0, [r5, 0x13]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x13]
|
|
ldr r4, _08117D30 @ =gStringVar1
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r1, r0
|
|
subs r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy7
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
subs r0, 0x1
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _08117D34 @ =gStringVar4
|
|
ldr r1, _08117D38 @ =gUnknown_8457554
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x9
|
|
strb r0, [r5, 0xC]
|
|
bl sub_80F8F5C
|
|
b _08117D7C
|
|
.align 2, 0
|
|
_08117D30: .4byte gStringVar1
|
|
_08117D34: .4byte gStringVar4
|
|
_08117D38: .4byte gUnknown_8457554
|
|
_08117D3C:
|
|
ldrb r1, [r5, 0x13]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80FBD4C
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0x13]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r2, [r1, 0x1A]
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
ands r0, r2
|
|
strb r0, [r1, 0x1A]
|
|
ldr r0, [r5]
|
|
bl sub_81165E8
|
|
ldrb r0, [r5, 0x12]
|
|
bl sub_8107180
|
|
movs r0, 0x2
|
|
strb r0, [r5, 0xC]
|
|
_08117D7C:
|
|
movs r0, 0
|
|
strb r0, [r5, 0x19]
|
|
b _08117ECA
|
|
_08117D82:
|
|
cmp r4, 0x2
|
|
beq _08117D88
|
|
b _08117ECA
|
|
_08117D88:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
strb r4, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117D94:
|
|
ldr r0, _08117DA0 @ =gStringVar4
|
|
bl sub_8142504
|
|
movs r0, 0xA
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117DA0: .4byte gStringVar4
|
|
_08117DA4:
|
|
ldrb r0, [r5, 0xE]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xE]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x78
|
|
bhi _08117DB4
|
|
b _08117ECA
|
|
_08117DB4:
|
|
movs r0, 0xB
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117DBA:
|
|
adds r0, r5, 0
|
|
movs r1, 0x5
|
|
movs r2, 0x6
|
|
bl sub_8116444
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08117DCC
|
|
b _08117ECA
|
|
_08117DCC:
|
|
movs r0, 0xC
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117DD2:
|
|
bl sub_80F8F40
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08117DE8
|
|
movs r0, 0
|
|
bl sub_80F8F7C
|
|
movs r0, 0xF
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117DE8:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117DEE:
|
|
bl sub_80FCE44
|
|
bl sub_80F8DC0
|
|
ldrb r0, [r5, 0x12]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r5, 0xF]
|
|
bl RemoveWindow
|
|
ldrb r0, [r5, 0x17]
|
|
bl DestroyTask
|
|
ldr r0, [r5, 0x8]
|
|
bl Free
|
|
ldr r0, [r5]
|
|
bl Free
|
|
ldr r0, [r5, 0x4]
|
|
bl Free
|
|
b _08117EB2
|
|
_08117E26:
|
|
adds r0, r5, 0
|
|
adds r0, 0xD
|
|
ldr r1, _08117E44 @ =gUnknown_84571B8
|
|
bl mevent_0814257C
|
|
cmp r0, 0
|
|
beq _08117ECA
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r1, _08117E48 @ =gUnknown_20370D0
|
|
movs r0, 0x5
|
|
strh r0, [r1]
|
|
b _08117ECA
|
|
.align 2, 0
|
|
_08117E44: .4byte gUnknown_84571B8
|
|
_08117E48: .4byte gUnknown_20370D0
|
|
_08117E4C:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _08117E64
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bne _08117E6A
|
|
_08117E64:
|
|
movs r0, 0xD
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117E6A:
|
|
ldr r0, _08117E7C @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08117ECA
|
|
movs r0, 0x1
|
|
bl sub_80FAFE0
|
|
b _08117EB2
|
|
.align 2, 0
|
|
_08117E7C: .4byte gUnknown_3003F64
|
|
_08117E80:
|
|
ldrb r0, [r5, 0x12]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r5, 0xF]
|
|
bl RemoveWindow
|
|
ldrb r0, [r5, 0x17]
|
|
bl DestroyTask
|
|
ldr r0, [r5, 0x8]
|
|
bl Free
|
|
ldr r0, [r5]
|
|
bl Free
|
|
ldr r0, [r5, 0x4]
|
|
bl Free
|
|
bl sub_800AB9C
|
|
_08117EB2:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
b _08117ECA
|
|
_08117EBA:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08117ECA
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_08117ECA:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117A0C
|
|
|
|
thumb_func_start sub_8117ED4
|
|
sub_8117ED4: @ 8117ED4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _08117F0C @ =sub_8117F20
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _08117F10 @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08117F14 @ =gTasks+0x8
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r0, _08117F18 @ =gUnknown_3002028
|
|
str r1, [r0]
|
|
movs r2, 0
|
|
strb r2, [r1, 0x8]
|
|
strb r2, [r1, 0x9]
|
|
subs r4, 0x15
|
|
strb r4, [r1, 0x12]
|
|
ldr r0, _08117F1C @ =gUnknown_20370D0
|
|
strh r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08117F0C: .4byte sub_8117F20
|
|
_08117F10: .4byte gUnknown_203B05C
|
|
_08117F14: .4byte gTasks+0x8
|
|
_08117F18: .4byte gUnknown_3002028
|
|
_08117F1C: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_8117ED4
|
|
|
|
thumb_func_start sub_8117F20
|
|
sub_8117F20: @ 8117F20
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, _08117F40 @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
ldrb r0, [r5, 0x8]
|
|
cmp r0, 0xC
|
|
bls _08117F34
|
|
b _08118288
|
|
_08117F34:
|
|
lsls r0, 2
|
|
ldr r1, _08117F44 @ =_08117F48
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08117F40: .4byte gUnknown_203B05C
|
|
_08117F44: .4byte _08117F48
|
|
.align 2, 0
|
|
_08117F48:
|
|
.4byte _08117F7C
|
|
.4byte _08117FB0
|
|
.4byte _08117FC0
|
|
.4byte _08118070
|
|
.4byte _08118150
|
|
.4byte _0811818C
|
|
.4byte _081181EC
|
|
.4byte _08118248
|
|
.4byte _081181EC
|
|
.4byte _08118222
|
|
.4byte _081181EC
|
|
.4byte _0811826C
|
|
.4byte _08118278
|
|
_08117F7C:
|
|
ldrb r0, [r5, 0x12]
|
|
adds r0, 0x15
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBBD8
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
_08117FB0:
|
|
ldr r0, _08117FBC @ =gUnknown_8458FE4
|
|
bl sub_8142504
|
|
movs r0, 0x2
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
.align 2, 0
|
|
_08117FBC: .4byte gUnknown_8458FE4
|
|
_08117FC0:
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r5]
|
|
movs r1, 0x10
|
|
bl sub_811A5E4
|
|
ldr r0, [r5, 0x4]
|
|
ldrb r1, [r5, 0x12]
|
|
adds r1, 0x7
|
|
bl sub_811A054
|
|
movs r4, 0
|
|
strb r0, [r5, 0x11]
|
|
ldr r0, _0811805C @ =gUnknown_8456D4C
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
bl sub_81435D4
|
|
lsls r0, 16
|
|
ldr r2, _08118060 @ =0x0000ffff
|
|
ldr r1, [sp, 0x4]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
bl AddWindow
|
|
strb r0, [r5, 0xB]
|
|
ldr r0, _08118064 @ =gUnknown_8456D54
|
|
bl AddWindow
|
|
strb r0, [r5, 0xD]
|
|
ldrb r0, [r5, 0xB]
|
|
bl sub_814240C
|
|
ldr r0, _08118068 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, _0811806C @ =gUnknown_8456DDC
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldrb r1, [r5, 0xB]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
strb r0, [r5, 0xE]
|
|
ldrb r0, [r5, 0xD]
|
|
bl sub_814240C
|
|
ldrb r0, [r5, 0xD]
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
ldrb r0, [r5, 0xD]
|
|
bl PutWindowTilemap
|
|
ldrb r0, [r5, 0xD]
|
|
bl sub_8115924
|
|
ldrb r0, [r5, 0xD]
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
strb r4, [r5, 0xF]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
.align 2, 0
|
|
_0811805C: .4byte gUnknown_8456D4C
|
|
_08118060: .4byte 0x0000ffff
|
|
_08118064: .4byte gUnknown_8456D54
|
|
_08118068: .4byte gUnknown_3005E70
|
|
_0811806C: .4byte gUnknown_8456DDC
|
|
_08118070:
|
|
bl sub_8116FE4
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
beq _0811808E
|
|
cmp r2, 0x1
|
|
bne _08118086
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
_08118086:
|
|
ldrb r0, [r5, 0xE]
|
|
bl sub_8107180
|
|
b _08118288
|
|
_0811808E:
|
|
ldrb r0, [r5, 0xE]
|
|
bl ListMenuHandleInput
|
|
adds r2, r0, 0
|
|
ldr r0, _08118128 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08118138
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _08118138
|
|
ldr r0, [r5]
|
|
lsls r1, r2, 5
|
|
adds r0, r1
|
|
ldrb r1, [r0, 0xA]
|
|
ldrb r0, [r0, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08118130
|
|
lsrs r0, r1, 7
|
|
cmp r0, 0
|
|
bne _08118130
|
|
strb r2, [r5, 0xF]
|
|
bl sub_80FCEA8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FCD74
|
|
ldrb r0, [r5, 0xE]
|
|
bl sub_8107180
|
|
ldr r4, _0811812C @ =gStringVar1
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldrb r1, [r5, 0xF]
|
|
lsls r1, 5
|
|
ldr r0, [r5]
|
|
adds r0, r1
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80FBF54
|
|
movs r0, 0x67
|
|
bl PlaySE
|
|
movs r0, 0x4
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
.align 2, 0
|
|
_08118128: .4byte gMain
|
|
_0811812C: .4byte gStringVar1
|
|
_08118130:
|
|
movs r0, 0x7
|
|
bl PlaySE
|
|
b _08118288
|
|
_08118138:
|
|
ldr r0, _0811814C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08118146
|
|
b _08118288
|
|
_08118146:
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
.align 2, 0
|
|
_0811814C: .4byte gMain
|
|
_08118150:
|
|
ldr r0, _08118184 @ =gUnknown_8459238
|
|
bl sub_8142504
|
|
ldr r4, _08118188 @ =gStringVar1
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
.align 2, 0
|
|
_08118184: .4byte gUnknown_8459238
|
|
_08118188: .4byte gStringVar1
|
|
_0811818C:
|
|
ldr r0, _081181C4 @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _081181AA
|
|
ldr r2, _081181C8 @ =gUnknown_203B058
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
strb r0, [r2]
|
|
movs r0, 0xA
|
|
strb r0, [r5, 0x8]
|
|
_081181AA:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
beq _081181D6
|
|
cmp r0, 0x5
|
|
bgt _081181CC
|
|
cmp r0, 0x2
|
|
bgt _08118288
|
|
cmp r0, 0x1
|
|
blt _08118288
|
|
b _081181D0
|
|
.align 2, 0
|
|
_081181C4: .4byte gUnknown_3003F64
|
|
_081181C8: .4byte gUnknown_203B058
|
|
_081181CC:
|
|
cmp r0, 0x6
|
|
bne _08118288
|
|
_081181D0:
|
|
movs r0, 0x8
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
_081181D6:
|
|
ldr r0, _081181E8 @ =gUnknown_84576AC
|
|
bl sub_8142504
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
b _08118288
|
|
.align 2, 0
|
|
_081181E8: .4byte gUnknown_84576AC
|
|
_081181EC:
|
|
ldrb r0, [r5, 0xE]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r5, 0xD]
|
|
bl RemoveWindow
|
|
ldrb r0, [r5, 0xB]
|
|
bl RemoveWindow
|
|
ldrb r0, [r5, 0x11]
|
|
bl DestroyTask
|
|
ldr r0, [r5]
|
|
bl Free
|
|
ldr r0, [r5, 0x4]
|
|
bl Free
|
|
ldrb r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
b _08118288
|
|
_08118222:
|
|
adds r5, 0x9
|
|
ldr r4, _08118244 @ =gUnknown_8457838
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 22
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
adds r0, r5, 0
|
|
bl mevent_0814257C
|
|
cmp r0, 0
|
|
beq _08118288
|
|
bl sub_80FCE44
|
|
b _08118252
|
|
.align 2, 0
|
|
_08118244: .4byte gUnknown_8457838
|
|
_08118248:
|
|
bl sub_80FCE44
|
|
ldr r0, _08118264 @ =gUnknown_84571B8
|
|
bl sub_8142504
|
|
_08118252:
|
|
adds r0, r6, 0
|
|
bl DestroyTask
|
|
bl sub_80F8DC0
|
|
ldr r1, _08118268 @ =gUnknown_20370D0
|
|
movs r0, 0x5
|
|
strh r0, [r1]
|
|
b _08118288
|
|
.align 2, 0
|
|
_08118264: .4byte gUnknown_84571B8
|
|
_08118268: .4byte gUnknown_20370D0
|
|
_0811826C:
|
|
ldrb r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
bl sub_800AB9C
|
|
b _08118288
|
|
_08118278:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08118288
|
|
adds r0, r6, 0
|
|
bl DestroyTask
|
|
_08118288:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8117F20
|
|
|
|
thumb_func_start sub_8118290
|
|
sub_8118290: @ 8118290
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _081182C8 @ =sub_81182DC
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _081182CC @ =gUnknown_203B05C
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _081182D0 @ =gTasks+0x8
|
|
adds r1, r0
|
|
str r1, [r2]
|
|
ldr r0, _081182D4 @ =gUnknown_3002028
|
|
str r1, [r0]
|
|
movs r2, 0
|
|
strb r2, [r1, 0x8]
|
|
strb r2, [r1, 0x9]
|
|
subs r4, 0x15
|
|
strb r4, [r1, 0x12]
|
|
ldr r0, _081182D8 @ =gUnknown_20370D0
|
|
strh r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081182C8: .4byte sub_81182DC
|
|
_081182CC: .4byte gUnknown_203B05C
|
|
_081182D0: .4byte gTasks+0x8
|
|
_081182D4: .4byte gUnknown_3002028
|
|
_081182D8: .4byte gUnknown_20370D0
|
|
thumb_func_end sub_8118290
|
|
|
|
thumb_func_start sub_81182DC
|
|
sub_81182DC: @ 81182DC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _081182FC @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
ldrb r0, [r5, 0x8]
|
|
cmp r0, 0xE
|
|
bls _081182F0
|
|
b _08118604
|
|
_081182F0:
|
|
lsls r0, 2
|
|
ldr r1, _08118300 @ =_08118304
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081182FC: .4byte gUnknown_203B05C
|
|
_08118300: .4byte _08118304
|
|
.align 2, 0
|
|
_08118304:
|
|
.4byte _08118340
|
|
.4byte _0811836E
|
|
.4byte _08118380
|
|
.4byte _08118408
|
|
.4byte _081184C8
|
|
.4byte _08118504
|
|
.4byte _08118564
|
|
.4byte _081185A8
|
|
.4byte _08118564
|
|
.4byte _0811859A
|
|
.4byte _08118564
|
|
.4byte _081185B4
|
|
.4byte _08118564
|
|
.4byte _081185E8
|
|
.4byte _081185F4
|
|
_08118340:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBBD8
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r5]
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
_0811836E:
|
|
ldr r0, _0811837C @ =gUnknown_84591DC
|
|
bl sub_8142504
|
|
movs r0, 0x2
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
.align 2, 0
|
|
_0811837C: .4byte gUnknown_84591DC
|
|
_08118380:
|
|
ldr r0, [r5, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r5]
|
|
movs r1, 0x10
|
|
bl sub_811A5E4
|
|
ldr r0, [r5, 0x4]
|
|
ldrb r1, [r5, 0x12]
|
|
adds r1, 0x7
|
|
bl sub_811A084
|
|
strb r0, [r5, 0x11]
|
|
ldrb r0, [r5, 0x13]
|
|
cmp r0, 0
|
|
beq _081183EC
|
|
ldr r0, _081183F8 @ =gUnknown_8456D4C
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
str r1, [sp, 0x4]
|
|
bl sub_81435D4
|
|
lsls r0, 16
|
|
ldr r2, _081183FC @ =0x0000ffff
|
|
ldr r1, [sp, 0x4]
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
str r1, [sp, 0x4]
|
|
mov r0, sp
|
|
bl AddWindow
|
|
strb r0, [r5, 0xB]
|
|
ldrb r0, [r5, 0xB]
|
|
bl sub_814240C
|
|
ldr r0, _08118400 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, _08118404 @ =gUnknown_8456DDC
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldrb r1, [r5, 0xB]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
_081183EC:
|
|
movs r0, 0
|
|
strb r0, [r5, 0xF]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
.align 2, 0
|
|
_081183F8: .4byte gUnknown_8456D4C
|
|
_081183FC: .4byte 0x0000ffff
|
|
_08118400: .4byte gUnknown_3005E70
|
|
_08118404: .4byte gUnknown_8456DDC
|
|
_08118408:
|
|
bl sub_8116FE4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0
|
|
beq _0811842E
|
|
cmp r0, 0x1
|
|
bne _0811841E
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
_0811841E:
|
|
ldrb r0, [r5, 0x13]
|
|
cmp r0, 0
|
|
bne _08118426
|
|
b _08118604
|
|
_08118426:
|
|
ldrb r0, [r5, 0xE]
|
|
bl sub_8107180
|
|
b _08118604
|
|
_0811842E:
|
|
ldrb r0, [r5, 0x13]
|
|
cmp r0, 0
|
|
beq _0811843A
|
|
ldrb r0, [r5, 0xE]
|
|
bl ListMenuHandleInput
|
|
_0811843A:
|
|
ldrb r0, [r5, 0x14]
|
|
cmp r0, 0x78
|
|
bls _081184A8
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, 0x1A]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _081184BC
|
|
ldrb r1, [r2, 0xA]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _081184BC
|
|
ldrb r1, [r5, 0x12]
|
|
adds r1, 0x7
|
|
adds r0, r2, 0
|
|
bl sub_8119FB0
|
|
cmp r0, 0
|
|
beq _0811849C
|
|
strb r4, [r5, 0xF]
|
|
strb r4, [r5, 0x14]
|
|
bl sub_80FCEA8
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FCD74
|
|
ldr r0, [r5]
|
|
adds r4, r0, 0
|
|
adds r4, 0x10
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_80FBF54
|
|
movs r0, 0x67
|
|
bl PlaySE
|
|
movs r0, 0x4
|
|
strb r0, [r5, 0x8]
|
|
b _081184BC
|
|
_0811849C:
|
|
movs r0, 0x16
|
|
bl PlaySE
|
|
movs r0, 0xA
|
|
strb r0, [r5, 0x8]
|
|
b _081184BC
|
|
_081184A8:
|
|
ldr r0, _081184C4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _081184BC
|
|
movs r1, 0
|
|
movs r0, 0x6
|
|
strb r0, [r5, 0x8]
|
|
strb r1, [r5, 0x14]
|
|
_081184BC:
|
|
ldrb r0, [r5, 0x14]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x14]
|
|
b _08118604
|
|
.align 2, 0
|
|
_081184C4: .4byte gMain
|
|
_081184C8:
|
|
ldr r0, _081184FC @ =gUnknown_845928C
|
|
bl sub_8142504
|
|
ldr r4, _08118500 @ =gStringVar1
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
movs r0, 0x5
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
.align 2, 0
|
|
_081184FC: .4byte gUnknown_845928C
|
|
_08118500: .4byte gStringVar1
|
|
_08118504:
|
|
ldr r0, _0811853C @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08118522
|
|
ldr r2, _08118540 @ =gUnknown_203B058
|
|
ldr r1, [r5]
|
|
ldrb r0, [r5, 0xF]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
strb r0, [r2]
|
|
movs r0, 0xC
|
|
strb r0, [r5, 0x8]
|
|
_08118522:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
beq _0811854E
|
|
cmp r0, 0x5
|
|
bgt _08118544
|
|
cmp r0, 0x2
|
|
bgt _08118604
|
|
cmp r0, 0x1
|
|
blt _08118604
|
|
b _08118548
|
|
.align 2, 0
|
|
_0811853C: .4byte gUnknown_3003F64
|
|
_08118540: .4byte gUnknown_203B058
|
|
_08118544:
|
|
cmp r0, 0x6
|
|
bne _08118604
|
|
_08118548:
|
|
movs r0, 0x8
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
_0811854E:
|
|
ldr r0, _08118560 @ =gUnknown_845777C
|
|
bl sub_8142504
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80FB9E4
|
|
b _08118604
|
|
.align 2, 0
|
|
_08118560: .4byte gUnknown_845777C
|
|
_08118564:
|
|
ldrb r0, [r5, 0x13]
|
|
cmp r0, 0
|
|
beq _08118580
|
|
ldrb r0, [r5, 0xE]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldrb r0, [r5, 0xB]
|
|
bl RemoveWindow
|
|
_08118580:
|
|
ldrb r0, [r5, 0x11]
|
|
bl DestroyTask
|
|
ldr r0, [r5]
|
|
bl Free
|
|
ldr r0, [r5, 0x4]
|
|
bl Free
|
|
ldrb r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
b _08118604
|
|
_0811859A:
|
|
adds r0, r5, 0
|
|
adds r0, 0x9
|
|
ldr r1, _081185A4 @ =gUnknown_84577BC
|
|
b _081185C2
|
|
.align 2, 0
|
|
_081185A4: .4byte gUnknown_84577BC
|
|
_081185A8:
|
|
adds r0, r5, 0
|
|
adds r0, 0x9
|
|
ldr r1, _081185B0 @ =gUnknown_84571E0
|
|
b _081185C2
|
|
.align 2, 0
|
|
_081185B0: .4byte gUnknown_84571E0
|
|
_081185B4:
|
|
adds r0, r5, 0
|
|
adds r0, 0x9
|
|
ldr r2, _081185E0 @ =gUnknown_845933C
|
|
ldrb r1, [r5, 0x12]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
_081185C2:
|
|
bl mevent_0814257C
|
|
cmp r0, 0
|
|
beq _08118604
|
|
bl sub_80FCE44
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
bl sub_80F8DC0
|
|
ldr r1, _081185E4 @ =gUnknown_20370D0
|
|
movs r0, 0x5
|
|
strh r0, [r1]
|
|
b _08118604
|
|
.align 2, 0
|
|
_081185E0: .4byte gUnknown_845933C
|
|
_081185E4: .4byte gUnknown_20370D0
|
|
_081185E8:
|
|
ldrb r0, [r5, 0x8]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0x8]
|
|
bl sub_800AB9C
|
|
b _08118604
|
|
_081185F4:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08118604
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_08118604:
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81182DC
|
|
|
|
thumb_func_start UnionRoomSpecial
|
|
UnionRoomSpecial: @ 811860C
|
|
push {r4,lr}
|
|
bl sub_80FAF34
|
|
ldr r0, _08118648 @ =sub_81186E0
|
|
movs r1, 0xA
|
|
bl CreateTask
|
|
ldr r4, _0811864C @ =gUnknown_203B05C
|
|
movs r0, 0x96
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r4]
|
|
ldr r1, _08118650 @ =gUnknown_300202C
|
|
str r0, [r1]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x14]
|
|
strb r1, [r0, 0x16]
|
|
strh r1, [r0, 0x10]
|
|
strh r1, [r0, 0x12]
|
|
ldr r0, _08118654 @ =gUnknown_20370D0
|
|
strh r1, [r0]
|
|
movs r0, 0xD0
|
|
movs r1, 0x1
|
|
bl sub_8107D38
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08118648: .4byte sub_81186E0
|
|
_0811864C: .4byte gUnknown_203B05C
|
|
_08118650: .4byte gUnknown_300202C
|
|
_08118654: .4byte gUnknown_20370D0
|
|
thumb_func_end UnionRoomSpecial
|
|
|
|
thumb_func_start sub_8118658
|
|
sub_8118658: @ 8118658
|
|
ldrb r1, [r0, 0x1]
|
|
lsls r1, 8
|
|
ldrb r0, [r0]
|
|
orrs r0, r1
|
|
bx lr
|
|
thumb_func_end sub_8118658
|
|
|
|
thumb_func_start sub_8118664
|
|
sub_8118664: @ 8118664
|
|
push {lr}
|
|
adds r3, r1, 0
|
|
ldr r1, _08118684 @ =gUnknown_203B05C
|
|
ldr r2, [r1]
|
|
movs r1, 0x8
|
|
strb r1, [r2, 0x14]
|
|
strb r0, [r2, 0x15]
|
|
ldr r0, _08118688 @ =gStringVar4
|
|
cmp r3, r0
|
|
beq _0811867E
|
|
adds r1, r3, 0
|
|
bl StringExpandPlaceholders
|
|
_0811867E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08118684: .4byte gUnknown_203B05C
|
|
_08118688: .4byte gStringVar4
|
|
thumb_func_end sub_8118664
|
|
|
|
thumb_func_start sub_811868C
|
|
sub_811868C: @ 811868C
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _081186A8 @ =gUnknown_203B05C
|
|
ldr r1, [r0]
|
|
movs r0, 0x1A
|
|
strb r0, [r1, 0x14]
|
|
ldr r0, _081186AC @ =gStringVar4
|
|
cmp r2, r0
|
|
beq _081186A4
|
|
adds r1, r2, 0
|
|
bl StringExpandPlaceholders
|
|
_081186A4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081186A8: .4byte gUnknown_203B05C
|
|
_081186AC: .4byte gStringVar4
|
|
thumb_func_end sub_811868C
|
|
|
|
thumb_func_start sub_81186B0
|
|
sub_81186B0: @ 81186B0
|
|
push {lr}
|
|
ldr r3, _081186C4 @ =gUnknown_201FF00
|
|
ldr r1, [r0]
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r3, 0
|
|
bl memcpy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081186C4: .4byte gUnknown_201FF00
|
|
thumb_func_end sub_81186B0
|
|
|
|
thumb_func_start sub_81186C8
|
|
sub_81186C8: @ 81186C8
|
|
push {lr}
|
|
ldr r0, [r0]
|
|
ldr r1, _081186DC @ =gUnknown_201FF00
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
bl memcpy
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081186DC: .4byte gUnknown_201FF00
|
|
thumb_func_end sub_81186C8
|
|
|
|
thumb_func_start sub_81186E0
|
|
sub_81186E0: @ 81186E0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r5, 0
|
|
ldr r0, _08118710 @ =gUnknown_203B05C
|
|
ldr r6, [r0]
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
lsls r0, 3
|
|
ldr r1, _08118714 @ =gTasks+0x8
|
|
adds r7, r0, r1
|
|
ldrb r0, [r6, 0x14]
|
|
cmp r0, 0x38
|
|
bls _08118706
|
|
bl _081198DC
|
|
_08118706:
|
|
lsls r0, 2
|
|
ldr r1, _08118718 @ =_0811871C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08118710: .4byte gUnknown_203B05C
|
|
_08118714: .4byte gTasks+0x8
|
|
_08118718: .4byte _0811871C
|
|
.align 2, 0
|
|
_0811871C:
|
|
.4byte _08118800
|
|
.4byte _08118858
|
|
.4byte _0811887C
|
|
.4byte _081188CC
|
|
.4byte _081189AA
|
|
.4byte _08118E60
|
|
.4byte _08118C58
|
|
.4byte _08118E60
|
|
.4byte _081198C8
|
|
.4byte _081191D4
|
|
.4byte _081192E0
|
|
.4byte _081190B0
|
|
.4byte _081190CA
|
|
.4byte _08119330
|
|
.4byte _08119354
|
|
.4byte _0811935C
|
|
.4byte _0811936C
|
|
.4byte _0811939A
|
|
.4byte _081193AE
|
|
.4byte _08118F36
|
|
.4byte _08118FBC
|
|
.4byte _08118FDA
|
|
.4byte _0811904E
|
|
.4byte _08118ADE
|
|
.4byte _08118B04
|
|
.4byte _08118B7C
|
|
.4byte _0811989C
|
|
.4byte _08118D50
|
|
.4byte _08118D38
|
|
.4byte _08118DD4
|
|
.4byte _08118C2E
|
|
.4byte _08118DAA
|
|
.4byte _08118DA0
|
|
.4byte _08119164
|
|
.4byte _08119184
|
|
.4byte _081191C4
|
|
.4byte _081192E8
|
|
.4byte _08119324
|
|
.4byte _08118BF8
|
|
.4byte _0811910C
|
|
.4byte _08118E98
|
|
.4byte _08118EC8
|
|
.4byte _081193D8
|
|
.4byte _08119468
|
|
.4byte _081195B8
|
|
.4byte _08119620
|
|
.4byte _0811963C
|
|
.4byte _08119484
|
|
.4byte _08119644
|
|
.4byte _08119784
|
|
.4byte _081197B8
|
|
.4byte _08119840
|
|
.4byte _0811953C
|
|
.4byte _081194F0
|
|
.4byte _08119504
|
|
.4byte _0811959C
|
|
.4byte _081195EC
|
|
_08118800:
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r6, 0x4]
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r6, 0xC]
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
bl AllocZeroed
|
|
str r0, [r6]
|
|
movs r0, 0x20
|
|
bl AllocZeroed
|
|
str r0, [r6, 0x8]
|
|
ldr r0, [r6]
|
|
movs r1, 0x8
|
|
bl sub_811A5E4
|
|
ldr r1, _08118854 @ =gUnknown_203B058
|
|
movs r0, 0x40
|
|
strb r0, [r1]
|
|
ldr r0, [r6, 0xC]
|
|
ldr r1, [r6, 0x4]
|
|
movs r2, 0x9
|
|
bl sub_8119E84
|
|
adds r1, r6, 0
|
|
adds r1, 0x20
|
|
strb r0, [r1]
|
|
adds r0, r6, 0
|
|
adds r0, 0x8C
|
|
bl sub_811B754
|
|
bl sub_811BB68
|
|
movs r0, 0x1
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118854: .4byte gUnknown_203B058
|
|
_08118858:
|
|
adds r0, r6, 0
|
|
adds r0, 0x21
|
|
movs r2, 0
|
|
ldrsh r1, [r7, r2]
|
|
bl sub_811BAAC
|
|
ldrh r0, [r7]
|
|
adds r0, 0x1
|
|
strh r0, [r7]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x8
|
|
beq _08118876
|
|
bl _081198DC
|
|
_08118876:
|
|
movs r0, 0x2
|
|
bl _081198DA
|
|
_0811887C:
|
|
movs r0, 0x40
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
ldr r2, _081188C4 @ =gUnknown_203B06C
|
|
ldrh r0, [r2, 0x2]
|
|
ldrh r1, [r2, 0xA]
|
|
ldrh r2, [r2, 0xC]
|
|
bl sub_80FAFA0
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBC00
|
|
ldr r0, [r6, 0x8]
|
|
movs r1, 0x1
|
|
bl sub_811A5E4
|
|
ldr r0, [r6, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r0, [r6, 0xC]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
ldr r1, _081188C8 @ =gUnknown_20370D0
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
movs r0, 0x3
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_081188C4: .4byte gUnknown_203B06C
|
|
_081188C8: .4byte gUnknown_20370D0
|
|
_081188CC:
|
|
bl sub_811FB18
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x8
|
|
beq _081188E4
|
|
bl sub_811FB18
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x9
|
|
bne _081189A4
|
|
_081188E4:
|
|
ldr r4, _08118900 @ =gUnknown_203B06C
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _081189A4
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrh r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _08118904
|
|
cmp r0, 0x2
|
|
beq _08118954
|
|
b _08118992
|
|
.align 2, 0
|
|
_08118900: .4byte gUnknown_203B06C
|
|
_08118904:
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
cmp r5, 0x5
|
|
bls _08118930
|
|
adds r0, r4, 0
|
|
bl sub_811B148
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAFA0
|
|
ldr r0, _0811892C @ =gUnknown_8458D54
|
|
bl sub_811868C
|
|
b _08118992
|
|
.align 2, 0
|
|
_0811892C: .4byte gUnknown_8458D54
|
|
_08118930:
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
bl sub_811B16C
|
|
cmp r0, 0
|
|
bne _08118950
|
|
ldr r1, _0811894C @ =gUnknown_8458CD4
|
|
movs r0, 0x34
|
|
bl sub_8118664
|
|
b _08118992
|
|
.align 2, 0
|
|
_0811894C: .4byte gUnknown_8458CD4
|
|
_08118950:
|
|
movs r0, 0x37
|
|
b _08118990
|
|
_08118954:
|
|
adds r0, r6, 0
|
|
bl sub_81186C8
|
|
ldrb r0, [r4, 0x8]
|
|
strh r0, [r7, 0x2]
|
|
cmp r5, 0x5
|
|
bls _08118970
|
|
ldr r0, _0811896C @ =gUnknown_8458D9C
|
|
bl sub_811868C
|
|
b _08118992
|
|
.align 2, 0
|
|
_0811896C: .4byte gUnknown_8458D9C
|
|
_08118970:
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
ldr r1, _0811899C @ =gUnknown_203B058
|
|
movs r0, 0x44
|
|
strb r0, [r1]
|
|
bl GetCursorSelectionMonId
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r1, r4, 0
|
|
bl sub_811B1B4
|
|
movs r0, 0x33
|
|
_08118990:
|
|
strb r0, [r6, 0x14]
|
|
_08118992:
|
|
ldr r1, _081189A0 @ =gUnknown_203B06C
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_0811899C: .4byte gUnknown_203B058
|
|
_081189A0: .4byte gUnknown_203B06C
|
|
_081189A4:
|
|
movs r0, 0x4
|
|
bl _081198DA
|
|
_081189AA:
|
|
ldr r4, _081189D8 @ =gUnknown_20370D0
|
|
ldrh r0, [r4]
|
|
cmp r0, 0
|
|
beq _08118A0E
|
|
cmp r0, 0x9
|
|
bne _081189E4
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
ldr r0, _081189DC @ =gStringVar1
|
|
ldr r1, _081189E0 @ =gSaveBlock2Ptr
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
movs r1, 0
|
|
movs r0, 0x2A
|
|
b _08118A06
|
|
.align 2, 0
|
|
_081189D8: .4byte gUnknown_20370D0
|
|
_081189DC: .4byte gStringVar1
|
|
_081189E0: .4byte gSaveBlock2Ptr
|
|
_081189E4:
|
|
cmp r0, 0xB
|
|
bne _081189F8
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
movs r1, 0
|
|
movs r0, 0x17
|
|
b _08118A06
|
|
_081189F8:
|
|
movs r0, 0
|
|
strh r0, [r7]
|
|
ldrh r0, [r4]
|
|
subs r0, 0x1
|
|
strh r0, [r7, 0x2]
|
|
movs r1, 0
|
|
movs r0, 0x18
|
|
_08118A06:
|
|
strb r0, [r6, 0x14]
|
|
strh r1, [r4]
|
|
bl _081198DC
|
|
_08118A0E:
|
|
bl ScriptContext2_IsEnabled
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08118A1E
|
|
bl _081198DC
|
|
_08118A1E:
|
|
ldr r0, _08118A4C @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08118A84
|
|
ldr r0, [r6]
|
|
adds r2, r7, 0x2
|
|
adds r3, r6, 0
|
|
adds r3, 0x21
|
|
adds r1, r7, 0
|
|
bl sub_811BF00
|
|
cmp r0, 0
|
|
beq _08118A50
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
bl sub_811B298
|
|
movs r0, 0x18
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118A4C: .4byte gMain
|
|
_08118A50:
|
|
bl sub_811A9B8
|
|
cmp r0, 0
|
|
beq _08118A84
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
movs r0, 0x2
|
|
bl PlaySE
|
|
bl sub_811B298
|
|
ldr r0, _08118A7C @ =gStringVar1
|
|
ldr r1, _08118A80 @ =gSaveBlock2Ptr
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
movs r0, 0x2D
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118A7C: .4byte gStringVar1
|
|
_08118A80: .4byte gSaveBlock2Ptr
|
|
_08118A84:
|
|
bl sub_8119B94
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
beq _08118AA6
|
|
cmp r0, 0x2
|
|
bgt _08118A9A
|
|
cmp r0, 0x1
|
|
beq _08118AA0
|
|
b _08118AD4
|
|
_08118A9A:
|
|
cmp r0, 0x4
|
|
beq _08118AAE
|
|
b _08118AD4
|
|
_08118AA0:
|
|
movs r0, 0x37
|
|
bl PlaySE
|
|
_08118AA6:
|
|
adds r0, r6, 0
|
|
bl sub_811BECC
|
|
b _08118AD4
|
|
_08118AAE:
|
|
movs r0, 0xB
|
|
strb r0, [r6, 0x14]
|
|
bl sub_811B298
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAFA0
|
|
adds r0, r6, 0
|
|
bl sub_811B2D8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
movs r0, 0x53
|
|
movs r2, 0
|
|
bl sub_80FB008
|
|
_08118AD4:
|
|
adds r0, r6, 0
|
|
bl sub_811BEDC
|
|
bl _081198DC
|
|
_08118ADE:
|
|
ldr r0, _08118B00 @ =sub_806F1F0
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08118AEE
|
|
bl _081198DC
|
|
_08118AEE:
|
|
movs r0, 0x40
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FB008
|
|
movs r0, 0x4
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118B00: .4byte sub_806F1F0
|
|
_08118B04:
|
|
bl sub_811A0E0
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
ldr r0, [r6]
|
|
ldrb r1, [r7]
|
|
ldrb r2, [r7, 0x2]
|
|
adds r3, r4, 0
|
|
bl sub_811AA5C
|
|
cmp r0, 0x1
|
|
beq _08118B48
|
|
cmp r0, 0x1
|
|
bgt _08118B3A
|
|
cmp r0, 0
|
|
beq _08118B42
|
|
bl _081198DC
|
|
_08118B3A:
|
|
cmp r0, 0x2
|
|
beq _08118B6C
|
|
bl _081198DC
|
|
_08118B42:
|
|
movs r0, 0x1A
|
|
bl _081198DA
|
|
_08118B48:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
lsls r0, 5
|
|
ldr r1, [r6]
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
ldr r2, _08118B68 @ =gUnknown_203B058
|
|
ldrb r2, [r2]
|
|
bl sub_80FC114
|
|
strh r5, [r6, 0x12]
|
|
movs r0, 0x19
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118B68: .4byte gUnknown_203B058
|
|
_08118B6C:
|
|
ldr r1, _08118B78 @ =gStringVar4
|
|
movs r0, 0x13
|
|
bl sub_8118664
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118B78: .4byte gStringVar4
|
|
_08118B7C:
|
|
bl sub_811A0E0
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1
|
|
blt _08118BC2
|
|
cmp r4, 0x2
|
|
ble _08118B9E
|
|
cmp r4, 0x4
|
|
bne _08118BC2
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
strb r4, [r6, 0x14]
|
|
b _08118BC2
|
|
_08118B9E:
|
|
bl sub_80FBB0C
|
|
cmp r0, 0x1
|
|
bne _08118BB4
|
|
ldr r0, _08118BB0 @ =gUnknown_8457F90
|
|
bl sub_811868C
|
|
b _08118BBC
|
|
.align 2, 0
|
|
_08118BB0: .4byte gUnknown_8457F90
|
|
_08118BB4:
|
|
ldr r1, _08118BE4 @ =gUnknown_8457F90
|
|
movs r0, 0x1E
|
|
bl sub_8118664
|
|
_08118BBC:
|
|
ldr r1, _08118BE8 @ =gUnknown_203B058
|
|
movs r0, 0x40
|
|
strb r0, [r1]
|
|
_08118BC2:
|
|
ldr r0, _08118BEC @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08118BCE
|
|
bl _081198DC
|
|
_08118BCE:
|
|
ldr r0, _08118BF0 @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
ldr r0, _08118BF4 @ =sub_8117280
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
movs r0, 0x26
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118BE4: .4byte gUnknown_8457F90
|
|
_08118BE8: .4byte gUnknown_203B058
|
|
_08118BEC: .4byte gUnknown_3003F64
|
|
_08118BF0: .4byte gUnknown_2022618
|
|
_08118BF4: .4byte sub_8117280
|
|
_08118BF8:
|
|
ldr r0, _08118C1C @ =sub_8117280
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08118C08
|
|
bl _081198DC
|
|
_08118C08:
|
|
ldr r0, _08118C20 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x44
|
|
bne _08118C28
|
|
ldr r1, _08118C24 @ =gUnknown_84578BC
|
|
movs r0, 0x1F
|
|
bl sub_8118664
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118C1C: .4byte sub_8117280
|
|
_08118C20: .4byte gUnknown_203B058
|
|
_08118C24: .4byte gUnknown_84578BC
|
|
_08118C28:
|
|
movs r0, 0x5
|
|
bl _081198DA
|
|
_08118C2E:
|
|
ldr r0, _08118C54 @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08118C3A
|
|
bl _081198DC
|
|
_08118C3A:
|
|
movs r0, 0
|
|
bl sub_811B258
|
|
movs r2, 0
|
|
ldrsh r0, [r7, r2]
|
|
movs r3, 0x2
|
|
ldrsh r1, [r7, r3]
|
|
ldr r2, [r6]
|
|
bl sub_811C028
|
|
movs r0, 0x2
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118C54: .4byte gUnknown_3003F64
|
|
_08118C58:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
adds r1, r6, 0
|
|
adds r1, 0x1B
|
|
adds r2, r6, 0
|
|
adds r2, 0x1C
|
|
ldr r3, _08118C8C @ =gUnknown_8456DF4
|
|
ldr r4, _08118C90 @ =gUnknown_8456E1C
|
|
str r4, [sp]
|
|
bl sub_811A218
|
|
adds r5, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _08118C7C
|
|
bl _081198DC
|
|
_08118C7C:
|
|
ldr r0, _08118C94 @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08118C98
|
|
movs r0, 0x1C
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118C8C: .4byte gUnknown_8456DF4
|
|
_08118C90: .4byte gUnknown_8456E1C
|
|
_08118C94: .4byte gUnknown_3003F64
|
|
_08118C98:
|
|
adds r1, r6, 0
|
|
adds r1, 0x84
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
movs r2, 0x2
|
|
ldrsh r0, [r7, r2]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08118CB6
|
|
cmp r5, 0x40
|
|
bne _08118CE8
|
|
_08118CB6:
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0x40
|
|
strh r1, [r0]
|
|
bl sub_80F9E2C
|
|
ldr r0, _08118CDC @ =gStringVar4
|
|
ldr r2, _08118CE0 @ =gUnknown_845842C
|
|
ldr r1, _08118CE4 @ =gLinkPlayers
|
|
ldrb r1, [r1, 0x13]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
movs r0, 0x20
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118CDC: .4byte gStringVar4
|
|
_08118CE0: .4byte gUnknown_845842C
|
|
_08118CE4: .4byte gLinkPlayers
|
|
_08118CE8:
|
|
ldr r0, _08118D10 @ =gUnknown_203B058
|
|
strb r5, [r0]
|
|
ldr r1, _08118D14 @ =gUnknown_203B059
|
|
lsrs r0, r5, 8
|
|
strb r0, [r1]
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x41
|
|
bne _08118D1C
|
|
bl sub_811B0F0
|
|
cmp r0, 0
|
|
bne _08118D1C
|
|
ldr r1, _08118D18 @ =gUnknown_845847C
|
|
movs r0, 0x5
|
|
bl sub_8118664
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118D10: .4byte gUnknown_203B058
|
|
_08118D14: .4byte gUnknown_203B059
|
|
_08118D18: .4byte gUnknown_845847C
|
|
_08118D1C:
|
|
ldr r0, _08118D34 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
movs r1, 0x40
|
|
orrs r1, r0
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
strh r1, [r0]
|
|
bl sub_80F9E2C
|
|
movs r0, 0x1B
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118D34: .4byte gUnknown_203B058
|
|
_08118D38:
|
|
ldr r0, _08118D48 @ =gStringVar4
|
|
ldr r1, _08118D4C @ =gUnknown_8458434
|
|
bl StringCopy
|
|
movs r0, 0x24
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118D48: .4byte gStringVar4
|
|
_08118D4C: .4byte gUnknown_8458434
|
|
_08118D50:
|
|
adds r0, r6, 0
|
|
bl sub_811B0A4
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
ldrh r1, [r0]
|
|
movs r0, 0x3F
|
|
ands r0, r1
|
|
bl sub_811A9FC
|
|
adds r5, r0, 0
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r3, _08118D9C @ =gUnknown_84580F4
|
|
lsls r1, r5, 2
|
|
lsls r2, r4, 4
|
|
adds r1, r2
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08118D90
|
|
bl _081198DC
|
|
_08118D90:
|
|
movs r0, 0
|
|
strh r0, [r7, 0x6]
|
|
movs r0, 0x1D
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118D9C: .4byte gUnknown_84580F4
|
|
_08118DA0:
|
|
bl sub_800AAC0
|
|
movs r0, 0x24
|
|
bl _081198DA
|
|
_08118DAA:
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0x44
|
|
strh r1, [r0]
|
|
ldr r2, _08118DD0 @ =gUnknown_203B06C
|
|
ldrh r1, [r2, 0xE]
|
|
adds r3, r6, 0
|
|
adds r3, 0x4E
|
|
strh r1, [r3]
|
|
ldrh r2, [r2, 0x10]
|
|
adds r1, r6, 0
|
|
adds r1, 0x50
|
|
strh r2, [r1]
|
|
bl sub_80F9E2C
|
|
movs r0, 0x1D
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118DD0: .4byte gUnknown_203B06C
|
|
_08118DD4:
|
|
ldr r0, _08118DEC @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08118DF8
|
|
ldr r0, _08118DF0 @ =gStringVar4
|
|
ldr r1, _08118DF4 @ =gUnknown_8458434
|
|
bl StringCopy
|
|
movs r0, 0x1C
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118DEC: .4byte gUnknown_3003F64
|
|
_08118DF0: .4byte gStringVar4
|
|
_08118DF4: .4byte gUnknown_8458434
|
|
_08118DF8:
|
|
adds r0, r6, 0
|
|
bl sub_811B0A4
|
|
adds r0, r6, 0
|
|
adds r0, 0x84
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x51
|
|
bne _08118E2E
|
|
ldr r0, _08118E20 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x8
|
|
bne _08118E28
|
|
ldr r0, _08118E24 @ =gStringVar4
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
bl sub_811B31C
|
|
movs r0, 0x28
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118E20: .4byte gUnknown_203B058
|
|
_08118E24: .4byte gStringVar4
|
|
_08118E28:
|
|
movs r0, 0xD
|
|
bl _081198DA
|
|
_08118E2E:
|
|
cmp r0, 0x52
|
|
beq _08118E36
|
|
bl _081198DC
|
|
_08118E36:
|
|
movs r5, 0
|
|
movs r0, 0x20
|
|
strb r0, [r6, 0x14]
|
|
ldr r0, _08118E54 @ =gStringVar4
|
|
ldr r4, _08118E58 @ =gUnknown_203B058
|
|
ldrb r2, [r4]
|
|
movs r1, 0x40
|
|
orrs r1, r2
|
|
ldr r2, _08118E5C @ =gLinkPlayers
|
|
ldrb r2, [r2, 0x13]
|
|
bl sub_811AE68
|
|
strb r5, [r4]
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118E54: .4byte gStringVar4
|
|
_08118E58: .4byte gUnknown_203B058
|
|
_08118E5C: .4byte gLinkPlayers
|
|
_08118E60:
|
|
movs r0, 0x2
|
|
ldrsh r1, [r7, r0]
|
|
lsls r1, 5
|
|
ldr r0, [r6]
|
|
adds r0, r1
|
|
bl sub_811AA24
|
|
adds r5, r0, 0
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
ldr r2, _08118E94 @ =gUnknown_8457B04
|
|
lsls r0, r4, 2
|
|
lsls r1, r5, 3
|
|
adds r0, r1
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
movs r0, 0x6
|
|
bl sub_8118664
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118E94: .4byte gUnknown_8457B04
|
|
_08118E98:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08118EC4 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08118EAC
|
|
bl _081198DC
|
|
_08118EAC:
|
|
movs r4, 0
|
|
movs r0, 0x29
|
|
strb r0, [r6, 0x14]
|
|
bl sub_800AB9C
|
|
adds r0, r6, 0
|
|
adds r0, 0x84
|
|
strh r4, [r0]
|
|
adds r0, 0x2
|
|
strh r4, [r0]
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118EC4: .4byte gStringVar4
|
|
_08118EC8:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08118ED6
|
|
bl _081198DC
|
|
_08118ED6:
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08118F30
|
|
ldr r5, _08118F20 @ =gStringVar1
|
|
bl GetMultiplayerId
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r4, _08118F24 @ =gUnknown_2022744
|
|
adds r1, r4
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
ldrh r0, [r4, 0x18]
|
|
adds r4, 0x1C
|
|
adds r1, r4, 0
|
|
bl sub_80FD338
|
|
adds r5, r0, 0
|
|
ldr r0, _08118F28 @ =gStringVar4
|
|
ldr r2, _08118F2C @ =gUnknown_8457C20
|
|
lsls r1, r5, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x21
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08118F20: .4byte gStringVar1
|
|
_08118F24: .4byte gUnknown_2022744
|
|
_08118F28: .4byte gStringVar4
|
|
_08118F2C: .4byte gUnknown_8457C20
|
|
_08118F30:
|
|
movs r0, 0x7
|
|
bl _081198DA
|
|
_08118F36:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r5, r0, 24
|
|
cmp r5, 0
|
|
beq _08118F60
|
|
cmp r5, 0
|
|
bgt _08118F58
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
beq _08118F9C
|
|
bl _081198DC
|
|
_08118F58:
|
|
cmp r5, 0x1
|
|
beq _08118F9C
|
|
bl _081198DC
|
|
_08118F60:
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
ldr r4, _08118F98 @ =gUnknown_203B058
|
|
movs r0, 0x45
|
|
strb r0, [r4]
|
|
movs r0, 0x45
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
movs r2, 0x2
|
|
ldrsh r0, [r7, r2]
|
|
lsls r0, 5
|
|
ldr r1, [r6]
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
ldrb r2, [r4]
|
|
bl sub_80FC114
|
|
ldrh r0, [r7, 0x2]
|
|
strh r0, [r6, 0x12]
|
|
movs r0, 0x14
|
|
strb r0, [r6, 0x14]
|
|
strh r5, [r7, 0x6]
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118F98: .4byte gUnknown_203B058
|
|
_08118F9C:
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
ldr r1, _08118FB8 @ =gUnknown_8458548
|
|
lsls r0, r4, 2
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
bl sub_811868C
|
|
bl _081198DC
|
|
.align 2, 0
|
|
_08118FB8: .4byte gUnknown_8458548
|
|
_08118FBC:
|
|
ldrh r0, [r7, 0x4]
|
|
adds r0, 0x1
|
|
strh r0, [r7, 0x4]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x3C
|
|
bgt _08118FCE
|
|
bl _081198DC
|
|
_08118FCE:
|
|
movs r1, 0
|
|
movs r0, 0x15
|
|
strb r0, [r6, 0x14]
|
|
strh r1, [r7, 0x4]
|
|
bl _081198DC
|
|
_08118FDA:
|
|
bl sub_80FB9F4
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x3
|
|
beq _08119040
|
|
cmp r4, 0x3
|
|
ble _08118FF8
|
|
cmp r4, 0x4
|
|
bne _08119044
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
strb r4, [r6, 0x14]
|
|
b _08119044
|
|
_08118FF8:
|
|
cmp r4, 0x1
|
|
blt _08119044
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
bl sub_80FBB0C
|
|
cmp r0, 0x1
|
|
bne _0811902C
|
|
ldr r0, _08119028 @ =gUnknown_84585E8
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl sub_811868C
|
|
b _08119044
|
|
.align 2, 0
|
|
_08119028: .4byte gUnknown_84585E8
|
|
_0811902C:
|
|
ldr r0, _0811903C @ =gUnknown_84585E8
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
movs r0, 0x1E
|
|
bl sub_8118664
|
|
b _08119044
|
|
.align 2, 0
|
|
_0811903C: .4byte gUnknown_84585E8
|
|
_08119040:
|
|
movs r0, 0x16
|
|
strb r0, [r6, 0x14]
|
|
_08119044:
|
|
ldrh r0, [r7, 0x6]
|
|
adds r0, 0x1
|
|
strh r0, [r7, 0x6]
|
|
bl _081198DC
|
|
_0811904E:
|
|
bl sub_80FBA00
|
|
cmp r0, 0
|
|
beq _08119096
|
|
movs r2, 0x2
|
|
ldrsh r0, [r7, r2]
|
|
ldr r1, [r6]
|
|
bl sub_811ADC4
|
|
adds r4, r0, 0
|
|
movs r0, 0x54
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
bl sub_80FBB0C
|
|
cmp r0, 0x1
|
|
bne _08119088
|
|
ldr r0, _08119084 @ =gUnknown_84585E8
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl sub_811868C
|
|
b _08119096
|
|
.align 2, 0
|
|
_08119084: .4byte gUnknown_84585E8
|
|
_08119088:
|
|
ldr r0, _081190A8 @ =gUnknown_84585E8
|
|
lsls r1, r4, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
movs r0, 0x1E
|
|
bl sub_8118664
|
|
_08119096:
|
|
ldr r0, _081190AC @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _081190A2
|
|
bl _081198DC
|
|
_081190A2:
|
|
movs r0, 0x10
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_081190A8: .4byte gUnknown_84585E8
|
|
_081190AC: .4byte gUnknown_3003F64
|
|
_081190B0:
|
|
movs r0, 0x42
|
|
bl PlaySE
|
|
bl sub_80F8FA0
|
|
movs r0, 0
|
|
movs r1, 0xC
|
|
strb r1, [r6, 0x14]
|
|
adds r1, r6, 0
|
|
adds r1, 0x86
|
|
strh r0, [r1]
|
|
bl _081198DC
|
|
_081190CA:
|
|
bl sub_80FBA00
|
|
cmp r0, 0
|
|
beq _081190DE
|
|
movs r0, 0
|
|
bl sub_811B258
|
|
movs r0, 0x2
|
|
bl _081198DA
|
|
_081190DE:
|
|
ldr r0, _08119100 @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _081190EA
|
|
bl _081198DC
|
|
_081190EA:
|
|
ldr r0, _08119104 @ =gUnknown_2022618
|
|
movs r1, 0x1
|
|
bl sub_8117594
|
|
ldr r0, _08119108 @ =sub_8117280
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
movs r0, 0x27
|
|
bl _081198DA
|
|
.align 2, 0
|
|
_08119100: .4byte gUnknown_3003F64
|
|
_08119104: .4byte gUnknown_2022618
|
|
_08119108: .4byte sub_8117280
|
|
_0811910C:
|
|
adds r0, r6, 0
|
|
bl sub_8119904
|
|
ldr r0, _08119150 @ =sub_8117280
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08119122
|
|
bl _081198DC
|
|
_08119122:
|
|
movs r0, 0x21
|
|
strb r0, [r6, 0x14]
|
|
ldr r0, _08119154 @ =gStringVar1
|
|
ldr r4, _08119158 @ =gUnknown_2022760
|
|
adds r1, r4, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
subs r0, 0x24
|
|
ldrh r0, [r0, 0x20]
|
|
adds r1, r4, 0
|
|
bl sub_80FD338
|
|
adds r5, r0, 0
|
|
ldr r0, _0811915C @ =gStringVar4
|
|
ldr r2, _08119160 @ =gUnknown_8457BCC
|
|
lsls r1, r5, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringExpandPlaceholders
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119150: .4byte sub_8117280
|
|
_08119154: .4byte gStringVar1
|
|
_08119158: .4byte gUnknown_2022760
|
|
_0811915C: .4byte gStringVar4
|
|
_08119160: .4byte gUnknown_8457BCC
|
|
_08119164:
|
|
adds r0, r6, 0
|
|
bl sub_8119904
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08119180 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811917C
|
|
b _081198DC
|
|
_0811917C:
|
|
movs r0, 0x22
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119180: .4byte gStringVar4
|
|
_08119184:
|
|
adds r0, r6, 0
|
|
bl sub_8119904
|
|
adds r0, r6, 0
|
|
bl sub_8119944
|
|
cmp r0, 0
|
|
bne _08119196
|
|
b _081198DC
|
|
_08119196:
|
|
ldr r0, _081191B8 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081191A4
|
|
b _081198DC
|
|
_081191A4:
|
|
movs r0, 0x1
|
|
bl sub_80FBD6C
|
|
ldr r0, _081191BC @ =gStringVar4
|
|
ldr r1, _081191C0 @ =gUnknown_8457E60
|
|
bl StringCopy
|
|
movs r0, 0x24
|
|
b _081198DA
|
|
.align 2, 0
|
|
_081191B8: .4byte gMain
|
|
_081191BC: .4byte gStringVar4
|
|
_081191C0: .4byte gUnknown_8457E60
|
|
_081191C4:
|
|
ldr r1, _081191D0 @ =gStringVar4
|
|
movs r0, 0x9
|
|
bl sub_8118664
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081191D0: .4byte gStringVar4
|
|
_081191D4:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _081191FA
|
|
cmp r1, 0
|
|
bgt _081191F4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _081192BA
|
|
b _081198DC
|
|
_081191F4:
|
|
cmp r1, 0x1
|
|
beq _081192BA
|
|
b _081198DC
|
|
_081191FA:
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0x51
|
|
strh r1, [r0]
|
|
ldr r1, _08119228 @ =gUnknown_203B058
|
|
ldrb r1, [r1]
|
|
adds r5, r0, 0
|
|
cmp r1, 0x45
|
|
bne _0811922C
|
|
movs r4, 0x40
|
|
orrs r4, r1
|
|
movs r0, 0x1
|
|
bl sub_811B2A8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_80FB008
|
|
b _0811924A
|
|
.align 2, 0
|
|
_08119228: .4byte gUnknown_203B058
|
|
_0811922C:
|
|
movs r0, 0x40
|
|
adds r4, r1, 0
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0x1
|
|
bl sub_811B2A8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0x1
|
|
bl sub_80FB008
|
|
_0811924A:
|
|
ldr r1, [r6, 0x8]
|
|
movs r0, 0
|
|
strb r0, [r1, 0x1B]
|
|
strh r0, [r7, 0x6]
|
|
ldr r0, _0811927C @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x41
|
|
bne _08119292
|
|
bl sub_811B0F0
|
|
cmp r0, 0
|
|
bne _08119288
|
|
movs r0, 0x52
|
|
strh r0, [r5]
|
|
adds r0, r5, 0
|
|
bl sub_80F9E2C
|
|
movs r0, 0xA
|
|
strb r0, [r6, 0x14]
|
|
ldr r0, _08119280 @ =gStringVar4
|
|
ldr r1, _08119284 @ =gUnknown_84584C0
|
|
bl StringCopy
|
|
b _081198DC
|
|
.align 2, 0
|
|
_0811927C: .4byte gUnknown_203B058
|
|
_08119280: .4byte gStringVar4
|
|
_08119284: .4byte gUnknown_84584C0
|
|
_08119288:
|
|
adds r0, r5, 0
|
|
bl sub_80F9E2C
|
|
movs r0, 0xD
|
|
b _081198DA
|
|
_08119292:
|
|
cmp r0, 0x48
|
|
bne _081192B0
|
|
adds r0, r5, 0
|
|
bl sub_80F9E2C
|
|
ldr r0, _081192AC @ =gStringVar4
|
|
adds r1, r6, 0
|
|
movs r2, 0x1
|
|
bl sub_811B31C
|
|
movs r0, 0x28
|
|
b _081198DA
|
|
.align 2, 0
|
|
_081192AC: .4byte gStringVar4
|
|
_081192B0:
|
|
adds r0, r5, 0
|
|
bl sub_80F9E2C
|
|
movs r0, 0xD
|
|
b _081198DA
|
|
_081192BA:
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0x52
|
|
strh r1, [r0]
|
|
bl sub_80F9E2C
|
|
movs r0, 0xA
|
|
strb r0, [r6, 0x14]
|
|
ldr r0, _081192D8 @ =gStringVar4
|
|
ldr r1, _081192DC @ =gUnknown_203B058
|
|
ldrb r1, [r1]
|
|
bl sub_81162E0
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081192D8: .4byte gStringVar4
|
|
_081192DC: .4byte gUnknown_203B058
|
|
_081192E0:
|
|
bl sub_800AAC0
|
|
movs r0, 0x24
|
|
b _081198DA
|
|
_081192E8:
|
|
ldr r0, _08119318 @ =gUnknown_3003F64
|
|
ldrb r4, [r0]
|
|
cmp r4, 0
|
|
beq _081192F2
|
|
b _081198DC
|
|
_081192F2:
|
|
ldr r1, _0811931C @ =gUnknown_203B058
|
|
movs r0, 0x40
|
|
strb r0, [r1]
|
|
ldr r1, _08119320 @ =gStringVar4
|
|
movs r0, 0x25
|
|
bl sub_8118664
|
|
adds r0, r6, 0
|
|
adds r0, 0x4C
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
bl memset
|
|
adds r0, r6, 0
|
|
adds r0, 0x86
|
|
strh r4, [r0]
|
|
subs r0, 0x2
|
|
strh r4, [r0]
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119318: .4byte gUnknown_3003F64
|
|
_0811931C: .4byte gUnknown_203B058
|
|
_08119320: .4byte gStringVar4
|
|
_08119324:
|
|
movs r0, 0x2
|
|
strb r0, [r6, 0x14]
|
|
movs r0, 0
|
|
bl sub_811B258
|
|
b _081198DC
|
|
_08119330:
|
|
ldr r4, _0811934C @ =gStringVar4
|
|
ldr r0, _08119350 @ =gUnknown_203B058
|
|
ldrb r0, [r0]
|
|
movs r1, 0x40
|
|
orrs r1, r0
|
|
adds r0, r4, 0
|
|
bl sub_811AECC
|
|
movs r0, 0xE
|
|
adds r1, r4, 0
|
|
bl sub_8118664
|
|
b _081198DC
|
|
.align 2, 0
|
|
_0811934C: .4byte gStringVar4
|
|
_08119350: .4byte gUnknown_203B058
|
|
_08119354:
|
|
bl sub_800AB9C
|
|
movs r0, 0xF
|
|
b _081198DA
|
|
_0811935C:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08119368
|
|
b _081198DC
|
|
_08119368:
|
|
movs r0, 0x10
|
|
b _081198DA
|
|
_0811936C:
|
|
ldr r0, [r6, 0x8]
|
|
bl Free
|
|
ldr r0, [r6]
|
|
bl Free
|
|
ldr r0, [r6, 0xC]
|
|
bl Free
|
|
ldr r0, [r6, 0x4]
|
|
bl Free
|
|
adds r0, r6, 0
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl DestroyTask
|
|
adds r0, r6, 0
|
|
adds r0, 0x21
|
|
bl sub_811BB40
|
|
movs r0, 0x11
|
|
b _081198DA
|
|
_0811939A:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0x12
|
|
b _081198DA
|
|
_081193AE:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081193BA
|
|
b _081198DC
|
|
_081193BA:
|
|
bl sub_811BA78
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
ldr r0, _081193D4 @ =gUnknown_203B05C
|
|
ldr r0, [r0]
|
|
bl Free
|
|
bl sub_81179A4
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081193D4: .4byte gUnknown_203B05C
|
|
_081193D8:
|
|
bl sub_80F9800
|
|
ldrh r1, [r0, 0x8]
|
|
ldr r4, _081193EC @ =0x000003ff
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081193F0
|
|
movs r0, 0x2B
|
|
b _081198DA
|
|
.align 2, 0
|
|
_081193EC: .4byte 0x000003ff
|
|
_081193F0:
|
|
bl sub_80F9800
|
|
ldrh r1, [r0, 0x8]
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
bne _08119414
|
|
ldr r0, _0811940C @ =gStringVar4
|
|
ldr r1, _08119410 @ =gUnknown_8458DE8
|
|
bl StringCopy
|
|
b _0811944A
|
|
.align 2, 0
|
|
_0811940C: .4byte gStringVar4
|
|
_08119410: .4byte gUnknown_8458DE8
|
|
_08119414:
|
|
ldr r4, _08119454 @ =gStringVar1
|
|
bl sub_80F9800
|
|
ldrh r0, [r0, 0x8]
|
|
lsls r0, 22
|
|
lsrs r0, 22
|
|
movs r1, 0xB
|
|
muls r1, r0
|
|
ldr r0, _08119458 @ =gSpeciesNames
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r4, _0811945C @ =gStringVar2
|
|
bl sub_80F9800
|
|
ldrb r1, [r0, 0xB]
|
|
lsrs r1, 1
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, _08119460 @ =gStringVar4
|
|
ldr r1, _08119464 @ =gUnknown_8458DBC
|
|
bl StringExpandPlaceholders
|
|
_0811944A:
|
|
ldr r1, _08119460 @ =gStringVar4
|
|
movs r0, 0x2C
|
|
bl sub_8118664
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119454: .4byte gStringVar1
|
|
_08119458: .4byte gSpeciesNames
|
|
_0811945C: .4byte gStringVar2
|
|
_08119460: .4byte gStringVar4
|
|
_08119464: .4byte gUnknown_8458DBC
|
|
_08119468:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08119480 @ =gUnknown_8458AB8
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811947A
|
|
b _081198DC
|
|
_0811947A:
|
|
movs r0, 0x2F
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119480: .4byte gUnknown_8458AB8
|
|
_08119484:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
adds r1, r6, 0
|
|
adds r1, 0x1D
|
|
adds r2, r6, 0
|
|
adds r2, 0x1E
|
|
ldr r3, _081194BC @ =gUnknown_8456E34
|
|
ldr r4, _081194C0 @ =gUnknown_8456E54
|
|
str r4, [sp]
|
|
bl sub_811A218
|
|
adds r5, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _081194A6
|
|
b _081198DC
|
|
_081194A6:
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
beq _081194B0
|
|
cmp r5, 0x3
|
|
bne _081194C4
|
|
_081194B0:
|
|
movs r0, 0x4
|
|
strb r0, [r6, 0x14]
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
b _081194E4
|
|
.align 2, 0
|
|
_081194BC: .4byte gUnknown_8456E34
|
|
_081194C0: .4byte gUnknown_8456E54
|
|
_081194C4:
|
|
cmp r5, 0x1
|
|
beq _081194CE
|
|
cmp r5, 0x2
|
|
beq _081194DC
|
|
b _081194E4
|
|
_081194CE:
|
|
ldr r1, _081194D8 @ =gUnknown_8458D1C
|
|
movs r0, 0x35
|
|
bl sub_8118664
|
|
b _081194E4
|
|
.align 2, 0
|
|
_081194D8: .4byte gUnknown_8458D1C
|
|
_081194DC:
|
|
ldr r1, _081194EC @ =gUnknown_8458B44
|
|
movs r0, 0x2F
|
|
bl sub_8118664
|
|
_081194E4:
|
|
bl sub_80F7998
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081194EC: .4byte gUnknown_8458B44
|
|
_081194F0:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0x36
|
|
b _081198DA
|
|
_08119504:
|
|
ldr r0, _08119528 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08119512
|
|
b _081198DC
|
|
_08119512:
|
|
ldr r1, _0811952C @ =gUnknown_203B06C
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
ldr r1, _08119530 @ =gUnknown_3005020
|
|
ldr r0, _08119534 @ =sub_807DCE4
|
|
str r0, [r1]
|
|
ldr r1, _08119538 @ =c2_exit_to_overworld_2_switch
|
|
movs r0, 0x8
|
|
bl sub_81277F4
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119528: .4byte gPaletteFade
|
|
_0811952C: .4byte gUnknown_203B06C
|
|
_08119530: .4byte gUnknown_3005020
|
|
_08119534: .4byte sub_807DCE4
|
|
_08119538: .4byte c2_exit_to_overworld_2_switch
|
|
_0811953C:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
adds r1, r6, 0
|
|
adds r1, 0x1D
|
|
adds r2, r6, 0
|
|
adds r2, 0x1E
|
|
ldr r3, _08119580 @ =gUnknown_8456E6C
|
|
ldr r4, _08119584 @ =gUnknown_8456F04
|
|
str r4, [sp]
|
|
bl sub_811A218
|
|
adds r5, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _0811955E
|
|
b _081198DC
|
|
_0811955E:
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
beq _08119568
|
|
cmp r5, 0x12
|
|
bne _08119590
|
|
_08119568:
|
|
ldr r0, _08119588 @ =gUnknown_203B06C
|
|
bl sub_811B148
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAFA0
|
|
ldr r0, _0811958C @ =gUnknown_8458D54
|
|
bl sub_811868C
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119580: .4byte gUnknown_8456E6C
|
|
_08119584: .4byte gUnknown_8456F04
|
|
_08119588: .4byte gUnknown_203B06C
|
|
_0811958C: .4byte gUnknown_8458D54
|
|
_08119590:
|
|
ldr r0, _08119598 @ =gUnknown_203B06C
|
|
strh r5, [r0, 0x2]
|
|
movs r0, 0x37
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119598: .4byte gUnknown_203B06C
|
|
_0811959C:
|
|
ldr r2, _081195B0 @ =gUnknown_203B06C
|
|
ldrh r0, [r2, 0x2]
|
|
ldrh r1, [r2, 0xA]
|
|
ldrh r2, [r2, 0xC]
|
|
bl sub_80FAFA0
|
|
ldr r0, _081195B4 @ =gUnknown_8458D78
|
|
bl sub_811868C
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081195B0: .4byte gUnknown_203B06C
|
|
_081195B4: .4byte gUnknown_8458D78
|
|
_081195B8:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _081195DE
|
|
cmp r1, 0
|
|
bgt _081195D8
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _081195E2
|
|
b _081198DC
|
|
_081195D8:
|
|
cmp r1, 0x1
|
|
beq _081195E2
|
|
b _081198DC
|
|
_081195DE:
|
|
movs r0, 0x38
|
|
b _081198DA
|
|
_081195E2:
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
movs r0, 0x4
|
|
b _081198DA
|
|
_081195EC:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08119618 @ =gUnknown_8458E10
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081195FE
|
|
b _081198DC
|
|
_081195FE:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAFA0
|
|
ldr r0, _0811961C @ =gUnknown_203B06C
|
|
bl sub_811B148
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
movs r0, 0x4
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119618: .4byte gUnknown_8458E10
|
|
_0811961C: .4byte gUnknown_203B06C
|
|
_08119620:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08119638 @ =gUnknown_8458A98
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08119632
|
|
b _081198DC
|
|
_08119632:
|
|
movs r0, 0x2E
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119638: .4byte gUnknown_8458A98
|
|
_0811963C:
|
|
bl sub_811A3F8
|
|
movs r0, 0x30
|
|
b _081198DA
|
|
_08119644:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
adds r1, r6, 0
|
|
adds r1, 0x1D
|
|
adds r2, r6, 0
|
|
adds r2, 0x4A
|
|
adds r3, r6, 0
|
|
adds r3, 0x1E
|
|
ldr r4, _08119688 @ =gUnknown_8456F24
|
|
str r4, [sp]
|
|
ldr r4, _0811968C @ =gUnknown_8456F7C
|
|
str r4, [sp, 0x4]
|
|
ldr r4, [r6]
|
|
str r4, [sp, 0x8]
|
|
bl sub_811A2EC
|
|
adds r5, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _08119670
|
|
b _081198DC
|
|
_08119670:
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
beq _0811967A
|
|
cmp r5, 0x8
|
|
bne _08119690
|
|
_0811967A:
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
bl sub_80F7998
|
|
movs r0, 0x4
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119688: .4byte gUnknown_8456F24
|
|
_0811968C: .4byte gUnknown_8456F7C
|
|
_08119690:
|
|
ldr r1, [r6]
|
|
lsls r3, r5, 5
|
|
mov r8, r3
|
|
add r1, r8
|
|
ldrb r0, [r1, 0x9]
|
|
lsrs r0, 2
|
|
ldrh r1, [r1, 0x8]
|
|
lsls r1, 22
|
|
lsrs r1, 22
|
|
bl sub_811ADD0
|
|
cmp r0, 0x1
|
|
beq _081196EC
|
|
cmp r0, 0x1
|
|
bgt _081196B4
|
|
cmp r0, 0
|
|
beq _081196BA
|
|
b _081198DC
|
|
_081196B4:
|
|
cmp r0, 0x2
|
|
beq _08119734
|
|
b _081198DC
|
|
_081196BA:
|
|
ldr r4, _081196E4 @ =gStringVar1
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r1, _081196E8 @ =gUnknown_8458E70
|
|
movs r0, 0x31
|
|
bl sub_8118664
|
|
strh r5, [r7, 0x2]
|
|
b _081198DC
|
|
.align 2, 0
|
|
_081196E4: .4byte gStringVar1
|
|
_081196E8: .4byte gUnknown_8458E70
|
|
_081196EC:
|
|
ldr r4, _08119724 @ =gStringVar1
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _08119728 @ =gStringVar2
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
ldrb r2, [r1, 0x9]
|
|
lsrs r2, 2
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
ldr r2, _0811972C @ =gUnknown_824F1A0
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r1, _08119730 @ =gUnknown_8458ED0
|
|
b _0811976A
|
|
.align 2, 0
|
|
_08119724: .4byte gStringVar1
|
|
_08119728: .4byte gStringVar2
|
|
_0811972C: .4byte gUnknown_824F1A0
|
|
_08119730: .4byte gUnknown_8458ED0
|
|
_08119734:
|
|
ldr r4, _08119774 @ =gStringVar1
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r0, [r6]
|
|
add r0, r8
|
|
ldrb r1, [r0]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _08119778 @ =gStringVar2
|
|
ldr r1, [r6]
|
|
add r1, r8
|
|
ldrb r2, [r1, 0x9]
|
|
lsrs r2, 2
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
ldr r2, _0811977C @ =gUnknown_824F1A0
|
|
adds r1, r2
|
|
bl StringCopy
|
|
ldr r1, _08119780 @ =gUnknown_8458F04
|
|
_0811976A:
|
|
movs r0, 0x2E
|
|
bl sub_8118664
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119774: .4byte gStringVar1
|
|
_08119778: .4byte gStringVar2
|
|
_0811977C: .4byte gUnknown_824F1A0
|
|
_08119780: .4byte gUnknown_8458F04
|
|
_08119784:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
movs r1, 0
|
|
bl sub_811A14C
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _081197AA
|
|
cmp r1, 0
|
|
bgt _081197A4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _081197AE
|
|
b _081198DC
|
|
_081197A4:
|
|
cmp r1, 0x1
|
|
beq _081197AE
|
|
b _081198DC
|
|
_081197AA:
|
|
movs r0, 0x32
|
|
b _081198DA
|
|
_081197AE:
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
movs r0, 0x4
|
|
b _081198DA
|
|
_081197B8:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _08119820 @ =gUnknown_8458D1C
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _081197CA
|
|
b _081198DC
|
|
_081197CA:
|
|
ldr r4, _08119824 @ =gUnknown_203B06C
|
|
movs r0, 0x2
|
|
strh r0, [r4]
|
|
ldr r2, _08119828 @ =gUnknown_203B064
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
ldr r1, [r6]
|
|
lsls r0, 5
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
ldr r2, _0811982C @ =gUnknown_203B06A
|
|
ldr r1, [r6]
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r0, [r1, 0x9]
|
|
lsrs r0, 2
|
|
strb r0, [r2]
|
|
ldr r2, _08119830 @ =gUnknown_203B068
|
|
ldr r1, [r6]
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrh r0, [r1, 0x8]
|
|
lsls r0, 22
|
|
lsrs r0, 22
|
|
strh r0, [r2]
|
|
ldr r1, _08119834 @ =gUnknown_3005020
|
|
ldr r0, _08119838 @ =sub_807DCE4
|
|
str r0, [r1]
|
|
ldr r1, _0811983C @ =c2_exit_to_overworld_2_switch
|
|
movs r0, 0x9
|
|
bl sub_81277F4
|
|
adds r0, r6, 0
|
|
bl sub_81186B0
|
|
ldrh r0, [r7, 0x2]
|
|
strb r0, [r4, 0x8]
|
|
b _081198DC
|
|
.align 2, 0
|
|
_08119820: .4byte gUnknown_8458D1C
|
|
_08119824: .4byte gUnknown_203B06C
|
|
_08119828: .4byte gUnknown_203B064
|
|
_0811982C: .4byte gUnknown_203B06A
|
|
_08119830: .4byte gUnknown_203B068
|
|
_08119834: .4byte gUnknown_3005020
|
|
_08119838: .4byte sub_807DCE4
|
|
_0811983C: .4byte c2_exit_to_overworld_2_switch
|
|
_08119840:
|
|
ldr r1, _08119890 @ =gUnknown_203B058
|
|
movs r0, 0x44
|
|
strb r0, [r1]
|
|
movs r1, 0x2
|
|
ldrsh r0, [r7, r1]
|
|
lsls r0, 5
|
|
ldr r1, [r6]
|
|
adds r1, r0
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
movs r2, 0x44
|
|
bl sub_80FC114
|
|
ldr r4, _08119894 @ =gStringVar1
|
|
movs r2, 0x2
|
|
ldrsh r0, [r7, r2]
|
|
lsls r0, 5
|
|
ldr r1, [r6]
|
|
adds r1, r0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldr r1, [r6]
|
|
movs r3, 0x2
|
|
ldrsh r0, [r7, r3]
|
|
lsls r0, 5
|
|
adds r1, r0
|
|
ldrb r1, [r1]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
ldr r0, _08119898 @ =gUnknown_8457A34
|
|
ldr r0, [r0, 0x8]
|
|
bl sub_811A0B4
|
|
movs r0, 0x19
|
|
b _081198DA
|
|
.align 2, 0
|
|
_08119890: .4byte gUnknown_203B058
|
|
_08119894: .4byte gStringVar1
|
|
_08119898: .4byte gUnknown_8457A34
|
|
_0811989C:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _081198C4 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081198DC
|
|
movs r0, 0x1
|
|
bl sub_811B258
|
|
movs r1, 0
|
|
ldrsh r0, [r7, r1]
|
|
movs r2, 0x2
|
|
ldrsh r1, [r7, r2]
|
|
ldr r2, [r6]
|
|
bl sub_811C028
|
|
movs r0, 0x4
|
|
b _081198DA
|
|
.align 2, 0
|
|
_081198C4: .4byte gStringVar4
|
|
_081198C8:
|
|
adds r0, r6, 0
|
|
adds r0, 0x16
|
|
ldr r1, _081198E8 @ =gStringVar4
|
|
bl sub_811A0F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081198DC
|
|
ldrb r0, [r6, 0x15]
|
|
_081198DA:
|
|
strb r0, [r6, 0x14]
|
|
_081198DC:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081198E8: .4byte gStringVar4
|
|
thumb_func_end sub_81186E0
|
|
|
|
thumb_func_start var_800D_set_xB
|
|
var_800D_set_xB: @ 81198EC
|
|
push {lr}
|
|
bl InUnionRoom
|
|
cmp r0, 0x1
|
|
bne _081198FC
|
|
ldr r1, _08119900 @ =gUnknown_20370D0
|
|
movs r0, 0xB
|
|
strh r0, [r1]
|
|
_081198FC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08119900: .4byte gUnknown_20370D0
|
|
thumb_func_end var_800D_set_xB
|
|
|
|
thumb_func_start sub_8119904
|
|
sub_8119904: @ 8119904
|
|
push {r4,r5,lr}
|
|
adds r2, r0, 0
|
|
ldr r3, _08119940 @ =gUnknown_3003ED0
|
|
ldrh r5, [r3, 0x12]
|
|
adds r4, r5, 0
|
|
cmp r4, 0
|
|
beq _08119938
|
|
ldrh r0, [r3, 0x10]
|
|
movs r1, 0xFF
|
|
lsls r1, 8
|
|
ands r1, r0
|
|
movs r0, 0xBC
|
|
lsls r0, 6
|
|
cmp r1, r0
|
|
bne _08119938
|
|
adds r0, r2, 0
|
|
adds r0, 0x86
|
|
strh r5, [r0]
|
|
cmp r4, 0x44
|
|
bne _08119938
|
|
ldrh r1, [r3, 0x14]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
ldrh r1, [r3, 0x16]
|
|
adds r0, 0x2
|
|
strh r1, [r0]
|
|
_08119938:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08119940: .4byte gUnknown_3003ED0
|
|
thumb_func_end sub_8119904
|
|
|
|
thumb_func_start sub_8119944
|
|
sub_8119944: @ 8119944
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r4, 0
|
|
adds r5, 0x86
|
|
ldrh r0, [r5]
|
|
cmp r0, 0
|
|
beq _08119994
|
|
ldr r0, _08119978 @ =gStringVar4
|
|
ldr r1, _0811997C @ =gLinkPlayers
|
|
adds r1, 0x2F
|
|
ldrb r1, [r1]
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl sub_811AF6C
|
|
cmp r0, 0
|
|
beq _08119994
|
|
cmp r0, 0x1
|
|
bne _08119984
|
|
movs r0, 0x23
|
|
strb r0, [r4, 0x14]
|
|
ldr r1, _08119980 @ =gUnknown_203B058
|
|
ldrh r0, [r5]
|
|
strb r0, [r1]
|
|
movs r0, 0
|
|
b _08119996
|
|
.align 2, 0
|
|
_08119978: .4byte gStringVar4
|
|
_0811997C: .4byte gLinkPlayers
|
|
_08119980: .4byte gUnknown_203B058
|
|
_08119984:
|
|
cmp r0, 0x2
|
|
bne _08119994
|
|
movs r0, 0x24
|
|
strb r0, [r4, 0x14]
|
|
bl sub_800AAC0
|
|
movs r0, 0
|
|
b _08119996
|
|
_08119994:
|
|
movs r0, 0x1
|
|
_08119996:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8119944
|
|
|
|
thumb_func_start sub_811999C
|
|
sub_811999C: @ 811999C
|
|
push {r4-r6,lr}
|
|
ldr r5, _081199E8 @ =gUnknown_203B04C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
adds r6, r0, 0
|
|
movs r0, 0xFF
|
|
strb r0, [r5]
|
|
ldr r0, _081199EC @ =gUnknown_203ADFA
|
|
ldrb r0, [r0]
|
|
subs r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bls _081199E0
|
|
ldr r0, _081199F0 @ =sub_81199FC
|
|
movs r1, 0
|
|
bl CreateTask
|
|
ldr r4, _081199F4 @ =gUnknown_203B05C
|
|
movs r0, 0x96
|
|
lsls r0, 2
|
|
bl AllocZeroed
|
|
str r0, [r4]
|
|
ldr r1, _081199F8 @ =gUnknown_300202C
|
|
str r0, [r1]
|
|
movs r1, 0
|
|
strb r1, [r0, 0x14]
|
|
strb r1, [r0, 0x16]
|
|
strh r1, [r0, 0x10]
|
|
strh r1, [r0, 0x12]
|
|
ldrb r0, [r5]
|
|
orrs r0, r6
|
|
strb r0, [r5]
|
|
_081199E0:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081199E8: .4byte gUnknown_203B04C
|
|
_081199EC: .4byte gUnknown_203ADFA
|
|
_081199F0: .4byte sub_81199FC
|
|
_081199F4: .4byte gUnknown_203B05C
|
|
_081199F8: .4byte gUnknown_300202C
|
|
thumb_func_end sub_811999C
|
|
|
|
thumb_func_start sub_81199FC
|
|
sub_81199FC: @ 81199FC
|
|
push {r4-r6,lr}
|
|
sub sp, 0x20
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
ldr r0, _08119A1C @ =gUnknown_203B05C
|
|
ldr r5, [r0]
|
|
ldrb r0, [r5, 0x14]
|
|
cmp r0, 0x4
|
|
bls _08119A10
|
|
b _08119B5C
|
|
_08119A10:
|
|
lsls r0, 2
|
|
ldr r1, _08119A20 @ =_08119A24
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08119A1C: .4byte gUnknown_203B05C
|
|
_08119A20: .4byte _08119A24
|
|
.align 2, 0
|
|
_08119A24:
|
|
.4byte _08119A38
|
|
.4byte _08119A3E
|
|
.4byte _08119A60
|
|
.4byte _08119AB0
|
|
.4byte _08119B28
|
|
_08119A38:
|
|
movs r0, 0x1
|
|
strb r0, [r5, 0x14]
|
|
b _08119B5C
|
|
_08119A3E:
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FAF58
|
|
bl sub_800B1F4
|
|
bl sub_8009804
|
|
bl sub_80FBC00
|
|
movs r0, 0x1
|
|
bl sub_80FB128
|
|
movs r0, 0x2
|
|
strb r0, [r5, 0x14]
|
|
b _08119B5C
|
|
_08119A60:
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x4]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
movs r0, 0x70
|
|
bl AllocZeroed
|
|
str r0, [r5, 0xC]
|
|
movs r1, 0x4
|
|
bl sub_811A650
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
bl AllocZeroed
|
|
str r0, [r5]
|
|
movs r1, 0x8
|
|
bl sub_811A5E4
|
|
movs r0, 0x20
|
|
bl AllocZeroed
|
|
str r0, [r5, 0x8]
|
|
movs r1, 0x1
|
|
bl sub_811A5E4
|
|
ldr r0, [r5, 0xC]
|
|
ldr r1, [r5, 0x4]
|
|
movs r2, 0xA
|
|
bl sub_8119E84
|
|
adds r1, r5, 0
|
|
adds r1, 0x20
|
|
strb r0, [r1]
|
|
movs r0, 0x3
|
|
strb r0, [r5, 0x14]
|
|
b _08119B5C
|
|
_08119AB0:
|
|
bl sub_8119B94
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
blt _08119B5C
|
|
cmp r0, 0x2
|
|
bgt _08119B5C
|
|
ldr r0, _08119B14 @ =gUnknown_203B04C
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
bne _08119B5C
|
|
movs r6, 0
|
|
_08119ACA:
|
|
ldr r0, [r5]
|
|
lsls r4, r6, 5
|
|
adds r1, r0, r4
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08119B0A
|
|
adds r1, 0x10
|
|
mov r0, sp
|
|
bl StringCopy
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
mov r0, sp
|
|
bl ConvertInternationalString
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
adds r0, 0x2
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r1, sp
|
|
bl sub_80FD338
|
|
cmp r0, 0
|
|
bne _08119B18
|
|
_08119B0A:
|
|
adds r6, 0x1
|
|
cmp r6, 0x7
|
|
ble _08119ACA
|
|
b _08119B5C
|
|
.align 2, 0
|
|
_08119B14: .4byte gUnknown_203B04C
|
|
_08119B18:
|
|
ldr r0, _08119B24 @ =gUnknown_203B04C
|
|
mov r1, sp
|
|
bl StringCopy
|
|
b _08119B5C
|
|
.align 2, 0
|
|
_08119B24: .4byte gUnknown_203B04C
|
|
_08119B28:
|
|
ldr r0, [r5, 0x8]
|
|
bl Free
|
|
ldr r0, [r5]
|
|
bl Free
|
|
ldr r0, [r5, 0xC]
|
|
bl Free
|
|
ldr r0, [r5, 0x4]
|
|
bl Free
|
|
adds r0, r5, 0
|
|
adds r0, 0x20
|
|
ldrb r0, [r0]
|
|
bl DestroyTask
|
|
ldr r0, _08119B64 @ =gUnknown_203B05C
|
|
ldr r0, [r0]
|
|
bl Free
|
|
bl sub_80F8DC0
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_08119B5C:
|
|
add sp, 0x20
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08119B64: .4byte gUnknown_203B05C
|
|
thumb_func_end sub_81199FC
|
|
|
|
thumb_func_start sp182_move_string
|
|
sp182_move_string: @ 8119B68
|
|
push {r4,lr}
|
|
ldr r4, _08119B78 @ =gUnknown_203B04C
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xFF
|
|
bne _08119B7C
|
|
movs r0, 0
|
|
b _08119B8A
|
|
.align 2, 0
|
|
_08119B78: .4byte gUnknown_203B04C
|
|
_08119B7C:
|
|
ldr r0, _08119B90 @ =gStringVar1
|
|
adds r1, r4, 0
|
|
bl StringCopy
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
movs r0, 0x1
|
|
_08119B8A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08119B90: .4byte gStringVar1
|
|
thumb_func_end sp182_move_string
|
|
|
|
thumb_func_start sub_8119B94
|
|
sub_8119B94: @ 8119B94
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r0, _08119BE8 @ =gUnknown_203B05C
|
|
ldr r4, [r0]
|
|
movs r7, 0
|
|
movs r6, 0
|
|
movs r5, 0
|
|
_08119BA6:
|
|
ldr r0, [r4, 0xC]
|
|
adds r0, r5
|
|
ldr r1, _08119BEC @ =gUnknown_8457034
|
|
bl sub_811A694
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x1
|
|
bne _08119BF0
|
|
ldr r1, [r4, 0xC]
|
|
ldr r0, [r4, 0x8]
|
|
adds r1, r5
|
|
ldm r1!, {r2,r5,r6}
|
|
stm r0!, {r2,r5,r6}
|
|
ldm r1!, {r2,r5,r6}
|
|
stm r0!, {r2,r5,r6}
|
|
ldr r1, [r4, 0x8]
|
|
movs r0, 0
|
|
strh r0, [r1, 0x18]
|
|
ldr r2, [r4, 0x8]
|
|
ldrb r1, [r2, 0x1A]
|
|
movs r5, 0x4
|
|
negs r5, r5
|
|
adds r0, r5, 0
|
|
ands r1, r0
|
|
movs r0, 0x1
|
|
orrs r1, r0
|
|
strb r1, [r2, 0x1A]
|
|
ldr r0, [r4, 0x8]
|
|
strb r3, [r0, 0x1B]
|
|
movs r0, 0x4
|
|
b _08119D24
|
|
.align 2, 0
|
|
_08119BE8: .4byte gUnknown_203B05C
|
|
_08119BEC: .4byte gUnknown_8457034
|
|
_08119BF0:
|
|
adds r5, 0x1C
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _08119BA6
|
|
movs r6, 0
|
|
mov r9, r6
|
|
_08119BFC:
|
|
ldr r0, [r4]
|
|
mov r1, r9
|
|
lsls r5, r1, 5
|
|
adds r2, r0, r5
|
|
ldrb r0, [r2, 0x1A]
|
|
lsls r0, 30
|
|
mov r8, r5
|
|
cmp r0, 0
|
|
beq _08119CF0
|
|
ldr r1, [r4, 0x4]
|
|
adds r0, r2, 0
|
|
bl sub_811A748
|
|
adds r6, r0, 0
|
|
cmp r6, 0xFF
|
|
beq _08119C96
|
|
ldr r0, [r4]
|
|
adds r2, r0, r5
|
|
ldrb r1, [r2, 0x1A]
|
|
lsls r0, r1, 30
|
|
lsrs r0, 30
|
|
cmp r0, 0x1
|
|
bne _08119C74
|
|
lsls r0, r6, 3
|
|
subs r0, r6
|
|
lsls r6, r0, 2
|
|
ldr r1, [r4, 0x4]
|
|
adds r1, r6
|
|
adds r0, r2, 0
|
|
bl sub_811A6DC
|
|
cmp r0, 0
|
|
beq _08119C5A
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
adds r1, r5
|
|
adds r0, r6
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r1, 0x40
|
|
strb r1, [r0, 0x1B]
|
|
movs r7, 0x1
|
|
b _08119C8C
|
|
_08119C5A:
|
|
ldr r0, [r4]
|
|
adds r1, r0, r5
|
|
ldrb r0, [r1, 0x1B]
|
|
cmp r0, 0
|
|
beq _08119C8C
|
|
subs r0, 0x1
|
|
strb r0, [r1, 0x1B]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0, 0x1B]
|
|
cmp r0, 0
|
|
bne _08119C8C
|
|
b _08119C8A
|
|
_08119C74:
|
|
movs r3, 0x4
|
|
negs r3, r3
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
movs r1, 0
|
|
strb r1, [r0, 0x1B]
|
|
_08119C8A:
|
|
movs r7, 0x2
|
|
_08119C8C:
|
|
ldr r0, [r4]
|
|
add r0, r8
|
|
movs r1, 0
|
|
strh r1, [r0, 0x18]
|
|
b _08119CF0
|
|
_08119C96:
|
|
ldr r0, [r4]
|
|
adds r1, r0, r5
|
|
ldrb r0, [r1, 0x1A]
|
|
lsls r2, r0, 30
|
|
lsrs r0, r2, 30
|
|
cmp r0, 0x2
|
|
beq _08119CD0
|
|
ldrh r0, [r1, 0x18]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x18]
|
|
ldr r0, [r4]
|
|
adds r2, r0, r5
|
|
ldrh r1, [r2, 0x18]
|
|
ldr r0, _08119CCC @ =0x00000257
|
|
cmp r1, r0
|
|
bls _08119CF0
|
|
ldrb r0, [r2, 0x1A]
|
|
movs r5, 0x4
|
|
negs r5, r5
|
|
adds r1, r5, 0
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x1A]
|
|
movs r7, 0x2
|
|
b _08119CF0
|
|
.align 2, 0
|
|
_08119CCC: .4byte 0x00000257
|
|
_08119CD0:
|
|
lsrs r0, r2, 30
|
|
cmp r0, 0x2
|
|
bne _08119CF0
|
|
ldrh r0, [r1, 0x18]
|
|
adds r0, 0x1
|
|
strh r0, [r1, 0x18]
|
|
ldr r0, [r4]
|
|
adds r2, r0, r5
|
|
ldrh r1, [r2, 0x18]
|
|
ldr r0, _08119D30 @ =0x00000383
|
|
cmp r1, r0
|
|
bls _08119CF0
|
|
adds r0, r2, 0
|
|
movs r1, 0x1
|
|
bl sub_811A5E4
|
|
_08119CF0:
|
|
mov r0, r9
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
cmp r0, 0x7
|
|
bhi _08119D00
|
|
b _08119BFC
|
|
_08119D00:
|
|
movs r5, 0
|
|
movs r6, 0x3
|
|
_08119D04:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, 0x4]
|
|
adds r1, r5
|
|
movs r2, 0x8
|
|
bl sub_811A798
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xFF
|
|
beq _08119D1A
|
|
movs r7, 0x1
|
|
_08119D1A:
|
|
adds r5, 0x1C
|
|
subs r6, 0x1
|
|
cmp r6, 0
|
|
bge _08119D04
|
|
adds r0, r7, 0
|
|
_08119D24:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08119D30: .4byte 0x00000383
|
|
thumb_func_end sub_8119B94
|
|
|
|
thumb_func_start sub_8119D34
|
|
sub_8119D34: @ 8119D34
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
lsls r0, 2
|
|
add r0, r10
|
|
lsls r0, 3
|
|
ldr r1, _08119E24 @ =gTasks+0x8
|
|
adds r6, r0, r1
|
|
movs r7, 0
|
|
mov r0, sp
|
|
adds r0, 0x10
|
|
str r0, [sp, 0x18]
|
|
_08119D58:
|
|
lsls r2, r7, 24
|
|
lsrs r2, 24
|
|
mov r0, sp
|
|
ldr r1, [sp, 0x18]
|
|
bl sub_80FCC3C
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
mov r0, sp
|
|
ldrb r0, [r0, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
mov r2, r10
|
|
lsls r1, r2, 2
|
|
add r1, r10
|
|
lsls r1, 3
|
|
ldr r3, _08119E28 @ =gTasks
|
|
adds r1, r3
|
|
movs r5, 0x10
|
|
ldrsh r1, [r1, r5]
|
|
bl sub_8116F28
|
|
cmp r0, 0
|
|
bne _08119D94
|
|
mov r1, sp
|
|
ldr r0, _08119E2C @ =gUnknown_8457034
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
_08119D94:
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
movs r0, 0xF
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _08119DAC
|
|
mov r1, sp
|
|
ldr r0, _08119E2C @ =gUnknown_8457034
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
_08119DAC:
|
|
cmp r4, 0
|
|
bne _08119E30
|
|
lsls r0, r7, 3
|
|
mov r8, r0
|
|
adds r1, r7, 0x1
|
|
mov r9, r1
|
|
cmp r7, 0
|
|
ble _08119DEC
|
|
movs r2, 0
|
|
str r2, [sp, 0x1C]
|
|
adds r4, r7, 0
|
|
_08119DC2:
|
|
ldr r0, [r6, 0x4]
|
|
ldr r3, [sp, 0x1C]
|
|
adds r0, r3
|
|
mov r1, sp
|
|
bl sub_811A694
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08119DE0
|
|
mov r1, sp
|
|
ldr r0, _08119E2C @ =gUnknown_8457034
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
_08119DE0:
|
|
ldr r5, [sp, 0x1C]
|
|
adds r5, 0x1C
|
|
str r5, [sp, 0x1C]
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bne _08119DC2
|
|
_08119DEC:
|
|
ldr r1, [r6, 0x4]
|
|
mov r0, r8
|
|
subs r4, r0, r7
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
mov r0, sp
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r0, [r6, 0x4]
|
|
adds r0, r4
|
|
ldr r1, _08119E2C @ =gUnknown_8457034
|
|
bl sub_811A694
|
|
ldr r3, [r6, 0x4]
|
|
adds r3, r4
|
|
movs r2, 0x1
|
|
ands r2, r0
|
|
ldrb r0, [r3, 0x18]
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r1, r4, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0x18]
|
|
b _08119E68
|
|
.align 2, 0
|
|
_08119E24: .4byte gTasks+0x8
|
|
_08119E28: .4byte gTasks
|
|
_08119E2C: .4byte gUnknown_8457034
|
|
_08119E30:
|
|
ldr r1, [r6]
|
|
lsls r4, r7, 3
|
|
subs r4, r7
|
|
lsls r4, 2
|
|
adds r1, r4
|
|
mov r0, sp
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldm r0!, {r2,r3,r5}
|
|
stm r1!, {r2,r3,r5}
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r1, _08119E80 @ =gUnknown_8457034
|
|
bl sub_811A694
|
|
ldr r3, [r6]
|
|
adds r3, r4
|
|
movs r2, 0x1
|
|
ands r2, r0
|
|
ldrb r0, [r3, 0x18]
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r1, r4, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0x18]
|
|
adds r7, 0x1
|
|
mov r9, r7
|
|
_08119E68:
|
|
mov r7, r9
|
|
cmp r7, 0x3
|
|
bgt _08119E70
|
|
b _08119D58
|
|
_08119E70:
|
|
add sp, 0x20
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08119E80: .4byte gUnknown_8457034
|
|
thumb_func_end sub_8119D34
|
|
|
|
thumb_func_start sub_8119E84
|
|
sub_8119E84: @ 8119E84
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
ldr r0, _08119EB0 @ =sub_8119D34
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r2, _08119EB4 @ =gTasks+0x8
|
|
adds r3, r1, r2
|
|
str r4, [r3]
|
|
str r5, [r3, 0x4]
|
|
adds r2, r1
|
|
strh r6, [r2, 0x8]
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08119EB0: .4byte sub_8119D34
|
|
_08119EB4: .4byte gTasks+0x8
|
|
thumb_func_end sub_8119E84
|
|
|
|
thumb_func_start sub_8119EB8
|
|
sub_8119EB8: @ 8119EB8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r10, r0
|
|
lsls r0, 2
|
|
add r0, r10
|
|
lsls r0, 3
|
|
ldr r1, _08119FA4 @ =gTasks+0x8
|
|
adds r6, r0, r1
|
|
movs r3, 0
|
|
_08119ED6:
|
|
lsls r4, r3, 3
|
|
subs r0, r4, r3
|
|
lsls r5, r0, 2
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
lsls r2, r3, 24
|
|
lsrs r2, 24
|
|
str r3, [sp]
|
|
bl sub_80FCC3C
|
|
ldr r0, [r6]
|
|
adds r0, r5
|
|
ldrb r0, [r0, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
mov r2, r10
|
|
lsls r1, r2, 2
|
|
add r1, r10
|
|
lsls r1, 3
|
|
ldr r7, _08119FA8 @ =gTasks
|
|
adds r1, r7
|
|
movs r2, 0xC
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_8116F28
|
|
mov r8, r4
|
|
ldr r3, [sp]
|
|
cmp r0, 0
|
|
bne _08119F22
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
ldr r0, _08119FAC @ =gUnknown_8457034
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
ldm r0!, {r2,r4,r7}
|
|
stm r1!, {r2,r4,r7}
|
|
_08119F22:
|
|
adds r4, r3, 0x1
|
|
mov r9, r4
|
|
cmp r3, 0
|
|
ble _08119F66
|
|
str r5, [sp, 0x4]
|
|
movs r5, 0
|
|
str r5, [sp, 0x8]
|
|
adds r4, r3, 0
|
|
_08119F32:
|
|
ldr r1, [r6]
|
|
ldr r7, [sp, 0x8]
|
|
adds r0, r1, r7
|
|
ldr r2, [sp, 0x4]
|
|
adds r1, r2
|
|
str r3, [sp]
|
|
bl sub_811A694
|
|
lsls r0, 24
|
|
ldr r3, [sp]
|
|
cmp r0, 0
|
|
bne _08119F5A
|
|
ldr r1, [r6]
|
|
ldr r5, [sp, 0x4]
|
|
adds r1, r5
|
|
ldr r0, _08119FAC @ =gUnknown_8457034
|
|
ldm r0!, {r2,r5,r7}
|
|
stm r1!, {r2,r5,r7}
|
|
ldm r0!, {r2,r5,r7}
|
|
stm r1!, {r2,r5,r7}
|
|
_08119F5A:
|
|
ldr r7, [sp, 0x8]
|
|
adds r7, 0x1C
|
|
str r7, [sp, 0x8]
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bne _08119F32
|
|
_08119F66:
|
|
mov r0, r8
|
|
subs r4, r0, r3
|
|
lsls r4, 2
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldr r1, _08119FAC @ =gUnknown_8457034
|
|
bl sub_811A694
|
|
ldr r3, [r6]
|
|
adds r3, r4
|
|
movs r2, 0x1
|
|
ands r2, r0
|
|
ldrb r0, [r3, 0x18]
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r1, r4, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0x18]
|
|
mov r3, r9
|
|
cmp r3, 0x3
|
|
ble _08119ED6
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08119FA4: .4byte gTasks+0x8
|
|
_08119FA8: .4byte gTasks
|
|
_08119FAC: .4byte gUnknown_8457034
|
|
thumb_func_end sub_8119EB8
|
|
|
|
thumb_func_start sub_8119FB0
|
|
sub_8119FB0: @ 8119FB0
|
|
push {lr}
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
cmp r1, 0x7
|
|
bne _08119FC0
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
b _08119FC8
|
|
_08119FC0:
|
|
cmp r1, 0x8
|
|
bne _08119FD2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
_08119FC8:
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08119FD2
|
|
movs r0, 0x1
|
|
b _08119FD4
|
|
_08119FD2:
|
|
movs r0, 0
|
|
_08119FD4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8119FB0
|
|
|
|
thumb_func_start sub_8119FD8
|
|
sub_8119FD8: @ 8119FD8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _0811A04C @ =gTasks+0x8
|
|
adds r4, r1, r0
|
|
movs r6, 0
|
|
subs r0, 0x8
|
|
movs r5, 0
|
|
adds r1, r0
|
|
mov r8, r1
|
|
_08119FF6:
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
lsls r2, r6, 24
|
|
lsrs r2, 24
|
|
bl sub_80FCCF4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811A01A
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
mov r2, r8
|
|
movs r3, 0xC
|
|
ldrsh r1, [r2, r3]
|
|
bl sub_8119FB0
|
|
_0811A01A:
|
|
ldr r0, [r4]
|
|
adds r0, r5
|
|
ldr r1, _0811A050 @ =gUnknown_8457034
|
|
bl sub_811A694
|
|
ldr r3, [r4]
|
|
adds r3, r5
|
|
movs r2, 0x1
|
|
ands r2, r0
|
|
ldrb r0, [r3, 0x18]
|
|
movs r7, 0x2
|
|
negs r7, r7
|
|
adds r1, r7, 0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, 0x18]
|
|
adds r5, 0x1C
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _08119FF6
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811A04C: .4byte gTasks+0x8
|
|
_0811A050: .4byte gUnknown_8457034
|
|
thumb_func_end sub_8119FD8
|
|
|
|
thumb_func_start sub_811A054
|
|
sub_811A054: @ 811A054
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
ldr r0, _0811A07C @ =sub_8119EB8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, r0, 2
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
ldr r1, _0811A080 @ =gTasks+0x8
|
|
adds r3, r2, r1
|
|
str r4, [r3]
|
|
adds r1, r2
|
|
strh r5, [r1, 0x4]
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811A07C: .4byte sub_8119EB8
|
|
_0811A080: .4byte gTasks+0x8
|
|
thumb_func_end sub_811A054
|
|
|
|
thumb_func_start sub_811A084
|
|
sub_811A084: @ 811A084
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
ldr r0, _0811A0AC @ =sub_8119FD8
|
|
movs r1, 0
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r2, r0, 2
|
|
adds r2, r0
|
|
lsls r2, 3
|
|
ldr r1, _0811A0B0 @ =gTasks+0x8
|
|
adds r3, r2, r1
|
|
str r4, [r3]
|
|
adds r1, r2
|
|
strh r5, [r1, 0x4]
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811A0AC: .4byte sub_8119FD8
|
|
_0811A0B0: .4byte gTasks+0x8
|
|
thumb_func_end sub_811A084
|
|
|
|
thumb_func_start sub_811A0B4
|
|
sub_811A0B4: @ 811A0B4
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_80F6E9C
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl sub_80F6EE4
|
|
ldr r0, _0811A0DC @ =gStringVar4
|
|
adds r1, r4, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl sub_80F6E54
|
|
movs r0, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811A0DC: .4byte gStringVar4
|
|
thumb_func_end sub_811A0B4
|
|
|
|
thumb_func_start sub_811A0E0
|
|
sub_811A0E0: @ 811A0E0
|
|
push {lr}
|
|
bl sub_80F6CBC
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _0811A0F0
|
|
movs r0, 0
|
|
b _0811A0F2
|
|
_0811A0F0:
|
|
movs r0, 0x1
|
|
_0811A0F2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A0E0
|
|
|
|
thumb_func_start sub_811A0F8
|
|
sub_811A0F8: @ 811A0F8
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811A10A
|
|
cmp r0, 0x1
|
|
beq _0811A130
|
|
b _0811A142
|
|
_0811A10A:
|
|
bl sub_80F6E9C
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl sub_80F6EE4
|
|
ldr r0, _0811A12C @ =gStringVar4
|
|
adds r1, r5, 0
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x1
|
|
bl sub_80F6E08
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _0811A142
|
|
.align 2, 0
|
|
_0811A12C: .4byte gStringVar4
|
|
_0811A130:
|
|
bl sub_80F6CBC
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
bne _0811A142
|
|
strb r0, [r4]
|
|
movs r0, 0x1
|
|
b _0811A144
|
|
_0811A142:
|
|
movs r0, 0
|
|
_0811A144:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A0F8
|
|
|
|
thumb_func_start sub_811A14C
|
|
sub_811A14C: @ 811A14C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811A15E
|
|
cmp r0, 0x1
|
|
beq _0811A174
|
|
b _0811A1A0
|
|
_0811A15E:
|
|
cmp r5, 0
|
|
beq _0811A168
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
b _0811A1A4
|
|
_0811A168:
|
|
bl sub_80F7858
|
|
ldrb r0, [r4]
|
|
adds r0, 0x1
|
|
strb r0, [r4]
|
|
b _0811A1A0
|
|
_0811A174:
|
|
cmp r5, 0
|
|
beq _0811A186
|
|
bl sub_81100E8
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
b _0811A1A4
|
|
_0811A186:
|
|
bl ProcessMenuInputNoWrap_
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r2, 0x80
|
|
lsls r2, 17
|
|
adds r0, r2
|
|
lsrs r0, 24
|
|
cmp r0, 0x2
|
|
bhi _0811A1A0
|
|
strb r5, [r4]
|
|
adds r0, r1, 0
|
|
b _0811A1A4
|
|
_0811A1A0:
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
_0811A1A4:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A14C
|
|
|
|
thumb_func_start sub_811A1AC
|
|
sub_811A1AC: @ 811A1AC
|
|
push {r4,lr}
|
|
sub sp, 0x8
|
|
bl AddWindow
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
adds r0, r4, 0
|
|
movs r1, 0xFF
|
|
bl FillWindowPixelBuffer
|
|
ldr r2, _0811A1F8 @ =gUnknown_8459378
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
movs r0, 0x6
|
|
str r0, [sp, 0x4]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r3, 0x8
|
|
bl sub_811A444
|
|
adds r0, r4, 0
|
|
bl PutWindowTilemap
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl CopyWindowToVram
|
|
adds r0, r4, 0
|
|
add sp, 0x8
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811A1F8: .4byte gUnknown_8459378
|
|
thumb_func_end sub_811A1AC
|
|
|
|
thumb_func_start sub_811A1FC
|
|
sub_811A1FC: @ 811A1FC
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80F6F9C
|
|
adds r0, r4, 0
|
|
bl RemoveWindow
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A1FC
|
|
|
|
thumb_func_start sub_811A218
|
|
sub_811A218: @ 811A218
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r7, r0, 0
|
|
adds r5, r1, 0
|
|
mov r9, r2
|
|
adds r0, r3, 0
|
|
ldrb r4, [r7]
|
|
cmp r4, 0
|
|
beq _0811A234
|
|
cmp r4, 0x1
|
|
beq _0811A274
|
|
b _0811A2DA
|
|
_0811A234:
|
|
bl AddWindow
|
|
strb r0, [r5]
|
|
ldrb r0, [r5]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldr r0, _0811A270 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, [sp, 0x1C]
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r1!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldrb r1, [r5]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl ListMenuInit
|
|
mov r1, r9
|
|
strb r0, [r1]
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl CopyWindowToVram
|
|
ldrb r0, [r7]
|
|
adds r0, 0x1
|
|
strb r0, [r7]
|
|
b _0811A2DA
|
|
.align 2, 0
|
|
_0811A270: .4byte gUnknown_3005E70
|
|
_0811A274:
|
|
mov r3, r9
|
|
ldrb r0, [r3]
|
|
bl ListMenuHandleInput
|
|
mov r8, r0
|
|
ldr r0, _0811A2AC @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
ands r4, r1
|
|
cmp r4, 0
|
|
beq _0811A2B0
|
|
mov r4, r9
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r5]
|
|
bl RemoveWindow
|
|
movs r0, 0
|
|
strb r0, [r7]
|
|
mov r0, r8
|
|
b _0811A2DE
|
|
.align 2, 0
|
|
_0811A2AC: .4byte gMain
|
|
_0811A2B0:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811A2DA
|
|
mov r6, r9
|
|
ldrb r0, [r6]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r5]
|
|
movs r1, 0x1
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r5]
|
|
bl RemoveWindow
|
|
strb r4, [r7]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
b _0811A2DE
|
|
_0811A2DA:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0811A2DE:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A218
|
|
|
|
thumb_func_start sub_811A2EC
|
|
sub_811A2EC: @ 811A2EC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
mov r9, r0
|
|
adds r4, r1, 0
|
|
adds r5, r2, 0
|
|
adds r7, r3, 0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _0811A308
|
|
cmp r0, 0x1
|
|
beq _0811A358
|
|
b _0811A3E6
|
|
_0811A308:
|
|
ldr r0, _0811A350 @ =gUnknown_8456F1C
|
|
bl sub_811A1AC
|
|
strb r0, [r7]
|
|
ldr r0, [sp, 0x1C]
|
|
bl AddWindow
|
|
strb r0, [r4]
|
|
ldrb r0, [r4]
|
|
movs r1, 0
|
|
bl sub_80F6F1C
|
|
ldr r0, _0811A354 @ =gUnknown_3005E70
|
|
adds r2, r0, 0
|
|
ldr r1, [sp, 0x20]
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldm r1!, {r3,r6,r7}
|
|
stm r2!, {r3,r6,r7}
|
|
ldrb r1, [r4]
|
|
strb r1, [r0, 0x10]
|
|
movs r1, 0
|
|
movs r2, 0x1
|
|
bl ListMenuInit
|
|
strb r0, [r5]
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl CopyWindowToVram
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0811A3E6
|
|
.align 2, 0
|
|
_0811A350: .4byte gUnknown_8456F1C
|
|
_0811A354: .4byte gUnknown_3005E70
|
|
_0811A358:
|
|
ldrb r0, [r5]
|
|
bl ListMenuHandleInput
|
|
adds r1, r0, 0
|
|
ldr r0, _0811A3A8 @ =gMain
|
|
ldrh r2, [r0, 0x2E]
|
|
movs r0, 0x3
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _0811A3E6
|
|
cmp r1, 0x8
|
|
beq _0811A37E
|
|
movs r0, 0x2
|
|
ands r0, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
beq _0811A3AC
|
|
_0811A37E:
|
|
ldrb r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
ldrb r0, [r7]
|
|
bl sub_811A1FC
|
|
movs r0, 0
|
|
mov r3, r9
|
|
strb r0, [r3]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
b _0811A3EA
|
|
.align 2, 0
|
|
_0811A3A8: .4byte gMain
|
|
_0811A3AC:
|
|
ldr r0, [sp, 0x24]
|
|
bl sub_811AD7C
|
|
adds r6, r0, 0
|
|
cmp r6, 0
|
|
blt _0811A3E0
|
|
ldrb r0, [r5]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_810713C
|
|
ldrb r0, [r4]
|
|
movs r1, 0x1
|
|
bl sub_80F6F9C
|
|
ldrb r0, [r4]
|
|
bl RemoveWindow
|
|
ldrb r0, [r7]
|
|
bl sub_811A1FC
|
|
mov r0, r8
|
|
mov r7, r9
|
|
strb r0, [r7]
|
|
adds r0, r6, 0
|
|
b _0811A3EA
|
|
_0811A3E0:
|
|
movs r0, 0x7
|
|
bl PlaySE
|
|
_0811A3E6:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0811A3EA:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A2EC
|
|
|
|
thumb_func_start sub_811A3F8
|
|
sub_811A3F8: @ 811A3F8
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A3F8
|
|
|
|
thumb_func_start sub_811A41C
|
|
sub_811A41C: @ 811A41C
|
|
push {lr}
|
|
sub sp, 0xC
|
|
movs r0, 0x20
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0
|
|
str r0, [sp, 0x8]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
bl EnableBothScriptContexts
|
|
add sp, 0xC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A41C
|
|
|
|
thumb_func_start sub_811A444
|
|
sub_811A444: @ 811A444
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
ldr r5, [sp, 0x1C]
|
|
ldr r4, [sp, 0x20]
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
str r2, [sp]
|
|
mov r2, sp
|
|
strb r0, [r2, 0x4]
|
|
mov r0, sp
|
|
strb r1, [r0, 0x5]
|
|
strb r3, [r0, 0x6]
|
|
strb r5, [r0, 0x7]
|
|
strb r3, [r0, 0x8]
|
|
strb r5, [r0, 0x9]
|
|
ldrb r1, [r2, 0xC]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldr r2, _0811A490 @ =gTextFlags
|
|
ldrb r1, [r2]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
cmp r4, 0x6
|
|
bls _0811A486
|
|
b _0811A5D2
|
|
_0811A486:
|
|
lsls r0, r4, 2
|
|
ldr r1, _0811A494 @ =_0811A498
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811A490: .4byte gTextFlags
|
|
_0811A494: .4byte _0811A498
|
|
.align 2, 0
|
|
_0811A498:
|
|
.4byte _0811A4B4
|
|
.4byte _0811A4E0
|
|
.4byte _0811A50C
|
|
.4byte _0811A538
|
|
.4byte _0811A564
|
|
.4byte _0811A590
|
|
.4byte _0811A5A8
|
|
_0811A4B4:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x20
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x30
|
|
b _0811A5CE
|
|
_0811A4E0:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x50
|
|
b _0811A5CE
|
|
_0811A50C:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x60
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x70
|
|
b _0811A5CE
|
|
_0811A538:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x10
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x30
|
|
b _0811A5CE
|
|
_0811A564:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x10
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
ldrb r1, [r2, 0xD]
|
|
movs r0, 0x10
|
|
negs r0, r0
|
|
ands r0, r1
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x30
|
|
b _0811A5CE
|
|
_0811A590:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r4, 0xF
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0x70
|
|
b _0811A5BE
|
|
_0811A5A8:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
strb r1, [r0, 0xA]
|
|
strb r1, [r0, 0xB]
|
|
mov r2, sp
|
|
ldrb r1, [r2, 0xC]
|
|
movs r4, 0xF
|
|
movs r3, 0xF
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
movs r1, 0xE0
|
|
_0811A5BE:
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xC]
|
|
mov r1, sp
|
|
ldrb r0, [r1, 0xD]
|
|
orrs r0, r4
|
|
strb r0, [r1, 0xD]
|
|
ands r0, r3
|
|
movs r1, 0x90
|
|
_0811A5CE:
|
|
orrs r0, r1
|
|
strb r0, [r2, 0xD]
|
|
_0811A5D2:
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0
|
|
bl AddTextPrinter
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811A444
|
|
|
|
thumb_func_start sub_811A5E4
|
|
sub_811A5E4: @ 811A5E4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
cmp r1, 0
|
|
beq _0811A63C
|
|
ldr r2, _0811A64C @ =gUnknown_8457034
|
|
mov r8, r2
|
|
movs r5, 0
|
|
mov r9, r5
|
|
movs r6, 0x4
|
|
negs r6, r6
|
|
mov r12, r6
|
|
adds r2, r0, 0
|
|
adds r2, 0x18
|
|
adds r4, r0, 0
|
|
movs r7, 0xFF
|
|
mov r10, r7
|
|
adds r3, r1, 0
|
|
_0811A610:
|
|
adds r1, r4, 0
|
|
mov r0, r8
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
mov r0, r10
|
|
strh r0, [r2]
|
|
ldrb r1, [r2, 0x2]
|
|
mov r0, r12
|
|
ands r0, r1
|
|
movs r1, 0x5
|
|
negs r1, r1
|
|
ands r0, r1
|
|
strb r0, [r2, 0x2]
|
|
mov r5, r9
|
|
strb r5, [r2, 0x3]
|
|
adds r2, 0x20
|
|
adds r4, 0x20
|
|
subs r3, 0x1
|
|
cmp r3, 0
|
|
bne _0811A610
|
|
_0811A63C:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811A64C: .4byte gUnknown_8457034
|
|
thumb_func_end sub_811A5E4
|
|
|
|
thumb_func_start sub_811A650
|
|
sub_811A650: @ 811A650
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r1, _0811A690 @ =gUnknown_8457034
|
|
mov r12, r1
|
|
movs r5, 0x2
|
|
negs r5, r5
|
|
mov r8, r5
|
|
adds r2, r0, 0
|
|
adds r2, 0x18
|
|
adds r3, r0, 0
|
|
movs r4, 0x3
|
|
_0811A668:
|
|
adds r1, r3, 0
|
|
mov r0, r12
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldrb r1, [r2]
|
|
mov r0, r8
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r2, 0x1C
|
|
adds r3, 0x1C
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _0811A668
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811A690: .4byte gUnknown_8457034
|
|
thumb_func_end sub_811A650
|
|
|
|
thumb_func_start sub_811A694
|
|
sub_811A694: @ 811A694
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
movs r2, 0
|
|
adds r4, r5, 0x2
|
|
adds r3, r6, 0x2
|
|
_0811A6A0:
|
|
adds r0, r4, r2
|
|
adds r1, r3, r2
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _0811A6C8
|
|
adds r2, 0x1
|
|
cmp r2, 0x1
|
|
ble _0811A6A0
|
|
movs r2, 0
|
|
adds r4, r5, 0
|
|
adds r4, 0x10
|
|
adds r3, r6, 0
|
|
adds r3, 0x10
|
|
_0811A6BC:
|
|
adds r0, r4, r2
|
|
adds r1, r3, r2
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _0811A6CC
|
|
_0811A6C8:
|
|
movs r0, 0x1
|
|
b _0811A6D4
|
|
_0811A6CC:
|
|
adds r2, 0x1
|
|
cmp r2, 0x7
|
|
ble _0811A6BC
|
|
movs r0, 0
|
|
_0811A6D4:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A694
|
|
|
|
thumb_func_start sub_811A6DC
|
|
sub_811A6DC: @ 811A6DC
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldrb r3, [r5, 0xA]
|
|
movs r0, 0x7F
|
|
ldrb r2, [r6, 0xA]
|
|
adds r1, r0, 0
|
|
ands r1, r3
|
|
ands r0, r2
|
|
cmp r1, r0
|
|
bne _0811A740
|
|
movs r0, 0x80
|
|
adds r1, r0, 0
|
|
ands r1, r3
|
|
ands r0, r2
|
|
cmp r1, r0
|
|
bne _0811A740
|
|
movs r2, 0
|
|
adds r4, r5, 0x4
|
|
adds r3, r6, 0x4
|
|
_0811A704:
|
|
adds r0, r4, r2
|
|
adds r1, r3, r2
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _0811A740
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _0811A704
|
|
ldrh r2, [r5, 0x8]
|
|
ldr r0, _0811A73C @ =0x000003ff
|
|
ldrh r3, [r6, 0x8]
|
|
adds r1, r0, 0
|
|
ands r1, r2
|
|
ands r0, r3
|
|
cmp r1, r0
|
|
bne _0811A740
|
|
ldrb r2, [r5, 0x9]
|
|
movs r0, 0xFC
|
|
ldrb r3, [r6, 0x9]
|
|
adds r1, r0, 0
|
|
ands r1, r2
|
|
ands r0, r3
|
|
cmp r1, r0
|
|
bne _0811A740
|
|
movs r0, 0
|
|
b _0811A742
|
|
.align 2, 0
|
|
_0811A73C: .4byte 0x000003ff
|
|
_0811A740:
|
|
movs r0, 0x1
|
|
_0811A742:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A6DC
|
|
|
|
thumb_func_start sub_811A748
|
|
sub_811A748: @ 811A748
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
movs r7, 0xFF
|
|
movs r6, 0
|
|
adds r4, r1, 0
|
|
adds r4, 0x18
|
|
adds r5, r1, 0
|
|
_0811A75A:
|
|
ldrb r1, [r4]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811A782
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
bl sub_811A694
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811A782
|
|
lsls r0, r6, 24
|
|
lsrs r7, r0, 24
|
|
ldrb r0, [r4]
|
|
movs r2, 0x2
|
|
negs r2, r2
|
|
adds r1, r2, 0
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
_0811A782:
|
|
adds r4, 0x1C
|
|
adds r5, 0x1C
|
|
adds r6, 0x1
|
|
cmp r6, 0x3
|
|
ble _0811A75A
|
|
adds r0, r7, 0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A748
|
|
|
|
thumb_func_start sub_811A798
|
|
sub_811A798: @ 811A798
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r3, r0, 0
|
|
mov r8, r1
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
ldrb r1, [r1, 0x18]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811A80C
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _0811A80C
|
|
movs r0, 0x4
|
|
negs r0, r0
|
|
mov r9, r0
|
|
movs r1, 0x2
|
|
negs r1, r1
|
|
mov r12, r1
|
|
adds r2, r3, 0
|
|
adds r2, 0x18
|
|
adds r1, r3, 0
|
|
_0811A7CA:
|
|
ldrb r0, [r2, 0x2]
|
|
movs r3, 0x3
|
|
ands r3, r0
|
|
cmp r3, 0
|
|
bne _0811A802
|
|
mov r0, r8
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
ldm r0!, {r4,r6,r7}
|
|
stm r1!, {r4,r6,r7}
|
|
strh r3, [r2]
|
|
ldrb r1, [r2, 0x2]
|
|
mov r0, r9
|
|
ands r0, r1
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strb r0, [r2, 0x2]
|
|
movs r0, 0x40
|
|
strb r0, [r2, 0x3]
|
|
mov r0, r8
|
|
ldrb r1, [r0, 0x18]
|
|
mov r0, r12
|
|
ands r0, r1
|
|
mov r1, r8
|
|
strb r0, [r1, 0x18]
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
b _0811A80E
|
|
_0811A802:
|
|
adds r2, 0x20
|
|
adds r1, 0x20
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _0811A7CA
|
|
_0811A80C:
|
|
movs r0, 0xFF
|
|
_0811A80E:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A798
|
|
|
|
thumb_func_start sub_811A81C
|
|
sub_811A81C: @ 811A81C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x30
|
|
adds r4, r1, 0
|
|
adds r5, r3, 0
|
|
ldr r3, [sp, 0x50]
|
|
ldr r1, [sp, 0x54]
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
lsls r2, 24
|
|
lsrs r6, r2, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r10, r3
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r0, _0811A904 @ =gStringVar4
|
|
mov r8, r0
|
|
adds r1, 0x1
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r1, _0811A908 @ =gUnknown_84571B0
|
|
mov r0, r8
|
|
bl StringAppend
|
|
str r6, [sp]
|
|
movs r0, 0
|
|
str r0, [sp, 0x4]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
mov r2, r8
|
|
adds r3, r4, 0
|
|
bl sub_811A444
|
|
adds r4, 0x12
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
mov r9, r4
|
|
ldrb r0, [r5, 0xA]
|
|
lsls r0, 25
|
|
lsrs r2, r0, 25
|
|
ldrb r1, [r5, 0x1A]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0811A8F2
|
|
movs r0, 0x40
|
|
ands r2, r0
|
|
cmp r2, 0
|
|
bne _0811A8F2
|
|
add r4, sp, 0x10
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldrb r1, [r5]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
str r6, [sp]
|
|
mov r0, r10
|
|
str r0, [sp, 0x4]
|
|
adds r0, r7, 0
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
mov r3, r9
|
|
bl sub_811A444
|
|
ldrb r1, [r5, 0x2]
|
|
ldrb r0, [r5, 0x3]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r1, _0811A90C @ =gUnknown_84571B4
|
|
mov r0, r8
|
|
bl StringCopy
|
|
mov r0, r8
|
|
add r1, sp, 0x8
|
|
bl StringAppend
|
|
mov r3, r9
|
|
adds r3, 0x4D
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r6, [sp]
|
|
mov r0, r10
|
|
str r0, [sp, 0x4]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
mov r2, r8
|
|
bl sub_811A444
|
|
_0811A8F2:
|
|
add sp, 0x30
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811A904: .4byte gStringVar4
|
|
_0811A908: .4byte gUnknown_84571B0
|
|
_0811A90C: .4byte gUnknown_84571B4
|
|
thumb_func_end sub_811A81C
|
|
|
|
thumb_func_start sub_811A910
|
|
sub_811A910: @ 811A910
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x30
|
|
adds r5, r3, 0
|
|
ldr r3, [sp, 0x4C]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
lsls r3, 24
|
|
lsrs r7, r3, 24
|
|
ldrb r1, [r5, 0x1A]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0811A9A2
|
|
add r4, sp, 0x10
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldrb r1, [r5]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
mov r0, r9
|
|
movs r1, 0x2
|
|
adds r2, r4, 0
|
|
adds r3, r6, 0
|
|
bl sub_811A444
|
|
ldrb r1, [r5, 0x2]
|
|
ldrb r0, [r5, 0x3]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, _0811A9B0 @ =gStringVar4
|
|
ldr r1, _0811A9B4 @ =gUnknown_84571B4
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
adds r0, r4, 0
|
|
add r1, sp, 0x8
|
|
bl StringAppend
|
|
adds r3, r6, 0
|
|
adds r3, 0x47
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
mov r0, r9
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl sub_811A444
|
|
_0811A9A2:
|
|
add sp, 0x30
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811A9B0: .4byte gStringVar4
|
|
_0811A9B4: .4byte gUnknown_84571B4
|
|
thumb_func_end sub_811A910
|
|
|
|
thumb_func_start sub_811A9B8
|
|
sub_811A9B8: @ 811A9B8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl GetXYCoordsOneStepInFrontOfPlayer
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0x9
|
|
bne _0811A9F0
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0x8
|
|
bne _0811A9F0
|
|
ldr r0, _0811A9EC @ =gPlayerAvatar
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0x2
|
|
beq _0811A9E6
|
|
cmp r0, 0
|
|
bne _0811A9F0
|
|
_0811A9E6:
|
|
movs r0, 0x1
|
|
b _0811A9F2
|
|
.align 2, 0
|
|
_0811A9EC: .4byte gPlayerAvatar
|
|
_0811A9F0:
|
|
movs r0, 0
|
|
_0811A9F2:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A9B8
|
|
|
|
thumb_func_start sub_811A9FC
|
|
sub_811A9FC: @ 811A9FC
|
|
push {lr}
|
|
cmp r0, 0x4
|
|
beq _0811AA14
|
|
cmp r0, 0x4
|
|
ble _0811AA1C
|
|
cmp r0, 0x5
|
|
beq _0811AA10
|
|
cmp r0, 0x8
|
|
beq _0811AA18
|
|
b _0811AA1C
|
|
_0811AA10:
|
|
movs r0, 0x1
|
|
b _0811AA1E
|
|
_0811AA14:
|
|
movs r0, 0x2
|
|
b _0811AA1E
|
|
_0811AA18:
|
|
movs r0, 0x3
|
|
b _0811AA1E
|
|
_0811AA1C:
|
|
movs r0, 0
|
|
_0811AA1E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811A9FC
|
|
|
|
thumb_func_start sub_811AA24
|
|
sub_811AA24: @ 811AA24
|
|
push {r4,lr}
|
|
sub sp, 0x20
|
|
adds r4, r0, 0
|
|
adds r1, r4, 0
|
|
adds r1, 0x10
|
|
mov r0, sp
|
|
bl StringCopy
|
|
ldrb r1, [r4]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
mov r0, sp
|
|
bl ConvertInternationalString
|
|
adds r4, 0x2
|
|
adds r0, r4, 0
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r1, sp
|
|
bl sub_80FD338
|
|
add sp, 0x20
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AA24
|
|
|
|
thumb_func_start sub_811AA5C
|
|
sub_811AA5C: @ 811AA5C
|
|
push {r4-r7,lr}
|
|
adds r7, r3, 0
|
|
lsls r1, 24
|
|
lsrs r6, r1, 24
|
|
lsls r2, 24
|
|
lsrs r2, 19
|
|
adds r5, r0, r2
|
|
ldrb r1, [r5, 0xA]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0811AAE4
|
|
cmp r6, 0
|
|
bne _0811AAE4
|
|
ldr r4, _0811AAC4 @ =gStringVar1
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldrb r1, [r5]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
adds r0, r5, 0x2
|
|
bl sub_8118658
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80FD338
|
|
adds r2, r0, 0
|
|
ldrb r1, [r5, 0xA]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
cmp r0, 0x45
|
|
bne _0811AAD0
|
|
ldr r0, _0811AAC8 @ =gStringVar4
|
|
ldr r3, _0811AACC @ =gUnknown_8457F80
|
|
lsls r1, r7, 2
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
adds r1, r3
|
|
ldr r1, [r1]
|
|
bl StringExpandPlaceholders
|
|
movs r0, 0x2
|
|
b _0811ABD2
|
|
.align 2, 0
|
|
_0811AAC4: .4byte gStringVar1
|
|
_0811AAC8: .4byte gStringVar4
|
|
_0811AACC: .4byte gUnknown_8457F80
|
|
_0811AAD0:
|
|
ldr r0, _0811AAE0 @ =gUnknown_8457A34
|
|
lsls r1, r2, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl sub_811A0B4
|
|
movs r0, 0x1
|
|
b _0811ABD2
|
|
.align 2, 0
|
|
_0811AAE0: .4byte gUnknown_8457A34
|
|
_0811AAE4:
|
|
ldr r4, _0811AB24 @ =gStringVar1
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
ldrb r1, [r5]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
adds r0, r4, 0
|
|
bl ConvertInternationalString
|
|
cmp r6, 0
|
|
beq _0811AB0A
|
|
adds r0, r5, r6
|
|
ldrb r0, [r0, 0x3]
|
|
lsrs r7, r0, 3
|
|
movs r0, 0x1
|
|
ands r7, r0
|
|
_0811AB0A:
|
|
ldrb r0, [r5, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
movs r1, 0x3F
|
|
ands r1, r0
|
|
cmp r1, 0x4
|
|
beq _0811AB58
|
|
cmp r1, 0x4
|
|
bgt _0811AB28
|
|
cmp r1, 0x1
|
|
beq _0811AB32
|
|
b _0811ABC8
|
|
.align 2, 0
|
|
_0811AB24: .4byte gStringVar1
|
|
_0811AB28:
|
|
cmp r1, 0x5
|
|
beq _0811AB78
|
|
cmp r1, 0x8
|
|
beq _0811AB9C
|
|
b _0811ABC8
|
|
_0811AB32:
|
|
ldr r5, _0811AB50 @ =gStringVar4
|
|
ldr r4, _0811AB54 @ =gUnknown_8458758
|
|
bl Random
|
|
lsls r0, 16
|
|
movs r1, 0xC0
|
|
lsls r1, 10
|
|
ands r1, r0
|
|
lsrs r1, 14
|
|
lsls r0, r7, 4
|
|
adds r1, r0
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
b _0811ABB6
|
|
.align 2, 0
|
|
_0811AB50: .4byte gStringVar4
|
|
_0811AB54: .4byte gUnknown_8458758
|
|
_0811AB58:
|
|
ldr r5, _0811AB70 @ =gStringVar4
|
|
ldr r4, _0811AB74 @ =gUnknown_8458A78
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
lsls r0, 2
|
|
lsls r1, r7, 4
|
|
b _0811ABB0
|
|
.align 2, 0
|
|
_0811AB70: .4byte gStringVar4
|
|
_0811AB74: .4byte gUnknown_8458A78
|
|
_0811AB78:
|
|
ldr r5, _0811AB94 @ =gStringVar4
|
|
ldr r4, _0811AB98 @ =gUnknown_84588BC
|
|
bl Random
|
|
lsls r0, 16
|
|
movs r1, 0xC0
|
|
lsls r1, 10
|
|
ands r1, r0
|
|
lsrs r1, 14
|
|
lsls r0, r7, 4
|
|
adds r1, r0
|
|
adds r1, r4
|
|
ldr r1, [r1]
|
|
b _0811ABB6
|
|
.align 2, 0
|
|
_0811AB94: .4byte gStringVar4
|
|
_0811AB98: .4byte gUnknown_84588BC
|
|
_0811AB9C:
|
|
ldr r5, _0811ABC0 @ =gStringVar4
|
|
ldr r4, _0811ABC4 @ =gUnknown_84589AC
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
lsls r0, 2
|
|
lsls r1, r7, 3
|
|
_0811ABB0:
|
|
adds r0, r1
|
|
adds r0, r4
|
|
ldr r1, [r0]
|
|
_0811ABB6:
|
|
adds r0, r5, 0
|
|
bl StringExpandPlaceholders
|
|
b _0811ABD0
|
|
.align 2, 0
|
|
_0811ABC0: .4byte gStringVar4
|
|
_0811ABC4: .4byte gUnknown_84589AC
|
|
_0811ABC8:
|
|
ldr r0, _0811ABD8 @ =gStringVar4
|
|
ldr r1, _0811ABDC @ =gUnknown_8457F90
|
|
bl StringExpandPlaceholders
|
|
_0811ABD0:
|
|
movs r0, 0
|
|
_0811ABD2:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811ABD8: .4byte gStringVar4
|
|
_0811ABDC: .4byte gUnknown_8457F90
|
|
thumb_func_end sub_811AA5C
|
|
|
|
thumb_func_start nullsub_92
|
|
nullsub_92: @ 811ABE0
|
|
bx lr
|
|
thumb_func_end nullsub_92
|
|
|
|
thumb_func_start sub_811ABE4
|
|
sub_811ABE4: @ 811ABE4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
ldr r4, [sp, 0x28]
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
lsrs r5, r1, 24
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldrh r0, [r2, 0x8]
|
|
lsls r0, 22
|
|
lsrs r0, 22
|
|
mov r8, r0
|
|
ldrb r0, [r2, 0x9]
|
|
lsrs r7, r0, 2
|
|
ldrb r0, [r2, 0xB]
|
|
lsrs r0, 1
|
|
mov r9, r0
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
adds r2, r3, 0
|
|
movs r3, 0x8
|
|
bl sub_811A444
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r8, r0
|
|
bne _0811AC3C
|
|
ldr r2, _0811AC38 @ =gUnknown_8458FBC
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r3, 0x44
|
|
bl sub_811A444
|
|
b _0811AC90
|
|
.align 2, 0
|
|
_0811AC38: .4byte gUnknown_8458FBC
|
|
_0811AC3C:
|
|
adds r1, r7, 0x1
|
|
adds r0, r6, 0
|
|
movs r2, 0x44
|
|
adds r3, r5, 0
|
|
bl sub_8107D68
|
|
movs r0, 0xB
|
|
mov r2, r8
|
|
muls r2, r0
|
|
ldr r0, _0811ACA0 @ =gSpeciesNames
|
|
adds r2, r0
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r3, 0x76
|
|
bl sub_811A444
|
|
add r0, sp, 0x8
|
|
mov r1, r9
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0x2
|
|
add r1, sp, 0x8
|
|
movs r2, 0
|
|
bl GetStringWidth
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r3, 0xDA
|
|
subs r3, r0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
str r5, [sp]
|
|
str r4, [sp, 0x4]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
add r2, sp, 0x8
|
|
bl sub_811A444
|
|
_0811AC90:
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811ACA0: .4byte gSpeciesNames
|
|
thumb_func_end sub_811ABE4
|
|
|
|
thumb_func_start sub_811ACA4
|
|
sub_811ACA4: @ 811ACA4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r9, r0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
ldr r0, _0811ACF8 @ =gUnknown_203B05C
|
|
ldr r6, [r0]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
bne _0811AD38
|
|
ldr r0, _0811ACFC @ =gUnknown_8456F7C
|
|
ldrb r0, [r0, 0x14]
|
|
lsls r0, 28
|
|
lsrs r0, 28
|
|
cmp r8, r0
|
|
bne _0811AD38
|
|
bl sub_80F9800
|
|
adds r2, r0, 0
|
|
ldrh r1, [r2, 0x8]
|
|
ldr r0, _0811AD00 @ =0x000003ff
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811AD6C
|
|
ldr r0, _0811AD04 @ =gSaveBlock2Ptr
|
|
ldr r3, [r0]
|
|
movs r0, 0x5
|
|
str r0, [sp]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
bl sub_811ABE4
|
|
b _0811AD6C
|
|
.align 2, 0
|
|
_0811ACF8: .4byte gUnknown_203B05C
|
|
_0811ACFC: .4byte gUnknown_8456F7C
|
|
_0811AD00: .4byte 0x000003ff
|
|
_0811AD04: .4byte gSaveBlock2Ptr
|
|
_0811AD08:
|
|
mov r0, r12
|
|
adds r1, r0, r4
|
|
adds r1, 0x10
|
|
add r0, sp, 0x4
|
|
bl StringCopy
|
|
ldr r0, [r6]
|
|
adds r0, r4
|
|
ldrb r1, [r0]
|
|
lsls r1, 28
|
|
lsrs r1, 28
|
|
add r0, sp, 0x4
|
|
bl ConvertInternationalString
|
|
ldr r2, [r6]
|
|
adds r2, r4
|
|
movs r0, 0x6
|
|
str r0, [sp]
|
|
mov r0, r9
|
|
mov r1, r8
|
|
add r3, sp, 0x4
|
|
bl sub_811ABE4
|
|
b _0811AD6C
|
|
_0811AD38:
|
|
movs r5, 0
|
|
movs r1, 0
|
|
ldr r0, [r6]
|
|
mov r12, r0
|
|
mov r2, r12
|
|
adds r2, 0x8
|
|
movs r3, 0
|
|
adds r7, r4, 0x1
|
|
_0811AD48:
|
|
ldrb r0, [r2, 0x12]
|
|
lsls r0, 30
|
|
lsrs r0, 30
|
|
adds r4, r3, 0
|
|
cmp r0, 0x1
|
|
bne _0811AD5E
|
|
ldrh r0, [r2]
|
|
lsls r0, 22
|
|
cmp r0, 0
|
|
beq _0811AD5E
|
|
adds r5, 0x1
|
|
_0811AD5E:
|
|
cmp r5, r7
|
|
beq _0811AD08
|
|
adds r2, 0x20
|
|
adds r3, 0x20
|
|
adds r1, 0x1
|
|
cmp r1, 0x7
|
|
ble _0811AD48
|
|
_0811AD6C:
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811ACA4
|
|
|
|
thumb_func_start sub_811AD7C
|
|
sub_811AD7C: @ 811AD7C
|
|
push {r4-r7,lr}
|
|
movs r4, 0
|
|
movs r3, 0
|
|
movs r7, 0x3
|
|
ldr r6, _0811ADAC @ =0x000003ff
|
|
adds r2, r0, 0
|
|
adds r2, 0x8
|
|
adds r5, r1, 0x1
|
|
_0811AD8C:
|
|
ldrb r1, [r2, 0x12]
|
|
adds r0, r7, 0
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
bne _0811ADA2
|
|
ldrh r1, [r2]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0811ADA2
|
|
adds r4, 0x1
|
|
_0811ADA2:
|
|
cmp r4, r5
|
|
bne _0811ADB0
|
|
adds r0, r3, 0
|
|
b _0811ADBC
|
|
.align 2, 0
|
|
_0811ADAC: .4byte 0x000003ff
|
|
_0811ADB0:
|
|
adds r2, 0x20
|
|
adds r3, 0x1
|
|
cmp r3, 0x7
|
|
ble _0811AD8C
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_0811ADBC:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811AD7C
|
|
|
|
thumb_func_start sub_811ADC4
|
|
sub_811ADC4: @ 811ADC4
|
|
lsls r0, 5
|
|
adds r0, r1
|
|
ldrb r0, [r0, 0xB]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
bx lr
|
|
thumb_func_end sub_811ADC4
|
|
|
|
thumb_func_start sub_811ADD0
|
|
sub_811ADD0: @ 811ADD0
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bne _0811AE10
|
|
movs r4, 0
|
|
b _0811ADFA
|
|
_0811ADE0:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0811AE08 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
beq _0811AE40
|
|
adds r4, 0x1
|
|
_0811ADFA:
|
|
ldr r0, _0811AE0C @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
blt _0811ADE0
|
|
movs r0, 0x2
|
|
b _0811AE5C
|
|
.align 2, 0
|
|
_0811AE08: .4byte gPlayerParty
|
|
_0811AE0C: .4byte gPlayerPartyCount
|
|
_0811AE10:
|
|
movs r4, 0
|
|
ldr r0, _0811AE44 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bge _0811AE5A
|
|
ldr r6, _0811AE48 @ =gBaseStats
|
|
_0811AE1C:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _0811AE4C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
adds r1, r0, 0
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r1, r0, r6
|
|
ldrb r0, [r1, 0x6]
|
|
cmp r0, r5
|
|
beq _0811AE40
|
|
ldrb r0, [r1, 0x7]
|
|
cmp r0, r5
|
|
bne _0811AE50
|
|
_0811AE40:
|
|
movs r0, 0
|
|
b _0811AE5C
|
|
.align 2, 0
|
|
_0811AE44: .4byte gPlayerPartyCount
|
|
_0811AE48: .4byte gBaseStats
|
|
_0811AE4C: .4byte gPlayerParty
|
|
_0811AE50:
|
|
adds r4, 0x1
|
|
ldr r0, _0811AE64 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
blt _0811AE1C
|
|
_0811AE5A:
|
|
movs r0, 0x1
|
|
_0811AE5C:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811AE64: .4byte gPlayerPartyCount
|
|
thumb_func_end sub_811ADD0
|
|
|
|
thumb_func_start sub_811AE68
|
|
sub_811AE68: @ 811AE68
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
cmp r1, 0x44
|
|
beq _0811AEA4
|
|
cmp r1, 0x44
|
|
bgt _0811AE7A
|
|
cmp r1, 0x41
|
|
beq _0811AE84
|
|
b _0811AEC2
|
|
_0811AE7A:
|
|
cmp r1, 0x45
|
|
beq _0811AE94
|
|
cmp r1, 0x48
|
|
beq _0811AEB4
|
|
b _0811AEC2
|
|
_0811AE84:
|
|
ldr r0, _0811AE90 @ =gUnknown_8458314
|
|
lsls r1, r2, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
b _0811AEA6
|
|
.align 2, 0
|
|
_0811AE90: .4byte gUnknown_8458314
|
|
_0811AE94:
|
|
ldr r0, _0811AEA0 @ =gUnknown_84585E8
|
|
lsls r1, r2, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
b _0811AEA6
|
|
.align 2, 0
|
|
_0811AEA0: .4byte gUnknown_84585E8
|
|
_0811AEA4:
|
|
ldr r1, _0811AEB0 @ =gUnknown_8458F9C
|
|
_0811AEA6:
|
|
adds r0, r3, 0
|
|
bl StringExpandPlaceholders
|
|
b _0811AEC2
|
|
.align 2, 0
|
|
_0811AEB0: .4byte gUnknown_8458F9C
|
|
_0811AEB4:
|
|
ldr r0, _0811AEC8 @ =gUnknown_84583B4
|
|
lsls r1, r2, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r3, 0
|
|
bl StringExpandPlaceholders
|
|
_0811AEC2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811AEC8: .4byte gUnknown_84583B4
|
|
thumb_func_end sub_811AE68
|
|
|
|
thumb_func_start sub_811AECC
|
|
sub_811AECC: @ 811AECC
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r6, r4, 0
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
ldr r2, _0811AF00 @ =gLinkPlayers
|
|
movs r0, 0x1
|
|
adds r1, r3, 0
|
|
eors r1, r0
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x13]
|
|
cmp r4, 0x44
|
|
beq _0811AF20
|
|
cmp r4, 0x44
|
|
bgt _0811AF04
|
|
cmp r4, 0x41
|
|
beq _0811AF0A
|
|
b _0811AF60
|
|
.align 2, 0
|
|
_0811AF00: .4byte gLinkPlayers
|
|
_0811AF04:
|
|
cmp r6, 0x45
|
|
beq _0811AF44
|
|
b _0811AF60
|
|
_0811AF0A:
|
|
ldr r2, _0811AF1C @ =gUnknown_8458230
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
b _0811AF32
|
|
.align 2, 0
|
|
_0811AF1C: .4byte gUnknown_8458230
|
|
_0811AF20:
|
|
ldr r2, _0811AF40 @ =gUnknown_8458230
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r2, 0x8
|
|
_0811AF32:
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
b _0811AF60
|
|
.align 2, 0
|
|
_0811AF40: .4byte gUnknown_8458230
|
|
_0811AF44:
|
|
ldr r2, _0811AF68 @ =gUnknown_8458230
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
lsls r0, r3, 1
|
|
adds r0, r3
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
adds r2, 0x4
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
adds r0, r5, 0
|
|
bl StringCopy
|
|
_0811AF60:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811AF68: .4byte gUnknown_8458230
|
|
thumb_func_end sub_811AECC
|
|
|
|
thumb_func_start sub_811AF6C
|
|
sub_811AF6C: @ 811AF6C
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r7, r0, 0
|
|
adds r5, r2, 0
|
|
adds r6, r3, 0
|
|
movs r2, 0
|
|
mov r8, r2
|
|
ldrh r0, [r5]
|
|
subs r0, 0x40
|
|
cmp r0, 0x8
|
|
bls _0811AF86
|
|
b _0811B092
|
|
_0811AF86:
|
|
lsls r0, 2
|
|
ldr r1, _0811AF90 @ =_0811AF94
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811AF90: .4byte _0811AF94
|
|
.align 2, 0
|
|
_0811AF94:
|
|
.4byte _0811B088
|
|
.4byte _0811AFB8
|
|
.4byte _0811B092
|
|
.4byte _0811B092
|
|
.4byte _0811AFC8
|
|
.4byte _0811AFC0
|
|
.4byte _0811B092
|
|
.4byte _0811B092
|
|
.4byte _0811B078
|
|
_0811AFB8:
|
|
ldr r1, _0811AFBC @ =gUnknown_8457CA4
|
|
b _0811B07A
|
|
.align 2, 0
|
|
_0811AFBC: .4byte gUnknown_8457CA4
|
|
_0811AFC0:
|
|
ldr r1, _0811AFC4 @ =gUnknown_8457CF8
|
|
b _0811B07A
|
|
.align 2, 0
|
|
_0811AFC4: .4byte gUnknown_8457CF8
|
|
_0811AFC8:
|
|
adds r0, r6, 0
|
|
adds r0, 0x58
|
|
ldr r4, _0811AFF0 @ =gUnknown_203B06C
|
|
ldrh r1, [r4, 0xC]
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r6, 0
|
|
adds r0, 0x63
|
|
ldrh r2, [r4, 0xA]
|
|
movs r1, 0xB
|
|
muls r1, r2
|
|
ldr r2, _0811AFF4 @ =gSpeciesNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
movs r4, 0
|
|
b _0811AFFA
|
|
.align 2, 0
|
|
_0811AFF0: .4byte gUnknown_203B06C
|
|
_0811AFF4: .4byte gSpeciesNames
|
|
_0811AFF8:
|
|
adds r4, 0x1
|
|
_0811AFFA:
|
|
cmp r4, 0x3
|
|
bgt _0811B030
|
|
ldr r0, _0811B044 @ =gUnknown_3007460
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 5
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x18]
|
|
cmp r0, 0x2
|
|
bne _0811AFF8
|
|
ldrh r1, [r5, 0x4]
|
|
adds r0, r6, 0
|
|
adds r0, 0x6E
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
ldrh r1, [r5, 0x2]
|
|
movs r0, 0xB
|
|
muls r1, r0
|
|
ldr r0, _0811B048 @ =gSpeciesNames
|
|
adds r1, r0
|
|
adds r0, r6, 0
|
|
adds r0, 0x79
|
|
bl StringCopy
|
|
ldrh r5, [r5, 0x2]
|
|
mov r8, r5
|
|
_0811B030:
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r8, r0
|
|
bne _0811B050
|
|
ldr r1, _0811B04C @ =gUnknown_8457DB8
|
|
adds r0, r7, 0
|
|
bl StringCopy
|
|
b _0811B080
|
|
.align 2, 0
|
|
_0811B044: .4byte gUnknown_3007460
|
|
_0811B048: .4byte gSpeciesNames
|
|
_0811B04C: .4byte gUnknown_8457DB8
|
|
_0811B050:
|
|
movs r4, 0
|
|
adds r5, r6, 0
|
|
adds r5, 0x58
|
|
_0811B056:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
adds r1, r5, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
adds r5, 0xB
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _0811B056
|
|
ldr r1, _0811B074 @ =gUnknown_8457D44
|
|
adds r0, r7, 0
|
|
bl UnkTextUtil_StringExpandPlaceholders
|
|
b _0811B080
|
|
.align 2, 0
|
|
_0811B074: .4byte gUnknown_8457D44
|
|
_0811B078:
|
|
ldr r1, _0811B084 @ =gUnknown_8457C48
|
|
_0811B07A:
|
|
adds r0, r7, 0
|
|
bl StringExpandPlaceholders
|
|
_0811B080:
|
|
movs r2, 0x1
|
|
b _0811B092
|
|
.align 2, 0
|
|
_0811B084: .4byte gUnknown_8457C48
|
|
_0811B088:
|
|
ldr r1, _0811B0A0 @ =gUnknown_8457E0C
|
|
adds r0, r7, 0
|
|
bl StringExpandPlaceholders
|
|
movs r2, 0x2
|
|
_0811B092:
|
|
adds r0, r2, 0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B0A0: .4byte gUnknown_8457E0C
|
|
thumb_func_end sub_811AF6C
|
|
|
|
thumb_func_start sub_811B0A4
|
|
sub_811B0A4: @ 811B0A4
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _0811B0C4 @ =gUnknown_3003ED0
|
|
ldrh r1, [r0, 0x2]
|
|
cmp r1, 0
|
|
beq _0811B0C8
|
|
cmp r1, 0x51
|
|
beq _0811B0B8
|
|
cmp r1, 0x52
|
|
bne _0811B0C8
|
|
_0811B0B8:
|
|
adds r0, r2, 0
|
|
adds r0, 0x84
|
|
strh r1, [r0]
|
|
movs r0, 0x1
|
|
b _0811B0CA
|
|
.align 2, 0
|
|
_0811B0C4: .4byte gUnknown_3003ED0
|
|
_0811B0C8:
|
|
movs r0, 0
|
|
_0811B0CA:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B0A4
|
|
|
|
thumb_func_start InUnionRoom
|
|
InUnionRoom: @ 811B0D0
|
|
push {lr}
|
|
movs r2, 0
|
|
ldr r0, _0811B0EC @ =gSaveBlock1Ptr
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0, 0x4]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r1, r0
|
|
bne _0811B0E4
|
|
movs r2, 0x1
|
|
_0811B0E4:
|
|
adds r0, r2, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B0EC: .4byte gSaveBlock1Ptr
|
|
thumb_func_end InUnionRoom
|
|
|
|
thumb_func_start sub_811B0F0
|
|
sub_811B0F0: @ 811B0F0
|
|
push {r4-r6,lr}
|
|
movs r6, 0
|
|
movs r5, 0
|
|
ldr r0, _0811B138 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
bge _0811B130
|
|
_0811B0FE:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0811B13C @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
cmp r0, 0x1E
|
|
bhi _0811B126
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
movs r1, 0xCE
|
|
lsls r1, 1
|
|
cmp r0, r1
|
|
beq _0811B126
|
|
adds r6, 0x1
|
|
_0811B126:
|
|
adds r5, 0x1
|
|
ldr r0, _0811B138 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
blt _0811B0FE
|
|
_0811B130:
|
|
cmp r6, 0x1
|
|
bgt _0811B140
|
|
movs r0, 0
|
|
b _0811B142
|
|
.align 2, 0
|
|
_0811B138: .4byte gPlayerPartyCount
|
|
_0811B13C: .4byte gPlayerParty
|
|
_0811B140:
|
|
movs r0, 0x1
|
|
_0811B142:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B0F0
|
|
|
|
thumb_func_start sub_811B148
|
|
sub_811B148: @ 811B148
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
strh r1, [r0, 0x2]
|
|
str r1, [r0, 0x4]
|
|
strh r1, [r0, 0xA]
|
|
strh r1, [r0, 0xC]
|
|
strh r1, [r0, 0xE]
|
|
strh r1, [r0, 0x10]
|
|
str r1, [r0, 0x14]
|
|
bx lr
|
|
thumb_func_end sub_811B148
|
|
|
|
thumb_func_start sub_811B15C
|
|
sub_811B15C: @ 811B15C
|
|
push {lr}
|
|
ldr r0, _0811B168 @ =gUnknown_203B06C
|
|
bl sub_811B148
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B168: .4byte gUnknown_203B06C
|
|
thumb_func_end sub_811B15C
|
|
|
|
thumb_func_start sub_811B16C
|
|
sub_811B16C: @ 811B16C
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
movs r1, 0x64
|
|
adds r4, r0, 0
|
|
muls r4, r1
|
|
ldr r0, _0811B1A8 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r5, 0xA]
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
strh r0, [r5, 0xC]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
str r0, [r5, 0x4]
|
|
ldrh r1, [r5, 0xA]
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
beq _0811B1AC
|
|
movs r0, 0
|
|
b _0811B1AE
|
|
.align 2, 0
|
|
_0811B1A8: .4byte gPlayerParty
|
|
_0811B1AC:
|
|
movs r0, 0x1
|
|
_0811B1AE:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B16C
|
|
|
|
thumb_func_start sub_811B1B4
|
|
sub_811B1B4: @ 811B1B4
|
|
push {r4,r5,lr}
|
|
adds r5, r1, 0
|
|
movs r1, 0x64
|
|
adds r4, r0, 0
|
|
muls r4, r1
|
|
ldr r0, _0811B1E8 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
strh r0, [r5, 0xE]
|
|
adds r0, r4, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
strh r0, [r5, 0x10]
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
str r0, [r5, 0x14]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B1E8: .4byte gPlayerParty
|
|
thumb_func_end sub_811B1B4
|
|
|
|
thumb_func_start sub_811B1EC
|
|
sub_811B1EC: @ 811B1EC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r1, 24
|
|
movs r2, 0
|
|
mov r8, r2
|
|
cmp r1, 0
|
|
bne _0811B20A
|
|
ldrh r7, [r0, 0xA]
|
|
ldr r6, [r0, 0x4]
|
|
b _0811B20E
|
|
_0811B202:
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
b _0811B242
|
|
_0811B20A:
|
|
ldrh r7, [r0, 0xE]
|
|
ldr r6, [r0, 0x14]
|
|
_0811B20E:
|
|
movs r5, 0
|
|
b _0811B23A
|
|
_0811B212:
|
|
movs r0, 0x64
|
|
adds r1, r5, 0
|
|
muls r1, r0
|
|
ldr r0, _0811B250 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl GetMonData
|
|
cmp r0, r6
|
|
bne _0811B238
|
|
adds r0, r4, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, r7
|
|
beq _0811B202
|
|
_0811B238:
|
|
adds r5, 0x1
|
|
_0811B23A:
|
|
ldr r0, _0811B254 @ =gPlayerPartyCount
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
blt _0811B212
|
|
_0811B242:
|
|
mov r0, r8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B250: .4byte gPlayerParty
|
|
_0811B254: .4byte gPlayerPartyCount
|
|
thumb_func_end sub_811B1EC
|
|
|
|
thumb_func_start sub_811B258
|
|
sub_811B258: @ 811B258
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_811A3F8
|
|
bl ScriptContext2_Disable
|
|
bl sub_80696F0
|
|
ldr r1, _0811B290 @ =gUnknown_203B058
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
cmp r4, 0
|
|
beq _0811B288
|
|
ldr r2, _0811B294 @ =gUnknown_203B06C
|
|
ldrh r0, [r2, 0x2]
|
|
ldrh r1, [r2, 0xA]
|
|
ldrh r2, [r2, 0xC]
|
|
bl sub_80FAFA0
|
|
movs r0, 0x40
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_80FB008
|
|
_0811B288:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B290: .4byte gUnknown_203B058
|
|
_0811B294: .4byte gUnknown_203B06C
|
|
thumb_func_end sub_811B258
|
|
|
|
thumb_func_start sub_811B298
|
|
sub_811B298: @ 811B298
|
|
push {lr}
|
|
bl ScriptContext2_Enable
|
|
bl ScriptFreezeMapObjects
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811B298
|
|
|
|
thumb_func_start sub_811B2A8
|
|
sub_811B2A8: @ 811B2A8
|
|
push {r4,lr}
|
|
movs r4, 0x80
|
|
ldr r3, _0811B2D4 @ =gLinkPlayers
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r0, r1, r3
|
|
ldrb r2, [r0, 0x13]
|
|
lsls r2, 3
|
|
orrs r2, r4
|
|
adds r3, 0x4
|
|
adds r1, r3
|
|
ldr r0, [r1]
|
|
movs r1, 0x7
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B2D4: .4byte gLinkPlayers
|
|
thumb_func_end sub_811B2A8
|
|
|
|
thumb_func_start sub_811B2D8
|
|
sub_811B2D8: @ 811B2D8
|
|
push {r4,lr}
|
|
movs r3, 0x80
|
|
movs r2, 0
|
|
ldr r4, [r0, 0xC]
|
|
_0811B2E0:
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r1, r4, r0
|
|
ldrb r0, [r1, 0x18]
|
|
lsls r0, 31
|
|
cmp r0, 0
|
|
beq _0811B308
|
|
ldrb r0, [r1, 0xB]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
lsls r0, 3
|
|
orrs r3, r0
|
|
ldrb r1, [r1, 0x2]
|
|
movs r0, 0x7
|
|
ands r0, r1
|
|
orrs r3, r0
|
|
lsls r0, r3, 24
|
|
lsrs r3, r0, 24
|
|
b _0811B312
|
|
_0811B308:
|
|
adds r0, r2, 0x1
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x3
|
|
bls _0811B2E0
|
|
_0811B312:
|
|
adds r0, r3, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B2D8
|
|
|
|
thumb_func_start sub_811B31C
|
|
sub_811B31C: @ 811B31C
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x4
|
|
mov r9, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
str r2, [sp]
|
|
bl GetMultiplayerId
|
|
movs r1, 0x1
|
|
eors r0, r1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 5
|
|
ldr r0, _0811B4B0 @ =gUnknown_2039624
|
|
adds r1, r0
|
|
mov r8, r1
|
|
bl UnkTextUtil_Reset
|
|
mov r6, r9
|
|
adds r6, 0xAC
|
|
bl sub_80447F0
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0xD
|
|
muls r1, r0
|
|
ldr r0, _0811B4B4 @ =gTrainerClassNames
|
|
adds r1, r0
|
|
adds r0, r6, 0
|
|
bl StringCopy
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
mov r1, r8
|
|
adds r1, 0x30
|
|
movs r0, 0x1
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r4, 0xB0
|
|
lsls r4, 1
|
|
add r4, r9
|
|
ldr r1, _0811B4B8 @ =gUnknown_84594B0
|
|
mov r2, r8
|
|
ldrb r0, [r2, 0x1]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
movs r0, 0x2
|
|
adds r1, r4, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
mov r5, r9
|
|
adds r5, 0xCA
|
|
mov r0, r8
|
|
ldrh r1, [r0, 0xC]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0x3
|
|
adds r1, r5, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r2, 0xD9
|
|
add r2, r9
|
|
mov r10, r2
|
|
mov r0, r8
|
|
ldrh r1, [r0, 0x10]
|
|
mov r0, r10
|
|
movs r2, 0
|
|
movs r3, 0x3
|
|
bl ConvertIntToDecimalStringN
|
|
mov r4, r9
|
|
adds r4, 0xE8
|
|
mov r2, r8
|
|
ldrh r1, [r2, 0x12]
|
|
adds r0, r4, 0
|
|
movs r2, 0x2
|
|
movs r3, 0x2
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0x4
|
|
mov r1, r10
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r0, 0x5
|
|
adds r1, r4, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r4, 0xC8
|
|
lsls r4, 1
|
|
add r4, r9
|
|
ldr r1, _0811B4BC @ =gUnknown_84594C4
|
|
adds r0, r4, 0
|
|
bl UnkTextUtil_StringExpandPlaceholders
|
|
ldr r0, _0811B4C0 @ =gStringVar4
|
|
adds r1, r4, 0
|
|
bl StringCopy
|
|
mov r0, r8
|
|
ldrh r1, [r0, 0x14]
|
|
ldr r4, _0811B4C4 @ =0x0000270f
|
|
cmp r1, r4
|
|
ble _0811B40A
|
|
adds r1, r4, 0
|
|
_0811B40A:
|
|
adds r0, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
mov r2, r8
|
|
ldrh r1, [r2, 0x16]
|
|
cmp r1, r4
|
|
ble _0811B426
|
|
adds r1, r4, 0
|
|
_0811B426:
|
|
mov r4, r9
|
|
adds r4, 0xBB
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0x2
|
|
adds r1, r4, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
mov r0, r8
|
|
ldrh r1, [r0, 0x20]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0x5
|
|
bl ConvertIntToDecimalStringN
|
|
movs r0, 0x3
|
|
adds r1, r5, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r7, 0
|
|
movs r6, 0x80
|
|
lsls r6, 19
|
|
mov r5, r8
|
|
adds r5, 0x28
|
|
mov r4, r10
|
|
_0811B45E:
|
|
ldrh r1, [r5]
|
|
adds r0, r4, 0
|
|
bl CopyEasyChatWord
|
|
lsrs r0, r6, 24
|
|
adds r1, r4, 0
|
|
bl UnkTextUtil_SetPtrI
|
|
movs r2, 0x80
|
|
lsls r2, 17
|
|
adds r6, r2
|
|
adds r5, 0x2
|
|
adds r4, 0xF
|
|
adds r7, 0x1
|
|
cmp r7, 0x3
|
|
ble _0811B45E
|
|
movs r4, 0xC8
|
|
lsls r4, 1
|
|
add r4, r9
|
|
ldr r1, _0811B4C8 @ =gUnknown_8459504
|
|
adds r0, r4, 0
|
|
bl UnkTextUtil_StringExpandPlaceholders
|
|
ldr r5, _0811B4C0 @ =gStringVar4
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl StringAppend
|
|
ldr r0, [sp]
|
|
cmp r0, 0x1
|
|
bne _0811B4D0
|
|
ldr r1, _0811B4CC @ =gUnknown_8459588
|
|
adds r0, r4, 0
|
|
bl UnkTextUtil_StringExpandPlaceholders
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl StringAppend
|
|
b _0811B4F0
|
|
.align 2, 0
|
|
_0811B4B0: .4byte gUnknown_2039624
|
|
_0811B4B4: .4byte gTrainerClassNames
|
|
_0811B4B8: .4byte gUnknown_84594B0
|
|
_0811B4BC: .4byte gUnknown_84594C4
|
|
_0811B4C0: .4byte gStringVar4
|
|
_0811B4C4: .4byte 0x0000270f
|
|
_0811B4C8: .4byte gUnknown_8459504
|
|
_0811B4CC: .4byte gUnknown_8459588
|
|
_0811B4D0:
|
|
ldr r2, [sp]
|
|
cmp r2, 0
|
|
bne _0811B4F0
|
|
ldr r0, _0811B500 @ =gUnknown_8459580
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, 0
|
|
bl UnkTextUtil_StringExpandPlaceholders
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl StringAppend
|
|
_0811B4F0:
|
|
add sp, 0x4
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B500: .4byte gUnknown_8459580
|
|
thumb_func_end sub_811B31C
|
|
|
|
thumb_func_start is_walking_or_running
|
|
is_walking_or_running: @ 811B504
|
|
push {lr}
|
|
ldr r0, _0811B518 @ =gPlayerAvatar
|
|
ldrb r0, [r0, 0x3]
|
|
cmp r0, 0x2
|
|
beq _0811B512
|
|
cmp r0, 0
|
|
bne _0811B51C
|
|
_0811B512:
|
|
movs r0, 0x1
|
|
b _0811B51E
|
|
.align 2, 0
|
|
_0811B518: .4byte gPlayerAvatar
|
|
_0811B51C:
|
|
movs r0, 0
|
|
_0811B51E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end is_walking_or_running
|
|
|
|
thumb_func_start sub_811B524
|
|
sub_811B524: @ 811B524
|
|
ldr r3, _0811B538 @ =gUnknown_84570D8
|
|
movs r2, 0x7
|
|
ands r2, r1
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 1
|
|
adds r2, r1
|
|
adds r2, r3
|
|
ldrb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_0811B538: .4byte gUnknown_84570D8
|
|
thumb_func_end sub_811B524
|
|
|
|
thumb_func_start sub_811B53C
|
|
sub_811B53C: @ 811B53C
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
ldr r4, _0811B584 @ =gUnknown_84570EC
|
|
mov r8, r4
|
|
lsls r0, 2
|
|
adds r4, r0, r4
|
|
movs r6, 0
|
|
ldrsh r5, [r4, r6]
|
|
ldr r6, _0811B588 @ =gUnknown_845710C
|
|
lsls r1, 1
|
|
adds r4, r1, r6
|
|
ldrb r4, [r4]
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
adds r5, r4
|
|
adds r5, 0x7
|
|
str r5, [r2]
|
|
movs r2, 0x2
|
|
add r8, r2
|
|
add r0, r8
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
adds r6, 0x1
|
|
adds r1, r6
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
adds r0, r1
|
|
adds r0, 0x7
|
|
str r0, [r3]
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B584: .4byte gUnknown_84570EC
|
|
_0811B588: .4byte gUnknown_845710C
|
|
thumb_func_end sub_811B53C
|
|
|
|
thumb_func_start sub_811B58C
|
|
sub_811B58C: @ 811B58C
|
|
push {r4-r7,lr}
|
|
mov r12, r3
|
|
ldr r7, _0811B5CC @ =gUnknown_84570EC
|
|
lsls r5, r0, 2
|
|
adds r0, r5, r7
|
|
movs r4, 0
|
|
ldrsh r3, [r0, r4]
|
|
ldr r6, _0811B5D0 @ =gUnknown_845710C
|
|
lsls r4, r1, 1
|
|
adds r0, r4, r6
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r3, r0
|
|
adds r3, 0x7
|
|
cmp r3, r2
|
|
bne _0811B5D4
|
|
adds r0, r7, 0x2
|
|
adds r0, r5, r0
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
adds r0, r6, 0x1
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
adds r1, r0
|
|
adds r1, 0x7
|
|
cmp r1, r12
|
|
bne _0811B5D4
|
|
movs r0, 0x1
|
|
b _0811B5D6
|
|
.align 2, 0
|
|
_0811B5CC: .4byte gUnknown_84570EC
|
|
_0811B5D0: .4byte gUnknown_845710C
|
|
_0811B5D4:
|
|
movs r0, 0
|
|
_0811B5D6:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B58C
|
|
|
|
thumb_func_start sub_811B5DC
|
|
sub_811B5DC: @ 811B5DC
|
|
push {lr}
|
|
adds r0, 0x63
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B5DC
|
|
|
|
thumb_func_start sub_811B5F0
|
|
sub_811B5F0: @ 811B5F0
|
|
push {lr}
|
|
adds r0, 0x63
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FlagSet
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811B5F0
|
|
|
|
thumb_func_start sub_811B600
|
|
sub_811B600: @ 811B600
|
|
push {lr}
|
|
adds r0, 0x63
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl FlagClear
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811B600
|
|
|
|
thumb_func_start sub_811B610
|
|
sub_811B610: @ 811B610
|
|
push {lr}
|
|
ldr r2, _0811B628 @ =0x00004010
|
|
adds r0, r2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
bl VarSet
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B628: .4byte 0x00004010
|
|
thumb_func_end sub_811B610
|
|
|
|
thumb_func_start sub_811B62C
|
|
sub_811B62C: @ 811B62C
|
|
push {lr}
|
|
ldr r1, _0811B644 @ =gUnknown_8457120
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
ldr r1, _0811B648 @ =gSaveBlock1Ptr
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x5]
|
|
ldrb r2, [r2, 0x4]
|
|
bl show_sprite
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B644: .4byte gUnknown_8457120
|
|
_0811B648: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_811B62C
|
|
|
|
thumb_func_start sub_811B64C
|
|
sub_811B64C: @ 811B64C
|
|
push {lr}
|
|
ldr r1, _0811B664 @ =gUnknown_8457120
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
ldr r1, _0811B668 @ =gSaveBlock1Ptr
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x5]
|
|
ldrb r2, [r2, 0x4]
|
|
bl RemoveFieldObjectByLocalIdAndMap
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811B664: .4byte gUnknown_8457120
|
|
_0811B668: .4byte gSaveBlock1Ptr
|
|
thumb_func_end sub_811B64C
|
|
|
|
thumb_func_start sub_811B66C
|
|
sub_811B66C: @ 811B66C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r5, r1, 0
|
|
ldr r1, _0811B6B8 @ =gUnknown_8457120
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
ldr r1, _0811B6BC @ =gSaveBlock1Ptr
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x5]
|
|
ldrb r2, [r2, 0x4]
|
|
mov r3, sp
|
|
bl TryGetFieldObjectIdByLocalIdAndMap
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B6D0
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0811B6C0 @ =gMapObjects
|
|
adds r4, r0, r1
|
|
adds r0, r4, 0
|
|
bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B6D0
|
|
ldrb r1, [r5]
|
|
adds r0, r4, 0
|
|
bl sub_8063CA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B6C4
|
|
movs r0, 0x1
|
|
b _0811B6D2
|
|
.align 2, 0
|
|
_0811B6B8: .4byte gUnknown_8457120
|
|
_0811B6BC: .4byte gSaveBlock1Ptr
|
|
_0811B6C0: .4byte gMapObjects
|
|
_0811B6C4:
|
|
ldr r0, _0811B6DC @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811B6E0 @ =0x00000183
|
|
ldr r2, _0811B6E4 @ =gUnknown_8457174 "0"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811B6D0:
|
|
movs r0, 0
|
|
_0811B6D2:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B6DC: .4byte gUnknown_8457138
|
|
_0811B6E0: .4byte 0x00000183
|
|
_0811B6E4: .4byte gUnknown_8457174
|
|
thumb_func_end sub_811B66C
|
|
|
|
thumb_func_start sub_811B6E8
|
|
sub_811B6E8: @ 811B6E8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _0811B724 @ =gUnknown_8457120
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
ldr r1, _0811B728 @ =gSaveBlock1Ptr
|
|
ldr r2, [r1]
|
|
ldrb r1, [r2, 0x5]
|
|
ldrb r2, [r2, 0x4]
|
|
mov r3, sp
|
|
bl TryGetFieldObjectIdByLocalIdAndMap
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B748
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _0811B72C @ =gMapObjects
|
|
adds r4, r0, r1
|
|
adds r0, r4, 0
|
|
bl FieldObjectClearAnimIfSpecialAnimFinished
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B730
|
|
movs r0, 0
|
|
b _0811B74A
|
|
.align 2, 0
|
|
_0811B724: .4byte gUnknown_8457120
|
|
_0811B728: .4byte gSaveBlock1Ptr
|
|
_0811B72C: .4byte gMapObjects
|
|
_0811B730:
|
|
bl ScriptContext2_IsEnabled
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811B742
|
|
adds r0, r4, 0
|
|
bl npc_sync_anim_pause_bits
|
|
b _0811B748
|
|
_0811B742:
|
|
adds r0, r4, 0
|
|
bl FreezeMapObject
|
|
_0811B748:
|
|
movs r0, 0x1
|
|
_0811B74A:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B6E8
|
|
|
|
thumb_func_start sub_811B754
|
|
sub_811B754: @ 811B754
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldr r0, _0811B798 @ =gUnknown_203B088
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _0811B79C @ =gUnknown_203B084
|
|
str r4, [r0]
|
|
cmp r4, 0
|
|
bne _0811B774
|
|
ldr r0, _0811B7A0 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
movs r1, 0xDD
|
|
lsls r1, 1
|
|
ldr r2, _0811B7A4 @ =gUnknown_8457178 "UnionObjWork != NULL"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811B774:
|
|
movs r1, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0x7
|
|
_0811B77A:
|
|
strb r1, [r0]
|
|
strb r1, [r0, 0x1]
|
|
strb r1, [r0, 0x2]
|
|
strb r1, [r0, 0x3]
|
|
adds r0, 0x4
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0811B77A
|
|
bl sub_811BA18
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811B798: .4byte gUnknown_203B088
|
|
_0811B79C: .4byte gUnknown_203B084
|
|
_0811B7A0: .4byte gUnknown_8457138
|
|
_0811B7A4: .4byte gUnknown_8457178
|
|
thumb_func_end sub_811B754
|
|
|
|
thumb_func_start sub_811B7A8
|
|
sub_811B7A8: @ 811B7A8
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, 0
|
|
beq _0811B7BC
|
|
cmp r0, 0x1
|
|
beq _0811B7DC
|
|
b _0811B7FA
|
|
_0811B7BC:
|
|
ldr r1, _0811B7D8 @ =gUnknown_845718D
|
|
adds r0, r4, 0
|
|
bl sub_811B66C
|
|
cmp r0, 0x1
|
|
bne _0811B7FA
|
|
adds r0, r4, 0
|
|
bl sub_811B5F0
|
|
ldrb r0, [r5]
|
|
adds r0, 0x1
|
|
strb r0, [r5]
|
|
b _0811B7FA
|
|
.align 2, 0
|
|
_0811B7D8: .4byte gUnknown_845718D
|
|
_0811B7DC:
|
|
adds r0, r4, 0
|
|
bl sub_811B6E8
|
|
cmp r0, 0
|
|
beq _0811B7FA
|
|
adds r0, r4, 0
|
|
bl sub_811B64C
|
|
adds r0, r4, 0
|
|
bl sub_811B5F0
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
movs r0, 0x1
|
|
b _0811B7FC
|
|
_0811B7FA:
|
|
movs r0, 0
|
|
_0811B7FC:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B7A8
|
|
|
|
thumb_func_start sub_811B804
|
|
sub_811B804: @ 811B804
|
|
push {r4-r7,lr}
|
|
sub sp, 0x4
|
|
adds r6, r0, 0
|
|
adds r5, r1, 0
|
|
adds r7, r2, 0
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, 0x2
|
|
beq _0811B8A0
|
|
cmp r0, 0x2
|
|
bgt _0811B820
|
|
cmp r0, 0
|
|
beq _0811B826
|
|
b _0811B8B2
|
|
_0811B820:
|
|
cmp r0, 0x3
|
|
beq _0811B888
|
|
b _0811B8B2
|
|
_0811B826:
|
|
bl is_walking_or_running
|
|
cmp r0, 0
|
|
beq _0811B8B2
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl PlayerGetDestCoords
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
ldrsh r3, [r4, r0]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0x1
|
|
beq _0811B8B2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl plaer_get_pos_including_state_based_drift
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
ldrsh r3, [r4, r0]
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0x1
|
|
beq _0811B8B2
|
|
ldrb r1, [r7, 0x1]
|
|
adds r0, r5, 0
|
|
bl sub_811B610
|
|
adds r0, r5, 0
|
|
bl sub_811B62C
|
|
adds r0, r5, 0
|
|
bl sub_811B600
|
|
ldrb r0, [r6]
|
|
adds r0, 0x1
|
|
strb r0, [r6]
|
|
_0811B888:
|
|
ldr r1, _0811B89C @ =gUnknown_845718F
|
|
adds r0, r5, 0
|
|
bl sub_811B66C
|
|
cmp r0, 0x1
|
|
bne _0811B8B2
|
|
ldrb r0, [r6]
|
|
adds r0, 0x1
|
|
strb r0, [r6]
|
|
b _0811B8B2
|
|
.align 2, 0
|
|
_0811B89C: .4byte gUnknown_845718F
|
|
_0811B8A0:
|
|
adds r0, r5, 0
|
|
bl sub_811B6E8
|
|
cmp r0, 0
|
|
beq _0811B8B2
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
movs r0, 0x1
|
|
b _0811B8B4
|
|
_0811B8B2:
|
|
movs r0, 0
|
|
_0811B8B4:
|
|
add sp, 0x4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B804
|
|
|
|
thumb_func_start sub_811B8BC
|
|
sub_811B8BC: @ 811B8BC
|
|
push {r4-r6,lr}
|
|
adds r5, r1, 0
|
|
adds r6, r2, 0
|
|
ldr r1, _0811B8F4 @ =gUnknown_203B084
|
|
lsls r0, 2
|
|
ldr r1, [r1]
|
|
adds r4, r1, r0
|
|
cmp r1, 0
|
|
bne _0811B8DA
|
|
ldr r0, _0811B8F8 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811B8FC @ =0x00000231
|
|
ldr r2, _0811B900 @ =gUnknown_8457178 "UnionObjWork != NULL"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811B8DA:
|
|
movs r0, 0x1
|
|
strb r0, [r4, 0x3]
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_811B524
|
|
strb r0, [r4, 0x1]
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
beq _0811B904
|
|
movs r0, 0
|
|
b _0811B906
|
|
.align 2, 0
|
|
_0811B8F4: .4byte gUnknown_203B084
|
|
_0811B8F8: .4byte gUnknown_8457138
|
|
_0811B8FC: .4byte 0x00000231
|
|
_0811B900: .4byte gUnknown_8457178
|
|
_0811B904:
|
|
movs r0, 0x1
|
|
_0811B906:
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B8BC
|
|
|
|
thumb_func_start sub_811B90C
|
|
sub_811B90C: @ 811B90C
|
|
push {r4,lr}
|
|
ldr r1, _0811B934 @ =gUnknown_203B084
|
|
lsls r0, 2
|
|
ldr r1, [r1]
|
|
adds r4, r1, r0
|
|
cmp r1, 0
|
|
bne _0811B926
|
|
ldr r0, _0811B938 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811B93C @ =0x00000241
|
|
ldr r2, _0811B940 @ =gUnknown_8457178 "UnionObjWork != NULL"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811B926:
|
|
movs r0, 0x2
|
|
strb r0, [r4, 0x3]
|
|
ldrb r0, [r4]
|
|
cmp r0, 0x1
|
|
beq _0811B944
|
|
movs r0, 0
|
|
b _0811B946
|
|
.align 2, 0
|
|
_0811B934: .4byte gUnknown_203B084
|
|
_0811B938: .4byte gUnknown_8457138
|
|
_0811B93C: .4byte 0x00000241
|
|
_0811B940: .4byte gUnknown_8457178
|
|
_0811B944:
|
|
movs r0, 0x1
|
|
_0811B946:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811B90C
|
|
|
|
thumb_func_start sub_811B94C
|
|
sub_811B94C: @ 811B94C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
ldrb r1, [r4]
|
|
cmp r1, 0x1
|
|
beq _0811B9AE
|
|
cmp r1, 0x1
|
|
bgt _0811B962
|
|
cmp r1, 0
|
|
beq _0811B96C
|
|
b _0811B9CE
|
|
_0811B962:
|
|
cmp r1, 0x2
|
|
beq _0811B978
|
|
cmp r1, 0x3
|
|
beq _0811B9BC
|
|
b _0811B9CE
|
|
_0811B96C:
|
|
ldrb r0, [r4, 0x3]
|
|
cmp r0, 0x1
|
|
bne _0811B9CE
|
|
movs r0, 0x2
|
|
strb r0, [r4]
|
|
strb r1, [r4, 0x2]
|
|
_0811B978:
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_811BBC8
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bne _0811B99E
|
|
ldrb r0, [r4, 0x3]
|
|
cmp r0, 0x2
|
|
bne _0811B99E
|
|
strb r1, [r4]
|
|
strb r1, [r4, 0x2]
|
|
adds r0, r5, 0
|
|
bl sub_811B64C
|
|
adds r0, r5, 0
|
|
bl sub_811B5F0
|
|
b _0811B9CE
|
|
_0811B99E:
|
|
adds r0, r4, 0x2
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_811B804
|
|
cmp r0, 0x1
|
|
bne _0811B9CE
|
|
b _0811B9CC
|
|
_0811B9AE:
|
|
ldrb r0, [r4, 0x3]
|
|
cmp r0, 0x2
|
|
bne _0811B9CE
|
|
movs r1, 0
|
|
movs r0, 0x3
|
|
strb r0, [r4]
|
|
strb r1, [r4, 0x2]
|
|
_0811B9BC:
|
|
adds r0, r4, 0x2
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
bl sub_811B7A8
|
|
cmp r0, 0x1
|
|
bne _0811B9CE
|
|
movs r0, 0
|
|
_0811B9CC:
|
|
strb r0, [r4]
|
|
_0811B9CE:
|
|
movs r0, 0
|
|
strb r0, [r4, 0x3]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811B94C
|
|
|
|
thumb_func_start sub_811B9D8
|
|
sub_811B9D8: @ 811B9D8
|
|
push {r4,r5,lr}
|
|
ldr r5, _0811BA08 @ =gUnknown_203B084
|
|
ldr r0, [r5]
|
|
cmp r0, 0
|
|
bne _0811B9EE
|
|
ldr r0, _0811BA0C @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811BA10 @ =0x00000283
|
|
ldr r2, _0811BA14 @ =gUnknown_8457178 "UnionObjWork != NULL"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811B9EE:
|
|
movs r4, 0
|
|
_0811B9F0:
|
|
lsls r0, r4, 2
|
|
ldr r1, [r5]
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
bl sub_811B94C
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0811B9F0
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BA08: .4byte gUnknown_203B084
|
|
_0811BA0C: .4byte gUnknown_8457138
|
|
_0811BA10: .4byte 0x00000283
|
|
_0811BA14: .4byte gUnknown_8457178
|
|
thumb_func_end sub_811B9D8
|
|
|
|
thumb_func_start sub_811BA18
|
|
sub_811BA18: @ 811BA18
|
|
push {r4,lr}
|
|
ldr r4, _0811BA38 @ =sub_811B9D8
|
|
adds r0, r4, 0
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
beq _0811BA3C
|
|
adds r0, r4, 0
|
|
movs r1, 0x5
|
|
bl CreateTask
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _0811BA4A
|
|
.align 2, 0
|
|
_0811BA38: .4byte sub_811B9D8
|
|
_0811BA3C:
|
|
ldr r0, _0811BA50 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811BA54 @ =0x0000028f
|
|
ldr r2, _0811BA58 @ =gUnknown_8457174 "0"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
movs r0, 0x10
|
|
_0811BA4A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811BA50: .4byte gUnknown_8457138
|
|
_0811BA54: .4byte 0x0000028f
|
|
_0811BA58: .4byte gUnknown_8457174
|
|
thumb_func_end sub_811BA18
|
|
|
|
thumb_func_start sub_811BA5C
|
|
sub_811BA5C: @ 811BA5C
|
|
push {lr}
|
|
ldr r0, _0811BA74 @ =sub_811B9D8
|
|
bl FindTaskIdByFunc
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0xF
|
|
bhi _0811BA70
|
|
bl DestroyTask
|
|
_0811BA70:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BA74: .4byte sub_811B9D8
|
|
thumb_func_end sub_811BA5C
|
|
|
|
thumb_func_start sub_811BA78
|
|
sub_811BA78: @ 811BA78
|
|
push {r4,lr}
|
|
movs r4, 0
|
|
_0811BA7C:
|
|
adds r0, r4, 0
|
|
bl sub_811B5DC
|
|
cmp r0, 0
|
|
bne _0811BA92
|
|
adds r0, r4, 0
|
|
bl sub_811B64C
|
|
adds r0, r4, 0
|
|
bl sub_811B5F0
|
|
_0811BA92:
|
|
adds r4, 0x1
|
|
cmp r4, 0x7
|
|
ble _0811BA7C
|
|
ldr r1, _0811BAA8 @ =gUnknown_203B084
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
bl sub_811BA5C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BAA8: .4byte gUnknown_203B084
|
|
thumb_func_end sub_811BA78
|
|
|
|
thumb_func_start sub_811BAAC
|
|
sub_811BAAC: @ 811BAAC
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x10
|
|
str r0, [sp, 0x8]
|
|
mov r9, r1
|
|
movs r7, 0
|
|
mov r0, r9
|
|
lsls r0, 2
|
|
mov r8, r0
|
|
ldr r0, _0811BB38 @ =gUnknown_84570EC
|
|
mov r2, r8
|
|
adds r1, r2, r0
|
|
ldrh r1, [r1]
|
|
mov r2, sp
|
|
strh r1, [r2, 0xC]
|
|
adds r0, 0x2
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
mov r10, r0
|
|
ldr r6, _0811BB3C @ =gUnknown_845710C
|
|
_0811BADA:
|
|
mov r5, r8
|
|
add r5, r9
|
|
adds r5, r7
|
|
adds r4, r5, 0
|
|
subs r4, 0x38
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r2, 0
|
|
ldrsb r2, [r6, r2]
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0xC]
|
|
adds r2, r0, r2
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
movs r3, 0x1
|
|
ldrsb r3, [r6, r3]
|
|
add r3, r10
|
|
lsls r3, 16
|
|
asrs r3, 16
|
|
movs r0, 0x3
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x19
|
|
adds r1, r4, 0
|
|
bl sub_805E9F8
|
|
ldr r1, [sp, 0x8]
|
|
adds r5, r1, r5
|
|
strb r0, [r5]
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_8069124
|
|
adds r6, 0x2
|
|
adds r7, 0x1
|
|
cmp r7, 0x4
|
|
ble _0811BADA
|
|
add sp, 0x10
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BB38: .4byte gUnknown_84570EC
|
|
_0811BB3C: .4byte gUnknown_845710C
|
|
thumb_func_end sub_811BAAC
|
|
|
|
thumb_func_start sub_811BB40
|
|
sub_811BB40: @ 811BB40
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
movs r4, 0
|
|
ldr r6, _0811BB64 @ =gSprites
|
|
_0811BB48:
|
|
adds r0, r5, r4
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
bl DestroySprite
|
|
adds r4, 0x1
|
|
cmp r4, 0x27
|
|
ble _0811BB48
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BB64: .4byte gSprites
|
|
thumb_func_end sub_811BB40
|
|
|
|
thumb_func_start sub_811BB68
|
|
sub_811BB68: @ 811BB68
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
movs r5, 0
|
|
add r7, sp, 0x4
|
|
_0811BB70:
|
|
movs r4, 0
|
|
adds r6, r5, 0x1
|
|
_0811BB74:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
mov r2, sp
|
|
adds r3, r7, 0
|
|
bl sub_811B53C
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8059024
|
|
adds r4, 0x1
|
|
cmp r4, 0x4
|
|
ble _0811BB74
|
|
adds r5, r6, 0
|
|
cmp r5, 0x7
|
|
ble _0811BB70
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BB68
|
|
|
|
thumb_func_start sub_811BBA0
|
|
sub_811BBA0: @ 811BBA0
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
beq _0811BBB4
|
|
ldr r0, _0811BBB0 @ =gUnknown_845711B
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
b _0811BBC4
|
|
.align 2, 0
|
|
_0811BBB0: .4byte gUnknown_845711B
|
|
_0811BBB4:
|
|
ldrb r1, [r2, 0xA]
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
cmp r0, 0x45
|
|
beq _0811BBC2
|
|
movs r0, 0x4
|
|
b _0811BBC4
|
|
_0811BBC2:
|
|
movs r0, 0x1
|
|
_0811BBC4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BBA0
|
|
|
|
thumb_func_start sub_811BBC8
|
|
sub_811BBC8: @ 811BBC8
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
lsls r0, r2, 2
|
|
adds r0, r2
|
|
adds r0, r1
|
|
subs r0, 0x38
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_806916C
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811BBC8
|
|
|
|
thumb_func_start sub_811BBE0
|
|
sub_811BBE0: @ 811BBE0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x8
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
mov r9, r3
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
lsls r0, r5, 2
|
|
adds r0, r5
|
|
adds r7, r0, r6
|
|
adds r0, r5, 0
|
|
bl sub_811BBC8
|
|
cmp r0, 0x1
|
|
bne _0811BC1E
|
|
adds r4, r7, 0
|
|
subs r4, 0x38
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_8069124
|
|
adds r0, r4, 0
|
|
movs r1, 0x1
|
|
bl sub_80691A4
|
|
_0811BC1E:
|
|
adds r0, r7, 0
|
|
subs r0, 0x38
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r1, r8
|
|
bl sub_8069094
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
mov r2, r9
|
|
bl sub_811BBA0
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_811C008
|
|
add r3, sp, 0x4
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
mov r2, sp
|
|
bl sub_811B53C
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, 0x4]
|
|
movs r2, 0x1
|
|
bl sub_8059024
|
|
add sp, 0x8
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BBE0
|
|
|
|
thumb_func_start sub_811BC68
|
|
sub_811BC68: @ 811BC68
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
lsls r0, r4, 2
|
|
adds r0, r4
|
|
adds r0, r5
|
|
subs r0, 0x38
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x2
|
|
bl sub_80691A4
|
|
add r3, sp, 0x4
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
mov r2, sp
|
|
bl sub_811B53C
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, 0x4]
|
|
movs r2, 0
|
|
bl sub_8059024
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BC68
|
|
|
|
thumb_func_start sub_811BCA0
|
|
sub_811BCA0: @ 811BCA0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r7, r0, 0
|
|
mov r8, r1
|
|
mov r6, sp
|
|
adds r6, 0x2
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
bl PlayerGetDestCoords
|
|
add r4, sp, 0x4
|
|
mov r5, sp
|
|
adds r5, 0x6
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl plaer_get_pos_including_state_based_drift
|
|
lsls r0, r7, 2
|
|
adds r0, r7
|
|
subs r0, 0x38
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_806916C
|
|
mov r10, r6
|
|
mov r9, r4
|
|
adds r6, r5, 0
|
|
cmp r0, 0x1
|
|
bne _0811BD2C
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
mov r0, r10
|
|
movs r1, 0
|
|
ldrsh r3, [r0, r1]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0x1
|
|
beq _0811BD98
|
|
movs r0, 0
|
|
ldrsh r2, [r4, r0]
|
|
movs r1, 0
|
|
ldrsh r3, [r6, r1]
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0x1
|
|
beq _0811BD98
|
|
mov r2, r8
|
|
ldrb r0, [r2, 0xB]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
ldrb r1, [r2, 0x2]
|
|
bl sub_811B524
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
mov r3, r8
|
|
bl sub_811BBE0
|
|
_0811BD2C:
|
|
movs r5, 0x1
|
|
mov r4, r8
|
|
adds r4, 0x4
|
|
_0811BD32:
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _0811BD42
|
|
adds r0, r7, 0
|
|
adds r1, r5, 0
|
|
bl sub_811BC68
|
|
b _0811BD90
|
|
_0811BD42:
|
|
mov r0, sp
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
mov r0, r10
|
|
movs r1, 0
|
|
ldrsh r3, [r0, r1]
|
|
adds r0, r7, 0
|
|
adds r1, r5, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0
|
|
bne _0811BD90
|
|
mov r0, r9
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
ldrsh r3, [r6, r0]
|
|
adds r0, r7, 0
|
|
adds r1, r5, 0
|
|
bl sub_811B58C
|
|
cmp r0, 0
|
|
bne _0811BD90
|
|
ldrb r2, [r4]
|
|
lsrs r0, r2, 3
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
movs r1, 0x7
|
|
ands r1, r2
|
|
bl sub_811B524
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r7, 0
|
|
adds r1, r5, 0
|
|
mov r3, r8
|
|
bl sub_811BBE0
|
|
_0811BD90:
|
|
adds r4, 0x1
|
|
adds r5, 0x1
|
|
cmp r5, 0x4
|
|
ble _0811BD32
|
|
_0811BD98:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BCA0
|
|
|
|
thumb_func_start sub_811BDA8
|
|
sub_811BDA8: @ 811BDA8
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
ldrb r0, [r4, 0xA]
|
|
lsls r0, 25
|
|
lsrs r0, 25
|
|
subs r0, 0x40
|
|
cmp r0, 0x14
|
|
bhi _0811BE4C
|
|
lsls r0, 2
|
|
ldr r1, _0811BDC4 @ =_0811BDC8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811BDC4: .4byte _0811BDC8
|
|
.align 2, 0
|
|
_0811BDC8:
|
|
.4byte _0811BE1C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE4C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE3C
|
|
.4byte _0811BE1C
|
|
_0811BE1C:
|
|
ldrb r1, [r4, 0xB]
|
|
lsls r1, 31
|
|
lsrs r1, 31
|
|
ldrb r2, [r4, 0x2]
|
|
adds r0, r5, 0
|
|
bl sub_811B8BC
|
|
movs r4, 0
|
|
_0811BE2C:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811BC68
|
|
adds r4, 0x1
|
|
cmp r4, 0x4
|
|
bls _0811BE2C
|
|
b _0811BE58
|
|
_0811BE3C:
|
|
adds r0, r5, 0
|
|
bl sub_811B90C
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811BCA0
|
|
b _0811BE58
|
|
_0811BE4C:
|
|
ldr r0, _0811BE60 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
|
|
ldr r1, _0811BE64 @ =0x000003d3
|
|
ldr r2, _0811BE68 @ =gUnknown_8457174 "0"
|
|
movs r3, 0x1
|
|
bl AGBAssert
|
|
_0811BE58:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BE60: .4byte gUnknown_8457138
|
|
_0811BE64: .4byte 0x000003d3
|
|
_0811BE68: .4byte gUnknown_8457174
|
|
thumb_func_end sub_811BDA8
|
|
|
|
thumb_func_start sub_811BE6C
|
|
sub_811BE6C: @ 811BE6C
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
bl sub_811B90C
|
|
movs r4, 0
|
|
_0811BE76:
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811BC68
|
|
adds r4, 0x1
|
|
cmp r4, 0x4
|
|
ble _0811BE76
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BE6C
|
|
|
|
thumb_func_start sub_811BE8C
|
|
sub_811BE8C: @ 811BE8C
|
|
push {r4,r5,lr}
|
|
ldr r2, _0811BEAC @ =gUnknown_203B088
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
movs r5, 0
|
|
ldr r4, [r0]
|
|
_0811BE98:
|
|
ldrb r0, [r4, 0x1A]
|
|
movs r1, 0x3
|
|
ands r1, r0
|
|
cmp r1, 0x1
|
|
bne _0811BEB0
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811BDA8
|
|
b _0811BEBC
|
|
.align 2, 0
|
|
_0811BEAC: .4byte gUnknown_203B088
|
|
_0811BEB0:
|
|
cmp r1, 0x2
|
|
bne _0811BEBC
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811BE6C
|
|
_0811BEBC:
|
|
adds r4, 0x20
|
|
adds r5, 0x1
|
|
cmp r5, 0x7
|
|
ble _0811BE98
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811BE8C
|
|
|
|
thumb_func_start sub_811BECC
|
|
sub_811BECC: @ 811BECC
|
|
ldr r1, _0811BED8 @ =gUnknown_203B088
|
|
movs r0, 0x96
|
|
lsls r0, 1
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0811BED8: .4byte gUnknown_203B088
|
|
thumb_func_end sub_811BECC
|
|
|
|
thumb_func_start sub_811BEDC
|
|
sub_811BEDC: @ 811BEDC
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
ldr r0, _0811BEFC @ =gUnknown_203B088
|
|
ldr r1, [r0]
|
|
adds r1, 0x1
|
|
str r1, [r0]
|
|
movs r0, 0x96
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _0811BEF6
|
|
adds r0, r2, 0
|
|
bl sub_811BE8C
|
|
_0811BEF6:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811BEFC: .4byte gUnknown_203B088
|
|
thumb_func_end sub_811BEDC
|
|
|
|
thumb_func_start sub_811BF00
|
|
sub_811BF00: @ 811BF00
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x18
|
|
adds r5, r0, 0
|
|
str r1, [sp, 0x4]
|
|
str r2, [sp, 0x8]
|
|
bl is_walking_or_running
|
|
cmp r0, 0
|
|
bne _0811BF48
|
|
b _0811BFEE
|
|
_0811BF1C:
|
|
ldr r4, _0811BF44 @ =gUnknown_8457116
|
|
bl player_get_direction_lower_nybble
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
adds r0, r4
|
|
ldrb r2, [r0]
|
|
adds r0, r6, 0
|
|
ldr r1, [sp, 0xC]
|
|
bl sub_811C008
|
|
ldr r0, [sp, 0x4]
|
|
strh r6, [r0]
|
|
mov r1, sp
|
|
ldrh r2, [r1, 0xC]
|
|
ldr r1, [sp, 0x8]
|
|
strh r2, [r1]
|
|
movs r0, 0x1
|
|
b _0811BFF0
|
|
.align 2, 0
|
|
_0811BF44: .4byte gUnknown_8457116
|
|
_0811BF48:
|
|
mov r4, sp
|
|
adds r4, 0x2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl GetXYCoordsOneStepInFrontOfPlayer
|
|
movs r0, 0
|
|
str r0, [sp, 0xC]
|
|
ldr r0, _0811C000 @ =gUnknown_84570EC
|
|
adds r7, r5, 0
|
|
movs r1, 0
|
|
mov r10, r1
|
|
adds r2, r0, 0x2
|
|
str r2, [sp, 0x10]
|
|
str r0, [sp, 0x14]
|
|
_0811BF66:
|
|
movs r6, 0
|
|
ldr r4, [sp, 0x14]
|
|
movs r0, 0
|
|
ldrsh r4, [r4, r0]
|
|
mov r9, r4
|
|
ldr r1, [sp, 0x10]
|
|
mov r8, r1
|
|
ldr r5, _0811C004 @ =gUnknown_845710C
|
|
_0811BF76:
|
|
mov r2, r10
|
|
adds r3, r2, r6
|
|
mov r0, sp
|
|
movs r4, 0
|
|
ldrsh r1, [r0, r4]
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
add r0, r9
|
|
adds r0, 0x7
|
|
cmp r1, r0
|
|
bne _0811BFCA
|
|
mov r1, sp
|
|
movs r2, 0x2
|
|
ldrsh r0, [r1, r2]
|
|
mov r4, r8
|
|
movs r2, 0
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, 0x1
|
|
ldrsb r2, [r5, r2]
|
|
adds r1, r2
|
|
adds r1, 0x7
|
|
cmp r0, r1
|
|
bne _0811BFCA
|
|
adds r0, r3, 0
|
|
subs r0, 0x38
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r0, r4, 0
|
|
bl sub_806916C
|
|
cmp r0, 0
|
|
bne _0811BFCA
|
|
adds r0, r4, 0
|
|
bl sub_8069294
|
|
cmp r0, 0
|
|
bne _0811BFCA
|
|
ldrb r1, [r7, 0x1A]
|
|
movs r0, 0x3
|
|
ands r0, r1
|
|
cmp r0, 0x1
|
|
beq _0811BF1C
|
|
_0811BFCA:
|
|
adds r5, 0x2
|
|
adds r6, 0x1
|
|
cmp r6, 0x4
|
|
ble _0811BF76
|
|
adds r7, 0x20
|
|
movs r4, 0x5
|
|
add r10, r4
|
|
ldr r0, [sp, 0x10]
|
|
adds r0, 0x4
|
|
str r0, [sp, 0x10]
|
|
ldr r1, [sp, 0x14]
|
|
adds r1, 0x4
|
|
str r1, [sp, 0x14]
|
|
ldr r2, [sp, 0xC]
|
|
adds r2, 0x1
|
|
str r2, [sp, 0xC]
|
|
cmp r2, 0x7
|
|
ble _0811BF66
|
|
_0811BFEE:
|
|
movs r0, 0
|
|
_0811BFF0:
|
|
add sp, 0x18
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0811C000: .4byte gUnknown_84570EC
|
|
_0811C004: .4byte gUnknown_845710C
|
|
thumb_func_end sub_811BF00
|
|
|
|
thumb_func_start sub_811C008
|
|
sub_811C008: @ 811C008
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r3, r1, 0
|
|
lsls r1, r2, 24
|
|
lsrs r1, 24
|
|
lsls r0, r3, 2
|
|
adds r0, r3
|
|
subs r0, 0x38
|
|
adds r0, r4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8069058
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811C008
|
|
|
|
thumb_func_start sub_811C028
|
|
sub_811C028: @ 811C028
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
lsls r3, r4, 5
|
|
adds r3, r2
|
|
adds r2, r3, 0
|
|
bl sub_811BBA0
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_811C008
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811C028
|
|
|
|
thumb_func_start sub_811C04C
|
|
sub_811C04C: @ 811C04C
|
|
push {r4-r7,lr}
|
|
movs r0, 0xA
|
|
bl sub_81173C0
|
|
movs r4, 0
|
|
movs r7, 0x64
|
|
ldr r6, _0811C0CC @ =gPlayerParty
|
|
ldr r5, _0811C0D0 @ =gEnemyParty
|
|
_0811C05C:
|
|
ldr r0, _0811C0D4 @ =gUnknown_203B0D4
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r1, r0, 0
|
|
muls r1, r7
|
|
adds r1, r6
|
|
adds r0, r5, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r5, 0x64
|
|
adds r4, 0x1
|
|
cmp r4, 0x1
|
|
ble _0811C05C
|
|
ldr r4, _0811C0CC @ =gPlayerParty
|
|
movs r0, 0xFA
|
|
lsls r0, 1
|
|
adds r5, r4, r0
|
|
_0811C082:
|
|
adds r0, r4, 0
|
|
bl ZeroMonData
|
|
adds r4, 0x64
|
|
cmp r4, r5
|
|
ble _0811C082
|
|
ldr r4, _0811C0CC @ =gPlayerParty
|
|
movs r5, 0
|
|
adds r6, r4, 0
|
|
adds r6, 0x64
|
|
_0811C096:
|
|
ldr r1, _0811C0D0 @ =gEnemyParty
|
|
adds r1, r5, r1
|
|
adds r0, r4, 0
|
|
movs r2, 0x64
|
|
bl memcpy
|
|
adds r4, 0x64
|
|
adds r5, 0x64
|
|
cmp r4, r6
|
|
ble _0811C096
|
|
movs r0, 0x32
|
|
bl IncrementGameStat
|
|
bl CalculatePlayerPartyCount
|
|
ldr r0, _0811C0D8 @ =gTrainerBattleOpponent_A
|
|
movs r2, 0xC0
|
|
lsls r2, 4
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
ldr r0, _0811C0DC @ =sub_800FD9C
|
|
bl SetMainCallback2
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811C0CC: .4byte gPlayerParty
|
|
_0811C0D0: .4byte gEnemyParty
|
|
_0811C0D4: .4byte gUnknown_203B0D4
|
|
_0811C0D8: .4byte gTrainerBattleOpponent_A
|
|
_0811C0DC: .4byte sub_800FD9C
|
|
thumb_func_end sub_811C04C
|
|
|
|
thumb_func_start sub_811C0E0
|
|
sub_811C0E0: @ 811C0E0
|
|
push {r4-r6,lr}
|
|
mov r6, r10
|
|
mov r5, r9
|
|
mov r4, r8
|
|
push {r4-r6}
|
|
sub sp, 0x18
|
|
adds r5, r0, 0
|
|
mov r10, r1
|
|
adds r6, r2, 0
|
|
ldr r4, [sp, 0x34]
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
lsls r6, 24
|
|
lsrs r6, 24
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
movs r0, 0x1
|
|
mov r8, r0
|
|
ldr r1, _0811C14C @ =gUnknown_84571A8
|
|
mov r9, r1
|
|
ldrb r0, [r1]
|
|
lsls r1, r0, 4
|
|
orrs r1, r0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r5, 0
|
|
str r3, [sp, 0x14]
|
|
bl FillWindowPixelBuffer
|
|
mov r0, r8
|
|
str r0, [sp]
|
|
str r0, [sp, 0x4]
|
|
mov r1, r9
|
|
str r1, [sp, 0x8]
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
str r4, [sp, 0xC]
|
|
mov r0, r10
|
|
str r0, [sp, 0x10]
|
|
adds r0, r5, 0
|
|
movs r1, 0x3
|
|
adds r2, r6, 0
|
|
ldr r3, [sp, 0x14]
|
|
bl AddTextPrinterParametrized2
|
|
add sp, 0x18
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811C14C: .4byte gUnknown_84571A8
|
|
thumb_func_end sub_811C0E0
|
|
|
|
thumb_func_start sub_811C150
|
|
sub_811C150: @ 811C150
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r6, r1, 0
|
|
adds r5, r2, 0
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, 0
|
|
beq _0811C168
|
|
cmp r0, 0x1
|
|
beq _0811C196
|
|
b _0811C1AA
|
|
_0811C168:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0xD
|
|
bl sub_8150048
|
|
str r5, [sp]
|
|
movs r0, 0
|
|
adds r1, r6, 0
|
|
movs r2, 0
|
|
movs r3, 0x2
|
|
bl sub_811C0E0
|
|
movs r0, 0
|
|
bl PutWindowTilemap
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _0811C1AA
|
|
_0811C196:
|
|
movs r0, 0
|
|
bl IsTextPrinterActive
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0
|
|
bne _0811C1AA
|
|
strh r0, [r4]
|
|
movs r0, 0x1
|
|
b _0811C1AC
|
|
_0811C1AA:
|
|
movs r0, 0
|
|
_0811C1AC:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_811C150
|
|
|
|
thumb_func_start sub_811C1B4
|
|
sub_811C1B4: @ 811C1B4
|
|
push {lr}
|
|
bl LoadOam
|
|
bl ProcessSpriteCopyRequests
|
|
bl TransferPlttBuffer
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_811C1B4
|
|
|
|
thumb_func_start sub_811C1C8
|
|
sub_811C1C8: @ 811C1C8
|
|
push {r4,lr}
|
|
sub sp, 0xC
|
|
ldr r1, _0811C1E8 @ =gMain
|
|
movs r2, 0x87
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r2, r1, 0
|
|
cmp r0, 0x33
|
|
bls _0811C1DE
|
|
b _0811C516
|
|
_0811C1DE:
|
|
lsls r0, 2
|
|
ldr r1, _0811C1EC @ =_0811C1F0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0811C1E8: .4byte gMain
|
|
_0811C1EC: .4byte _0811C1F0
|
|
.align 2, 0
|
|
_0811C1F0:
|
|
.4byte _0811C2C0
|
|
.4byte _0811C364
|
|
.4byte _0811C38C
|
|
.4byte _0811C3B0
|
|
.4byte _0811C400
|
|
.4byte _0811C516
|
|
.4byte _0811C4E4
|
|
.4byte _0811C4C0
|
|
.4byte _0811C4E4
|
|
.4byte _0811C500
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C516
|
|
.4byte _0811C48C
|
|
.4byte _0811C4A8
|
|
_0811C2C0:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl SetGpuReg
|
|
ldr r4, _0811C350 @ =gUnknown_203B08C
|
|
movs r0, 0x4
|
|
bl AllocZeroed
|
|
str r0, [r4]
|
|
bl ResetSpriteData
|
|
bl FreeAllSpritePalettes
|
|
bl ResetTasks
|
|
movs r0, 0
|
|
bl ResetBgsAndClearDma3BusyFlags
|
|
ldr r1, _0811C354 @ =gUnknown_8457194
|
|
movs r0, 0
|
|
movs r2, 0x1
|
|
bl InitBgsFromTemplates
|
|
bl reset_temp_tile_data_buffers
|
|
ldr r0, _0811C358 @ =gUnknown_8457198
|
|
bl InitWindows
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _0811C300
|
|
b _0811C52A
|
|
_0811C300:
|
|
bl DeactivateAllTextPrinters
|
|
movs r0, 0
|
|
bl ClearWindowTilemap
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl FillWindowPixelBuffer
|
|
movs r0, 0x1E
|
|
str r0, [sp]
|
|
movs r0, 0x14
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0xF
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl FillBgTilemapBufferRect
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r2, 0xD0
|
|
bl sub_814FF2C
|
|
bl sub_80F77B8
|
|
ldr r0, _0811C35C @ =sub_811C1B4
|
|
bl SetVBlankCallback
|
|
ldr r1, _0811C360 @ =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
b _0811C4F2
|
|
.align 2, 0
|
|
_0811C350: .4byte gUnknown_203B08C
|
|
_0811C354: .4byte gUnknown_8457194
|
|
_0811C358: .4byte gUnknown_8457198
|
|
_0811C35C: .4byte sub_811C1B4
|
|
_0811C360: .4byte gMain
|
|
_0811C364:
|
|
ldr r0, _0811C380 @ =gUnknown_203B08C
|
|
ldr r0, [r0]
|
|
ldr r1, _0811C384 @ =gUnknown_841E538
|
|
movs r2, 0
|
|
bl sub_811C150
|
|
cmp r0, 0
|
|
bne _0811C376
|
|
b _0811C516
|
|
_0811C376:
|
|
ldr r1, _0811C388 @ =gMain
|
|
movs r2, 0x87
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
b _0811C4F2
|
|
.align 2, 0
|
|
_0811C380: .4byte gUnknown_203B08C
|
|
_0811C384: .4byte gUnknown_841E538
|
|
_0811C388: .4byte gMain
|
|
_0811C38C:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
bl BeginNormalPaletteFade
|
|
movs r0, 0
|
|
bl ShowBg
|
|
ldr r1, _0811C3AC @ =gMain
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r0
|
|
b _0811C4F2
|
|
.align 2, 0
|
|
_0811C3AC: .4byte gMain
|
|
_0811C3B0:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811C3BC
|
|
b _0811C516
|
|
_0811C3BC:
|
|
ldr r4, _0811C3D8 @ =gUnknown_2022618
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x20
|
|
bl memset
|
|
ldr r0, _0811C3DC @ =gUnknown_203B0D4
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, 0x1]
|
|
cmn r1, r0
|
|
bne _0811C3E0
|
|
movs r0, 0x52
|
|
b _0811C3E2
|
|
.align 2, 0
|
|
_0811C3D8: .4byte gUnknown_2022618
|
|
_0811C3DC: .4byte gUnknown_203B0D4
|
|
_0811C3E0:
|
|
movs r0, 0x51
|
|
_0811C3E2:
|
|
strb r0, [r4]
|
|
ldr r1, _0811C3F8 @ =gUnknown_2022618
|
|
movs r0, 0
|
|
movs r2, 0x20
|
|
bl SendBlock
|
|
ldr r1, _0811C3FC @ =gMain
|
|
movs r2, 0x87
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
b _0811C4F2
|
|
.align 2, 0
|
|
_0811C3F8: .4byte gUnknown_2022618
|
|
_0811C3FC: .4byte gMain
|
|
_0811C400:
|
|
bl GetBlockReceivedStatus
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x3
|
|
beq _0811C40E
|
|
b _0811C516
|
|
_0811C40E:
|
|
ldr r1, _0811C440 @ =gUnknown_2022118
|
|
ldrh r0, [r1]
|
|
cmp r0, 0x51
|
|
bne _0811C448
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x51
|
|
bne _0811C448
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, _0811C444 @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x32
|
|
b _0811C47E
|
|
.align 2, 0
|
|
_0811C440: .4byte gUnknown_2022118
|
|
_0811C444: .4byte gMain
|
|
_0811C448:
|
|
bl sub_800AAC0
|
|
ldr r4, _0811C46C @ =gUnknown_2022118
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
lsrs r0, 16
|
|
adds r0, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x52
|
|
bne _0811C474
|
|
ldr r0, _0811C470 @ =gMain
|
|
movs r2, 0x87
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
movs r1, 0x6
|
|
b _0811C47E
|
|
.align 2, 0
|
|
_0811C46C: .4byte gUnknown_2022118
|
|
_0811C470: .4byte gMain
|
|
_0811C474:
|
|
ldr r0, _0811C488 @ =gMain
|
|
movs r1, 0x87
|
|
lsls r1, 3
|
|
adds r0, r1
|
|
movs r1, 0x8
|
|
_0811C47E:
|
|
strb r1, [r0]
|
|
bl ResetBlockReceivedFlags
|
|
b _0811C516
|
|
.align 2, 0
|
|
_0811C488: .4byte gMain
|
|
_0811C48C:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0811C516
|
|
bl sub_800AB9C
|
|
ldr r1, _0811C4A4 @ =gMain
|
|
movs r2, 0x87
|
|
lsls r2, 3
|
|
adds r1, r2
|
|
b _0811C4F2
|
|
.align 2, 0
|
|
_0811C4A4: .4byte gMain
|
|
_0811C4A8:
|
|
bl sub_800A4BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0811C516
|
|
ldr r0, _0811C4BC @ =sub_811C04C
|
|
bl SetMainCallback2
|
|
b _0811C516
|
|
.align 2, 0
|
|
_0811C4BC: .4byte sub_811C04C
|
|
_0811C4C0:
|
|
ldr r0, _0811C4D8 @ =gUnknown_203B08C
|
|
ldr r0, [r0]
|
|
ldr r1, _0811C4DC @ =gUnknown_841E58D
|
|
movs r2, 0x1
|
|
bl sub_811C150
|
|
cmp r0, 0
|
|
beq _0811C516
|
|
ldr r0, _0811C4E0 @ =c2_exit_to_overworld_2_switch
|
|
bl SetMainCallback2
|
|
b _0811C516
|
|
.align 2, 0
|
|
_0811C4D8: .4byte gUnknown_203B08C
|
|
_0811C4DC: .4byte gUnknown_841E58D
|
|
_0811C4E0: .4byte c2_exit_to_overworld_2_switch
|
|
_0811C4E4:
|
|
ldr r0, _0811C4FC @ =gUnknown_3003F64
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0811C516
|
|
movs r0, 0x87
|
|
lsls r0, 3
|
|
adds r1, r2, r0
|
|
_0811C4F2:
|
|
ldrb r0, [r1]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
b _0811C516
|
|
.align 2, 0
|
|
_0811C4FC: .4byte gUnknown_3003F64
|
|
_0811C500:
|
|
ldr r0, _0811C534 @ =gUnknown_203B08C
|
|
ldr r0, [r0]
|
|
ldr r1, _0811C538 @ =gUnknown_841E572
|
|
movs r2, 0x1
|
|
bl sub_811C150
|
|
cmp r0, 0
|
|
beq _0811C516
|
|
ldr r0, _0811C53C @ =c2_exit_to_overworld_2_switch
|
|
bl SetMainCallback2
|
|
_0811C516:
|
|
bl RunTasks
|
|
bl RunTextPrinters
|
|
bl AnimateSprites
|
|
bl BuildOamBuffer
|
|
bl UpdatePaletteFade
|
|
_0811C52A:
|
|
add sp, 0xC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0811C534: .4byte gUnknown_203B08C
|
|
_0811C538: .4byte gUnknown_841E572
|
|
_0811C53C: .4byte c2_exit_to_overworld_2_switch
|
|
thumb_func_end sub_811C1C8
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|