summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-03-04 11:19:39 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-03-04 11:19:39 -0500
commit8dcae92a5fba55497bf69d7d263cbabb2f9537ea (patch)
tree7b7dd570659f448f75bfee2502f07b42a954ed50 /asm
parent437fe6631adfe04ce89f966c189b7b015d81cf26 (diff)
port/decomp through sub_8150FDC
Diffstat (limited to 'asm')
-rw-r--r--asm/dodrio_berry_picking.s1092
1 files changed, 0 insertions, 1092 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index eca27fd8d..9ae56f4fd 100644
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -5,1098 +5,6 @@
.text
- thumb_func_start StartDodrioBerryPicking
-StartDodrioBerryPicking: @ 81507FC
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _081508A4 @ =gUnknown_3002044
- movs r0, 0
- str r0, [r1]
- ldr r0, _081508A8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _081508CC
- ldr r4, _081508AC @ =gUnknown_203F3E0
- ldr r0, _081508B0 @ =0x00003330
- bl AllocZeroed
- str r0, [r4]
- cmp r0, 0
- beq _081508CC
- bl sub_81508D8
- ldr r0, [r4]
- bl sub_81508EC
- ldr r0, [r4]
- str r5, [r0]
- bl GetMultiplayerId
- ldr r1, [r4]
- adds r1, 0x28
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, _081508B4 @ =0x000032cc
- adds r0, r1, r2
- adds r2, r1, 0
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r3, 4
- subs r2, r3
- lsls r2, 2
- adds r1, r2
- ldr r2, _081508B8 @ =0x000031a0
- adds r1, r2
- movs r2, 0x3C
- bl memcpy
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- ldrb r1, [r1]
- lsls r1, 2
- ldr r2, _081508BC @ =0x0000318c
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r6
- ldr r2, _081508C0 @ =gPlayerParty
- adds r1, r2
- bl sub_8152048
- ldr r0, _081508C4 @ =sub_8150A84
- movs r1, 0x1
- bl CreateTask
- ldr r0, _081508C8 @ =sub_815201C
- bl SetMainCallback2
- bl sub_8153150
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x44
- adds r2, 0x48
- bl sub_81529A4
- bl StopMapMusic
- movs r0, 0xA5
- lsls r0, 1
- bl PlayNewMapMusic
- b _081508D2
- .align 2, 0
-_081508A4: .4byte gUnknown_3002044
-_081508A8: .4byte gReceivedRemoteLinkPlayers
-_081508AC: .4byte gUnknown_203F3E0
-_081508B0: .4byte 0x00003330
-_081508B4: .4byte 0x000032cc
-_081508B8: .4byte 0x000031a0
-_081508BC: .4byte 0x0000318c
-_081508C0: .4byte gPlayerParty
-_081508C4: .4byte sub_8150A84
-_081508C8: .4byte sub_815201C
-_081508CC:
- adds r0, r5, 0
- bl SetMainCallback2
-_081508D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end StartDodrioBerryPicking
-
- thumb_func_start sub_81508D8
-sub_81508D8: @ 81508D8
- push {lr}
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_81508D8
-
- thumb_func_start sub_81508EC
-sub_81508EC: @ 81508EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2, 0xC]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0x14]
- strb r0, [r2, 0x18]
- strb r0, [r2, 0x1C]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- str r0, [r1]
- adds r1, r2, 0
- adds r1, 0x30
- strb r0, [r1]
- adds r1, 0x10
- strb r0, [r1]
- subs r1, 0x4
- strb r0, [r1]
- adds r3, 0x10
- adds r1, r2, r3
- str r0, [r1]
- movs r5, 0
- adds r1, r2, 0
- adds r1, 0x98
- movs r3, 0
-_08150932:
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08150932
- movs r5, 0
- adds r7, r2, 0
- adds r7, 0xA8
- str r7, [sp]
- adds r0, r2, 0
- adds r0, 0xB0
- str r0, [sp, 0xC]
- movs r1, 0x4A
- adds r1, r2
- mov r10, r1
- movs r3, 0x4C
- adds r3, r2
- mov r9, r3
- movs r7, 0x4E
- adds r7, r2
- mov r12, r7
- subs r0, 0x60
- str r0, [sp, 0x24]
- adds r6, r2, 0
- adds r6, 0x54
- adds r1, r2, 0
- adds r1, 0xD0
- str r1, [sp, 0x1C]
- adds r3, r2, 0
- adds r3, 0xDC
- str r3, [sp, 0x20]
- adds r7, r2, 0
- adds r7, 0xC4
- str r7, [sp, 0x14]
- adds r0, 0xA4
- str r0, [sp, 0x4]
- adds r1, 0x25
- str r1, [sp, 0x8]
- subs r3, 0xBC
- str r3, [sp, 0x10]
- movs r7, 0x24
- adds r7, r2
- mov r8, r7
- subs r0, 0xC0
- str r0, [sp, 0x18]
- movs r3, 0
- movs r1, 0x86
- lsls r1, 1
- adds r4, r2, r1
- movs r7, 0x98
- lsls r7, 1
- adds r2, r7
-_0815099E:
- ldr r1, [sp]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0xC]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- mov r7, r10
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r9
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r12
- adds r1, r7, r0
- strh r3, [r1]
- ldr r7, [sp, 0x24]
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r6, r0
- strh r3, [r0]
- adds r0, r4, r5
- strb r3, [r0]
- lsls r0, r5, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0815099E
- movs r5, 0
- movs r3, 0
- movs r4, 0xFF
- ldr r6, [sp, 0x1C]
-_081509E8:
- adds r0, r6, r5
- strb r3, [r0]
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0x14]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r1, r5, 1
- ldr r0, [sp, 0x4]
- adds r2, r0, r1
- ldrb r0, [r2]
- orrs r0, r4
- strb r0, [r2]
- ldr r7, [sp, 0x8]
- adds r1, r7, r1
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _081509E8
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08150A26
- movs r1, 0x1
-_08150A26:
- ldr r0, [sp, 0x10]
- strb r1, [r0]
- bl GetLinkPlayerCount
- mov r1, r8
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r3, [sp, 0x18]
- strb r0, [r3]
- movs r5, 0x1
- mov r7, r8
- ldrb r7, [r7]
- cmp r5, r7
- bcs _08150A72
- ldr r7, [sp, 0x18]
- mov r6, r8
-_08150A48:
- adds r4, r7, r5
- subs r0, r5, 0x1
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r4]
- ldrb r2, [r4]
- ldrb r1, [r6]
- subs r0, r1, 0x1
- cmp r2, r0
- ble _08150A66
- adds r0, r2, 0
- bl __umodsi3
- strb r0, [r4]
-_08150A66:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- cmp r5, r0
- bcc _08150A48
-_08150A72:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81508EC
-
- thumb_func_start sub_8150A84
-sub_8150A84: @ 8150A84
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08150AA4 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bls _08150A98
- b _08150BF0
-_08150A98:
- lsls r0, 2
- ldr r1, _08150AA8 @ =_08150AAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08150AA4: .4byte gUnknown_203F3E0
-_08150AA8: .4byte _08150AAC
- .align 2, 0
-_08150AAC:
- .4byte _08150ACC
- .4byte _08150AE0
- .4byte _08150B08
- .4byte _08150B16
- .4byte _08150B3C
- .4byte _08150B90
- .4byte _08150BA2
- .4byte _08150BCC
-_08150ACC:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, _08150ADC @ =sub_8151750
- movs r1, 0x4
- bl sub_815205C
- b _08150BDC
- .align 2, 0
-_08150ADC: .4byte sub_8151750
-_08150AE0:
- ldr r0, _08150B00 @ =sub_8151750
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08150AEE
- b _08150BFC
-_08150AEE:
- ldr r4, _08150B04 @ =gUnknown_203F3E0
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r1
- bl sub_8154968
- ldr r1, [r4]
- b _08150BE0
- .align 2, 0
-_08150B00: .4byte sub_8151750
-_08150B04: .4byte gUnknown_203F3E0
-_08150B08:
- bl sub_8155E68
- cmp r0, 0
- bne _08150BFC
- bl LinkRfu_SetRfuFuncToSend6600
- b _08150BDC
-_08150B16:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150BFC
- ldr r0, _08150B38 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08150BDC
- bl LoadWirelessStatusIndicatorSpriteGfx
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08150BDC
- .align 2, 0
-_08150B38: .4byte gReceivedRemoteLinkPlayers
-_08150B3C:
- ldr r0, _08150B88 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_8153A9C
- movs r4, 0
- cmp r4, r5
- bcs _08150B76
-_08150B4E:
- ldr r0, _08150B88 @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- adds r0, r4
- ldrb r2, [r0]
- lsls r0, r2, 2
- ldr r3, _08150B8C @ =0x0000318c
- adds r0, r3
- adds r0, r1, r0
- adds r1, 0x24
- ldrb r3, [r1]
- adds r1, r4, 0
- bl sub_8153AFC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08150B4E
-_08150B76:
- ldr r4, _08150B88 @ =gUnknown_203F3E0
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r1, [r0]
- movs r0, 0
- bl sub_8153D80
- ldr r1, [r4]
- b _08150BE0
- .align 2, 0
-_08150B88: .4byte gUnknown_203F3E0
-_08150B8C: .4byte 0x0000318c
-_08150B90:
- bl sub_8154128
- bl sub_815417C
- bl sub_8154438
- bl sub_8153E28
- b _08150BDC
-_08150BA2:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08150BC8 @ =sub_8152034
- bl SetVBlankCallback
- b _08150BDC
- .align 2, 0
-_08150BC8: .4byte sub_8152034
-_08150BCC:
- bl UpdatePaletteFade
- ldr r0, _08150BE8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08150BFC
-_08150BDC:
- ldr r0, _08150BEC @ =gUnknown_203F3E0
- ldr r1, [r0]
-_08150BE0:
- ldrb r0, [r1, 0xC]
- adds r0, 0x1
- strb r0, [r1, 0xC]
- b _08150BFC
- .align 2, 0
-_08150BE8: .4byte gPaletteFade
-_08150BEC: .4byte gUnknown_203F3E0
-_08150BF0:
- adds r0, r1, 0
- bl DestroyTask
- ldr r0, _08150C04 @ =sub_81516DC
- bl sub_815206C
-_08150BFC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08150C04: .4byte sub_81516DC
- thumb_func_end sub_8150A84
-
- thumb_func_start sub_8150C08
-sub_8150C08: @ 8150C08
- push {lr}
- bl sub_8151B54
- ldr r1, _08150C34 @ =sUnknown_8475578
- ldr r0, _08150C38 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08150C3C @ =gUnknown_3002044
- ldr r0, [r0]
- cmp r0, 0
- bne _08150C2C
- bl sub_815293C
-_08150C2C:
- bl sub_8151BA0
- pop {r0}
- bx r0
- .align 2, 0
-_08150C34: .4byte sUnknown_8475578
-_08150C38: .4byte gUnknown_203F3E0
-_08150C3C: .4byte gUnknown_3002044
- thumb_func_end sub_8150C08
-
- thumb_func_start sub_8150C40
-sub_8150C40: @ 8150C40
- push {lr}
- bl sub_8151C5C
- ldr r1, _08150C6C @ =sUnknown_84755A8
- ldr r0, _08150C70 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08150C74 @ =gUnknown_3002044
- ldr r0, [r0]
- cmp r0, 0
- bne _08150C64
- bl sub_8152970
-_08150C64:
- bl sub_8151D28
- pop {r0}
- bx r0
- .align 2, 0
-_08150C6C: .4byte sUnknown_84755A8
-_08150C70: .4byte gUnknown_203F3E0
-_08150C74: .4byte gUnknown_3002044
- thumb_func_end sub_8150C40
-
- thumb_func_start sub_8150C78
-sub_8150C78: @ 8150C78
- push {r4,lr}
- ldr r4, _08150C8C @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08150C90
- cmp r0, 0x1
- beq _08150CA6
- b _08150CB4
- .align 2, 0
-_08150C8C: .4byte gUnknown_203F3E0
-_08150C90:
- movs r0, 0x1
- bl sub_8153BF8
- movs r0, 0x1
- bl sub_81549D4
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150CB4
-_08150CA6:
- bl sub_8155E68
- cmp r0, 0
- bne _08150CB4
- movs r0, 0x1
- bl sub_8152090
-_08150CB4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150C78
-
- thumb_func_start sub_8150CBC
-sub_8150CBC: @ 8150CBC
- push {r4,lr}
- ldr r4, _08150CD8 @ =gUnknown_203F3E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08150CDC
- bl sub_8152110
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150CEC
- .align 2, 0
-_08150CD8: .4byte gUnknown_203F3E0
-_08150CDC:
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x2
- bl sub_8152090
-_08150CEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150CBC
-
- thumb_func_start sub_8150CF4
-sub_8150CF4: @ 8150CF4
- push {lr}
- sub sp, 0x4
- ldr r0, _08150D0C @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x4
- bhi _08150D74
- lsls r0, 2
- ldr r1, _08150D10 @ =_08150D14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08150D0C: .4byte gUnknown_203F3E0
-_08150D10: .4byte _08150D14
- .align 2, 0
-_08150D14:
- .4byte _08150D28
- .4byte _08150D4E
- .4byte _08150D3A
- .4byte _08150D46
- .4byte _08150D64
-_08150D28:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x78
- movs r3, 0x50
- bl StartMinigameCountdown
- b _08150D52
-_08150D3A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150D74
- b _08150D52
-_08150D46:
- bl IsMinigameCountdownRunning
- cmp r0, 0
- bne _08150D74
-_08150D4E:
- bl LinkRfu_SetRfuFuncToSend6600
-_08150D52:
- ldr r0, _08150D60 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150D74
- .align 2, 0
-_08150D60: .4byte gUnknown_203F3E0
-_08150D64:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150D74
- movs r0, 0x3
- bl sub_8152090
-_08150D74:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8150CF4
-
- thumb_func_start sub_8150D7C
-sub_8150D7C: @ 8150D7C
- push {lr}
- ldr r0, _08150DA0 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08150D9A
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08150D9A
- movs r0, 0x4
- bl sub_8152090
-_08150D9A:
- pop {r0}
- bx r0
- .align 2, 0
-_08150DA0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8150D7C
-
- thumb_func_start sub_8150DA4
-sub_8150DA4: @ 8150DA4
- push {r4,lr}
- ldr r4, _08150DE4 @ =gUnknown_203F3E0
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _08150E62
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08150E54
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150E5A
- ldr r0, _08150DE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08150DF4
- ldr r1, _08150DEC @ =0x000031cc
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- ldr r3, _08150DF0 @ =0x000031d0
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x2
- b _08150E2E
- .align 2, 0
-_08150DE4: .4byte gUnknown_203F3E0
-_08150DE8: .4byte gMain
-_08150DEC: .4byte 0x000031cc
-_08150DF0: .4byte 0x000031d0
-_08150DF4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08150E14
- ldr r3, _08150E10 @ =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x1
- b _08150E2E
- .align 2, 0
-_08150E10: .4byte 0x000031cc
-_08150E14:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08150E40
- ldr r3, _08150E3C @ =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x3
-_08150E2E:
- bl sub_815327C
- ldr r1, [r4]
- ldr r2, _08150E3C @ =0x000031cc
- adds r1, r2
- strb r0, [r1]
- b _08150E5A
- .align 2, 0
-_08150E3C: .4byte 0x000031cc
-_08150E40:
- movs r0, 0
- bl sub_815327C
- ldr r1, [r4]
- ldr r3, _08150E50 @ =0x000031cc
- adds r1, r3
- strb r0, [r1]
- b _08150E5A
- .align 2, 0
-_08150E50: .4byte 0x000031cc
-_08150E54:
- movs r0, 0xB
- bl sub_8152090
-_08150E5A:
- bl sub_815256C
- bl sub_8151D98
-_08150E62:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150DA4
-
- thumb_func_start sub_8150E68
-sub_8150E68: @ 8150E68
- push {lr}
- ldr r0, _08150EA8 @ =gUnknown_203F3E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08150F30
- ldr r0, _08150EAC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08150EB8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150EB0 @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150EB4 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x2
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150EA8: .4byte gUnknown_203F3E0
-_08150EAC: .4byte gMain
-_08150EB0: .4byte 0x000031cc
-_08150EB4: .4byte 0x000032f8
-_08150EB8:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08150EEC
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150EE4 @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150EE8 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150EE4: .4byte 0x000031cc
-_08150EE8: .4byte 0x000032f8
-_08150EEC:
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _08150F24
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150F1C @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150F20 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150F1C: .4byte 0x000031cc
-_08150F20: .4byte 0x000032f8
-_08150F24:
- ldr r3, _08150F2C @ =0x000032f8
- adds r0, r2, r3
- strb r1, [r0]
- b _08150F36
- .align 2, 0
-_08150F2C: .4byte 0x000032f8
-_08150F30:
- movs r0, 0xB
- bl sub_8152090
-_08150F36:
- bl sub_8151E94
- pop {r0}
- bx r0
- thumb_func_end sub_8150E68
-
- thumb_func_start sub_8150F40
-sub_8150F40: @ 8150F40
- push {r4,r5,lr}
- bl sub_815256C
- bl sub_8151D98
- bl sub_8152A98
- cmp r0, 0x1
- bne _08150F5E
- bl sub_8153004
- movs r0, 0x5
- bl sub_8152090
- b _08150FBC
-_08150F5E:
- ldr r0, _08150F8C @ =gUnknown_203F3E0
- ldr r2, [r0]
- movs r1, 0x96
- lsls r1, 1
- adds r4, r2, r1
- movs r1, 0x1
- str r1, [r4]
- movs r3, 0x1
- adds r1, r2, 0
- adds r1, 0x24
- adds r5, r0, 0
- ldrb r1, [r1]
- cmp r3, r1
- bcs _08150FBC
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08150F90
- movs r0, 0
- str r0, [r4]
- b _08150FBC
- .align 2, 0
-_08150F8C: .4byte gUnknown_203F3E0
-_08150F90:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _08150FBC
- lsls r0, r3, 2
- movs r4, 0x98
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0x1
- beq _08150F90
- movs r0, 0x96
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
-_08150FBC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8150F40
-
- thumb_func_start sub_8150FC4
-sub_8150FC4: @ 8150FC4
- push {lr}
- bl sub_8151E94
- bl sub_8152AD8
- cmp r0, 0x1
- bne _08150FD8
- movs r0, 0x5
- bl sub_8152090
-_08150FD8:
- pop {r0}
- bx r0
- thumb_func_end sub_8150FC4
-
- thumb_func_start sub_8150FDC
-sub_8150FDC: @ 8150FDC
- push {r4-r6,lr}
- ldr r6, _08150FF4 @ =gUnknown_203F3E0
- ldr r1, [r6]
- ldrb r4, [r1, 0x10]
- cmp r4, 0x1
- beq _08151010
- cmp r4, 0x1
- bgt _08150FF8
- cmp r4, 0
- beq _08150FFE
- b _08151078
- .align 2, 0
-_08150FF4: .4byte gUnknown_203F3E0
-_08150FF8:
- cmp r4, 0x2
- beq _0815101E
- b _08151078
-_08150FFE:
- adds r1, 0x4A
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- ldr r1, [r6]
- b _0815106A
-_08151010:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151092
- ldr r1, [r6]
- b _0815106A
-_0815101E:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _08151048
-_0815102A:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151040
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151040:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_08151048:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0815102A
- ldr r3, _08151074 @ =gUnknown_203F3E0
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08151092
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_0815106A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151092
- .align 2, 0
-_08151074: .4byte gUnknown_203F3E0
-_08151078:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08151092
- movs r0, 0x6
- bl sub_8152090
- ldr r0, _08151098 @ =0x00000137
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08151092:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151098: .4byte 0x00000137
- thumb_func_end sub_8150FDC
-
thumb_func_start sub_815109C
sub_815109C: @ 815109C
push {r4-r6,lr}