diff options
Diffstat (limited to 'asm/overworld.s')
-rw-r--r-- | asm/overworld.s | 2382 |
1 files changed, 0 insertions, 2382 deletions
diff --git a/asm/overworld.s b/asm/overworld.s deleted file mode 100644 index e5c493d0c..000000000 --- a/asm/overworld.s +++ /dev/null @@ -1,2382 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start CB1_UpdateLinkState -CB1_UpdateLinkState: @ 8057884 - push {r4,lr} - ldr r0, _080578C8 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805789E - bl IsRfuRecvQueueEmpty - cmp r0, 0 - beq _0805789E - bl IsSendingKeysToLink - cmp r0, 0 - bne _080578C0 -_0805789E: - ldr r0, _080578CC @ =gLocalLinkPlayerId - ldrb r4, [r0] - ldr r0, _080578D0 @ =gLinkPartnersHeldKeys - adds r1, r4, 0 - bl sub_8057BE4 - ldr r0, _080578D4 @ =gUnknown_3000E84 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - lsls r0, 16 - lsrs r0, 16 - bl sub_8057C4C - bl ClearAllPlayerKeys -_080578C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080578C8: .4byte gWirelessCommType -_080578CC: .4byte gLocalLinkPlayerId -_080578D0: .4byte gLinkPartnersHeldKeys -_080578D4: .4byte gUnknown_3000E84 - thumb_func_end CB1_UpdateLinkState - - thumb_func_start ResetAllMultiplayerState -ResetAllMultiplayerState: @ 80578D8 - push {lr} - bl sub_805793C - ldr r0, _080578E8 @ =sub_8057D5C - bl c1_link_related_func_set - pop {r0} - bx r0 - .align 2, 0 -_080578E8: .4byte sub_8057D5C - thumb_func_end ResetAllMultiplayerState - - thumb_func_start ClearAllPlayerKeys -ClearAllPlayerKeys: @ 80578EC - push {lr} - ldr r0, _080578F8 @ =gLinkPartnersHeldKeys - bl sub_8057D48 - pop {r0} - bx r0 - .align 2, 0 -_080578F8: .4byte gLinkPartnersHeldKeys - thumb_func_end ClearAllPlayerKeys - - thumb_func_start c1_link_related_func_set -c1_link_related_func_set: @ 80578FC - ldr r2, _08057908 @ =gUnknown_3000E89 - movs r1, 0 - strb r1, [r2] - ldr r1, _0805790C @ =gUnknown_3000E84 - str r0, [r1] - bx lr - .align 2, 0 -_08057908: .4byte gUnknown_3000E89 -_0805790C: .4byte gUnknown_3000E84 - thumb_func_end c1_link_related_func_set - - thumb_func_start sub_8057910 -sub_8057910: @ 8057910 - push {lr} - ldr r0, _08057934 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0805792E - ldr r1, _08057938 @ =gUnknown_3000E89 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3C - bls _0805792E - bl LinkRfu_FatalError -_0805792E: - pop {r0} - bx r0 - .align 2, 0 -_08057934: .4byte gWirelessCommType -_08057938: .4byte gUnknown_3000E89 - thumb_func_end sub_8057910 - - thumb_func_start sub_805793C -sub_805793C: @ 805793C - push {lr} - ldr r1, _08057950 @ =gUnknown_3000E80 - movs r2, 0x80 - adds r0, r1, 0x3 -_08057944: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08057944 - pop {r0} - bx r0 - .align 2, 0 -_08057950: .4byte gUnknown_3000E80 - thumb_func_end sub_805793C - - thumb_func_start sub_8057954 -sub_8057954: @ 8057954 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _08057974 @ =gFieldLinkPlayerCount - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _08057982 - ldr r4, _08057978 @ =gUnknown_3000E80 -_08057966: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _0805797C - movs r0, 0 - b _08057984 - .align 2, 0 -_08057974: .4byte gFieldLinkPlayerCount -_08057978: .4byte gUnknown_3000E80 -_0805797C: - adds r1, 0x1 - cmp r1, r2 - blt _08057966 -_08057982: - movs r0, 0x1 -_08057984: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057954 - - thumb_func_start sub_805798C -sub_805798C: @ 805798C - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080579AC @ =gFieldLinkPlayerCount - ldrb r2, [r0] - movs r1, 0 - cmp r1, r2 - bge _080579BA - ldr r4, _080579B0 @ =gUnknown_3000E80 -_0805799E: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, r3 - bne _080579B4 - movs r0, 0x1 - b _080579BC - .align 2, 0 -_080579AC: .4byte gFieldLinkPlayerCount -_080579B0: .4byte gUnknown_3000E80 -_080579B4: - adds r1, 0x1 - cmp r1, r2 - blt _0805799E -_080579BA: - movs r0, 0 -_080579BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805798C - - thumb_func_start sub_80579C4 -sub_80579C4: @ 80579C4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r6, r2, 0 - mov r9, r3 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - ldr r0, _08057A14 @ =gUnknown_3000E80 - adds r5, r7, r0 - ldrb r0, [r5] - cmp r0, 0x80 - beq _080579E4 - b _08057B5E -_080579E4: - adds r0, r6, 0 - bl sub_805801C - adds r4, r0, 0 - cmp r4, 0 - beq _08057A1C - bl sub_805812C - mov r1, r9 - strh r0, [r1] - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08057A04 - b _08057BD2 -_08057A04: - ldr r0, _08057A18 @ =sub_8057DA4 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_80581DC - b _08057BD2 - .align 2, 0 -_08057A14: .4byte gUnknown_3000E80 -_08057A18: .4byte sub_8057DA4 -_08057A1C: - movs r0, 0x83 - bl sub_805798C - cmp r0, 0x1 - bne _08057A44 - movs r0, 0x81 - strb r0, [r5] - ldrb r0, [r6, 0x1] - cmp r0, 0 - bne _08057A32 - b _08057BD2 -_08057A32: - ldr r0, _08057A40 @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_8058230 - b _08057BD2 - .align 2, 0 -_08057A40: .4byte sub_8057DA4 -_08057A44: - mov r0, r8 - subs r0, 0x12 - cmp r0, 0xA - bls _08057A4E - b _08057B5E -_08057A4E: - lsls r0, 2 - ldr r1, _08057A58 @ =_08057A5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08057A58: .4byte _08057A5C - .align 2, 0 -_08057A5C: - .4byte _08057AB4 - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057B5E - .4byte _08057A88 - .4byte _08057AE0 - .4byte _08057B5E - .4byte _08057B10 - .4byte _08057B3C -_08057A88: - adds r0, r6, 0 - bl sub_8058004 - cmp r0, 0 - beq _08057B5E - ldr r0, _08057AAC @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057AB0 @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_80581C8 - b _08057B5E - .align 2, 0 -_08057AAC: .4byte gUnknown_3000E80 -_08057AB0: .4byte sub_8057DA4 -_08057AB4: - adds r0, r6, 0 - bl sub_8058034 - cmp r0, 0x1 - bne _08057B5E - ldr r0, _08057AD8 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057ADC @ =sub_8057DA4 - bl c1_link_related_func_set - bl sub_80581F8 - b _08057B5E - .align 2, 0 -_08057AD8: .4byte gUnknown_3000E80 -_08057ADC: .4byte sub_8057DA4 -_08057AE0: - adds r0, r6, 0 - bl sub_8058060 - adds r4, r0, 0 - cmp r4, 0 - beq _08057B5E - ldr r0, _08057B08 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B0C @ =sub_8057DA4 - bl c1_link_related_func_set - adds r0, r4, 0 - bl sub_8058214 - b _08057B5E - .align 2, 0 -_08057B08: .4byte gUnknown_3000E80 -_08057B0C: .4byte sub_8057DA4 -_08057B10: - adds r0, r6, 0 - bl sub_8057FEC - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B34 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B38 @ =sub_8057DC8 - bl c1_link_related_func_set - bl sub_80581BC - b _08057B5E - .align 2, 0 -_08057B34: .4byte gUnknown_3000E80 -_08057B38: .4byte sub_8057DC8 -_08057B3C: - adds r0, r6, 0 - bl sub_8057FEC - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B70 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x81 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057B5E - ldr r0, _08057B74 @ =sub_8057DEC - bl c1_link_related_func_set - bl sub_80581BC -_08057B5E: - mov r0, r8 - cmp r0, 0x17 - beq _08057B84 - cmp r0, 0x17 - bgt _08057B78 - cmp r0, 0x16 - beq _08057B94 - b _08057BD2 - .align 2, 0 -_08057B70: .4byte gUnknown_3000E80 -_08057B74: .4byte sub_8057DEC -_08057B78: - mov r1, r8 - cmp r1, 0x1A - beq _08057BA4 - cmp r1, 0x1D - beq _08057BC4 - b _08057BD2 -_08057B84: - ldr r0, _08057B90 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x83 - strb r1, [r0] - b _08057BD2 - .align 2, 0 -_08057B90: .4byte gUnknown_3000E80 -_08057B94: - ldr r0, _08057BA0 @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x82 - strb r1, [r0] - b _08057BD2 - .align 2, 0 -_08057BA0: .4byte gUnknown_3000E80 -_08057BA4: - ldr r0, _08057BBC @ =gUnknown_3000E80 - adds r0, r7, r0 - movs r1, 0x80 - strb r1, [r0] - ldrb r0, [r6, 0x1] - cmp r0, 0 - beq _08057BD2 - ldr r0, _08057BC0 @ =sub_8057D5C - bl c1_link_related_func_set - b _08057BD2 - .align 2, 0 -_08057BBC: .4byte gUnknown_3000E80 -_08057BC0: .4byte sub_8057D5C -_08057BC4: - ldr r0, _08057BE0 @ =gUnknown_3000E80 - adds r1, r7, r0 - ldrb r0, [r1] - cmp r0, 0x82 - bne _08057BD2 - movs r0, 0x81 - strb r0, [r1] -_08057BD2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057BE0: .4byte gUnknown_3000E80 - thumb_func_end sub_80579C4 - - thumb_func_start sub_8057BE4 -sub_8057BE4: @ 8057BE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r8, r1 - movs r6, 0 - add r5, sp, 0x10 - mov r9, r5 - adds r7, r0, 0 -_08057BF8: - ldrb r4, [r7] - movs r0, 0 - strh r0, [r5] - adds r0, r6, 0 - mov r1, r8 - mov r2, sp - bl sub_8057F84 - adds r0, r6, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r5, 0 - bl sub_80579C4 - ldr r0, _08057C48 @ =gUnknown_3000E80 - adds r0, r6, r0 - ldrb r0, [r0] - cmp r0, 0x80 - bne _08057C28 - adds r0, r4, 0 - bl sub_8057D14 - mov r1, r9 - strh r0, [r1] -_08057C28: - lsls r0, r6, 24 - lsrs r0, 24 - ldrb r1, [r5] - bl sub_8058618 - adds r7, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _08057BF8 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08057C48: .4byte gUnknown_3000E80 - thumb_func_end sub_8057BE4 - - thumb_func_start sub_8057C4C -sub_8057C4C: @ 8057C4C - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _08057C64 @ =0xffef0000 - adds r0, r1 - lsrs r0, 16 - cmp r0, 0xC - bhi _08057C6C - ldr r0, _08057C68 @ =gHeldKeyCodeToSend - strh r4, [r0] - b _08057C72 - .align 2, 0 -_08057C64: .4byte 0xffef0000 -_08057C68: .4byte gHeldKeyCodeToSend -_08057C6C: - ldr r1, _08057CB0 @ =gHeldKeyCodeToSend - movs r0, 0x11 - strh r0, [r1] -_08057C72: - ldr r0, _08057CB4 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08057CA8 - bl sub_805833C - cmp r0, 0x1 - bls _08057CA8 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _08057CA8 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _08057CA8 - cmp r4, 0x11 - blt _08057CA8 - cmp r4, 0x15 - ble _08057CA2 - cmp r4, 0x19 - bgt _08057CA8 - cmp r4, 0x18 - blt _08057CA8 -_08057CA2: - ldr r1, _08057CB0 @ =gHeldKeyCodeToSend - movs r0, 0 - strh r0, [r1] -_08057CA8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08057CB0: .4byte gHeldKeyCodeToSend -_08057CB4: .4byte gWirelessCommType - thumb_func_end sub_8057C4C - - thumb_func_start sub_8057CB8 -sub_8057CB8: @ 8057CB8 - push {lr} - ldr r2, _08057CCC @ =gMain - ldrh r1, [r2, 0x2C] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08057CD0 - movs r0, 0x13 - b _08057D10 - .align 2, 0 -_08057CCC: .4byte gMain -_08057CD0: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08057CDC - movs r0, 0x12 - b _08057D10 -_08057CDC: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08057CE8 - movs r0, 0x14 - b _08057D10 -_08057CE8: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08057CF4 - movs r0, 0x15 - b _08057D10 -_08057CF4: - ldrh r1, [r2, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08057D02 - movs r0, 0x18 - b _08057D10 -_08057D02: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08057D0E - movs r0, 0x11 - b _08057D10 -_08057D0E: - movs r0, 0x19 -_08057D10: - pop {r1} - bx r1 - thumb_func_end sub_8057CB8 - - thumb_func_start sub_8057D14 -sub_8057D14: @ 8057D14 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0x13 - beq _08057D3A - cmp r0, 0x13 - bgt _08057D2A - cmp r0, 0x12 - beq _08057D3E - b _08057D42 -_08057D2A: - cmp r1, 0x14 - beq _08057D36 - cmp r1, 0x15 - bne _08057D42 - movs r0, 0x4 - b _08057D44 -_08057D36: - movs r0, 0x3 - b _08057D44 -_08057D3A: - movs r0, 0x1 - b _08057D44 -_08057D3E: - movs r0, 0x2 - b _08057D44 -_08057D42: - movs r0, 0 -_08057D44: - pop {r1} - bx r1 - thumb_func_end sub_8057D14 - - thumb_func_start sub_8057D48 -sub_8057D48: @ 8057D48 - push {lr} - movs r2, 0x11 - adds r1, r0, 0x6 -_08057D4E: - strh r2, [r1] - subs r1, 0x2 - cmp r1, r0 - bge _08057D4E - pop {r0} - bx r0 - thumb_func_end sub_8057D48 - - thumb_func_start sub_8057D5C -sub_8057D5C: @ 8057D5C - push {r4,lr} - adds r4, r0, 0 - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08057D70 - movs r0, 0x11 - b _08057D92 -_08057D70: - bl GetLinkRecvQueueLength - cmp r0, 0x4 - bls _08057D7C - movs r0, 0x1B - b _08057D92 -_08057D7C: - bl sub_805833C - cmp r0, 0x4 - bls _08057D88 - movs r0, 0x1C - b _08057D92 -_08057D88: - adds r0, r4, 0 - bl sub_8057CB8 - lsls r0, 16 - lsrs r0, 16 -_08057D92: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8057D5C - - thumb_func_start sub_8057D98 -sub_8057D98: @ 8057D98 - push {lr} - bl sub_8057910 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_8057D98 - - thumb_func_start sub_8057DA4 -sub_8057DA4: @ 8057DA4 - push {r4,lr} - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x11 - cmp r0, 0x1 - beq _08057DBC - movs r4, 0x1A - ldr r0, _08057DC4 @ =sub_8057D98 - bl c1_link_related_func_set -_08057DBC: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057DC4: .4byte sub_8057D98 - thumb_func_end sub_8057DA4 - - thumb_func_start sub_8057DC8 -sub_8057DC8: @ 8057DC8 - push {r4,lr} - bl GetLinkRecvQueueLength - movs r4, 0x11 - cmp r0, 0x2 - bhi _08057DE0 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, _08057DE8 @ =sub_8057D98 - bl c1_link_related_func_set -_08057DE0: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057DE8: .4byte sub_8057D98 - thumb_func_end sub_8057DC8 - - thumb_func_start sub_8057DEC -sub_8057DEC: @ 8057DEC - push {r4,lr} - bl sub_805833C - movs r4, 0x11 - cmp r0, 0x2 - bhi _08057E04 - movs r4, 0x1A - bl ScriptContext2_Disable - ldr r0, _08057E0C @ =sub_8057D98 - bl c1_link_related_func_set -_08057E04: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08057E0C: .4byte sub_8057D98 - thumb_func_end sub_8057DEC - - thumb_func_start sub_8057E10 -sub_8057E10: @ 8057E10 - push {lr} - bl sub_8057910 - movs r0, 0x11 - pop {r1} - bx r1 - thumb_func_end sub_8057E10 - - thumb_func_start sub_8057E1C -sub_8057E1C: @ 8057E1C - push {lr} - ldr r1, _08057E40 @ =gUnknown_3000E80 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _08057E4C - ldr r0, _08057E44 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08057E50 - ldr r0, _08057E48 @ =sub_8057E10 - bl c1_link_related_func_set - movs r0, 0x1D - b _08057E52 - .align 2, 0 -_08057E40: .4byte gUnknown_3000E80 -_08057E44: .4byte gMain -_08057E48: .4byte sub_8057E10 -_08057E4C: - bl sub_8057910 -_08057E50: - movs r0, 0x11 -_08057E52: - pop {r1} - bx r1 - thumb_func_end sub_8057E1C - - thumb_func_start sub_8057E58 -sub_8057E58: @ 8057E58 - push {lr} - ldr r0, _08057E68 @ =sub_8057E1C - bl c1_link_related_func_set - movs r0, 0x16 - pop {r1} - bx r1 - .align 2, 0 -_08057E68: .4byte sub_8057E1C - thumb_func_end sub_8057E58 - - thumb_func_start sub_8057E6C -sub_8057E6C: @ 8057E6C - movs r0, 0x11 - bx lr - thumb_func_end sub_8057E6C - - thumb_func_start sub_8057E70 -sub_8057E70: @ 8057E70 - push {lr} - ldr r1, _08057E9C @ =gUnknown_3000E80 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x83 - beq _08057E80 - bl sub_8057910 -_08057E80: - movs r0, 0x83 - bl sub_8057954 - cmp r0, 0x1 - bne _08057E96 - ldr r0, _08057EA0 @ =CableClub_EventScript_DoLinkRoomExit - bl ScriptContext1_SetupScript - ldr r0, _08057EA4 @ =sub_8057E6C - bl c1_link_related_func_set -_08057E96: - movs r0, 0x11 - pop {r1} - bx r1 - .align 2, 0 -_08057E9C: .4byte gUnknown_3000E80 -_08057EA0: .4byte CableClub_EventScript_DoLinkRoomExit -_08057EA4: .4byte sub_8057E6C - thumb_func_end sub_8057E70 - - thumb_func_start sub_8057EA8 -sub_8057EA8: @ 8057EA8 - push {lr} - ldr r0, _08057EB8 @ =sub_8057E70 - bl c1_link_related_func_set - movs r0, 0x17 - pop {r1} - bx r1 - .align 2, 0 -_08057EB8: .4byte sub_8057E70 - thumb_func_end sub_8057EA8 - - thumb_func_start sub_8057EBC -sub_8057EBC: @ 8057EBC - movs r0, 0x11 - bx lr - thumb_func_end sub_8057EBC - - thumb_func_start sub_8057EC0 -sub_8057EC0: @ 8057EC0 - push {lr} - movs r0, 0x83 - bl sub_805798C - cmp r0, 0x1 - beq _08057EFC - ldr r0, _08057F00 @ =gUnknown_3000E84 - ldr r2, [r0] - ldr r1, _08057F04 @ =sub_8057E1C - adds r3, r0, 0 - cmp r2, r1 - bne _08057EE6 - ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gLocalLinkPlayerId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x82 - bne _08057F1E -_08057EE6: - ldr r1, [r3] - ldr r0, _08057F10 @ =sub_8057E10 - cmp r1, r0 - bne _08057F14 - ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gLocalLinkPlayerId - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x81 - bne _08057F14 -_08057EFC: - movs r0, 0x2 - b _08057F24 - .align 2, 0 -_08057F00: .4byte gUnknown_3000E84 -_08057F04: .4byte sub_8057E1C -_08057F08: .4byte gUnknown_3000E80 -_08057F0C: .4byte gLocalLinkPlayerId -_08057F10: .4byte sub_8057E10 -_08057F14: - movs r0, 0x82 - bl sub_8057954 - cmp r0, 0 - bne _08057F22 -_08057F1E: - movs r0, 0 - b _08057F24 -_08057F22: - movs r0, 0x1 -_08057F24: - pop {r1} - bx r1 - thumb_func_end sub_8057EC0 - - thumb_func_start sub_8057F28 -sub_8057F28: @ 8057F28 - push {lr} - movs r0, 0x83 - bl sub_805798C - pop {r1} - bx r1 - thumb_func_end sub_8057F28 - - thumb_func_start sub_8057F34 -sub_8057F34: @ 8057F34 - push {lr} - ldr r0, _08057F44 @ =sub_8057E58 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F44: .4byte sub_8057E58 - thumb_func_end sub_8057F34 - - thumb_func_start sub_8057F48 -sub_8057F48: @ 8057F48 - push {lr} - ldr r0, _08057F58 @ =sub_8057DA4 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F58: .4byte sub_8057DA4 - thumb_func_end sub_8057F48 - - thumb_func_start sub_8057F5C -sub_8057F5C: @ 8057F5C - push {lr} - ldr r0, _08057F6C @ =sub_8057EA8 - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F6C: .4byte sub_8057EA8 - thumb_func_end sub_8057F5C - - thumb_func_start sub_8057F70 -sub_8057F70: @ 8057F70 - push {lr} - ldr r0, _08057F80 @ =sub_8057EBC - bl c1_link_related_func_set - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08057F80: .4byte sub_8057EBC - thumb_func_end sub_8057F70 - - thumb_func_start sub_8057F84 -sub_8057F84: @ 8057F84 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - strb r4, [r6] - movs r0, 0 - cmp r4, r1 - bne _08057F96 - movs r0, 0x1 -_08057F96: - strb r0, [r6, 0x1] - ldr r1, _08057FE8 @ =gLinkPlayerObjectEvents - lsls r0, r4, 2 - adds r0, r1 - ldrb r0, [r0, 0x3] - strb r0, [r6, 0x2] - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_805854C - strb r0, [r6, 0x3] - mov r5, sp - adds r5, 0x2 - adds r0, r4, 0 - mov r1, sp - adds r2, r5, 0 - bl sub_8058524 - mov r0, sp - ldrh r0, [r0] - strh r0, [r6, 0x4] - ldrh r0, [r5] - strh r0, [r6, 0x6] - adds r0, r4, 0 - bl sub_805856C - strb r0, [r6, 0x8] - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - strh r0, [r6, 0xC] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08057FE8: .4byte gLinkPlayerObjectEvents - thumb_func_end sub_8057F84 - - thumb_func_start sub_8057FEC -sub_8057FEC: @ 8057FEC - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _08057FF8 - cmp r0, 0 - bne _08057FFC -_08057FF8: - movs r0, 0x1 - b _08057FFE -_08057FFC: - movs r0, 0 -_08057FFE: - pop {r1} - bx r1 - thumb_func_end sub_8057FEC - - thumb_func_start sub_8058004 -sub_8058004: @ 8058004 - push {lr} - ldrb r0, [r0, 0x2] - cmp r0, 0x2 - beq _08058010 - cmp r0, 0 - bne _08058014 -_08058010: - movs r0, 0x1 - b _08058016 -_08058014: - movs r0, 0 -_08058016: - pop {r1} - bx r1 - thumb_func_end sub_8058004 - - thumb_func_start sub_805801C -sub_805801C: @ 805801C - push {lr} - adds r1, r0, 0 - ldrb r0, [r1, 0x2] - cmp r0, 0x2 - bne _0805802E - adds r0, r1, 0x4 - bl GetCoordEventScriptAtMapPosition - b _08058030 -_0805802E: - movs r0, 0 -_08058030: - pop {r1} - bx r1 - thumb_func_end sub_805801C - - thumb_func_start sub_8058034 -sub_8058034: @ 8058034 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0x2 - beq _08058042 - cmp r0, 0 - bne _08058058 -_08058042: - ldrb r0, [r4, 0xC] - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - cmp r0, 0 - beq _08058058 - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _08058058 - movs r0, 0x1 - b _0805805A -_08058058: - movs r0, 0 -_0805805A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058034 - - thumb_func_start sub_8058060 -sub_8058060: @ 8058060 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _08058074 - cmp r0, 0x2 - beq _08058074 - movs r0, 0 - b _08058122 -_08058074: - ldr r0, [r4, 0x4] - ldr r1, [r4, 0x8] - str r0, [sp] - str r1, [sp, 0x4] - ldr r3, _080580E4 @ =gDirectionToVectors - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r0, r3 - ldr r0, [r0] - mov r1, sp - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _080580E8 @ =0xffff0000 - ldr r2, [sp] - ands r2, r1 - orrs r2, r0 - str r2, [sp] - asrs r1, r2, 16 - ldrb r0, [r4, 0x3] - lsls r0, 3 - adds r3, 0x4 - adds r0, r3 - ldr r0, [r0] - adds r0, r1 - lsls r0, 16 - ldr r1, _080580EC @ =0x0000ffff - ands r1, r2 - orrs r1, r0 - str r1, [sp] - ldr r2, _080580F0 @ =0xffffff00 - ldr r0, [sp, 0x4] - ands r0, r2 - str r0, [sp, 0x4] - mov r0, sp - movs r2, 0 - ldrsh r0, [r0, r2] - asrs r1, 16 - bl GetLinkPlayerIdAt - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r1, 0x4 - beq _08058118 - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _080580E0 - ldr r0, _080580F4 @ =gUnknown_3000E80 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x80 - beq _080580FC -_080580E0: - ldr r0, _080580F8 @ =CableClub_EventScript_TooBusyToNotice - b _08058122 - .align 2, 0 -_080580E4: .4byte gDirectionToVectors -_080580E8: .4byte 0xffff0000 -_080580EC: .4byte 0x0000ffff -_080580F0: .4byte 0xffffff00 -_080580F4: .4byte gUnknown_3000E80 -_080580F8: .4byte CableClub_EventScript_TooBusyToNotice -_080580FC: - adds r0, r2, 0 - bl GetSeeingLinkPlayerCardMsg - cmp r0, 0 - bne _08058110 - ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard - b _08058122 - .align 2, 0 -_0805810C: .4byte CableClub_EventScript_ReadTrainerCard -_08058110: - ldr r0, _08058114 @ =CableClub_EventScript_ReadTrainerCardColored - b _08058122 - .align 2, 0 -_08058114: .4byte CableClub_EventScript_ReadTrainerCardColored -_08058118: - ldrb r1, [r4, 0xC] - ldrb r2, [r4, 0x3] - mov r0, sp - bl GetInteractedLinkPlayerScript -_08058122: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058060 - - thumb_func_start sub_805812C -sub_805812C: @ 805812C - push {lr} - adds r1, r0, 0 - ldr r0, _08058178 @ =BattleColosseum_4P_EventScript_PlayerSpot0 - cmp r1, r0 - beq _08058172 - ldr r0, _0805817C @ =BattleColosseum_4P_EventScript_PlayerSpot1 - cmp r1, r0 - beq _080581B4 - ldr r0, _08058180 @ =BattleColosseum_4P_EventScript_PlayerSpot2 - cmp r1, r0 - beq _08058172 - ldr r0, _08058184 @ =BattleColosseum_4P_EventScript_PlayerSpot3 - cmp r1, r0 - beq _080581B4 - ldr r0, _08058188 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _08058172 - ldr r0, _0805818C @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _080581B4 - ldr r0, _08058190 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _08058172 - ldr r0, _08058194 @ =RecordCenter_EventScript_Spot - cmp r1, r0 - beq _080581B4 - ldr r0, _08058198 @ =BattleColosseum_2P_EventScript_PlayerSpot0 - cmp r1, r0 - beq _08058172 - ldr r0, _0805819C @ =BattleColosseum_2P_EventScript_PlayerSpot1 - cmp r1, r0 - beq _080581B4 - ldr r0, _080581A0 @ =TradeCenter_EventScript_Chair0 - cmp r1, r0 - bne _080581A4 -_08058172: - movs r0, 0xA - b _080581B6 - .align 2, 0 -_08058178: .4byte BattleColosseum_4P_EventScript_PlayerSpot0 -_0805817C: .4byte BattleColosseum_4P_EventScript_PlayerSpot1 -_08058180: .4byte BattleColosseum_4P_EventScript_PlayerSpot2 -_08058184: .4byte BattleColosseum_4P_EventScript_PlayerSpot3 -_08058188: .4byte RecordCenter_EventScript_Spot -_0805818C: .4byte RecordCenter_EventScript_Spot -_08058190: .4byte RecordCenter_EventScript_Spot -_08058194: .4byte RecordCenter_EventScript_Spot -_08058198: .4byte BattleColosseum_2P_EventScript_PlayerSpot0 -_0805819C: .4byte BattleColosseum_2P_EventScript_PlayerSpot1 -_080581A0: .4byte TradeCenter_EventScript_Chair0 -_080581A4: - ldr r0, _080581B0 @ =TradeCenter_EventScript_Chair1 - cmp r1, r0 - beq _080581B4 - movs r0, 0 - b _080581B6 - .align 2, 0 -_080581B0: .4byte TradeCenter_EventScript_Chair1 -_080581B4: - movs r0, 0x9 -_080581B6: - pop {r1} - bx r1 - thumb_func_end sub_805812C - - thumb_func_start sub_80581BC -sub_80581BC: @ 80581BC - push {lr} - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80581BC - - thumb_func_start sub_80581C8 -sub_80581C8: @ 80581C8 - push {lr} - movs r0, 0x6 - bl PlaySE - bl ShowStartMenu - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_80581C8 - - thumb_func_start sub_80581DC -sub_80581DC: @ 80581DC - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80581DC - - thumb_func_start sub_80581F8 -sub_80581F8: @ 80581F8 - push {lr} - movs r0, 0x6 - bl PlaySE - ldr r0, _08058210 @ =TradeCenter_ConfirmLeaveRoom - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08058210: .4byte TradeCenter_ConfirmLeaveRoom - thumb_func_end sub_80581F8 - - thumb_func_start sub_8058214 -sub_8058214: @ 8058214 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8058214 - - thumb_func_start sub_8058230 -sub_8058230: @ 8058230 - push {lr} - ldr r0, _08058240 @ =TradeCenter_TerminateLink - bl ScriptContext1_SetupScript - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_08058240: .4byte TradeCenter_TerminateLink - thumb_func_end sub_8058230 - - thumb_func_start sub_8058244 -sub_8058244: @ 8058244 - push {lr} - bl IsUpdateLinkStateCBActive - cmp r0, 0 - bne _08058252 - movs r0, 0 - b _0805826C -_08058252: - bl GetLinkRecvQueueLength - cmp r0, 0x2 - bls _08058264 - ldr r1, _08058260 @ =gUnknown_3000E88 - movs r0, 0x1 - b _08058268 - .align 2, 0 -_08058260: .4byte gUnknown_3000E88 -_08058264: - ldr r1, _08058270 @ =gUnknown_3000E88 - movs r0, 0 -_08058268: - strb r0, [r1] - ldrb r0, [r1] -_0805826C: - pop {r1} - bx r1 - .align 2, 0 -_08058270: .4byte gUnknown_3000E88 - thumb_func_end sub_8058244 - - thumb_func_start sub_8058274 -sub_8058274: @ 8058274 - push {lr} - bl GetLinkRecvQueueLength - cmp r0, 0x1 - bls _080582D8 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _080582D8 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _080582D8 - ldr r0, _080582C4 @ =gUnknown_3000E84 - ldr r1, [r0] - ldr r0, _080582C8 @ =sub_8057DC8 - cmp r1, r0 - beq _080582C0 - ldr r0, _080582CC @ =sub_8057DA4 - cmp r1, r0 - bne _080582D8 - ldr r0, _080582D0 @ =gUnknown_3000E88 - ldrb r2, [r0] - movs r1, 0 - strb r1, [r0] - cmp r2, 0x1 - beq _080582C0 - ldr r2, _080582D4 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080582D8 - ldrb r1, [r2, 0xA] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080582D8 -_080582C0: - movs r0, 0x1 - b _080582DA - .align 2, 0 -_080582C4: .4byte gUnknown_3000E84 -_080582C8: .4byte sub_8057DC8 -_080582CC: .4byte sub_8057DA4 -_080582D0: .4byte gUnknown_3000E88 -_080582D4: .4byte gPaletteFade -_080582D8: - movs r0, 0 -_080582DA: - pop {r1} - bx r1 - thumb_func_end sub_8058274 - - thumb_func_start sub_80582E0 -sub_80582E0: @ 80582E0 - push {lr} - bl sub_805833C - cmp r0, 0x1 - bls _08058304 - bl IsUpdateLinkStateCBActive - cmp r0, 0x1 - bne _08058304 - bl IsSendingKeysToLink - cmp r0, 0x1 - bne _08058304 - ldr r0, _08058308 @ =gUnknown_3000E84 - ldr r1, [r0] - ldr r0, _0805830C @ =sub_8057DEC - cmp r1, r0 - beq _08058310 -_08058304: - movs r0, 0 - b _08058312 - .align 2, 0 -_08058308: .4byte gUnknown_3000E84 -_0805830C: .4byte sub_8057DEC -_08058310: - movs r0, 0x1 -_08058312: - pop {r1} - bx r1 - thumb_func_end sub_80582E0 - - thumb_func_start sub_8058318 -sub_8058318: @ 8058318 - push {lr} - ldr r0, _08058330 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _08058334 - bl IsSendingKeysToLink - cmp r0, 0 - beq _08058334 - movs r0, 0x1 - b _08058336 - .align 2, 0 -_08058330: .4byte gWirelessCommType -_08058334: - movs r0, 0 -_08058336: - pop {r1} - bx r1 - thumb_func_end sub_8058318 - - thumb_func_start sub_805833C -sub_805833C: @ 805833C - push {lr} - ldr r0, _08058350 @ =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0805835C - ldr r0, _08058354 @ =gLink - ldr r1, _08058358 @ =0x00000339 - adds r0, r1 - ldrb r0, [r0] - b _08058364 - .align 2, 0 -_08058350: .4byte gWirelessCommType -_08058354: .4byte gLink -_08058358: .4byte 0x00000339 -_0805835C: - ldr r0, _08058368 @ =Rfu - ldr r1, _0805836C @ =0x000008d2 - adds r0, r1 - ldrb r0, [r0] -_08058364: - pop {r1} - bx r1 - .align 2, 0 -_08058368: .4byte Rfu -_0805836C: .4byte 0x000008d2 - thumb_func_end sub_805833C - - thumb_func_start ZeroLinkPlayerObjectEvent -ZeroLinkPlayerObjectEvent: @ 8058370 - movs r1, 0 - str r1, [r0] - bx lr - thumb_func_end ZeroLinkPlayerObjectEvent - - thumb_func_start ClearLinkPlayerObjectEvents -ClearLinkPlayerObjectEvents: @ 8058378 - push {lr} - ldr r0, _08058388 @ =gLinkPlayerObjectEvents - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_08058388: .4byte gLinkPlayerObjectEvents - thumb_func_end ClearLinkPlayerObjectEvents - - thumb_func_start ZeroObjectEvent -ZeroObjectEvent: @ 805838C - push {lr} - movs r1, 0 - movs r2, 0x24 - bl memset - pop {r0} - bx r0 - thumb_func_end ZeroObjectEvent - - thumb_func_start SpawnLinkPlayerObjectEvent -SpawnLinkPlayerObjectEvent: @ 805839C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r1 - mov r10, r2 - mov r8, r3 - lsls r0, 24 - lsrs r7, r0, 24 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - bl GetFirstInactiveObjectEventId - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, r7, 2 - ldr r0, _08058440 @ =gLinkPlayerObjectEvents - adds r4, r0 - lsls r5, r6, 3 - adds r5, r6 - lsls r5, 2 - ldr r0, _08058444 @ =gObjectEvents - adds r5, r0 - adds r0, r4, 0 - bl ZeroLinkPlayerObjectEvent - adds r0, r5, 0 - bl ZeroObjectEvent - movs r2, 0 - movs r1, 0x1 - movs r0, 0x1 - strb r0, [r4] - strb r7, [r4, 0x1] - strb r6, [r4, 0x2] - strb r2, [r4, 0x3] - ldrb r0, [r5] - orrs r0, r1 - mov r2, r8 - ands r2, r1 - lsls r2, 1 - movs r1, 0x3 - negs r1, r1 - ands r0, r1 - orrs r0, r2 - strb r0, [r5] - movs r0, 0x2 - strb r0, [r5, 0x19] - movs r0, 0x40 - strb r0, [r5, 0x4] - mov r0, r9 - lsls r0, 16 - asrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - asrs r1, 16 - mov r10, r1 - adds r0, r5, 0 - mov r1, r9 - mov r2, r10 - bl InitLinkPlayerObjectEventPos - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08058440: .4byte gLinkPlayerObjectEvents -_08058444: .4byte gObjectEvents - thumb_func_end SpawnLinkPlayerObjectEvent - - thumb_func_start InitLinkPlayerObjectEventPos -InitLinkPlayerObjectEventPos: @ 8058448 - push {r4,lr} - adds r4, r0, 0 - adds r0, r1, 0 - adds r1, r2, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - strh r0, [r4, 0x10] - strh r1, [r4, 0x12] - strh r0, [r4, 0x14] - strh r1, [r4, 0x16] - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - adds r2, r4, 0 - adds r2, 0xC - adds r3, r4, 0 - adds r3, 0xE - bl SetSpritePosToMapCoords - ldrh r0, [r4, 0xC] - adds r0, 0x8 - strh r0, [r4, 0xC] - adds r0, r4, 0 - bl ObjectEventUpdateZCoord - pop {r4} - pop {r0} - bx r0 - thumb_func_end InitLinkPlayerObjectEventPos - - thumb_func_start sub_8058488 -sub_8058488: @ 8058488 - push {lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - ldr r1, _080584B0 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0 - beq _080584AA - ldrb r0, [r1, 0x2] - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _080584B4 @ =gObjectEvents - adds r1, r0 - strb r2, [r1, 0x19] -_080584AA: - pop {r0} - bx r0 - .align 2, 0 -_080584B0: .4byte gLinkPlayerObjectEvents -_080584B4: .4byte gObjectEvents - thumb_func_end sub_8058488 - - thumb_func_start sub_80584B8 -sub_80584B8: @ 80584B8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 22 - ldr r1, _080584F8 @ =gLinkPlayerObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080584FC @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - cmp r0, 0x40 - beq _080584E4 - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058500 @ =gSprites - adds r0, r1 - bl DestroySprite -_080584E4: - movs r0, 0 - strb r0, [r5] - ldrb r1, [r4] - subs r0, 0x2 - ands r0, r1 - strb r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080584F8: .4byte gLinkPlayerObjectEvents -_080584FC: .4byte gObjectEvents -_08058500: .4byte gSprites - thumb_func_end sub_80584B8 - - thumb_func_start GetSpriteForLinkedPlayer -GetSpriteForLinkedPlayer: @ 8058504 - lsls r0, 24 - ldr r1, _0805851C @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058520 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x4] - bx lr - .align 2, 0 -_0805851C: .4byte gLinkPlayerObjectEvents -_08058520: .4byte gObjectEvents - thumb_func_end GetSpriteForLinkedPlayer - - thumb_func_start sub_8058524 -sub_8058524: @ 8058524 - lsls r0, 24 - ldr r3, _08058544 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r3 - ldrb r3, [r0, 0x2] - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - ldr r3, _08058548 @ =gObjectEvents - adds r0, r3 - ldrh r3, [r0, 0x10] - strh r3, [r1] - ldrh r0, [r0, 0x12] - strh r0, [r2] - bx lr - .align 2, 0 -_08058544: .4byte gLinkPlayerObjectEvents -_08058548: .4byte gObjectEvents - thumb_func_end sub_8058524 - - thumb_func_start sub_805854C -sub_805854C: @ 805854C - lsls r0, 24 - ldr r1, _08058564 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058568 @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0x19] - bx lr - .align 2, 0 -_08058564: .4byte gLinkPlayerObjectEvents -_08058568: .4byte gObjectEvents - thumb_func_end sub_805854C - - thumb_func_start sub_805856C -sub_805856C: @ 805856C - lsls r0, 24 - ldr r1, _08058588 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805858C @ =gObjectEvents - adds r0, r1 - ldrb r0, [r0, 0xB] - lsls r0, 28 - lsrs r0, 28 - bx lr - .align 2, 0 -_08058588: .4byte gLinkPlayerObjectEvents -_0805858C: .4byte gObjectEvents - thumb_func_end sub_805856C - - thumb_func_start sub_8058590 -sub_8058590: @ 8058590 - lsls r0, 24 - ldr r1, _080585B0 @ =gLinkPlayerObjectEvents - lsrs r0, 22 - adds r0, r1 - ldrb r1, [r0, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080585B4 @ =gObjectEvents - adds r0, r1 - adds r0, 0x21 - movs r1, 0 - ldrsb r1, [r0, r1] - movs r0, 0x10 - subs r0, r1 - bx lr - .align 2, 0 -_080585B0: .4byte gLinkPlayerObjectEvents -_080585B4: .4byte gObjectEvents - thumb_func_end sub_8058590 - - thumb_func_start GetLinkPlayerIdAt -GetLinkPlayerIdAt: @ 80585B8 - push {r4-r6,lr} - movs r2, 0 - ldr r5, _080585FC @ =gLinkPlayerObjectEvents - lsls r0, 16 - asrs r4, r0, 16 - lsls r1, 16 - asrs r3, r1, 16 -_080585C6: - lsls r0, r2, 2 - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0 - beq _08058604 - ldrb r0, [r1, 0x3] - cmp r0, 0 - beq _080585DA - cmp r0, 0x2 - bne _08058604 -_080585DA: - ldrb r1, [r1, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058600 @ =gObjectEvents - adds r1, r0, r1 - movs r6, 0x10 - ldrsh r0, [r1, r6] - cmp r0, r4 - bne _08058604 - movs r6, 0x12 - ldrsh r0, [r1, r6] - cmp r0, r3 - bne _08058604 - adds r0, r2, 0 - b _08058610 - .align 2, 0 -_080585FC: .4byte gLinkPlayerObjectEvents -_08058600: .4byte gObjectEvents -_08058604: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080585C6 - movs r0, 0x4 -_08058610: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLinkPlayerIdAt - - thumb_func_start sub_8058618 -sub_8058618: @ 8058618 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - adds r2, r3, 0 - lsrs r0, 22 - ldr r1, _08058648 @ =gLinkPlayerObjectEvents - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0805864C @ =gObjectEvents - adds r6, r0, r1 - ldrb r0, [r5] - cmp r0, 0 - beq _08058674 - cmp r3, 0xA - bls _08058650 - ldrb r0, [r6] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r6] - b _08058674 - .align 2, 0 -_08058648: .4byte gLinkPlayerObjectEvents -_0805864C: .4byte gObjectEvents -_08058650: - ldr r4, _0805867C @ =gUnknown_826D374 - ldr r1, _08058680 @ =gUnknown_826D33C - ldrb r0, [r5, 0x3] - lsls r0, 2 - adds r0, r1 - ldr r3, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r6, 0 - bl _call_via_r2 -_08058674: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0805867C: .4byte gUnknown_826D374 -_08058680: .4byte gUnknown_826D33C - thumb_func_end sub_8058618 - - thumb_func_start sub_8058684 -sub_8058684: @ 8058684 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080586A0 @ =gUnknown_826D348 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080586A0: .4byte gUnknown_826D348 - thumb_func_end sub_8058684 - - thumb_func_start sub_80586A4 -sub_80586A4: @ 80586A4 - movs r0, 0x1 - bx lr - thumb_func_end sub_80586A4 - - thumb_func_start sub_80586A8 -sub_80586A8: @ 80586A8 - push {r4,lr} - lsls r2, 24 - lsrs r2, 24 - ldr r4, _080586C4 @ =gUnknown_826D348 - lsls r3, r2, 2 - adds r3, r4 - ldr r3, [r3] - bl _call_via_r3 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080586C4: .4byte gUnknown_826D348 - thumb_func_end sub_80586A8 - - thumb_func_start sub_80586C8 -sub_80586C8: @ 80586C8 - movs r0, 0 - bx lr - thumb_func_end sub_80586C8 - - thumb_func_start sub_80586CC -sub_80586CC: @ 80586CC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r5, 0x19] - bl npc_something3 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x19] - mov r6, sp - adds r6, 0x2 - adds r0, r5, 0 - mov r2, sp - adds r3, r6, 0 - bl ObjectEventMoveDestCoords - ldrb r0, [r4, 0x2] - ldrb r1, [r5, 0x19] - mov r2, sp - movs r3, 0 - ldrsh r2, [r2, r3] - movs r4, 0 - ldrsh r3, [r6, r4] - bl npc_080587EC - lsls r0, 24 - cmp r0, 0 - bne _0805872A - adds r1, r5, 0 - adds r1, 0x21 - movs r0, 0x10 - strb r0, [r1] - mov r0, sp - movs r2, 0 - ldrsh r1, [r0, r2] - movs r3, 0 - ldrsh r2, [r6, r3] - adds r0, r5, 0 - bl ShiftObjectEventCoords - adds r0, r5, 0 - bl ObjectEventUpdateZCoord - movs r0, 0x1 - b _0805872C -_0805872A: - movs r0, 0 -_0805872C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80586CC - - thumb_func_start sub_8058734 -sub_8058734: @ 8058734 - push {r4,lr} - adds r4, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x19] - bl npc_something3 - strb r0, [r4, 0x19] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8058734 - - thumb_func_start sub_805874C -sub_805874C: @ 805874C - movs r1, 0 - strb r1, [r0, 0x3] - bx lr - thumb_func_end sub_805874C - - thumb_func_start sub_8058754 -sub_8058754: @ 8058754 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r4, 0 - adds r5, 0x21 - ldrb r0, [r5] - subs r0, 0x1 - strb r0, [r5] - movs r0, 0x1 - strb r0, [r6, 0x3] - ldrb r0, [r4, 0x19] - adds r1, 0xC - adds r2, r4, 0 - adds r2, 0xE - bl MoveCoords - ldrb r0, [r5] - cmp r0, 0 - bne _08058784 - adds r0, r4, 0 - bl ShiftStillObjectEventCoords - movs r0, 0x2 - strb r0, [r6, 0x3] -_08058784: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8058754 - - thumb_func_start npc_something3 -npc_something3: @ 805878C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - subs r0, 0x1 - cmp r0, 0x9 - bhi _080587E4 - lsls r0, 2 - ldr r1, _080587A8 @ =_080587AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080587A8: .4byte _080587AC - .align 2, 0 -_080587AC: - .4byte _080587D4 - .4byte _080587D8 - .4byte _080587DC - .4byte _080587E0 - .4byte _080587E4 - .4byte _080587E4 - .4byte _080587D4 - .4byte _080587D8 - .4byte _080587DC - .4byte _080587E0 -_080587D4: - movs r0, 0x2 - b _080587E6 -_080587D8: - movs r0, 0x1 - b _080587E6 -_080587DC: - movs r0, 0x3 - b _080587E6 -_080587E0: - movs r0, 0x4 - b _080587E6 -_080587E4: - adds r0, r2, 0 -_080587E6: - pop {r1} - bx r1 - thumb_func_end npc_something3 - - thumb_func_start npc_080587EC -npc_080587EC: @ 80587EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 16 - lsrs r2, 16 - mov r12, r2 - lsls r3, 16 - movs r4, 0 - ldr r0, _08058850 @ =gObjectEvents - mov r9, r0 - lsrs r2, r3, 16 - mov r10, r2 - asrs r6, r3, 16 -_08058810: - mov r7, r12 - lsls r3, r7, 16 - mov r0, r10 - lsls r5, r0, 16 - cmp r4, r8 - beq _08058854 - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - mov r2, r9 - adds r1, r0, r2 - movs r7, 0x10 - ldrsh r0, [r1, r7] - asrs r2, r3, 16 - cmp r0, r2 - bne _08058838 - movs r7, 0x12 - ldrsh r0, [r1, r7] - cmp r0, r6 - beq _0805884A -_08058838: - movs r7, 0x14 - ldrsh r0, [r1, r7] - cmp r0, r2 - bne _08058854 - movs r0, 0x16 - ldrsh r1, [r1, r0] - asrs r0, r5, 16 - cmp r1, r0 - bne _08058854 -_0805884A: - movs r0, 0x1 - b _0805886A - .align 2, 0 -_08058850: .4byte gObjectEvents -_08058854: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _08058810 - asrs r0, r3, 16 - asrs r1, r5, 16 - bl MapGridIsImpassableAt - lsls r0, 24 - lsrs r0, 24 -_0805886A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end npc_080587EC - - thumb_func_start CreateLinkPlayerSprite -CreateLinkPlayerSprite: @ 8058878 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r3, r1, 24 - lsls r2, r5, 2 - ldr r0, _080588B4 @ =gLinkPlayerObjectEvents - adds r2, r0 - ldrb r1, [r2, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _080588B8 @ =gObjectEvents - adds r4, r0, r1 - ldrb r0, [r2] - cmp r0, 0 - beq _080588FC - subs r0, r3, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080588BC - ldrb r1, [r4] - lsls r1, 30 - lsrs r1, 31 - movs r0, 0 - bl GetRivalAvatarGraphicsIdByStateIdAndGender - b _080588C6 - .align 2, 0 -_080588B4: .4byte gLinkPlayerObjectEvents -_080588B8: .4byte gObjectEvents -_080588BC: - ldrb r0, [r4] - lsls r0, 30 - lsrs r0, 31 - bl GetHoennLinkPartnerGraphicsIdByGender -_080588C6: - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08058904 @ =SpriteCB_LinkPlayer - movs r2, 0 - str r2, [sp] - movs r3, 0 - bl AddPseudoObjectEvent - strb r0, [r4, 0x4] - ldrb r1, [r4, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058908 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - strh r5, [r0, 0x2E] - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] -_080588FC: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08058904: .4byte SpriteCB_LinkPlayer -_08058908: .4byte gSprites - thumb_func_end CreateLinkPlayerSprite - - thumb_func_start SpriteCB_LinkPlayer -SpriteCB_LinkPlayer: @ 805890C - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0x2E - ldrsh r4, [r5, r0] - lsls r4, 2 - ldr r0, _08058970 @ =gLinkPlayerObjectEvents - adds r4, r0 - ldrb r1, [r4, 0x2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08058974 @ =gObjectEvents - adds r6, r0, r1 - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x20] - ldrh r0, [r6, 0xE] - strh r0, [r5, 0x22] - ldrb r0, [r6, 0xB] - lsrs r0, 4 - adds r1, r5, 0 - movs r2, 0x1 - bl SetObjectSubpriorityByZCoord - ldrb r0, [r6, 0xB] - lsrs r0, 4 - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - ldrb r0, [r4, 0x3] - cmp r0, 0 - bne _08058978 - ldrb r0, [r6, 0x19] - bl GetFaceDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnim - b _0805898A - .align 2, 0 -_08058970: .4byte gLinkPlayerObjectEvents -_08058974: .4byte gObjectEvents -_08058978: - ldrb r0, [r6, 0x19] - bl GetMoveDirectionAnimNum - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl StartSpriteAnimIfDifferent -_0805898A: - adds r0, r5, 0 - movs r1, 0 - bl UpdateObjectEventSpriteVisibility - ldrb r0, [r6] - lsls r0, 29 - cmp r0, 0 - bge _080589BC - ldrh r0, [r5, 0x3C] - movs r1, 0x4 - ands r1, r0 - lsls r1, 16 - adds r3, r5, 0 - adds r3, 0x3E - lsrs r1, 18 - lsls r1, 2 - ldrb r2, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] -_080589BC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end SpriteCB_LinkPlayer - - .align 2, 0 @ Don't pad with nop. |