summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-02-29 14:30:01 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2020-02-29 14:30:01 -0500
commit9b9ae3d3374dd61870d47f025ffc0346a0b6839c (patch)
treeb3bb8a00adf53de8aabc7acede5191ab944ca8d3 /asm
parent43f66fce5574592ac1c37b9452fe858e482156bb (diff)
through sub_8080E6C
Diffstat (limited to 'asm')
-rw-r--r--asm/cable_club.s1024
1 files changed, 0 insertions, 1024 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 92f14461a..9bf812bf0 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -5,1030 +5,6 @@
.text
- thumb_func_start sub_8080748
-sub_8080748: @ 8080748
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _08080784 @ =sub_80809F8
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0808077C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08080788 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0xA]
- strh r5, [r1, 0xC]
-_0808077C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08080784: .4byte sub_80809F8
-_08080788: .4byte gTasks
- thumb_func_end sub_8080748
-
- thumb_func_start sub_808078C
-sub_808078C: @ 808078C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _080807DC @ =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStdWindowBorderStyle
- ldr r5, _080807E0 @ =gStringVar4
- ldr r1, _080807E4 @ =gUnknown_841DF82
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080807DC: .4byte gStringVar1
-_080807E0: .4byte gStringVar4
-_080807E4: .4byte gUnknown_841DF82
- thumb_func_end sub_808078C
-
- thumb_func_start sub_80807E8
-sub_80807E8: @ 80807E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl ClearStdWindowAndFrame
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80807E8
-
- thumb_func_start sub_8080808
-sub_8080808: @ 8080808
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08080830 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r5, r0
- beq _0808083E
- cmp r5, 0x1
- bhi _08080834
- ldrh r0, [r4, 0xA]
- bl sub_80807E8
- b _0808083C
- .align 2, 0
-_08080830: .4byte gTasks+0x8
-_08080834:
- ldrh r0, [r4, 0xA]
- adds r1, r5, 0
- bl sub_808078C
-_0808083C:
- strh r5, [r4, 0x6]
-_0808083E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8080808
-
- thumb_func_start sub_8080844
-sub_8080844: @ 8080844
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetLinkPlayerDataExchangeStatusTimed
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x5
- bhi _080808B4
- lsls r0, 2
- ldr r1, _08080868 @ =_0808086C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080868: .4byte _0808086C
- .align 2, 0
-_0808086C:
- .4byte _08080884
- .4byte _080808B4
- .4byte _08080888
- .4byte _0808088C
- .4byte _08080890
- .4byte _08080894
-_08080884:
- movs r0, 0x1
- b _080808B6
-_08080888:
- movs r0, 0x3
- b _080808B6
-_0808088C:
- movs r0, 0x7
- b _080808B6
-_08080890:
- movs r0, 0x9
- b _080808B6
-_08080894:
- ldr r4, _080808B0 @ =gStringVar1
- bl GetLinkPlayerCount_2
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- b _080808B6
- .align 2, 0
-_080808B0: .4byte gStringVar1
-_080808B4:
- movs r0, 0
-_080808B6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8080844
-
- thumb_func_start sub_80808BC
-sub_80808BC: @ 80808BC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl HasLinkErrorOccurred
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080808D2
- movs r0, 0
- b _080808E2
-_080808D2:
- ldr r0, _080808E8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080808EC @ =sub_8080FF0
- str r0, [r1]
- movs r0, 0x1
-_080808E2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080808E8: .4byte gTasks
-_080808EC: .4byte sub_8080FF0
- thumb_func_end sub_80808BC
-
- thumb_func_start sub_80808F0
-sub_80808F0: @ 80808F0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08080924 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08080934
- bl IsLinkConnectionEstablished
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08080934
- ldr r0, _08080928 @ =gLinkType
- strh r1, [r0]
- ldr r1, _0808092C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080930 @ =sub_8080FB4
- str r1, [r0]
- movs r0, 0x1
- b _08080936
- .align 2, 0
-_08080924: .4byte gMain
-_08080928: .4byte gLinkType
-_0808092C: .4byte gTasks
-_08080930: .4byte sub_8080FB4
-_08080934:
- movs r0, 0
-_08080936:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80808F0
-
- thumb_func_start sub_808093C
-sub_808093C: @ 808093C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _08080952
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
-_08080952:
- ldr r0, _08080964 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08080968
- movs r0, 0
- b _0808097E
- .align 2, 0
-_08080964: .4byte gMain
-_08080968:
- ldr r1, _08080984 @ =gLinkType
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08080988 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808098C @ =sub_8080FB4
- str r1, [r0]
- movs r0, 0x1
-_0808097E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08080984: .4byte gLinkType
-_08080988: .4byte gTasks
-_0808098C: .4byte sub_8080FB4
- thumb_func_end sub_808093C
-
- thumb_func_start sub_8080990
-sub_8080990: @ 8080990
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetSioMultiSI
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080809A6
- movs r0, 0
- b _080809B6
-_080809A6:
- ldr r0, _080809BC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080809C0 @ =sub_8080FF0
- str r0, [r1]
- movs r0, 0x1
-_080809B6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080809BC: .4byte gTasks
-_080809C0: .4byte sub_8080FF0
- thumb_func_end sub_8080990
-
- thumb_func_start sub_80809C4
-sub_80809C4: @ 80809C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080809F4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080809EE
- movs r0, 0x2
- bl sub_800A474
- adds r0, r4, 0
- bl DestroyTask
-_080809EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080809F4: .4byte gTasks
- thumb_func_end sub_80809C4
-
- thumb_func_start sub_80809F8
-sub_80809F8: @ 80809F8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08080A28 @ =gTasks+0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _08080A30
- bl OpenLinkTimed
- bl sub_800AA24
- bl ResetLinkPlayers
- ldr r0, _08080A2C @ =gUnknown_83C6AB0
- bl AddWindow
- strh r0, [r4, 0xA]
- b _08080A3C
- .align 2, 0
-_08080A28: .4byte gTasks+0x8
-_08080A2C: .4byte gUnknown_83C6AB0
-_08080A30:
- cmp r2, 0x9
- ble _08080A3C
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, _08080A48 @ =sub_8080A4C
- str r1, [r0]
-_08080A3C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080A48: .4byte sub_8080A4C
- thumb_func_end sub_80809F8
-
- thumb_func_start sub_8080A4C
-sub_8080A4C: @ 8080A4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080AC0
- adds r0, r4, 0
- bl sub_808093C
- cmp r0, 0x1
- beq _08080AC0
- cmp r5, 0x1
- bls _08080AC0
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- ldr r1, _08080AA4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0xE]
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08080AB0
- movs r0, 0x15
- bl PlaySE
- ldr r0, _08080AA8 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- ldr r0, _08080AAC @ =sub_8080AD0
- b _08080ABE
- .align 2, 0
-_08080AA4: .4byte gTasks
-_08080AA8: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
-_08080AAC: .4byte sub_8080AD0
-_08080AB0:
- movs r0, 0x16
- bl PlaySE
- ldr r0, _08080AC8 @ =CableClub_Text_AwaitingLinkupBCancel
- bl ShowFieldAutoScrollMessage
- ldr r0, _08080ACC @ =sub_8080CDC
-_08080ABE:
- str r0, [r4]
-_08080AC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080AC8: .4byte CableClub_Text_AwaitingLinkupBCancel
-_08080ACC: .4byte sub_8080CDC
- thumb_func_end sub_8080A4C
-
- thumb_func_start sub_8080AD0
-sub_8080AD0: @ 8080AD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080B10
- adds r0, r4, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080B10
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080B10
- bl textbox_any_visible
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08080B10
- ldr r0, _08080B18 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xE]
- ldr r0, _08080B1C @ =sub_8080B20
- str r0, [r1]
-_08080B10:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080B18: .4byte gTasks
-_08080B1C: .4byte sub_8080B20
- thumb_func_end sub_8080AD0
-
- thumb_func_start sub_8080B20
-sub_8080B20: @ 8080B20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r8, r0
- ldr r0, _08080BB4 @ =gTasks+0x8
- mov r9, r0
- mov r7, r8
- add r7, r9
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080BA8
- adds r0, r4, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080BA8
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080BA8
- adds r6, r5, 0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8080808
- ldr r0, _08080BB8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080BA8
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r5, r0
- blt _08080BA8
- adds r0, r6, 0
- bl sub_800A900
- ldrh r0, [r7, 0xA]
- bl sub_80807E8
- ldr r0, _08080BBC @ =gStringVar1
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, _08080BC0 @ =CableClub_Text_StartLinkWithXPlayersAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- mov r0, r9
- subs r0, 0x8
- add r0, r8
- ldr r1, _08080BC4 @ =sub_8080BC8
- str r1, [r0]
-_08080BA8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080BB4: .4byte gTasks+0x8
-_08080BB8: .4byte gMain
-_08080BBC: .4byte gStringVar1
-_08080BC0: .4byte CableClub_Text_StartLinkWithXPlayersAConfirmBCancel
-_08080BC4: .4byte sub_8080BC8
- thumb_func_end sub_8080B20
-
- thumb_func_start sub_8080BC8
-sub_8080BC8: @ 8080BC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r5, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080C5C
- adds r0, r5, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080C5C
- adds r0, r5, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080C5C
- bl textbox_any_visible
- lsls r0, 24
- cmp r0, 0
- bne _08080C5C
- bl GetSavedPlayerCount
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08080C16
- ldr r0, _08080C2C @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08080C3C
-_08080C16:
- ldr r0, _08080C30 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- ldr r1, _08080C34 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080C38 @ =sub_8080AD0
- str r1, [r0]
- b _08080C5C
- .align 2, 0
-_08080C2C: .4byte gMain
-_08080C30: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
-_08080C34: .4byte gTasks
-_08080C38: .4byte sub_8080AD0
-_08080C3C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080C5C
- movs r0, 0x5
- bl PlaySE
- bl CheckShouldAdvanceLinkState
- ldr r0, _08080C64 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080C68 @ =sub_8080C6C
- str r0, [r1]
-_08080C5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08080C64: .4byte gTasks
-_08080C68: .4byte sub_8080C6C
- thumb_func_end sub_8080BC8
-
- thumb_func_start sub_8080C6C
-sub_8080C6C: @ 8080C6C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08080CB0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r7, [r5, 0xA]
- ldrb r6, [r5, 0xC]
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080CCE
- adds r0, r4, 0
- bl sub_808102C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08080CCE
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl GetSavedPlayerCount
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08080CB8
- ldr r0, _08080CB4 @ =sub_8080FF0
- b _08080CCC
- .align 2, 0
-_08080CB0: .4byte gTasks
-_08080CB4: .4byte sub_8080FF0
-_08080CB8:
- ldr r4, _08080CD4 @ =gSpecialVar_Result
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8080844
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _08080CCE
- ldr r0, _08080CD8 @ =sub_8080DC0
-_08080CCC:
- str r0, [r5]
-_08080CCE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080CD4: .4byte gSpecialVar_Result
-_08080CD8: .4byte sub_8080DC0
- thumb_func_end sub_8080C6C
-
- thumb_func_start sub_8080CDC
-sub_8080CDC: @ 8080CDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08080D30 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r7, [r5, 0xA]
- ldrb r6, [r5, 0xC]
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080D74
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080D74
- ldr r4, _08080D34 @ =gSpecialVar_Result
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8080844
- adds r1, r0, 0
- strh r1, [r4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08080D74
- subs r0, r1, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08080D3C
- bl Link_TryStartSend5FFF
- bl HideFieldMessageBox
- ldr r0, _08080D38 @ =sub_8080F78
- b _08080D72
- .align 2, 0
-_08080D30: .4byte gTasks
-_08080D34: .4byte gSpecialVar_Result
-_08080D38: .4byte sub_8080F78
-_08080D3C:
- cmp r2, 0x7
- beq _08080D44
- cmp r2, 0x9
- bne _08080D54
-_08080D44:
- bl CloseLink
- bl HideFieldMessageBox
- ldr r0, _08080D50 @ =sub_8080F78
- b _08080D72
- .align 2, 0
-_08080D50: .4byte sub_8080F78
-_08080D54:
- bl GetLinkPlayerCount_2
- ldr r4, _08080D7C @ =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, _08080D80 @ =gLocalLinkPlayerId
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800A900
- ldr r0, _08080D84 @ =gBlockSendBuffer
- bl TrainerCard_GenerateCardForLinkPlayer
- ldr r0, _08080D88 @ =sub_8080E6C
-_08080D72:
- str r0, [r5]
-_08080D74:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080D7C: .4byte gFieldLinkPlayerCount
-_08080D80: .4byte gLocalLinkPlayerId
-_08080D84: .4byte gBlockSendBuffer
-_08080D88: .4byte sub_8080E6C
- thumb_func_end sub_8080CDC
-
- thumb_func_start sub_8080D8C
-sub_8080D8C: @ 8080D8C
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08080D94 @ =gLinkPlayers
- b _08080DAC
- .align 2, 0
-_08080D94: .4byte gLinkPlayers
-_08080D98:
- ldrb r0, [r4]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08080DA8
- movs r0, 0x1
- b _08080DBA
-_08080DA8:
- adds r4, 0x1C
- adds r5, 0x1
-_08080DAC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _08080D98
- movs r0, 0
-_08080DBA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8080D8C
-
- thumb_func_start sub_8080DC0
-sub_8080DC0: @ 8080DC0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080E50
- ldr r0, _08080DE8 @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x4
- bne _08080DEC
- bl sub_8080D8C
- cmp r0, 0x1
- beq _08080DFE
- bl Link_TryStartSend5FFF
- b _08080E02
- .align 2, 0
-_08080DE8: .4byte gSpecialVar_Result
-_08080DEC:
- cmp r0, 0x3
- bne _08080DF6
- bl Link_TryStartSend5FFF
- b _08080E02
-_08080DF6:
- cmp r0, 0x7
- beq _08080DFE
- cmp r0, 0x9
- bne _08080E20
-_08080DFE:
- bl CloseLink
-_08080E02:
- bl HideFieldMessageBox
- ldr r0, _08080E18 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080E1C @ =sub_8080F78
- str r0, [r1]
- b _08080E50
- .align 2, 0
-_08080E18: .4byte gTasks
-_08080E1C: .4byte sub_8080F78
-_08080E20:
- bl GetLinkPlayerCount_2
- ldr r4, _08080E58 @ =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, _08080E5C @ =gLocalLinkPlayerId
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800A900
- ldr r0, _08080E60 @ =gBlockSendBuffer
- bl TrainerCard_GenerateCardForLinkPlayer
- ldr r1, _08080E64 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080E68 @ =sub_8080E6C
- str r1, [r0]
- movs r0, 0x2
- bl sub_800A474
-_08080E50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080E58: .4byte gFieldLinkPlayerCount
-_08080E5C: .4byte gLocalLinkPlayerId
-_08080E60: .4byte gBlockSendBuffer
-_08080E64: .4byte gTasks
-_08080E68: .4byte sub_8080E6C
- thumb_func_end sub_8080DC0
-
- thumb_func_start sub_8080E6C
-sub_8080E6C: @ 8080E6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080F66
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A8A4
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08080F66
- movs r5, 0
- lsls r0, r7, 2
- mov r8, r0
- b _08080EF8
-_08080E9A:
- ldr r1, _08080ED0 @ =gLinkPlayers
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r6, r0, r1
- ldrb r0, [r6]
- subs r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08080EDC
- lsls r1, r5, 8
- ldr r0, _08080ED4 @ =gBlockRecvBuffer
- adds r1, r0
- ldr r0, _08080ED8 @ =gTrainerCards
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 5
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0x38
- bl memcpy
- ldrh r0, [r6]
- adds r4, 0x38
- strb r0, [r4]
- b _08080EF2
- .align 2, 0
-_08080ED0: .4byte gLinkPlayers
-_08080ED4: .4byte gBlockRecvBuffer
-_08080ED8: .4byte gTrainerCards
-_08080EDC:
- lsls r1, r5, 8
- ldr r0, _08080F3C @ =gBlockRecvBuffer
- adds r1, r0
- ldr r2, _08080F40 @ =gTrainerCards
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 5
- adds r0, r2
- movs r2, 0x60
- bl memcpy
-_08080EF2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08080EF8:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _08080E9A
- movs r0, 0
- bl SetSuppressLinkErrorMessage
- bl ResetBlockReceivedFlags
- bl HideFieldMessageBox
- ldr r0, _08080F44 @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _08080F54
- ldr r0, _08080F48 @ =gLinkType
- ldrh r1, [r0]
- ldr r0, _08080F4C @ =0x00004411
- ldr r0, _08080F50 @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x12]
- bl sub_80807E8
- bl EnableBothScriptContexts
- adds r0, r7, 0
- bl DestroyTask
- b _08080F66
- .align 2, 0
-_08080F3C: .4byte gBlockRecvBuffer
-_08080F40: .4byte gTrainerCards
-_08080F44: .4byte gSpecialVar_Result
-_08080F48: .4byte gLinkType
-_08080F4C: .4byte 0x00004411
-_08080F50: .4byte gTasks
-_08080F54:
- bl Link_TryStartSend5FFF
- ldr r0, _08080F70 @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080F74 @ =sub_8080F78
- str r0, [r1]
-_08080F66:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080F70: .4byte gTasks
-_08080F74: .4byte sub_8080F78
- thumb_func_end sub_8080E6C
-
thumb_func_start sub_8080F78
sub_8080F78: @ 8080F78
push {r4,r5,lr}