diff options
Diffstat (limited to 'asm/battle_2.s')
-rw-r--r-- | asm/battle_2.s | 1279 |
1 files changed, 0 insertions, 1279 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s index 004d1eadf..300c53114 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -6,1285 +6,6 @@ .text - thumb_func_start sub_800E7C4 -sub_800E7C4: @ 800E7C4 - push {lr} - ldr r0, _0800E7E4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800E7F0 - bl sub_800B858 - ldr r0, _0800E7E8 @ =sub_800F104 - bl SetMainCallback2 - ldr r1, _0800E7EC @ =gUnknown_02024D1E - movs r0, 0 - strb r0, [r1] - b _0800E7F4 - .align 2, 0 -_0800E7E4: .4byte gBattleTypeFlags -_0800E7E8: .4byte sub_800F104 -_0800E7EC: .4byte gUnknown_02024D1E -_0800E7F0: - bl sub_800E7F8 -_0800E7F4: - pop {r0} - bx r0 - thumb_func_end sub_800E7C4 - - thumb_func_start sub_800E7F8 -sub_800E7F8: @ 800E7F8 - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl SetVBlankCallback - movs r4, 0 - str r4, [sp] - movs r1, 0xC0 - lsls r1, 19 - ldr r2, _0800E90C @ =0x05006000 - mov r0, sp - bl CpuSet - ldr r0, _0800E910 @ =REG_MOSAIC - strh r4, [r0] - subs r0, 0xC - movs r2, 0xF0 - strh r2, [r0] - adds r0, 0x4 - ldr r3, _0800E914 @ =0x00005051 - adds r1, r3, 0 - strh r1, [r0] - adds r0, 0x4 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r0, _0800E918 @ =gUnknown_030042C4 - strh r2, [r0] - ldr r0, _0800E91C @ =gUnknown_03004240 - strh r1, [r0] - bl dp12_8087EA4 - ldr r0, _0800E920 @ =gUnknown_03004DE0 - movs r3, 0xF0 - movs r5, 0xF0 - lsls r5, 3 - adds r2, r0, r5 - movs r1, 0x4F -_0800E84A: - strh r3, [r0] - strh r3, [r2] - adds r2, 0x2 - adds r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _0800E84A - movs r1, 0x50 - ldr r4, _0800E924 @ =gUnknown_081F9674 - ldr r0, _0800E920 @ =gUnknown_03004DE0 - ldr r3, _0800E928 @ =0x0000ff10 - movs r5, 0x82 - lsls r5, 4 - adds r2, r0, r5 - adds r0, 0xA0 -_0800E868: - strh r3, [r0] - strh r3, [r2] - adds r2, 0x2 - adds r0, 0x2 - adds r1, 0x1 - cmp r1, 0x9F - ble _0800E868 - ldr r0, [r4] - ldr r1, [r4, 0x4] - ldr r2, [r4, 0x8] - bl sub_80895F8 - ldr r4, _0800E92C @ =gWindowConfig_81E6C58 - adds r0, r4, 0 - bl SetUpWindowConfig - bl ResetPaletteFade - ldr r0, _0800E930 @ =gUnknown_030042A4 - movs r1, 0 - strh r1, [r0] - ldr r0, _0800E934 @ =gUnknown_030042A0 - strh r1, [r0] - ldr r0, _0800E938 @ =gUnknown_030042C0 - strh r1, [r0] - ldr r0, _0800E93C @ =gUnknown_030041B4 - strh r1, [r0] - ldr r0, _0800E940 @ =gUnknown_03004288 - strh r1, [r0] - ldr r0, _0800E944 @ =gUnknown_03004280 - strh r1, [r0] - ldr r0, _0800E948 @ =gUnknown_030041B0 - strh r1, [r0] - ldr r0, _0800E94C @ =gUnknown_030041B8 - strh r1, [r0] - bl GetBattleTerrain - ldr r1, _0800E950 @ =gBattleTerrain - strb r0, [r1] - ldr r0, _0800E954 @ =gUnknown_03004210 - adds r1, r4, 0 - bl InitWindowFromConfig - ldr r0, _0800E958 @ =gUnknown_030041D0 - ldr r1, _0800E95C @ =gWindowConfig_81E71D0 - bl InitWindowFromConfig - ldr r0, _0800E960 @ =gUnknown_03004250 - ldr r1, _0800E964 @ =gWindowConfig_81E71EC - bl InitWindowFromConfig - bl sub_800D6D4 - bl sub_800DAB8 - bl ResetSpriteData - bl ResetTasks - bl sub_800E23C - bl FreeAllSpritePalettes - ldr r1, _0800E968 @ =gReservedSpritePaletteCount - movs r0, 0x4 - strb r0, [r1] - ldr r0, _0800E96C @ =sub_800FCFC - bl SetVBlankCallback - bl setup_poochyena_battle - ldr r0, _0800E970 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800E978 - ldr r0, _0800E974 @ =sub_800F298 - bl SetMainCallback2 - b _0800E97E - .align 2, 0 -_0800E90C: .4byte 0x05006000 -_0800E910: .4byte REG_MOSAIC -_0800E914: .4byte 0x00005051 -_0800E918: .4byte gUnknown_030042C4 -_0800E91C: .4byte gUnknown_03004240 -_0800E920: .4byte gUnknown_03004DE0 -_0800E924: .4byte gUnknown_081F9674 -_0800E928: .4byte 0x0000ff10 -_0800E92C: .4byte gWindowConfig_81E6C58 -_0800E930: .4byte gUnknown_030042A4 -_0800E934: .4byte gUnknown_030042A0 -_0800E938: .4byte gUnknown_030042C0 -_0800E93C: .4byte gUnknown_030041B4 -_0800E940: .4byte gUnknown_03004288 -_0800E944: .4byte gUnknown_03004280 -_0800E948: .4byte gUnknown_030041B0 -_0800E94C: .4byte gUnknown_030041B8 -_0800E950: .4byte gBattleTerrain -_0800E954: .4byte gUnknown_03004210 -_0800E958: .4byte gUnknown_030041D0 -_0800E95C: .4byte gWindowConfig_81E71D0 -_0800E960: .4byte gUnknown_03004250 -_0800E964: .4byte gWindowConfig_81E71EC -_0800E968: .4byte gReservedSpritePaletteCount -_0800E96C: .4byte sub_800FCFC -_0800E970: .4byte gBattleTypeFlags -_0800E974: .4byte sub_800F298 -_0800E978: - ldr r0, _0800E9CC @ =sub_800EC9C - bl SetMainCallback2 -_0800E97E: - ldr r0, _0800E9D0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0800E998 - ldr r0, _0800E9D4 @ =gEnemyParty - ldr r1, _0800E9D8 @ =gTrainerBattleOpponent - ldrh r1, [r1] - bl sub_800F8E8 - bl SetWildMonHeldItem -_0800E998: - ldr r0, _0800E9DC @ =gMain - ldr r1, _0800E9E0 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0] - ldr r4, _0800E9E4 @ =gPlayerParty - movs r3, 0xFA - lsls r3, 1 - adds r5, r4, r3 -_0800E9AE: - adds r0, r4, 0 - movs r1, 0x3 - bl AdjustFriendship - adds r4, 0x64 - cmp r4, r5 - ble _0800E9AE - movs r1, 0 - ldr r0, _0800E9E8 @ =gUnknown_02024D1E - strb r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800E9CC: .4byte sub_800EC9C -_0800E9D0: .4byte gBattleTypeFlags -_0800E9D4: .4byte gEnemyParty -_0800E9D8: .4byte gTrainerBattleOpponent -_0800E9DC: .4byte gMain -_0800E9E0: .4byte 0x0000043d -_0800E9E4: .4byte gPlayerParty -_0800E9E8: .4byte gUnknown_02024D1E - thumb_func_end sub_800E7F8 - - thumb_func_start sub_800E9EC -sub_800E9EC: @ 800E9EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - mov r9, r6 - movs r0, 0xCE - lsls r0, 1 - mov r10, r0 - mov r8, r6 -_0800EA02: - movs r0, 0x64 - mov r4, r9 - muls r4, r0 - ldr r0, _0800EAA4 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - adds r1, r0, 0 - cmp r5, 0 - beq _0800EA7E - cmp r5, r10 - beq _0800EA4A - cmp r7, 0 - beq _0800EA4A - cmp r1, 0 - bne _0800EA4A - movs r0, 0x1 - mov r2, r8 - lsls r0, r2 - orrs r6, r0 - lsls r0, r6, 16 - lsrs r6, r0, 16 -_0800EA4A: - cmp r5, 0 - beq _0800EA7E - cmp r7, 0 - beq _0800EA66 - cmp r5, r10 - beq _0800EA5A - cmp r1, 0 - beq _0800EA66 -_0800EA5A: - movs r0, 0x2 - mov r1, r8 - lsls r0, r1 - orrs r6, r0 - lsls r0, r6, 16 - lsrs r6, r0, 16 -_0800EA66: - cmp r5, 0 - beq _0800EA7E - cmp r5, r10 - beq _0800EA7E - cmp r7, 0 - bne _0800EA7E - movs r0, 0x3 - mov r2, r8 - lsls r0, r2 - orrs r6, r0 - lsls r0, r6, 16 - lsrs r6, r0, 16 -_0800EA7E: - movs r0, 0x2 - add r8, r0 - movs r1, 0x1 - add r9, r1 - mov r2, r9 - cmp r2, 0x5 - ble _0800EA02 - ldr r1, _0800EAA8 @ =0x02000000 - strb r6, [r1, 0x2] - lsrs r0, r6, 8 - strb r0, [r1, 0x3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800EAA4: .4byte gPlayerParty -_0800EAA8: .4byte 0x02000000 - thumb_func_end sub_800E9EC - - thumb_func_start sub_800EAAC -sub_800EAAC: @ 800EAAC - push {r4-r6,lr} - ldr r4, _0800EAF4 @ =0x02000004 - movs r2, 0 - ldr r6, _0800EAF8 @ =gSaveBlock1 - ldr r0, _0800EAFC @ =0x00003160 - adds r3, r6, r0 -_0800EAB8: - adds r0, r4, r2 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _0800EAB8 - movs r2, 0 - adds r3, r4, 0 - adds r3, 0x8 - ldr r5, _0800EB00 @ =gSaveBlock1 + 0x3676 -_0800EACE: - adds r0, r3, r2 - adds r1, r2, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x11 - ble _0800EACE - ldr r1, _0800EB04 @ =0x00003688 - adds r0, r6, r1 - ldrb r0, [r0] - strb r0, [r4, 0x7] - adds r1, 0x1 - adds r0, r6, r1 - ldrb r0, [r0] - strb r0, [r4, 0x1A] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800EAF4: .4byte 0x02000004 -_0800EAF8: .4byte gSaveBlock1 -_0800EAFC: .4byte 0x00003160 -_0800EB00: .4byte gSaveBlock1 + 0x3676 -_0800EB04: .4byte 0x00003688 - thumb_func_end sub_800EAAC - - thumb_func_start sub_800EB08 -sub_800EB08: @ 800EB08 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800EB84 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0800EBA4 - movs r3, 0 - ldr r5, _0800EB88 @ =gEnigmaBerries - ldr r0, _0800EB8C @ =gSaveBlock1 - mov r12, r0 - adds r7, r5, 0 - ldr r6, _0800EB90 @ =0x00003160 - add r6, r12 - adds r4, r5, 0 - adds r4, 0x38 -_0800EB30: - adds r1, r3, r7 - adds r2, r3, r6 - ldrb r0, [r2] - strb r0, [r1] - adds r1, r3, r4 - ldrb r0, [r2] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x6 - ble _0800EB30 - movs r3, 0 - ldr r4, _0800EB94 @ =gUnknown_02024DF8 - ldr r7, _0800EB98 @ =gSaveBlock1 + 0x3676 - adds r6, r4, 0 - adds r6, 0x38 -_0800EB4E: - adds r1, r3, r4 - adds r2, r3, r7 - ldrb r0, [r2] - strb r0, [r1] - adds r1, r3, r6 - ldrb r0, [r2] - strb r0, [r1] - adds r3, 0x1 - cmp r3, 0x11 - ble _0800EB4E - ldr r1, _0800EB9C @ =0x00003688 - add r1, r12 - ldrb r0, [r1] - strb r0, [r5, 0x7] - ldrb r0, [r1] - adds r1, r5, 0 - adds r1, 0x3F - strb r0, [r1] - ldr r1, _0800EBA0 @ =0x00003689 - add r1, r12 - ldrb r0, [r1] - strb r0, [r5, 0x1A] - ldrb r1, [r1] - adds r0, r5, 0 - adds r0, 0x52 - strb r1, [r0] - b _0800EC28 - .align 2, 0 -_0800EB84: .4byte gBattleTypeFlags -_0800EB88: .4byte gEnigmaBerries -_0800EB8C: .4byte gSaveBlock1 -_0800EB90: .4byte 0x00003160 -_0800EB94: .4byte gUnknown_02024DF8 -_0800EB98: .4byte gSaveBlock1 + 0x3676 -_0800EB9C: .4byte 0x00003688 -_0800EBA0: .4byte 0x00003689 -_0800EBA4: - movs r0, 0x40 - ands r0, r1 - movs r1, 0x2 - mov r8, r1 - cmp r0, 0 - beq _0800EBB4 - movs r0, 0x4 - mov r8, r0 -_0800EBB4: - movs r3, 0 - cmp r3, r8 - bge _0800EC28 - ldr r1, _0800EC38 @ =gEnigmaBerries - mov r12, r1 - ldr r0, _0800EC3C @ =gBlockRecvBuffer + 0x4 - mov r10, r0 - movs r1, 0x8 - add r1, r12 - mov r9, r1 -_0800EBC8: - lsls r0, r3, 8 - mov r1, r10 - adds r5, r0, r1 - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - ldr r1, _0800EC40 @ =gLinkPlayers - adds r0, r1 - ldrb r4, [r0, 0x18] - movs r2, 0 - adds r7, r3, 0x1 - lsls r1, r4, 3 - subs r0, r1, r4 - adds r6, r1, 0 - lsls r0, 2 - mov r1, r12 - adds r3, r0, r1 -_0800EBEA: - adds r0, r5, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x6 - ble _0800EBEA - movs r2, 0 - subs r0, r6, r4 - lsls r0, 2 - mov r1, r9 - adds r3, r0, r1 - adds r1, r5, 0 - adds r1, 0x8 -_0800EC06: - adds r0, r1, r2 - ldrb r0, [r0] - strb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x11 - ble _0800EC06 - subs r0, r6, r4 - lsls r0, 2 - add r0, r12 - ldrb r1, [r5, 0x7] - strb r1, [r0, 0x7] - ldrb r1, [r5, 0x1A] - strb r1, [r0, 0x1A] - adds r3, r7, 0 - cmp r3, r8 - blt _0800EBC8 -_0800EC28: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800EC38: .4byte gEnigmaBerries -_0800EC3C: .4byte gBlockRecvBuffer + 0x4 -_0800EC40: .4byte gLinkPlayers - thumb_func_end sub_800EB08 - - thumb_func_start shedinja_something -shedinja_something: @ 800EC44 - push {r4,r5,lr} - sub sp, 0x10 - adds r4, r0, 0 - add r5, sp, 0xC - movs r0, 0x1 - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - ldr r1, _0800EC94 @ =0x0000012f - cmp r0, r1 - bne _0800EC8C - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - ldrb r1, [r5] - cmp r0, r1 - beq _0800EC8C - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r1, _0800EC98 @ =gUnknown_081F96C8 - mov r0, sp - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0800EC8C - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl SetMonData -_0800EC8C: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0800EC94: .4byte 0x0000012f -_0800EC98: .4byte gUnknown_081F96C8 - thumb_func_end shedinja_something - - thumb_func_start sub_800EC9C -sub_800EC9C: @ 800EC9C - push {r4-r7,lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0800ECD4 @ =0x02000000 - ldr r1, _0800ECD8 @ =0x000160cb - adds r0, r1 - strb r4, [r0] - movs r0, 0x1 - adds r5, r4, 0 - eors r5, r0 - ldr r0, _0800ECDC @ =gUnknown_02024D1E - ldrb r0, [r0] - cmp r0, 0x9 - bls _0800ECCA - b _0800F008 -_0800ECCA: - lsls r0, 2 - ldr r1, _0800ECE0 @ =_0800ECE4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800ECD4: .4byte 0x02000000 -_0800ECD8: .4byte 0x000160cb -_0800ECDC: .4byte gUnknown_02024D1E -_0800ECE0: .4byte _0800ECE4 - .align 2, 0 -_0800ECE4: - .4byte _0800ED0C - .4byte _0800ED7C - .4byte _0800EE88 - .4byte _0800EEAC - .4byte _0800EED8 - .4byte _0800EEFC - .4byte _0800EF28 - .4byte _0800EF48 - .4byte _0800EFB4 - .4byte _0800EFCC -_0800ED0C: - ldr r2, _0800ED54 @ =gBattleTypeFlags - ldrh r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800ED64 - ldr r0, _0800ED58 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800ED22 - b _0800F008 -_0800ED22: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0800ED2E - b _0800F008 -_0800ED2E: - ldr r4, _0800ED5C @ =0x02000000 - movs r5, 0x1 - strb r5, [r4] - strb r5, [r4, 0x1] - bl sub_800E9EC - bl sub_800EAAC - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x20 - bl SendBlock - ldr r0, _0800ED60 @ =gUnknown_02024D1E - strb r5, [r0] - b _0800F008 - .align 2, 0 -_0800ED54: .4byte gBattleTypeFlags -_0800ED58: .4byte gReceivedRemoteLinkPlayers -_0800ED5C: .4byte 0x02000000 -_0800ED60: .4byte gUnknown_02024D1E -_0800ED64: - movs r0, 0x4 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0800ED78 @ =gUnknown_02024D1E - movs r0, 0x8 - strb r0, [r1] - bl sub_800EB08 - b _0800F008 - .align 2, 0 -_0800ED78: .4byte gUnknown_02024D1E -_0800ED7C: - bl GetBlockReceivedStatus - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x3 - beq _0800ED8A - b _0800F008 -_0800ED8A: - bl ResetBlockReceivedFlags - movs r3, 0 - ldr r0, _0800EDA8 @ =gBlockRecvBuffer - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _0800EDBC - cmp r4, 0 - bne _0800EDB0 - ldr r0, _0800EDAC @ =gBattleTypeFlags - ldrh r1, [r0] - movs r2, 0xC - b _0800EDB6 - .align 2, 0 -_0800EDA8: .4byte gBlockRecvBuffer -_0800EDAC: .4byte gBattleTypeFlags -_0800EDB0: - ldr r0, _0800EDE0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r2, 0x8 -_0800EDB6: - orrs r1, r2 - strh r1, [r0] - adds r3, 0x1 -_0800EDBC: - lsls r7, r5, 8 - cmp r3, 0 - bne _0800EE38 - ldr r0, _0800EDE4 @ =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r2, r0, r1 - ldrh r1, [r0] - adds r6, r0, 0 - ldrh r2, [r2] - cmp r1, r2 - bne _0800EDF4 - cmp r4, 0 - bne _0800EDE8 - ldr r0, _0800EDE0 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r2, 0xC - b _0800EDEE - .align 2, 0 -_0800EDE0: .4byte gBattleTypeFlags -_0800EDE4: .4byte gBlockRecvBuffer -_0800EDE8: - ldr r0, _0800EE04 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r2, 0x8 -_0800EDEE: - orrs r1, r2 - strh r1, [r0] - adds r3, 0x1 -_0800EDF4: - lsls r7, r5, 8 - cmp r3, 0 - bne _0800EE38 - ldrh r1, [r6] - ldr r0, _0800EE08 @ =0x00000101 - ldr r2, _0800EE04 @ =gBattleTypeFlags - b _0800EE1A - .align 2, 0 -_0800EE04: .4byte gBattleTypeFlags -_0800EE08: .4byte 0x00000101 -_0800EE0C: - adds r3, 0x1 - cmp r3, 0x1 - bgt _0800EE22 - lsls r0, r3, 8 - adds r0, r6 - ldrh r1, [r0] - ldr r0, _0800EE2C @ =0x00000101 -_0800EE1A: - cmp r1, r0 - bls _0800EE0C - cmp r3, r4 - beq _0800EE0C -_0800EE22: - cmp r3, 0x2 - bne _0800EE30 - ldrh r0, [r2] - movs r1, 0xC - b _0800EE34 - .align 2, 0 -_0800EE2C: .4byte 0x00000101 -_0800EE30: - ldrh r0, [r2] - movs r1, 0x8 -_0800EE34: - orrs r0, r1 - strh r0, [r2] -_0800EE38: - bl sub_800EB08 - ldr r0, _0800EE78 @ =sub_800DE30 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EE7C @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r2, r1 - movs r1, 0 - movs r0, 0x87 - lsls r0, 1 - strh r0, [r2, 0xA] - movs r0, 0x5A - strh r0, [r2, 0xC] - strh r1, [r2, 0x12] - ldr r0, _0800EE80 @ =0x02000000 - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - lsls r0, 8 - orrs r1, r0 - strh r1, [r2, 0xE] - ldr r0, _0800EE84 @ =gBlockRecvBuffer - adds r0, 0x2 - adds r0, r7, r0 - ldrh r0, [r0] - strh r0, [r2, 0x10] - b _0800EF96 - .align 2, 0 -_0800EE78: .4byte sub_800DE30 -_0800EE7C: .4byte gTasks -_0800EE80: .4byte 0x02000000 -_0800EE84: .4byte gBlockRecvBuffer -_0800EE88: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0800EE94 - b _0800F008 -_0800EE94: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EEA8 @ =gPlayerParty - movs r2, 0xC8 - bl SendBlock - b _0800EF96 - .align 2, 0 -_0800EEA8: .4byte gPlayerParty -_0800EEAC: - bl GetBlockReceivedStatus - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x3 - beq _0800EEBA - b _0800F008 -_0800EEBA: - bl ResetBlockReceivedFlags - ldr r0, _0800EED0 @ =gEnemyParty - lsls r1, r5, 8 - ldr r2, _0800EED4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl memcpy - b _0800EF96 - .align 2, 0 -_0800EED0: .4byte gEnemyParty -_0800EED4: .4byte gBlockRecvBuffer -_0800EED8: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0800EEE4 - b _0800F008 -_0800EEE4: - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EEF8 @ =gPlayerParty + 2 * 0x64 - movs r2, 0xC8 - bl SendBlock - b _0800EF96 - .align 2, 0 -_0800EEF8: .4byte gPlayerParty + 2 * 0x64 -_0800EEFC: - bl GetBlockReceivedStatus - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x3 - beq _0800EF0A - b _0800F008 -_0800EF0A: - bl ResetBlockReceivedFlags - ldr r0, _0800EF20 @ =gEnemyParty + 2 * 0x64 - lsls r1, r5, 8 - ldr r2, _0800EF24 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl memcpy - b _0800EF96 - .align 2, 0 -_0800EF20: .4byte gEnemyParty + 2 * 0x64 -_0800EF24: .4byte gBlockRecvBuffer -_0800EF28: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0800F008 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0800EF44 @ =gPlayerParty + 4 * 0x64 - movs r2, 0xC8 - bl SendBlock - b _0800EF96 - .align 2, 0 -_0800EF44: .4byte gPlayerParty + 4 * 0x64 -_0800EF48: - bl GetBlockReceivedStatus - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x3 - bne _0800F008 - bl ResetBlockReceivedFlags - ldr r4, _0800EFA0 @ =gEnemyParty + 4 * 0x64 - lsls r1, r5, 8 - ldr r0, _0800EFA4 @ =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xC8 - bl memcpy - ldr r1, _0800EFA8 @ =0xfffffe70 - adds r0, r4, r1 - bl shedinja_something - ldr r1, _0800EFAC @ =0xfffffed4 - adds r0, r4, r1 - bl shedinja_something - adds r0, r4, 0 - subs r0, 0xC8 - bl shedinja_something - adds r0, r4, 0 - subs r0, 0x64 - bl shedinja_something - adds r0, r4, 0 - bl shedinja_something - adds r0, r4, 0 - adds r0, 0x64 - bl shedinja_something -_0800EF96: - ldr r1, _0800EFB0 @ =gUnknown_02024D1E - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0800F008 - .align 2, 0 -_0800EFA0: .4byte gEnemyParty + 4 * 0x64 -_0800EFA4: .4byte gBlockRecvBuffer -_0800EFA8: .4byte 0xfffffe70 -_0800EFAC: .4byte 0xfffffed4 -_0800EFB0: .4byte gUnknown_02024D1E -_0800EFB4: - bl sub_800B950 - ldr r0, _0800EFC8 @ =gUnknown_02024D1E - ldrb r1, [r0] - adds r1, 0x1 - movs r2, 0 - strb r1, [r0] - strb r2, [r0, 0x1] - strb r2, [r0, 0x2] - b _0800F008 - .align 2, 0 -_0800EFC8: .4byte gUnknown_02024D1E -_0800EFCC: - ldr r0, _0800F010 @ =gUnknown_02024D1F - adds r1, r0, 0x1 - bl battle_load_something - lsls r0, 24 - cmp r0, 0 - beq _0800F008 - ldr r2, _0800F014 @ =gUnknown_030042D0 - ldr r1, _0800F018 @ =gMain - ldr r0, [r1] - str r0, [r2] - ldr r0, _0800F01C @ =sub_8010824 - str r0, [r1] - ldr r0, _0800F020 @ =sub_800F808 - bl SetMainCallback2 - ldr r3, _0800F024 @ =gBattleTypeFlags - ldrh r2, [r3] - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0800F008 - ldr r1, _0800F028 @ =gTrainerBattleOpponent - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - strh r0, [r1] - movs r0, 0x20 - orrs r0, r2 - strh r0, [r3] -_0800F008: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800F010: .4byte gUnknown_02024D1F -_0800F014: .4byte gUnknown_030042D0 -_0800F018: .4byte gMain -_0800F01C: .4byte sub_8010824 -_0800F020: .4byte sub_800F808 -_0800F024: .4byte gBattleTypeFlags -_0800F028: .4byte gTrainerBattleOpponent - thumb_func_end sub_800EC9C - - thumb_func_start sub_800F02C -sub_800F02C: @ 800F02C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r8, r0 - ldr r7, _0800F0F8 @ =gUnknown_02023A04 - mov r10, r7 -_0800F03E: - mov r1, r8 - lsls r6, r1, 5 - movs r0, 0x64 - mov r4, r8 - muls r4, r0 - ldr r0, _0800F0FC @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - movs r1, 0x4 - negs r1, r1 - add r1, r10 - mov r9, r1 - adds r5, r6, r1 - strh r0, [r5] - adds r0, r4, 0 - movs r1, 0xC - bl GetMonData - strh r0, [r5, 0x2] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r7, 0 - bl GetMonData - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - strb r0, [r5, 0xF] - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - strh r0, [r5, 0x10] - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - strh r0, [r5, 0x12] - adds r0, r4, 0 - movs r1, 0x37 - bl GetMonData - mov r1, r10 - adds r1, 0x10 - adds r6, r1 - str r0, [r6] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r7, 0x14] - adds r0, r4, 0 - bl GetMonGender - strb r0, [r5, 0x1C] - adds r0, r7, 0 - bl StripExtCtrlCodes - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - strb r0, [r5, 0x1D] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0800F0D4 - adds r0, r7, 0 - movs r1, 0 - bl PadNameString -_0800F0D4: - adds r7, 0x20 - movs r0, 0x1 - add r8, r0 - mov r1, r8 - cmp r1, 0x2 - ble _0800F03E - ldr r0, _0800F100 @ =0x02000000 - mov r1, r9 - movs r2, 0x60 - bl memcpy - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800F0F8: .4byte gUnknown_02023A04 -_0800F0FC: .4byte gPlayerParty -_0800F100: .4byte 0x02000000 - thumb_func_end sub_800F02C - - thumb_func_start sub_800F104 -sub_800F104: @ 800F104 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - bl GetMultiplayerId - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _0800F148 @ =0x02000000 - ldr r1, _0800F14C @ =0x000160cb - adds r0, r4, r1 - strb r6, [r0] - ldr r2, _0800F150 @ =0x000160c4 - adds r2, r4 - mov r9, r2 - ldr r0, _0800F154 @ =0x000160c2 - adds r0, r4 - mov r8, r0 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - ldr r5, _0800F158 @ =gUnknown_02024D1E - ldrb r0, [r5] - cmp r0, 0x1 - beq _0800F1A0 - cmp r0, 0x1 - bgt _0800F15C - cmp r0, 0 - beq _0800F168 - b _0800F27A - .align 2, 0 -_0800F148: .4byte 0x02000000 -_0800F14C: .4byte 0x000160cb -_0800F150: .4byte 0x000160c4 -_0800F154: .4byte 0x000160c2 -_0800F158: .4byte gUnknown_02024D1E -_0800F15C: - cmp r0, 0x2 - beq _0800F240 - cmp r0, 0x3 - bne _0800F166 - b _0800F25C -_0800F166: - b _0800F27A -_0800F168: - ldr r0, _0800F19C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800F172 - b _0800F27A -_0800F172: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - bne _0800F17E - b _0800F27A -_0800F17E: - bl sub_800F02C - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - movs r2, 0x60 - bl SendBlock - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0800F27A - .align 2, 0 -_0800F19C: .4byte gReceivedRemoteLinkPlayers -_0800F1A0: - bl GetBlockReceivedStatus - movs r1, 0xF - ands r1, r0 - cmp r1, 0xF - bne _0800F27A - bl ResetBlockReceivedFlags - movs r4, 0 - lsls r0, r6, 3 - subs r0, r6 - lsls r5, r0, 2 - movs r7, 0 -_0800F1BA: - cmp r4, r6 - beq _0800F1FA - ldr r2, _0800F1DC @ =gLinkPlayers - adds r0, r7, r2 - ldrh r1, [r0, 0x18] - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0800F1E0 - adds r0, r5, r2 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800F1EC - b _0800F1FA - .align 2, 0 -_0800F1DC: .4byte gLinkPlayers -_0800F1E0: - adds r0, r5, r2 - ldrh r1, [r0, 0x18] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800F1FA -_0800F1EC: - lsls r1, r4, 8 - ldr r0, _0800F228 @ =gBlockRecvBuffer - adds r1, r0 - ldr r0, _0800F22C @ =gUnknown_02023A00 - movs r2, 0x60 - bl memcpy -_0800F1FA: - adds r7, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _0800F1BA - ldr r1, _0800F230 @ =gUnknown_02024D1E - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _0800F234 @ =gMain - ldr r0, [r1, 0x8] - mov r2, r9 - str r0, [r2] - ldr r0, _0800F238 @ =gBattleTypeFlags - ldrh r0, [r0] - mov r2, r8 - strh r0, [r2] - ldr r0, _0800F23C @ =sub_800F104 - str r0, [r1, 0x8] - movs r0, 0x5 - movs r1, 0 - bl OpenPartyMenu - b _0800F27A - .align 2, 0 -_0800F228: .4byte gBlockRecvBuffer -_0800F22C: .4byte gUnknown_02023A00 -_0800F230: .4byte gUnknown_02024D1E -_0800F234: .4byte gMain -_0800F238: .4byte gBattleTypeFlags -_0800F23C: .4byte sub_800F104 -_0800F240: - ldr r0, _0800F258 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0800F27A - movs r0, 0x3 - strb r0, [r5] - bl sub_800832C - b _0800F27A - .align 2, 0 -_0800F258: .4byte gPaletteFade -_0800F25C: - ldr r0, _0800F288 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0800F27A - ldr r1, _0800F28C @ =gBattleTypeFlags - mov r2, r8 - ldrh r0, [r2] - strh r0, [r1] - ldr r1, _0800F290 @ =gMain - mov r2, r9 - ldr r0, [r2] - str r0, [r1, 0x8] - ldr r0, _0800F294 @ =sub_800E7F8 - bl SetMainCallback2 -_0800F27A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800F288: .4byte gReceivedRemoteLinkPlayers -_0800F28C: .4byte gBattleTypeFlags -_0800F290: .4byte gMain -_0800F294: .4byte sub_800E7F8 - thumb_func_end sub_800F104 - thumb_func_start sub_800F298 sub_800F298: @ 800F298 push {r4-r7,lr} |