through sub_8116738

This commit is contained in:
PikalaxALT
2020-01-20 12:14:55 -05:00
parent bc0fbb5d6e
commit 8d5af53329
3 changed files with 275 additions and 677 deletions
-677
View File
@@ -5,683 +5,6 @@
.text
thumb_func_start TryJoinLinkGroup
TryJoinLinkGroup: @ 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 @ =gSpecialVar_Result
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 gSpecialVar_Result
thumb_func_end TryJoinLinkGroup
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 @ =gSpecialVar_0x8004
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 OpenLink
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 gSpecialVar_0x8004
_08116808: .4byte gUnknown_203B058
_0811680C:
adds r0, r6, 0
adds r0, 0x9
ldr r2, _08116830 @ =gUnknown_84591B8
ldr r1, _08116834 @ =gSpecialVar_0x8004
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 gSpecialVar_0x8004
_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 @ =gSpecialVar_0x8004
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 DrawStdWindowFrame
ldr r0, _081168FC @ =gMultiuseListMenuTemplate
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 DrawStdWindowFrame
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 gSpecialVar_0x8004
_081168EC: .4byte gUnknown_8456CD0
_081168F0: .4byte gUnknown_8456D4C
_081168F4: .4byte gUnknown_8456D54
_081168F8: .4byte gUnknown_8458FC8
_081168FC: .4byte gMultiuseListMenuTemplate
_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 ListMenu_ProcessInput
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 @ =gReceivedRemoteLinkPlayers
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 gReceivedRemoteLinkPlayers
_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 RedrawListMenu
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 ClearStdWindowAndFrame
ldrb r0, [r6, 0xE]
movs r1, 0
movs r2, 0
bl DestroyListMenuTask
ldrb r0, [r6, 0xC]
bl ClearWindowTilemap
ldrb r0, [r6, 0xB]
movs r1, 0
bl ClearStdWindowAndFrame
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 DestroyWirelessStatusIndicatorSprite
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 @ =gSpecialVar_Result
movs r1, 0x6
b _08116CDC
.align 2, 0
_08116C90: .4byte gUnknown_8457754
_08116C94: .4byte gSpecialVar_Result
_08116C98:
bl DestroyWirelessStatusIndicatorSprite
ldr r0, _08116CA4 @ =gSpecialVar_Result
movs r1, 0x5
b _08116CDC
.align 2, 0
_08116CA4: .4byte gSpecialVar_Result
_08116CA8:
bl DestroyWirelessStatusIndicatorSprite
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 @ =gSpecialVar_Result
movs r1, 0x8
_08116CDC:
strh r1, [r0]
movs r0, 0x17
strb r0, [r6, 0x8]
b _08116D06
.align 2, 0
_08116CE4: .4byte gStringVar4
_08116CE8: .4byte gSpecialVar_Result
_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}