diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-02 10:15:07 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2020-03-02 10:15:07 -0500 |
commit | d758ae0dc2b91f1233872f6950b8f2d121bf961c (patch) | |
tree | c7607e2d703583286c11bfc8936bb473a6fe4883 /asm | |
parent | 2f8ac698c8a03954d3bf0d05a9ef13dd447eaf53 (diff) | |
parent | fc51c579d4a422b168a4efb88b5f15164fbb7db0 (diff) |
Merge branch 'master' of github.com:pret/pokefirered into field_effect
Diffstat (limited to 'asm')
-rw-r--r-- | asm/cable_club.s | 2528 | ||||
-rw-r--r-- | asm/overworld.s | 6 |
2 files changed, 3 insertions, 2531 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s deleted file mode 100644 index 92f14461a..000000000 --- a/asm/cable_club.s +++ /dev/null @@ -1,2528 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .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} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08080FAC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08080FA6 - ldr r0, _08080FB0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x12] - bl sub_80807E8 - bl EnableBothScriptContexts - ldrb r0, [r4, 0x12] - bl RemoveWindow - adds r0, r5, 0 - bl DestroyTask -_08080FA6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08080FAC: .4byte gReceivedRemoteLinkPlayers -_08080FB0: .4byte gTasks - thumb_func_end sub_8080F78 - - thumb_func_start sub_8080FB4 -sub_8080FB4: @ 8080FB4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08080FE8 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - ldr r1, _08080FEC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08080FE8: .4byte gSpecialVar_Result -_08080FEC: .4byte gTasks - thumb_func_end sub_8080FB4 - - thumb_func_start sub_8080FF0 -sub_8080FF0: @ 8080FF0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _08081024 @ =gSpecialVar_Result - movs r0, 0x6 - strh r0, [r1] - ldr r1, _08081028 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x12] - bl sub_80807E8 - bl HideFieldMessageBox - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081024: .4byte gSpecialVar_Result -_08081028: .4byte gTasks - thumb_func_end sub_8080FF0 - - thumb_func_start sub_808102C -sub_808102C: @ 808102C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08081050 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 18 - cmp r0, r1 - bgt _08081054 - movs r0, 0 - b _0808105A - .align 2, 0 -_08081050: .4byte gTasks -_08081054: - ldr r0, _08081060 @ =sub_8080FF0 - str r0, [r2] - movs r0, 0x1 -_0808105A: - pop {r1} - bx r1 - .align 2, 0 -_08081060: .4byte sub_8080FF0 - thumb_func_end sub_808102C - - thumb_func_start TryBattleLinkup -TryBattleLinkup: @ 8081064 - push {r4,lr} - movs r3, 0x2 - movs r2, 0x2 - ldr r0, _0808107C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081098 - cmp r0, 0x2 - bgt _08081080 - cmp r0, 0x1 - beq _08081086 - b _080810B4 - .align 2, 0 -_0808107C: .4byte gSpecialVar_0x8004 -_08081080: - cmp r0, 0x5 - beq _080810A8 - b _080810B4 -_08081086: - movs r3, 0x2 - ldr r1, _08081090 @ =gLinkType - ldr r4, _08081094 @ =0x00002233 - b _080810B0 - .align 2, 0 -_08081090: .4byte gLinkType -_08081094: .4byte 0x00002233 -_08081098: - movs r3, 0x2 - ldr r1, _080810A0 @ =gLinkType - ldr r4, _080810A4 @ =0x00002244 - b _080810B0 - .align 2, 0 -_080810A0: .4byte gLinkType -_080810A4: .4byte 0x00002244 -_080810A8: - movs r3, 0x4 - movs r2, 0x4 - ldr r1, _080810C4 @ =gLinkType - ldr r4, _080810C8 @ =0x00002255 -_080810B0: - adds r0, r4, 0 - strh r0, [r1] -_080810B4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8080748 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080810C4: .4byte gLinkType -_080810C8: .4byte 0x00002255 - thumb_func_end TryBattleLinkup - - thumb_func_start TryTradeLinkup -TryTradeLinkup: @ 80810CC - push {lr} - ldr r1, _080810E8 @ =gLinkType - ldr r2, _080810EC @ =0x00001133 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _080810F0 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x2 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_080810E8: .4byte gLinkType -_080810EC: .4byte 0x00001133 -_080810F0: .4byte gBattleTypeFlags - thumb_func_end TryTradeLinkup - - thumb_func_start sub_80810F4 -sub_80810F4: @ 80810F4 - push {lr} - ldr r1, _08081118 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - ldr r1, _0808111C @ =gLinkType - ldr r2, _08081120 @ =0x00003311 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08081124 @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x2 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081118: .4byte gSpecialVar_Result -_0808111C: .4byte gLinkType -_08081120: .4byte 0x00003311 -_08081124: .4byte gBattleTypeFlags - thumb_func_end sub_80810F4 - - thumb_func_start sub_8081128 -sub_8081128: @ 8081128 - push {lr} - ldr r1, _08081144 @ =gLinkType - ldr r2, _08081148 @ =0x00006601 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0808114C @ =gBattleTypeFlags - movs r0, 0 - str r0, [r1] - movs r0, 0x4 - movs r1, 0x4 - bl sub_8080748 - pop {r0} - bx r0 - .align 2, 0 -_08081144: .4byte gLinkType -_08081148: .4byte 0x00006601 -_0808114C: .4byte gBattleTypeFlags - thumb_func_end sub_8081128 - - thumb_func_start sub_8081150 -sub_8081150: @ 8081150 - push {lr} - ldr r0, _08081164 @ =sub_80811FC - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08081168 - movs r0, 0xFF - b _080811EC - .align 2, 0 -_08081164: .4byte sub_80811FC -_08081168: - ldr r0, _0808117C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x4 - bhi _080811E0 - lsls r0, 2 - ldr r1, _08081180 @ =_08081184 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808117C: .4byte gSpecialVar_0x8004 -_08081180: .4byte _08081184 - .align 2, 0 -_08081184: - .4byte _08081198 - .4byte _080811A8 - .4byte _080811C8 - .4byte _080811D8 - .4byte _080811B8 -_08081198: - ldr r1, _080811A0 @ =gLinkType - ldr r2, _080811A4 @ =0x00002233 - b _080811DC - .align 2, 0 -_080811A0: .4byte gLinkType -_080811A4: .4byte 0x00002233 -_080811A8: - ldr r1, _080811B0 @ =gLinkType - ldr r2, _080811B4 @ =0x00002244 - b _080811DC - .align 2, 0 -_080811B0: .4byte gLinkType -_080811B4: .4byte 0x00002244 -_080811B8: - ldr r1, _080811C0 @ =gLinkType - ldr r2, _080811C4 @ =0x00002255 - b _080811DC - .align 2, 0 -_080811C0: .4byte gLinkType -_080811C4: .4byte 0x00002255 -_080811C8: - ldr r1, _080811D0 @ =gLinkType - ldr r2, _080811D4 @ =0x00001111 - b _080811DC - .align 2, 0 -_080811D0: .4byte gLinkType -_080811D4: .4byte 0x00001111 -_080811D8: - ldr r1, _080811F0 @ =gLinkType - ldr r2, _080811F4 @ =0x00003322 -_080811DC: - adds r0, r2, 0 - strh r0, [r1] -_080811E0: - ldr r0, _080811F8 @ =sub_80811FC - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 -_080811EC: - pop {r1} - bx r1 - .align 2, 0 -_080811F0: .4byte gLinkType -_080811F4: .4byte 0x00003322 -_080811F8: .4byte sub_80811FC - thumb_func_end sub_8081150 - - thumb_func_start sub_80811FC -sub_80811FC: @ 80811FC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08081228 @ =gTasks+0x8 - adds r4, r1, r0 - movs r3, 0 - ldrsh r2, [r4, r3] - cmp r2, 0 - bne _08081230 - bl OpenLink - bl ResetLinkPlayers - ldr r0, _0808122C @ =sub_8081A90 - movs r1, 0x50 - bl CreateTask - b _0808123C - .align 2, 0 -_08081228: .4byte gTasks+0x8 -_0808122C: .4byte sub_8081A90 -_08081230: - cmp r2, 0x9 - ble _0808123C - subs r0, 0x8 - adds r0, r1, r0 - ldr r1, _08081248 @ =sub_808124C - str r1, [r0] -_0808123C: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081248: .4byte sub_808124C - thumb_func_end sub_80811FC - - thumb_func_start sub_808124C -sub_808124C: @ 808124C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _08081292 - bl IsLinkMaster - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081284 - ldr r0, _0808127C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08081280 @ =sub_80812A0 - b _08081290 - .align 2, 0 -_0808127C: .4byte gTasks -_08081280: .4byte sub_80812A0 -_08081284: - ldr r0, _08081298 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0808129C @ =sub_80812D8 -_08081290: - str r0, [r1] -_08081292: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081298: .4byte gTasks -_0808129C: .4byte sub_80812D8 - thumb_func_end sub_808124C - - thumb_func_start sub_80812A0 -sub_80812A0: @ 80812A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl GetSavedPlayerCount - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080812CA - bl CheckShouldAdvanceLinkState - ldr r0, _080812D0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080812D4 @ =sub_80812D8 - str r0, [r1] -_080812CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080812D0: .4byte gTasks -_080812D4: .4byte sub_80812D8 - thumb_func_end sub_80812A0 - - thumb_func_start sub_80812D8 -sub_80812D8: @ 80812D8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081308 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _08081300 - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08081300 - bl sub_800A9A4 - bl sub_8009FE8 - adds r0, r4, 0 - bl DestroyTask -_08081300: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081308: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80812D8 - - thumb_func_start sub_808130C -sub_808130C: @ 808130C - push {lr} - bl Field_AskSaveTheGame - pop {r0} - bx r0 - thumb_func_end sub_808130C - - thumb_func_start sub_8081318 -sub_8081318: @ 8081318 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808133C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x5 - bls _08081332 - b _0808143A -_08081332: - lsls r0, 2 - ldr r1, _08081340 @ =_08081344 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808133C: .4byte gTasks -_08081340: .4byte _08081344 - .align 2, 0 -_08081344: - .4byte _0808135C - .4byte _0808137C - .4byte _0808138C - .4byte _0808139C - .4byte _080813A2 - .4byte _080813B8 -_0808135C: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r1, _08081374 @ =gLinkType - ldr r2, _08081378 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - bl ClearLinkCallback_2 - b _080813AA - .align 2, 0 -_08081374: .4byte gLinkType -_08081378: .4byte 0x00002211 -_0808137C: - ldr r0, _08081388 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - b _080813A6 - .align 2, 0 -_08081388: .4byte gPaletteFade -_0808138C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808143A - b _080813AA -_0808139C: - bl Link_TryStartSend5FFF - b _080813AA -_080813A2: - ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] -_080813A6: - cmp r0, 0 - bne _0808143A -_080813AA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0808143A - .align 2, 0 -_080813B4: .4byte gReceivedRemoteLinkPlayers -_080813B8: - ldr r0, _080813CC @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080813D4 - ldr r0, _080813D0 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080813DC - .align 2, 0 -_080813CC: .4byte gLinkPlayers -_080813D0: .4byte 0x00000109 -_080813D4: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080813DC: - ldr r0, _080813F0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _08081404 - cmp r0, 0x2 - bgt _080813F4 - cmp r0, 0x1 - beq _080813FA - b _0808141A - .align 2, 0 -_080813F0: .4byte gSpecialVar_0x8004 -_080813F4: - cmp r0, 0x5 - beq _08081410 - b _0808141A -_080813FA: - ldr r1, _08081400 @ =gBattleTypeFlags - movs r0, 0xA - b _08081418 - .align 2, 0 -_08081400: .4byte gBattleTypeFlags -_08081404: - ldr r1, _0808140C @ =gBattleTypeFlags - movs r0, 0xB - b _08081418 - .align 2, 0 -_0808140C: .4byte gBattleTypeFlags -_08081410: - bl ReducePlayerPartyToThree - ldr r1, _08081440 @ =gBattleTypeFlags - movs r0, 0x4B -_08081418: - str r0, [r1] -_0808141A: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081444 @ =gTrainerBattleOpponent_A - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08081448 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808144C @ =gMain - ldr r0, _08081450 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r5, 0 - bl DestroyTask -_0808143A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081440: .4byte gBattleTypeFlags -_08081444: .4byte gTrainerBattleOpponent_A -_08081448: .4byte CB2_InitBattle -_0808144C: .4byte gMain -_08081450: .4byte sub_8081668 - thumb_func_end sub_8081318 - - thumb_func_start sub_8081454 -sub_8081454: @ 8081454 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081478 @ =gTasks+0x8 - adds r6, r0, r1 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0x7 - bls _0808146E - b _0808160A -_0808146E: - lsls r0, 2 - ldr r1, _0808147C @ =_08081480 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08081478: .4byte gTasks+0x8 -_0808147C: .4byte _08081480 - .align 2, 0 -_08081480: - .4byte _080814A0 - .4byte _080814C4 - .4byte _080814DC - .4byte _080814F0 - .4byte _0808154C - .4byte _08081560 - .4byte _0808156A - .4byte _0808157A -_080814A0: - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, _080814BC @ =gLinkType - ldr r2, _080814C0 @ =0x00002211 - adds r1, r2, 0 - strh r1, [r0] - bl ClearLinkCallback_2 - movs r0, 0x1 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814BC: .4byte gLinkType -_080814C0: .4byte 0x00002211 -_080814C4: - ldr r0, _080814D8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080814D2 - b _0808160A -_080814D2: - movs r0, 0x2 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814D8: .4byte gPaletteFade -_080814DC: - ldr r1, _080814EC @ =gLocalLinkPlayer - movs r0, 0 - movs r2, 0x1C - bl SendBlock - movs r0, 0x3 - strh r0, [r6] - b _0808160A - .align 2, 0 -_080814EC: .4byte gLocalLinkPlayer -_080814F0: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8D4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _08081504 - b _0808160A -_08081504: - movs r4, 0 - ldr r5, _0808150C @ =gLinkPlayers - b _08081536 - .align 2, 0 -_0808150C: .4byte gLinkPlayers -_08081510: - lsls r1, r4, 8 - ldr r2, _08081548 @ =gBlockRecvBuffer - adds r0, r5, 0 - adds r1, r2 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldr r1, [r1] - str r1, [r0] - adds r0, r5, 0 - bl IntlConvertLinkPlayerName - lsls r0, r4, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag - adds r5, 0x1C - adds r4, 0x1 -_08081536: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _08081510 - movs r0, 0x4 - strh r0, [r6] - b _0808160A - .align 2, 0 -_08081548: .4byte gBlockRecvBuffer -_0808154C: - ldrh r0, [r6, 0x2] - adds r0, 0x1 - strh r0, [r6, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0808160A - movs r0, 0x5 - strh r0, [r6] - b _0808160A -_08081560: - bl PrepareSendLinkCmd2FFE_or_RfuCmd6600 - movs r0, 0x6 - strh r0, [r6] - b _0808160A -_0808156A: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808160A - movs r0, 0x7 - strh r0, [r6] - b _0808160A -_0808157A: - ldr r0, _08081590 @ =gLinkPlayers - ldr r0, [r0, 0x4] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08081598 - ldr r0, _08081594 @ =0x00000109 - bl PlayMapChosenOrBattleBGM - b _080815A0 - .align 2, 0 -_08081590: .4byte gLinkPlayers -_08081594: .4byte 0x00000109 -_08081598: - movs r0, 0x85 - lsls r0, 1 - bl PlayMapChosenOrBattleBGM -_080815A0: - ldr r0, _080815B8 @ =gLinkPlayers - ldr r1, _080815BC @ =0x00002211 - str r1, [r0, 0x14] - ldr r0, _080815C0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x2 - beq _080815D4 - cmp r0, 0x2 - bgt _080815C4 - cmp r0, 0x1 - beq _080815CA - b _080815EA - .align 2, 0 -_080815B8: .4byte gLinkPlayers -_080815BC: .4byte 0x00002211 -_080815C0: .4byte gSpecialVar_0x8004 -_080815C4: - cmp r0, 0x5 - beq _080815E0 - b _080815EA -_080815CA: - ldr r1, _080815D0 @ =gBattleTypeFlags - movs r0, 0xA - b _080815E8 - .align 2, 0 -_080815D0: .4byte gBattleTypeFlags -_080815D4: - ldr r1, _080815DC @ =gBattleTypeFlags - movs r0, 0xB - b _080815E8 - .align 2, 0 -_080815DC: .4byte gBattleTypeFlags -_080815E0: - bl ReducePlayerPartyToThree - ldr r1, _08081610 @ =gBattleTypeFlags - movs r0, 0x4B -_080815E8: - str r0, [r1] -_080815EA: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08081614 @ =gTrainerBattleOpponent_A - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _08081618 @ =CB2_InitBattle - bl SetMainCallback2 - ldr r1, _0808161C @ =gMain - ldr r0, _08081620 @ =sub_8081668 - str r0, [r1, 0x8] - adds r0, r4, 0 - bl DestroyTask -_0808160A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08081610: .4byte gBattleTypeFlags -_08081614: .4byte gTrainerBattleOpponent_A -_08081618: .4byte CB2_InitBattle -_0808161C: .4byte gMain -_08081620: .4byte sub_8081668 - thumb_func_end sub_8081454 - - thumb_func_start sub_8081624 -sub_8081624: @ 8081624 - push {r4,lr} - ldr r0, _0808163C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _08081640 - cmp r0, 0x1 - beq _0808164C - b _0808165C - .align 2, 0 -_0808163C: .4byte gMain -_08081640: - bl Link_TryStartSend5FFF - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0808165C -_0808164C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0808165C - ldr r0, _08081664 @ =CB2_ReturnToField - bl SetMainCallback2 -_0808165C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081664: .4byte CB2_ReturnToField - thumb_func_end sub_8081624 - - thumb_func_start sub_8081668 -sub_8081668: @ 8081668 - push {r4,r5,lr} - ldr r2, _080816B0 @ =gBattleTypeFlags - ldr r0, [r2] - ldr r1, _080816B4 @ =0x0000ffdf - ands r0, r1 - str r0, [r2] - bl sub_8055DB8 - bl LoadPlayerParty - bl SavePlayerBag - bl Special_UpdateTrainerFansAfterLinkBattle - ldr r0, _080816B8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0x5 - beq _0808170A - ldr r0, _080816BC @ =gLocalLinkPlayerId - ldrb r0, [r0] - movs r5, 0x1 - eors r0, r5 - bl TryRecordLinkBattleOutcome - ldr r0, _080816C0 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0808170A - ldr r0, _080816C4 @ =gBattleOutcome - ldrb r0, [r0] - cmp r0, 0x1 @ B_OUTCOME_WON - beq _080816C8 - cmp r0, 0x2 @ B_OUTCOME_LOST - beq _080816EC - b _0808170A - .align 2, 0 -_080816B0: .4byte gBattleTypeFlags -_080816B4: .4byte 0x0000ffdf -_080816B8: .4byte gSpecialVar_0x8004 -_080816BC: .4byte gLocalLinkPlayerId -_080816C0: .4byte gWirelessCommType -_080816C4: .4byte gBattleOutcome -_080816C8: - @ MEvent_RecordIdOfWonderCardSenderByEventType(0, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); - ldr r4, _080816E8 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0 - bl MEvent_RecordIdOfWonderCardSenderByEventType - b _0808170A - .align 2, 0 -_080816E8: .4byte gLinkPlayers -_080816EC: - @ MEvent_RecordIdOfWonderCardSenderByEventType(1, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); - ldr r4, _08081718 @ =gLinkPlayers - bl GetMultiplayerId - eors r0, r5 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0x1 - bl MEvent_RecordIdOfWonderCardSenderByEventType -_0808170A: - bl InUnionRoom - cmp r0, 0x1 - bne _08081724 - ldr r1, _0808171C @ =gMain - ldr r0, _08081720 @ =sub_8081624 - b _08081728 - .align 2, 0 -_08081718: .4byte gLinkPlayers -_0808171C: .4byte gMain -_08081720: .4byte sub_8081624 -_08081724: - ldr r1, _08081738 @ =gMain - ldr r0, _0808173C @ =c2_8056854 -_08081728: - str r0, [r1, 0x8] - ldr r0, _08081740 @ =CB2_SetUpSaveAfterLinkBattle - bl SetMainCallback2 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081738: .4byte gMain -_0808173C: .4byte c2_8056854 -_08081740: .4byte CB2_SetUpSaveAfterLinkBattle - thumb_func_end sub_8081668 - - thumb_func_start CleanupLinkRoomState -CleanupLinkRoomState: @ 8081744 - push {lr} - ldr r0, _0808176C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _08081758 - cmp r1, 0x5 - bne _08081760 -_08081758: - bl LoadPlayerParty - bl SavePlayerBag -_08081760: - movs r0, 0x7F - bl copy_saved_warp2_bank_and_enter_x_to_warp1 - pop {r0} - bx r0 - .align 2, 0 -_0808176C: .4byte gSpecialVar_0x8004 - thumb_func_end CleanupLinkRoomState - - thumb_func_start sub_8081770 -sub_8081770: @ 8081770 - push {lr} - bl sub_8057F5C - pop {r0} - bx r0 - thumb_func_end sub_8081770 - - thumb_func_start sub_808177C -sub_808177C: @ 808177C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _080817A0 @ =gTasks - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _080817C0 - cmp r0, 0x1 - bgt _080817A4 - cmp r0, 0 - beq _080817AE - b _08081820 - .align 2, 0 -_080817A0: .4byte gTasks -_080817A4: - cmp r0, 0x2 - beq _080817E0 - cmp r0, 0x3 - beq _0808180C - b _08081820 -_080817AE: - ldr r0, _080817BC @ =CableClub_Text_PleaseWaitBCancel - bl ShowFieldMessage - movs r0, 0x1 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817BC: .4byte CableClub_Text_PleaseWaitBCancel -_080817C0: - bl IsFieldMessageBoxHidden - lsls r0, 24 - cmp r0, 0 - beq _08081820 - bl sub_8057F34 - ldr r0, _080817DC @ =gSpecialVar_0x8005 - ldrb r0, [r0] - bl SetLocalLinkPlayerId - movs r0, 0x2 - strh r0, [r5, 0x8] - b _08081820 - .align 2, 0 -_080817DC: .4byte gSpecialVar_0x8005 -_080817E0: - bl sub_8057EC0 - cmp r0, 0x1 - beq _080817F2 - cmp r0, 0x1 - bcc _08081820 - cmp r0, 0x2 - beq _08081806 - b _08081820 -_080817F2: - bl HideFieldMessageBox - movs r0, 0 - strh r0, [r5, 0x8] - bl sub_8057F70 - adds r0, r4, 0 - bl SwitchTaskToFollowupFunc - b _08081820 -_08081806: - movs r0, 0x3 - strh r0, [r5, 0x8] - b _08081820 -_0808180C: - bl sub_8057F48 - movs r0, 0x1 - bl sub_80F771C - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_08081820: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808177C - - thumb_func_start sub_8081828 -sub_8081828: @ 8081828 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0808184C @ =sub_808177C - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - adds r2, r5, 0 - bl SetTaskFuncWithFollowupFunc - bl ScriptContext1_Stop - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0808184C: .4byte sub_808177C - thumb_func_end sub_8081828 - - thumb_func_start sub_8081850 -sub_8081850: @ 8081850 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08081874 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08081894 - cmp r0, 0x1 - bgt _08081878 - cmp r0, 0 - beq _08081882 - b _080818D8 - .align 2, 0 -_08081874: .4byte gTasks -_08081878: - cmp r0, 0x2 - beq _080818A8 - cmp r0, 0x3 - beq _080818C4 - b _080818D8 -_08081882: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl ClearLinkCallback_2 - b _080818B8 -_08081894: - ldr r0, _080818A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080818D8 - b _080818B8 - .align 2, 0 -_080818A4: .4byte gPaletteFade -_080818A8: - ldr r1, _080818C0 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl Link_TryStartSend5FFF -_080818B8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080818D8 - .align 2, 0 -_080818C0: .4byte gSelectedTradeMonPositions -_080818C4: - ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080818D8 - ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_080818D8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080818E0: .4byte gReceivedRemoteLinkPlayers -_080818E4: .4byte CB2_ReturnFromLinkTrade - thumb_func_end sub_8081850 - - thumb_func_start sub_80818E8 -sub_80818E8: @ 80818E8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0808190C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0808192C - cmp r0, 0x1 - bgt _08081910 - cmp r0, 0 - beq _0808191A - b _08081970 - .align 2, 0 -_0808190C: .4byte gTasks+0x8 -_08081910: - cmp r0, 0x2 - beq _08081940 - cmp r0, 0x3 - beq _0808195C - b _08081970 -_0808191A: - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - bl Rfu_set_zero - b _08081950 -_0808192C: - ldr r0, _0808193C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08081970 - b _08081950 - .align 2, 0 -_0808193C: .4byte gPaletteFade -_08081940: - ldr r1, _08081958 @ =gSelectedTradeMonPositions - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - bl m4aMPlayAllStop - bl PrepareSendLinkCmd2FFE_or_RfuCmd6600 -_08081950: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08081970 - .align 2, 0 -_08081958: .4byte gSelectedTradeMonPositions -_0808195C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08081970 - bl UnionRoom_CreateTask_CallBC2ReturnFromLinkTrade - adds r0, r5, 0 - bl DestroyTask -_08081970: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80818E8 - - thumb_func_start EnterTradeSeat -EnterTradeSeat: @ 8081978 - push {lr} - ldr r0, _0808198C @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08081994 - ldr r0, _08081990 @ =sub_80818E8 - bl sub_8081828 - b _0808199A - .align 2, 0 -_0808198C: .4byte gWirelessCommType -_08081990: .4byte sub_80818E8 -_08081994: - ldr r0, _080819A0 @ =sub_8081850 - bl sub_8081828 -_0808199A: - pop {r0} - bx r0 - .align 2, 0 -_080819A0: .4byte sub_8081850 - thumb_func_end EnterTradeSeat - - thumb_func_start sub_80819A4 -sub_80819A4: @ 80819A4 - push {lr} - ldr r0, _080819B4 @ =sub_8081850 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_080819B4: .4byte sub_8081850 - thumb_func_end sub_80819A4 - - thumb_func_start sub_80819B8 -sub_80819B8: @ 80819B8 - push {lr} - bl sub_80819A4 - bl ScriptContext1_Stop - pop {r0} - bx r0 - thumb_func_end sub_80819B8 - - thumb_func_start EnterColosseumPlayerSpot -EnterColosseumPlayerSpot: @ 80819C8 - push {lr} - ldr r1, _080819E4 @ =gLinkType - ldr r2, _080819E8 @ =0x00002211 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _080819EC @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080819F4 - ldr r0, _080819F0 @ =sub_8081454 - bl sub_8081828 - b _080819FA - .align 2, 0 -_080819E4: .4byte gLinkType -_080819E8: .4byte 0x00002211 -_080819EC: .4byte gWirelessCommType -_080819F0: .4byte sub_8081454 -_080819F4: - ldr r0, _08081A00 @ =sub_8081318 - bl sub_8081828 -_080819FA: - pop {r0} - bx r0 - .align 2, 0 -_08081A00: .4byte sub_8081318 - thumb_func_end EnterColosseumPlayerSpot - - thumb_func_start sub_8081A04 -sub_8081A04: @ 8081A04 - push {lr} - ldr r0, _08081A18 @ =sub_808177C - movs r1, 0x50 - bl CreateTask - bl ScriptContext1_Stop - pop {r0} - bx r0 - .align 2, 0 -_08081A18: .4byte sub_808177C - thumb_func_end sub_8081A04 - - thumb_func_start Script_ShowLinkTrainerCard -Script_ShowLinkTrainerCard: @ 8081A1C - push {lr} - ldr r0, _08081A2C @ =gSpecialVar_0x8006 - ldrb r0, [r0] - ldr r1, _08081A30 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic - bl ShowTrainerCardInLink - pop {r0} - bx r0 - .align 2, 0 -_08081A2C: .4byte gSpecialVar_0x8006 -_08081A30: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic - thumb_func_end Script_ShowLinkTrainerCard - - thumb_func_start sub_8081A34 -sub_8081A34: @ 8081A34 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08081A74 @ =gSpecialVar_0x8006 - strh r4, [r0] - ldr r0, _08081A78 @ =gStringVar1 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _08081A7C @ =gLinkPlayers + 8 - adds r1, r2 - bl StringCopy - adds r0, r4, 0 - bl GetTrainerCardStars - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08081A88 - ldr r0, _08081A80 @ =gStringVar2 - ldr r2, _08081A84 @ =gUnknown_83C6AB8 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x1 - b _08081A8A - .align 2, 0 -_08081A74: .4byte gSpecialVar_0x8006 -_08081A78: .4byte gStringVar1 -_08081A7C: .4byte gLinkPlayers + 8 -_08081A80: .4byte gStringVar2 -_08081A84: .4byte gUnknown_83C6AB8 -_08081A88: - movs r0, 0 -_08081A8A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8081A34 - - thumb_func_start sub_8081A90 -sub_8081A90: @ 8081A90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08081AD8 @ =gTasks - adds r0, r1 - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - lsls r1, 16 - movs r0, 0x96 - lsls r0, 17 - cmp r1, r0 - ble _08081AC2 - bl CloseLink - ldr r0, _08081ADC @ =CB2_LinkError - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08081AC2: - ldr r0, _08081AE0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08081AD0 - adds r0, r5, 0 - bl DestroyTask -_08081AD0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08081AD8: .4byte gTasks -_08081ADC: .4byte CB2_LinkError -_08081AE0: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081A90 - - thumb_func_start sub_8081AE4 -sub_8081AE4: @ 8081AE4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08081B04 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08081AFC - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_08081AFC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B04: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8081AE4 - - thumb_func_start sub_8081B08 -sub_8081B08: @ 8081B08 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl Link_TryStartSend5FFF - ldr r1, _08081B28 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08081B2C @ =sub_8081AE4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08081B28: .4byte gTasks -_08081B2C: .4byte sub_8081AE4 - thumb_func_end sub_8081B08 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 301b1e01d..2e469cec2 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3741,7 +3741,7 @@ _08056880: .4byte gFieldCallback _08056884: .4byte FieldCB_ReturnToFieldWirelessLink _08056888: ldr r1, _080568A0 @ =gFieldCallback - ldr r0, _080568A4 @ =sub_807DDD0 + ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink _0805688C: str r0, [r1] bl ScriptContext1_Init @@ -3751,7 +3751,7 @@ _0805688C: bx r0 .align 2, 0 _080568A0: .4byte gFieldCallback -_080568A4: .4byte sub_807DDD0 +_080568A4: .4byte FieldCB_ReturnToFieldWiredLink thumb_func_end c2_8056854 thumb_func_start CB2_ReturnToFieldWithOpenMenu @@ -6809,7 +6809,7 @@ _080580F4: .4byte gUnknown_3000E80 _080580F8: .4byte CableClub_EventScript_TooBusyToNotice _080580FC: adds r0, r2, 0 - bl sub_8081A34 + bl GetSeeingLinkPlayerCardMsg cmp r0, 0 bne _08058110 ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard |