summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/cable_club.s1671
-rw-r--r--asm/field_ground_effect.s1302
-rw-r--r--asm/pokemon_menu.s3438
3 files changed, 0 insertions, 6411 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s
deleted file mode 100644
index 68804ca21..000000000
--- a/asm/cable_club.s
+++ /dev/null
@@ -1,1671 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8082CD4
-sub_8082CD4: @ 8082CD4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _08082D10 @ =sub_8082F20
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08082D08
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08082D14 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0xA]
- strh r5, [r1, 0xC]
-_08082D08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08082D10: .4byte sub_8082F20
-_08082D14: .4byte gTasks
- thumb_func_end sub_8082CD4
-
- thumb_func_start sub_8082D18
-sub_8082D18: @ 8082D18
- push {lr}
- adds r1, r0, 0
- ldr r0, _08082D44 @ =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x12
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuDrawTextWindow
- ldr r0, _08082D48 @ =gOtherText_PLink
- movs r1, 0x13
- movs r2, 0xB
- movs r3, 0x48
- bl sub_8072BD8
- pop {r0}
- bx r0
- .align 2, 0
-_08082D44: .4byte gStringVar1
-_08082D48: .4byte gOtherText_PLink
- thumb_func_end sub_8082D18
-
- thumb_func_start sub_8082D4C
-sub_8082D4C: @ 8082D4C
- push {lr}
- movs r0, 0x12
- movs r1, 0xA
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_8082D4C
-
- thumb_func_start sub_8082D60
-sub_8082D60: @ 8082D60
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08082D88 @ =gTasks + 0x8
- adds r1, r0
- adds r5, r1, 0x6
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r4, r0
- beq _08082D94
- cmp r4, 0x1
- bhi _08082D8C
- bl sub_8082D4C
- b _08082D92
- .align 2, 0
-_08082D88: .4byte gTasks + 0x8
-_08082D8C:
- adds r0, r4, 0
- bl sub_8082D18
-_08082D92:
- strh r4, [r5]
-_08082D94:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082D60
-
- thumb_func_start sub_8082D9C
-sub_8082D9C: @ 8082D9C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- bl GetLinkPlayerDataExchangeStatusTimed
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08082DEC
- cmp r0, 0x2
- bgt _08082DBC
- cmp r0, 0x1
- beq _08082DC2
- b _08082DEC
-_08082DBC:
- cmp r0, 0x3
- beq _08082DE8
- b _08082DEC
-_08082DC2:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, r1
- bgt _08082DD6
- cmp r1, r5
- bgt _08082DD6
- movs r0, 0x1
- b _08082DEE
-_08082DD6:
- ldr r0, _08082DE4 @ =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- b _08082DEE
- .align 2, 0
-_08082DE4: .4byte gStringVar1
-_08082DE8:
- movs r0, 0x3
- b _08082DEE
-_08082DEC:
- movs r0, 0
-_08082DEE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8082D9C
-
- thumb_func_start sub_8082DF4
-sub_8082DF4: @ 8082DF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl HasLinkErrorOccurred
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08082E0A
- movs r0, 0
- b _08082E1A
-_08082E0A:
- ldr r0, _08082E20 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08082E24 @ =sub_8083418
- str r0, [r1]
- movs r0, 0x1
-_08082E1A:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08082E20: .4byte gTasks
-_08082E24: .4byte sub_8083418
- thumb_func_end sub_8082DF4
-
- thumb_func_start sub_8082E28
-sub_8082E28: @ 8082E28
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08082E58 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08082E64
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- bne _08082E64
- ldr r0, _08082E5C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08082E60 @ =sub_80833EC
- str r0, [r1]
- movs r0, 0x1
- b _08082E66
- .align 2, 0
-_08082E58: .4byte gMain
-_08082E5C: .4byte gTasks
-_08082E60: .4byte sub_80833EC
-_08082E64:
- movs r0, 0
-_08082E66:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8082E28
-
- thumb_func_start sub_8082E6C
-sub_8082E6C: @ 8082E6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _08082E82
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
-_08082E82:
- ldr r0, _08082E94 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08082E98
- movs r0, 0
- b _08082EA8
- .align 2, 0
-_08082E94: .4byte gMain
-_08082E98:
- ldr r0, _08082EB0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08082EB4 @ =sub_80833EC
- str r0, [r1]
- movs r0, 0x1
-_08082EA8:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08082EB0: .4byte gTasks
-_08082EB4: .4byte sub_80833EC
- thumb_func_end sub_8082E6C
-
- thumb_func_start sub_8082EB8
-sub_8082EB8: @ 8082EB8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetSioMultiSI
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08082ECE
- movs r0, 0
- b _08082EDE
-_08082ECE:
- ldr r0, _08082EE4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08082EE8 @ =sub_8083418
- str r0, [r1]
- movs r0, 0x1
-_08082EDE:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08082EE4: .4byte gTasks
-_08082EE8: .4byte sub_8083418
- thumb_func_end sub_8082EB8
-
- thumb_func_start unref_sub_8082EEC
-unref_sub_8082EEC: @ 8082EEC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08082F1C @ =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 _08082F16
- movs r0, 0x2
- bl sub_8007E9C
- adds r0, r4, 0
- bl DestroyTask
-_08082F16:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08082F1C: .4byte gTasks
- thumb_func_end unref_sub_8082EEC
-
- thumb_func_start sub_8082F20
-sub_8082F20: @ 8082F20
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08082F48 @ =gTasks + 0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _08082F4C
- bl OpenLinkTimed
- bl sub_80082EC
- bl ResetLinkPlayers
- b _08082F58
- .align 2, 0
-_08082F48: .4byte gTasks + 0x8
-_08082F4C:
- cmp r2, 0x9
- ble _08082F58
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, _08082F64 @ =sub_8082F68
- str r1, [r0]
-_08082F58:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08082F64: .4byte sub_8082F68
- thumb_func_end sub_8082F20
-
- thumb_func_start sub_8082F68
-sub_8082F68: @ 8082F68
- 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_8082E28
- cmp r0, 0x1
- beq _08082FDC
- adds r0, r4, 0
- bl sub_8082E6C
- cmp r0, 0x1
- beq _08082FDC
- cmp r5, 0x1
- bls _08082FDC
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- ldr r1, _08082FC0 @ =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 _08082FCC
- movs r0, 0x15
- bl PlaySE
- ldr r0, _08082FC4 @ =gUnknown_081A4932
- bl ShowFieldAutoScrollMessage
- ldr r0, _08082FC8 @ =sub_8082FEC
- b _08082FDA
- .align 2, 0
-_08082FC0: .4byte gTasks
-_08082FC4: .4byte gUnknown_081A4932
-_08082FC8: .4byte sub_8082FEC
-_08082FCC:
- movs r0, 0x16
- bl PlaySE
- ldr r0, _08082FE4 @ =gUnknown_081A49B6
- bl ShowFieldAutoScrollMessage
- ldr r0, _08082FE8 @ =sub_80831F8
-_08082FDA:
- str r0, [r4]
-_08082FDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08082FE4: .4byte gUnknown_081A49B6
-_08082FE8: .4byte sub_80831F8
- thumb_func_end sub_8082F68
-
- thumb_func_start sub_8082FEC
-sub_8082FEC: @ 8082FEC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8082E28
- cmp r0, 0x1
- beq _0808302C
- adds r0, r4, 0
- bl sub_8082EB8
- cmp r0, 0x1
- beq _0808302C
- adds r0, r4, 0
- bl sub_8082DF4
- cmp r0, 0x1
- beq _0808302C
- bl GetFieldMessageBoxMode
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0808302C
- ldr r0, _08083034 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xE]
- ldr r0, _08083038 @ =sub_808303C
- str r0, [r1]
-_0808302C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083034: .4byte gTasks
-_08083038: .4byte sub_808303C
- thumb_func_end sub_8082FEC
-
-.section .text_80830E4
-
-
-
-
-
-
-
-
-
- thumb_func_start sub_80833C4
-sub_80833C4: @ 80833C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080833E8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080833E0
- bl sub_8082D4C
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080833E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080833E8: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80833C4
-
- thumb_func_start sub_80833EC
-sub_80833EC: @ 80833EC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08083414 @ =gScriptResult
- movs r0, 0x5
- strh r0, [r1]
- bl sub_8082D4C
- bl HideFieldMessageBox
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083414: .4byte gScriptResult
- thumb_func_end sub_80833EC
-
- thumb_func_start sub_8083418
-sub_8083418: @ 8083418
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08083440 @ =gScriptResult
- movs r0, 0x6
- strh r0, [r1]
- bl sub_8082D4C
- bl HideFieldMessageBox
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083440: .4byte gScriptResult
- thumb_func_end sub_8083418
-
- thumb_func_start sub_8083444
-sub_8083444: @ 8083444
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08083468 @ =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 _0808346C
- movs r0, 0
- b _08083472
- .align 2, 0
-_08083468: .4byte gTasks
-_0808346C:
- ldr r0, _08083478 @ =sub_8083418
- str r0, [r2]
- movs r0, 0x1
-_08083472:
- pop {r1}
- bx r1
- .align 2, 0
-_08083478: .4byte sub_8083418
- thumb_func_end sub_8083444
-
- thumb_func_start sub_808347C
-sub_808347C: @ 808347C
- push {r4,lr}
- movs r3, 0x2
- movs r2, 0x2
- ldr r0, _08083494 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _080834B0
- cmp r0, 0x2
- bgt _08083498
- cmp r0, 0x1
- beq _0808349E
- b _080834CC
- .align 2, 0
-_08083494: .4byte gSpecialVar_0x8004
-_08083498:
- cmp r0, 0x5
- beq _080834C0
- b _080834CC
-_0808349E:
- movs r3, 0x2
- ldr r1, _080834A8 @ =gLinkType
- ldr r4, _080834AC @ =0x00002233
- b _080834C8
- .align 2, 0
-_080834A8: .4byte gLinkType
-_080834AC: .4byte 0x00002233
-_080834B0:
- movs r3, 0x2
- ldr r1, _080834B8 @ =gLinkType
- ldr r4, _080834BC @ =0x00002244
- b _080834C8
- .align 2, 0
-_080834B8: .4byte gLinkType
-_080834BC: .4byte 0x00002244
-_080834C0:
- movs r3, 0x4
- movs r2, 0x4
- ldr r1, _080834DC @ =gLinkType
- ldr r4, _080834E0 @ =0x00002255
-_080834C8:
- adds r0, r4, 0
- strh r0, [r1]
-_080834CC:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8082CD4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080834DC: .4byte gLinkType
-_080834E0: .4byte 0x00002255
- thumb_func_end sub_808347C
-
- thumb_func_start sub_80834E4
-sub_80834E4: @ 80834E4
- push {lr}
- ldr r1, _08083500 @ =gLinkType
- ldr r2, _08083504 @ =0x00001133
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08083508 @ =gBattleTypeFlags
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x2
- movs r1, 0x2
- bl sub_8082CD4
- pop {r0}
- bx r0
- .align 2, 0
-_08083500: .4byte gLinkType
-_08083504: .4byte 0x00001133
-_08083508: .4byte gBattleTypeFlags
- thumb_func_end sub_80834E4
-
- thumb_func_start sub_808350C
-sub_808350C: @ 808350C
- push {lr}
- ldr r0, _0808352C @ =gScriptResult
- movs r2, 0
- strh r2, [r0]
- ldr r1, _08083530 @ =gLinkType
- ldr r3, _08083534 @ =0x00003311
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _08083538 @ =gBattleTypeFlags
- strh r2, [r0]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_8082CD4
- pop {r0}
- bx r0
- .align 2, 0
-_0808352C: .4byte gScriptResult
-_08083530: .4byte gLinkType
-_08083534: .4byte 0x00003311
-_08083538: .4byte gBattleTypeFlags
- thumb_func_end sub_808350C
-
- thumb_func_start sub_808353C
-sub_808353C: @ 808353C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0808355C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08083560
- cmp r0, 0x1
- beq _080835BC
- b _080835CE
- .align 2, 0
-_0808355C: .4byte gTasks
-_08083560:
- ldr r0, _08083594 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _08083586
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r1, r0
- bge _08083586
- ldr r2, _08083598 @ =gLinkPlayers
-_08083578:
- ldrh r4, [r2, 0x1A]
- cmp r4, 0x1
- beq _0808359C
- adds r2, 0x1C
- adds r1, 0x1
- cmp r1, r0
- blt _08083578
-_08083586:
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080835CE
- .align 2, 0
-_08083594: .4byte gScriptResult
-_08083598: .4byte gLinkPlayers
-_0808359C:
- ldr r1, _080835B4 @ =gScriptResult
- movs r0, 0x7
- strh r0, [r1]
- bl sub_8008480
- ldr r1, _080835B8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- b _080835CE
- .align 2, 0
-_080835B4: .4byte gScriptResult
-_080835B8: .4byte gTasks
-_080835BC:
- ldr r0, _080835D4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080835CE
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
-_080835CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080835D4: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_808353C
-
- thumb_func_start sub_80835D8
-sub_80835D8: @ 80835D8
- push {r4,lr}
- ldr r4, _0808360C @ =sub_808353C
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _08083604
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08083610 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
-_08083604:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808360C: .4byte sub_808353C
-_08083610: .4byte gTasks
- thumb_func_end sub_80835D8
-
- thumb_func_start sub_8083614
-sub_8083614: @ 8083614
- push {lr}
- ldr r1, _08083630 @ =gLinkType
- ldr r2, _08083634 @ =0x00004411
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08083638 @ =gBattleTypeFlags
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_8082CD4
- pop {r0}
- bx r0
- .align 2, 0
-_08083630: .4byte gLinkType
-_08083634: .4byte 0x00004411
-_08083638: .4byte gBattleTypeFlags
- thumb_func_end sub_8083614
-
- thumb_func_start sub_808363C
-sub_808363C: @ 808363C
- push {lr}
- ldr r1, _08083658 @ =gLinkType
- ldr r2, _0808365C @ =0x00006601
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08083660 @ =gBattleTypeFlags
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x4
- movs r1, 0x4
- bl sub_8082CD4
- pop {r0}
- bx r0
- .align 2, 0
-_08083658: .4byte gLinkType
-_0808365C: .4byte 0x00006601
-_08083660: .4byte gBattleTypeFlags
- thumb_func_end sub_808363C
-
- thumb_func_start sub_8083664
-sub_8083664: @ 8083664
- push {lr}
- ldr r0, _08083678 @ =sub_8083710
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0808367C
- movs r0, 0xFF
- b _08083700
- .align 2, 0
-_08083678: .4byte sub_8083710
-_0808367C:
- ldr r0, _08083690 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bhi _080836F4
- lsls r0, 2
- ldr r1, _08083694 @ =_08083698
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08083690: .4byte gSpecialVar_0x8004
-_08083694: .4byte _08083698
- .align 2, 0
-_08083698:
- .4byte _080836AC
- .4byte _080836BC
- .4byte _080836DC
- .4byte _080836EC
- .4byte _080836CC
-_080836AC:
- ldr r1, _080836B4 @ =gLinkType
- ldr r2, _080836B8 @ =0x00002233
- b _080836F0
- .align 2, 0
-_080836B4: .4byte gLinkType
-_080836B8: .4byte 0x00002233
-_080836BC:
- ldr r1, _080836C4 @ =gLinkType
- ldr r2, _080836C8 @ =0x00002244
- b _080836F0
- .align 2, 0
-_080836C4: .4byte gLinkType
-_080836C8: .4byte 0x00002244
-_080836CC:
- ldr r1, _080836D4 @ =gLinkType
- ldr r2, _080836D8 @ =0x00002255
- b _080836F0
- .align 2, 0
-_080836D4: .4byte gLinkType
-_080836D8: .4byte 0x00002255
-_080836DC:
- ldr r1, _080836E4 @ =gLinkType
- ldr r2, _080836E8 @ =0x00001111
- b _080836F0
- .align 2, 0
-_080836E4: .4byte gLinkType
-_080836E8: .4byte 0x00001111
-_080836EC:
- ldr r1, _08083704 @ =gLinkType
- ldr r2, _08083708 @ =0x00003322
-_080836F0:
- adds r0, r2, 0
- strh r0, [r1]
-_080836F4:
- ldr r0, _0808370C @ =sub_8083710
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
-_08083700:
- pop {r1}
- bx r1
- .align 2, 0
-_08083704: .4byte gLinkType
-_08083708: .4byte 0x00003322
-_0808370C: .4byte sub_8083710
- thumb_func_end sub_8083664
-
- thumb_func_start sub_8083710
-sub_8083710: @ 8083710
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0808373C @ =gTasks + 0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _08083744
- bl OpenLink
- bl ResetLinkPlayers
- ldr r0, _08083740 @ =sub_8083C50
- movs r1, 0x50
- bl CreateTask
- b _08083750
- .align 2, 0
-_0808373C: .4byte gTasks + 0x8
-_08083740: .4byte sub_8083C50
-_08083744:
- cmp r2, 0x9
- ble _08083750
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, _0808375C @ =sub_8083760
- str r1, [r0]
-_08083750:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808375C: .4byte sub_8083760
- thumb_func_end sub_8083710
-
- thumb_func_start sub_8083760
-sub_8083760: @ 8083760
- 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 _080837A6
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08083798
- ldr r0, _08083790 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08083794 @ =sub_80837B4
- b _080837A4
- .align 2, 0
-_08083790: .4byte gTasks
-_08083794: .4byte sub_80837B4
-_08083798:
- ldr r0, _080837AC @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080837B0 @ =sub_80837EC
-_080837A4:
- str r0, [r1]
-_080837A6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080837AC: .4byte gTasks
-_080837B0: .4byte sub_80837EC
- thumb_func_end sub_8083760
-
- thumb_func_start sub_80837B4
-sub_80837B4: @ 80837B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_800820C
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080837DE
- bl sub_8007F4C
- ldr r0, _080837E4 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080837E8 @ =sub_80837EC
- str r0, [r1]
-_080837DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080837E4: .4byte gTasks
-_080837E8: .4byte sub_80837EC
- thumb_func_end sub_80837B4
-
- thumb_func_start sub_80837EC
-sub_80837EC: @ 80837EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808381C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08083814
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08083814
- bl sub_800826C
- bl sub_8007B14
- adds r0, r4, 0
- bl DestroyTask
-_08083814:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808381C: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80837EC
-
- thumb_func_start sub_8083820
-sub_8083820: @ 8083820
- push {lr}
- bl InitSaveDialog
- pop {r0}
- bx r0
- thumb_func_end sub_8083820
-
- thumb_func_start sub_808382C
-sub_808382C: @ 808382C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08083850 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _08083846
- b _08083940
-_08083846:
- lsls r0, 2
- ldr r1, _08083854 @ =_08083858
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08083850: .4byte gTasks
-_08083854: .4byte _08083858
- .align 2, 0
-_08083858:
- .4byte _08083870
- .4byte _08083890
- .4byte _080838A0
- .4byte _080838B0
- .4byte _080838B6
- .4byte _080838CC
-_08083870:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _08083888 @ =gLinkType
- ldr r2, _0808388C @ =0x00002211
- adds r0, r2, 0
- strh r0, [r1]
- bl ClearLinkCallback_2
- b _080838BE
- .align 2, 0
-_08083888: .4byte gLinkType
-_0808388C: .4byte 0x00002211
-_08083890:
- ldr r0, _0808389C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- b _080838BA
- .align 2, 0
-_0808389C: .4byte gPaletteFade
-_080838A0:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08083940
- b _080838BE
-_080838B0:
- bl sub_800832C
- b _080838BE
-_080838B6:
- ldr r0, _080838C8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
-_080838BA:
- cmp r0, 0
- bne _08083940
-_080838BE:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08083940
- .align 2, 0
-_080838C8: .4byte gReceivedRemoteLinkPlayers
-_080838CC:
- ldr r0, _080838E4 @ =gLinkPlayers
- ldr r0, [r0, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080838E8
- movs r0, 0xE6
- lsls r0, 1
- bl current_map_music_set__default_for_battle
- b _080838EE
- .align 2, 0
-_080838E4: .4byte gLinkPlayers
-_080838E8:
- ldr r0, _08083900 @ =0x000001cb
- bl current_map_music_set__default_for_battle
-_080838EE:
- ldr r0, _08083904 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _08083918
- cmp r0, 0x2
- bgt _08083908
- cmp r0, 0x1
- beq _0808390E
- b _0808392E
- .align 2, 0
-_08083900: .4byte 0x000001cb
-_08083904: .4byte gSpecialVar_0x8004
-_08083908:
- cmp r0, 0x5
- beq _08083924
- b _0808392E
-_0808390E:
- ldr r1, _08083914 @ =gBattleTypeFlags
- movs r0, 0xA
- b _0808392C
- .align 2, 0
-_08083914: .4byte gBattleTypeFlags
-_08083918:
- ldr r1, _08083920 @ =gBattleTypeFlags
- movs r0, 0xB
- b _0808392C
- .align 2, 0
-_08083920: .4byte gBattleTypeFlags
-_08083924:
- bl ReducePlayerPartyToThree
- ldr r1, _08083948 @ =gBattleTypeFlags
- movs r0, 0x4B
-_0808392C:
- strh r0, [r1]
-_0808392E:
- ldr r0, _0808394C @ =sub_800E7C4
- bl SetMainCallback2
- ldr r1, _08083950 @ =gMain
- ldr r0, _08083954 @ =sub_8083958
- str r0, [r1, 0x8]
- adds r0, r5, 0
- bl DestroyTask
-_08083940:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083948: .4byte gBattleTypeFlags
-_0808394C: .4byte sub_800E7C4
-_08083950: .4byte gMain
-_08083954: .4byte sub_8083958
- thumb_func_end sub_808382C
-
- thumb_func_start sub_8083958
-sub_8083958: @ 8083958
- push {lr}
- bl call_map_music_set_to_zero
- bl LoadPlayerParty
- bl SavePlayerBag
- bl sub_810FEFC
- ldr r0, _08083990 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _0808397E
- ldr r0, _08083994 @ =gUnknown_03004860
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- bl UpdateLinkBattleRecords
-_0808397E:
- ldr r0, _08083998 @ =gMain
- ldr r1, _0808399C @ =sub_805465C
- str r1, [r0, 0x8]
- ldr r0, _080839A0 @ =sub_8071B28
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08083990: .4byte gSpecialVar_0x8004
-_08083994: .4byte gUnknown_03004860
-_08083998: .4byte gMain
-_0808399C: .4byte sub_805465C
-_080839A0: .4byte sub_8071B28
- thumb_func_end sub_8083958
-
- thumb_func_start sub_80839A4
-sub_80839A4: @ 80839A4
- push {lr}
- ldr r0, _080839CC @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080839B8
- cmp r1, 0x5
- bne _080839C0
-_080839B8:
- bl LoadPlayerParty
- bl SavePlayerBag
-_080839C0:
- movs r0, 0x7F
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- pop {r0}
- bx r0
- .align 2, 0
-_080839CC: .4byte gSpecialVar_0x8004
- thumb_func_end sub_80839A4
-
- thumb_func_start sub_80839D0
-sub_80839D0: @ 80839D0
- push {lr}
- bl sub_805559C
- pop {r0}
- bx r0
- thumb_func_end sub_80839D0
-
- thumb_func_start sub_80839DC
-sub_80839DC: @ 80839DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08083A00 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08083A20
- cmp r0, 0x1
- bgt _08083A04
- cmp r0, 0
- beq _08083A0E
- b _08083A7E
- .align 2, 0
-_08083A00: .4byte gTasks
-_08083A04:
- cmp r0, 0x2
- beq _08083A40
- cmp r0, 0x3
- beq _08083A68
- b _08083A7E
-_08083A0E:
- ldr r0, _08083A1C @ =gUnknown_081A490C
- bl ShowFieldMessage
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _08083A7E
- .align 2, 0
-_08083A1C: .4byte gUnknown_081A490C
-_08083A20:
- bl IsFieldMessageBoxHidden
- lsls r0, 24
- cmp r0, 0
- beq _08083A7E
- bl sub_8055574
- ldr r0, _08083A3C @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_8007270
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _08083A7E
- .align 2, 0
-_08083A3C: .4byte gSpecialVar_0x8005
-_08083A40:
- bl sub_80554F8
- cmp r0, 0x1
- beq _08083A52
- cmp r0, 0x1
- ble _08083A7E
- cmp r0, 0x2
- beq _08083A62
- b _08083A7E
-_08083A52:
- bl HideFieldMessageBox
- movs r0, 0
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
- b _08083A7E
-_08083A62:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _08083A7E
-_08083A68:
- bl sub_8055588
- bl HideFieldMessageBox
- bl MenuZeroFillScreen
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08083A7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80839DC
-
- thumb_func_start sub_8083A84
-sub_8083A84: @ 8083A84
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _08083AA8 @ =sub_80839DC
- 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
-_08083AA8: .4byte sub_80839DC
- thumb_func_end sub_8083A84
-
- thumb_func_start sub_8083AAC
-sub_8083AAC: @ 8083AAC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08083AD0 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08083AF0
- cmp r0, 0x1
- bgt _08083AD4
- cmp r0, 0
- beq _08083ADE
- b _08083B34
- .align 2, 0
-_08083AD0: .4byte gTasks
-_08083AD4:
- cmp r0, 0x2
- beq _08083B04
- cmp r0, 0x3
- beq _08083B20
- b _08083B34
-_08083ADE:
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- bl ClearLinkCallback_2
- b _08083B14
-_08083AF0:
- ldr r0, _08083B00 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08083B34
- b _08083B14
- .align 2, 0
-_08083B00: .4byte gPaletteFade
-_08083B04:
- ldr r1, _08083B1C @ =gUnknown_020297D8
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bl m4aMPlayAllStop
- bl sub_800832C
-_08083B14:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08083B34
- .align 2, 0
-_08083B1C: .4byte gUnknown_020297D8
-_08083B20:
- ldr r0, _08083B3C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08083B34
- ldr r0, _08083B40 @ =sub_8047CD8
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_08083B34:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083B3C: .4byte gReceivedRemoteLinkPlayers
-_08083B40: .4byte sub_8047CD8
- thumb_func_end sub_8083AAC
-
- thumb_func_start sub_8083B44
-sub_8083B44: @ 8083B44
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8083B6C
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8083B44
-
- thumb_func_start sub_8083B5C
-sub_8083B5C: @ 8083B5C
- push {lr}
- ldr r0, _08083B68 @ =sub_8083B44
- bl sub_8083A84
- pop {r0}
- bx r0
- .align 2, 0
-_08083B68: .4byte sub_8083B44
- thumb_func_end sub_8083B5C
-
- thumb_func_start sub_8083B6C
-sub_8083B6C: @ 8083B6C
- push {lr}
- ldr r0, _08083B7C @ =sub_8083AAC
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08083B7C: .4byte sub_8083AAC
- thumb_func_end sub_8083B6C
-
- thumb_func_start sub_8083B80
-sub_8083B80: @ 8083B80
- push {lr}
- bl sub_8083B6C
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- thumb_func_end sub_8083B80
-
- thumb_func_start sub_8083B90
-sub_8083B90: @ 8083B90
- push {lr}
- ldr r0, _08083BA4 @ =gLinkType
- ldr r2, _08083BA8 @ =0x00002211
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _08083BAC @ =sub_808382C
- bl sub_8083A84
- pop {r0}
- bx r0
- .align 2, 0
-_08083BA4: .4byte gLinkType
-_08083BA8: .4byte 0x00002211
-_08083BAC: .4byte sub_808382C
- thumb_func_end sub_8083B90
-
- thumb_func_start unref_sub_8083BB0
-unref_sub_8083BB0: @ 8083BB0
- push {r4,lr}
- ldr r4, _08083BD4 @ =sub_80839DC
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08083BD8 @ =Task_RecordMixing_Main
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl ScriptContext1_Stop
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083BD4: .4byte sub_80839DC
-_08083BD8: .4byte Task_RecordMixing_Main
- thumb_func_end unref_sub_8083BB0
-
- thumb_func_start sub_8083BDC
-sub_8083BDC: @ 8083BDC
- push {lr}
- ldr r0, _08083BEC @ =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, _08083BF0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl sub_8093130
- pop {r0}
- bx r0
- .align 2, 0
-_08083BEC: .4byte gSpecialVar_0x8006
-_08083BF0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_8083BDC
-
- thumb_func_start sub_8083BF4
-sub_8083BF4: @ 8083BF4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08083C34 @ =gSpecialVar_0x8006
- strh r4, [r0]
- ldr r0, _08083C38 @ =gStringVar1
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, _08083C3C @ =gLinkPlayers + 0x8
- adds r1, r2
- bl StringCopy
- adds r0, r4, 0
- bl sub_80934C4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08083C48
- ldr r0, _08083C40 @ =gStringVar2
- ldr r2, _08083C44 @ =gTrainerCardColorNames
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x1
- b _08083C4A
- .align 2, 0
-_08083C34: .4byte gSpecialVar_0x8006
-_08083C38: .4byte gStringVar1
-_08083C3C: .4byte gLinkPlayers + 0x8
-_08083C40: .4byte gStringVar2
-_08083C44: .4byte gTrainerCardColorNames
-_08083C48:
- movs r0, 0
-_08083C4A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8083BF4
-
- thumb_func_start sub_8083C50
-sub_8083C50: @ 8083C50
- 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, _08083C98 @ =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 _08083C82
- bl CloseLink
- ldr r0, _08083C9C @ =CB2_LinkError
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08083C82:
- ldr r0, _08083CA0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08083C90
- adds r0, r5, 0
- bl DestroyTask
-_08083C90:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083C98: .4byte gTasks
-_08083C9C: .4byte CB2_LinkError
-_08083CA0: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8083C50
-
- thumb_func_start sub_8083CA4
-sub_8083CA4: @ 8083CA4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08083CC4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08083CBC
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_08083CBC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083CC4: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8083CA4
-
- thumb_func_start unref_sub_8083CC8
-unref_sub_8083CC8: @ 8083CC8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _08083CE8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08083CEC @ =sub_8083CA4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083CE8: .4byte gTasks
-_08083CEC: .4byte sub_8083CA4
- thumb_func_end unref_sub_8083CC8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
deleted file mode 100644
index 47c4b4c60..000000000
--- a/asm/field_ground_effect.s
+++ /dev/null
@@ -1,1302 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldObjectCheckForReflectiveSurface
-FieldObjectCheckForReflectiveSurface: @ 8063A44
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- adds r1, 0x8
- lsls r1, 12
- lsrs r1, 16
- str r1, [sp]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- adds r0, 0x8
- lsls r0, 12
- movs r4, 0
- lsrs r2, r0, 16
- str r2, [sp, 0x4]
- asrs r0, 16
- cmp r4, r0
- blt _08063A7A
- b _08063B80
-_08063A7A:
- movs r0, 0x1
- mov r10, r0
-_08063A7E:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- add r1, r10
- lsls r4, 16
- asrs r6, r4, 16
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- mov r9, r4
- cmp r0, 0
- bne _08063B82
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- add r1, r10
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08063B82
- movs r2, 0x1
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r2, r1
- bge _08063B6E
- movs r0, 0x80
- lsls r0, 9
- asrs r7, r0, 16
-_08063AD8:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08063B82
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08063B82
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- adds r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08063B82
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08063B82
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, r8
- blt _08063AD8
-_08063B6E:
- movs r1, 0x80
- lsls r1, 9
- add r1, r9
- lsrs r4, r1, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- cmp r1, r0
- bge _08063B80
- b _08063A7E
-_08063B80:
- movs r0, 0
-_08063B82:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectCheckForReflectiveSurface
-
- thumb_func_start GetReflectionTypeByMetatileBehavior
-GetReflectionTypeByMetatileBehavior: @ 8063B94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsIce
- lsls r0, 24
- cmp r0, 0
- beq _08063BAA
- movs r0, 0x1
- b _08063BBC
-_08063BAA:
- adds r0, r4, 0
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _08063BBA
- movs r0, 0
- b _08063BBC
-_08063BBA:
- movs r0, 0x2
-_08063BBC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetReflectionTypeByMetatileBehavior
-
- thumb_func_start GetLedgeJumpDirection
-GetLedgeJumpDirection: @ 8063BC4
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _08063C0A
- cmp r4, 0x4
- bls _08063BE0
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_08063BE0:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08063C10 @ =gUnknown_08376040
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08063C14
-_08063C0A:
- movs r0, 0
- b _08063C1A
- .align 2, 0
-_08063C10: .4byte gUnknown_08376040
-_08063C14:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
-_08063C1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLedgeJumpDirection
-
- thumb_func_start FieldObjectSetSpriteOamTableForLongGrass
-FieldObjectSetSpriteOamTableForLongGrass: @ 8063C20
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5]
- lsls r0, 27
- cmp r0, 0
- blt _08063C74
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08063C74
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08063C74
- adds r4, 0x42
- ldrb r1, [r4]
- movs r6, 0x40
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08063C74
- ldrb r0, [r4]
- adds r1, r6, 0
- ands r1, r0
- movs r0, 0x5
- orrs r1, r0
- strb r1, [r4]
-_08063C74:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetSpriteOamTableForLongGrass
-
- thumb_func_start IsZCoordMismatchAt
-IsZCoordMismatchAt: @ 8063C7C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r1, r2, 16
- cmp r4, 0
- beq _08063CAA
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08063CAA
- cmp r0, 0xF
- beq _08063CAA
- cmp r0, r4
- bne _08063CAE
-_08063CAA:
- movs r0, 0
- b _08063CB0
-_08063CAE:
- movs r0, 0x1
-_08063CB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsZCoordMismatchAt
-
- thumb_func_start FieldObjectUpdateZCoordAndPriority
-FieldObjectUpdateZCoordAndPriority: @ 8063CB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08063D06
- adds r0, r4, 0
- bl FieldObjectUpdateZCoord
- ldr r1, _08063D0C @ =gFieldObjectPriorities_08376070
- ldrb r2, [r4, 0xB]
- lsls r2, 24
- lsrs r0, r2, 28
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r5, 0
- adds r4, 0x42
- movs r1, 0x3F
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- ldr r0, _08063D10 @ =gFieldObjectPriorities_08376060
- lsrs r2, 28
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r2]
- 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]
-_08063D06:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08063D0C: .4byte gFieldObjectPriorities_08376070
-_08063D10: .4byte gFieldObjectPriorities_08376060
- thumb_func_end FieldObjectUpdateZCoordAndPriority
-
- thumb_func_start InitObjectPriorityByZCoord
-InitObjectPriorityByZCoord: @ 8063D14
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08063D58 @ =gFieldObjectPriorities_08376070
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r3, 0x42
- adds r3, r0
- mov r12, r3
- movs r3, 0x3F
- ands r3, r2
- mov r2, r12
- ldrb r4, [r2]
- movs r2, 0x40
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- ldr r2, _08063D5C @ =gFieldObjectPriorities_08376060
- adds r1, r2
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08063D58: .4byte gFieldObjectPriorities_08376070
-_08063D5C: .4byte gFieldObjectPriorities_08376060
- thumb_func_end InitObjectPriorityByZCoord
-
- thumb_func_start ZCoordToPriority
-ZCoordToPriority: @ 8063D60
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08063D6C @ =gFieldObjectPriorities_08376060
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08063D6C: .4byte gFieldObjectPriorities_08376060
- thumb_func_end ZCoordToPriority
-
- thumb_func_start FieldObjectUpdateZCoord
-FieldObjectUpdateZCoord: @ 8063D70
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0xF
- beq _08063DBE
- cmp r0, 0xF
- beq _08063DBE
- movs r3, 0xF
- adds r0, r5, 0
- ands r0, r3
- ldrb r1, [r4, 0xB]
- movs r2, 0x10
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- cmp r5, 0
- beq _08063DBE
- cmp r5, 0xF
- beq _08063DBE
- lsls r0, r5, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xB]
-_08063DBE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateZCoord
-
- thumb_func_start SetObjectSubpriorityByZCoord
-SetObjectSubpriorityByZCoord: @ 8063DC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0
- adds r3, 0x29
- movs r5, 0
- ldrsb r5, [r3, r5]
- ldrh r4, [r1, 0x22]
- ldr r3, _08063E04 @ =gSpriteCoordOffsetY
- subs r4, r5
- ldrh r3, [r3]
- adds r4, r3
- adds r4, 0x8
- movs r3, 0xFF
- ands r4, r3
- lsrs r4, 4
- movs r3, 0x10
- subs r3, r4
- lsls r3, 17
- ldr r4, _08063E08 @ =gUnknown_08376050
- adds r0, r4
- lsrs r3, 16
- ldrb r0, [r0]
- adds r3, r0
- adds r2, r3
- adds r1, 0x43
- strb r2, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08063E04: .4byte gSpriteCoordOffsetY
-_08063E08: .4byte gUnknown_08376050
- thumb_func_end SetObjectSubpriorityByZCoord
-
- thumb_func_start FieldObjectUpdateSubpriority
-FieldObjectUpdateSubpriority: @ 8063E0C
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08063E22
- ldrb r0, [r2, 0xB]
- lsrs r0, 4
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_08063E22:
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateSubpriority
-
- thumb_func_start AreZCoordsCompatible
-AreZCoordsCompatible: @ 8063E28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0
- beq _08063E3E
- cmp r1, 0
- beq _08063E3E
- cmp r0, r1
- bne _08063E42
-_08063E3E:
- movs r0, 0x1
- b _08063E44
-_08063E42:
- movs r0, 0
-_08063E44:
- pop {r1}
- bx r1
- thumb_func_end AreZCoordsCompatible
-
- thumb_func_start GroundEffect_SpawnOnTallGrass
-GroundEffect_SpawnOnTallGrass: @ 8063E48
- push {lr}
- ldr r3, _08063E8C @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r1, _08063E90 @ =gSaveBlock1
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08063E8C: .4byte gUnknown_0202FF84
-_08063E90: .4byte gSaveBlock1
- thumb_func_end GroundEffect_SpawnOnTallGrass
-
- thumb_func_start sub_8063E94
-sub_8063E94: @ 8063E94
- push {lr}
- ldr r3, _08063ED8 @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r1, _08063EDC @ =gSaveBlock1
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08063ED8: .4byte gUnknown_0202FF84
-_08063EDC: .4byte gSaveBlock1
- thumb_func_end sub_8063E94
-
- thumb_func_start sub_8063EE0
-sub_8063EE0: @ 8063EE0
- push {lr}
- ldr r3, _08063F24 @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r1, _08063F28 @ =gSaveBlock1
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08063F24: .4byte gUnknown_0202FF84
-_08063F28: .4byte gSaveBlock1
- thumb_func_end sub_8063EE0
-
- thumb_func_start sub_8063F2C
-sub_8063F2C: @ 8063F2C
- push {lr}
- ldr r3, _08063F70 @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r1, _08063F74 @ =gSaveBlock1
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08063F70: .4byte gUnknown_0202FF84
-_08063F74: .4byte gSaveBlock1
- thumb_func_end sub_8063F2C
-
- thumb_func_start GroundEffect_WaterReflection
-GroundEffect_WaterReflection: @ 8063F78
- push {lr}
- movs r2, 0
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_WaterReflection
-
- thumb_func_start GroundEffect_IceReflection
-GroundEffect_IceReflection: @ 8063F84
- push {lr}
- movs r2, 0x1
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_IceReflection
-
- thumb_func_start GroundEffect_FlowingWater
-GroundEffect_FlowingWater: @ 8063F90
- push {lr}
- adds r1, r0, 0
- movs r0, 0x22
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_FlowingWater
-
- thumb_func_start sub_8063FA0
-sub_8063FA0: @ 8063FA0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, _08063FC8 @ =gUnknown_08376080
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08063FC8: .4byte gUnknown_08376080
- thumb_func_end sub_8063FA0
-
- thumb_func_start sub_8063FCC
-sub_8063FCC: @ 8063FCC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, _08063FF4 @ =gUnknown_08376080
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08063FF4: .4byte gUnknown_08376080
- thumb_func_end sub_8063FCC
-
- thumb_func_start nullsub_50
-nullsub_50: @ 8063FF8
- bx lr
- thumb_func_end nullsub_50
-
- thumb_func_start DoTracksGroundEffect_Footprints
-DoTracksGroundEffect_Footprints: @ 8063FFC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, _08064044 @ =gSandFootprints_FieldEffectData
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r1, _08064048 @ =gUnknown_0202FF84
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- movs r0, 0x95
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- str r0, [r1, 0x10]
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl FieldEffectStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08064044: .4byte gSandFootprints_FieldEffectData
-_08064048: .4byte gUnknown_0202FF84
- thumb_func_end DoTracksGroundEffect_Footprints
-
- thumb_func_start DoTracksGroundEffect_BikeTireTracks
-DoTracksGroundEffect_BikeTireTracks: @ 806404C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _0806408E
- ldr r2, _08064094 @ =gUnknown_0202FF84
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- movs r0, 0x95
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- ldr r3, _08064098 @ =gBikeTireTracks_Transitions
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- subs r0, 0x5
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- str r0, [r2, 0x10]
- movs r0, 0x23
- bl FieldEffectStart
-_0806408E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08064094: .4byte gUnknown_0202FF84
-_08064098: .4byte gBikeTireTracks_Transitions
- thumb_func_end DoTracksGroundEffect_BikeTireTracks
-
- thumb_func_start GroundEffect_Ripple
-GroundEffect_Ripple: @ 806409C
- push {lr}
- bl DoRippleFieldEffect
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_Ripple
-
- thumb_func_start GroundEffect_StepOnPuddle
-GroundEffect_StepOnPuddle: @ 80640A8
- push {lr}
- adds r1, r0, 0
- movs r0, 0xF
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_StepOnPuddle
-
- thumb_func_start GroundEffect_SandPile
-GroundEffect_SandPile: @ 80640B8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x27
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_SandPile
-
- thumb_func_start GroundEffect_JumpOnTallGrass
-GroundEffect_JumpOnTallGrass: @ 80640C8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, _0806411C @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl FieldEffectStart
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0x9]
- ldrb r2, [r5, 0xA]
- movs r7, 0x10
- ldrsh r3, [r5, r7]
- movs r7, 0x12
- ldrsh r4, [r5, r7]
- str r4, [sp]
- bl sub_8126FF0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- bne _08064112
- adds r0, r5, 0
- adds r1, r6, 0
- bl GroundEffect_SpawnOnTallGrass
-_08064112:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806411C: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_JumpOnTallGrass
-
- thumb_func_start GroundEffect_JumpOnLongGrass
-GroundEffect_JumpOnLongGrass: @ 8064120
- push {lr}
- ldr r2, _08064144 @ =gUnknown_0202FF84
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- str r1, [r2, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x12
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08064144: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_JumpOnLongGrass
-
- thumb_func_start GroundEffect_JumpOnShallowWater
-GroundEffect_JumpOnShallowWater: @ 8064148
- push {r4,lr}
- ldr r3, _08064174 @ =gUnknown_0202FF84
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x10
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08064174: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_JumpOnShallowWater
-
- thumb_func_start GroundEffect_JumpOnWater
-GroundEffect_JumpOnWater: @ 8064178
- push {r4,lr}
- ldr r3, _080641A4 @ =gUnknown_0202FF84
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xE
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080641A4: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_JumpOnWater
-
- thumb_func_start GroundEffect_JumpLandingDust
-GroundEffect_JumpLandingDust: @ 80641A8
- push {r4,lr}
- ldr r3, _080641D4 @ =gUnknown_0202FF84
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080641D4: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_JumpLandingDust
-
- thumb_func_start GroundEffect_ShortGrass
-GroundEffect_ShortGrass: @ 80641D8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x29
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_ShortGrass
-
- thumb_func_start GroundEffect_HotSprings
-GroundEffect_HotSprings: @ 80641E8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2A
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_HotSprings
-
- thumb_func_start GroundEffect_Seaweed
-GroundEffect_Seaweed: @ 80641F8
- push {lr}
- ldr r2, _08064214 @ =gUnknown_0202FF84
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- str r0, [r2, 0x4]
- movs r0, 0x35
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08064214: .4byte gUnknown_0202FF84
- thumb_func_end GroundEffect_Seaweed
-
- thumb_func_start sub_8064218
-sub_8064218: @ 8064218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r4, 0
- ldr r0, _08064258 @ =gUnknown_083760A0
- mov r8, r0
-_0806422A:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08064240
- lsls r0, r4, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl _call_via_r2
-_08064240:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsrs r5, 1
- cmp r4, 0x13
- bls _0806422A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064258: .4byte gUnknown_083760A0
- thumb_func_end sub_8064218
-
- thumb_func_start filters_out_some_ground_effects
-filters_out_some_ground_effects: @ 806425C
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- lsls r0, 27
- cmp r0, 0
- bge _0806428A
- ldrb r1, [r2, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- adds r1, 0x8
- ands r0, r1
- subs r1, 0x18
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r0, [r3]
- ldr r1, _08064290 @ =0xfff9f7bd
- ands r0, r1
- str r0, [r3]
-_0806428A:
- pop {r0}
- bx r0
- .align 2, 0
-_08064290: .4byte 0xfff9f7bd
- thumb_func_end filters_out_some_ground_effects
-
- thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
-FilterOutStepOnPuddleGroundEffectIfJumping: @ 8064294
- push {lr}
- adds r2, r1, 0
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080642A8
- ldr r0, [r2]
- ldr r1, _080642AC @ =0xfffffbff
- ands r0, r1
- str r0, [r2]
-_080642A8:
- pop {r0}
- bx r0
- .align 2, 0
-_080642AC: .4byte 0xfffffbff
- thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
-
- thumb_func_start DoGroundEffects_OnSpawn
-DoGroundEffects_OnSpawn: @ 80642B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _080642F4
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8064218
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080642F4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnSpawn
-
- thumb_func_start DoGroundEffects_OnBeginStep
-DoGroundEffects_OnBeginStep: @ 80642FC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08064348
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl filters_out_some_ground_effects
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8064218
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08064348:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnBeginStep
-
- thumb_func_start DoGroundEffects_OnFinishStep
-DoGroundEffects_OnFinishStep: @ 8064350
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 28
- cmp r0, 0
- bge _0806439C
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl FilterOutStepOnPuddleGroundEffectIfJumping
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8064218
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_0806439C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnFinishStep
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s
deleted file mode 100644
index fe1b41724..000000000
--- a/asm/pokemon_menu.s
+++ /dev/null
@@ -1,3438 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8089A70
-sub_8089A70: @ 8089A70
- push {lr}
- ldr r0, _08089A88 @ =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- movs r0, 0
- movs r1, 0
- bl OpenPartyMenu
- pop {r0}
- bx r0
- .align 2, 0
-_08089A88: .4byte gPaletteFade
- thumb_func_end sub_8089A70
-
- thumb_func_start sub_8089A8C
-sub_8089A8C: @ 8089A8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08089AD0 @ =gUnknown_0202FFA9
- movs r0, 0
- strb r0, [r5]
- ldr r0, _08089AD4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08089AD8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08089AE0
- ldr r4, _08089ADC @ =gUnknown_0202FFAA
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl AppendToList
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl AppendToList
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl AppendToList
- b _08089BC8
- .align 2, 0
-_08089AD0: .4byte gUnknown_0202FFA9
-_08089AD4: .4byte gLastFieldPokeMenuOpened
-_08089AD8: .4byte gPlayerParty
-_08089ADC: .4byte gUnknown_0202FFAA
-_08089AE0:
- movs r6, 0
- ldr r0, _08089B24 @ =gUnknown_0839F554
- ldrh r0, [r0]
- mov r8, r0
-_08089AE8:
- movs r4, 0
- adds r7, r6, 0x1
- mov r0, r8
- cmp r0, 0xFF
- beq _08089B48
- ldr r5, _08089B24 @ =gUnknown_0839F554
-_08089AF4:
- ldr r0, _08089B28 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08089B2C @ =gPlayerParty
- adds r0, r1
- adds r1, r6, 0
- adds r1, 0xD
- bl GetMonData
- lsls r1, r4, 1
- adds r1, r5
- ldrh r1, [r1]
- cmp r0, r1
- bne _08089B38
- adds r2, r4, 0
- adds r2, 0xA
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _08089B30 @ =gUnknown_0202FFAA
- ldr r1, _08089B34 @ =gUnknown_0202FFA9
- bl AppendToList
- b _08089B48
- .align 2, 0
-_08089B24: .4byte gUnknown_0839F554
-_08089B28: .4byte gLastFieldPokeMenuOpened
-_08089B2C: .4byte gPlayerParty
-_08089B30: .4byte gUnknown_0202FFAA
-_08089B34: .4byte gUnknown_0202FFA9
-_08089B38:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0xFF
- bne _08089AF4
-_08089B48:
- lsls r0, r7, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08089AE8
- ldr r4, _08089BA4 @ =gUnknown_0202FFAA
- ldr r5, _08089BA8 @ =gUnknown_0202FFA9
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl AppendToList
- ldr r6, _08089BAC @ =gPlayerParty + 1 * 0x64
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08089B76
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl AppendToList
-_08089B76:
- ldr r0, _08089BB0 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- adds r1, r6, 0
- subs r1, 0x64
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _08089BB4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl AppendToList
- b _08089BBE
- .align 2, 0
-_08089BA4: .4byte gUnknown_0202FFAA
-_08089BA8: .4byte gUnknown_0202FFA9
-_08089BAC: .4byte gPlayerParty + 1 * 0x64
-_08089BB0: .4byte gLastFieldPokeMenuOpened
-_08089BB4:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl AppendToList
-_08089BBE:
- ldr r0, _08089BD4 @ =gUnknown_0202FFAA
- ldr r1, _08089BD8 @ =gUnknown_0202FFA9
- movs r2, 0x3
- bl AppendToList
-_08089BC8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08089BD4: .4byte gUnknown_0202FFAA
-_08089BD8: .4byte gUnknown_0202FFA9
- thumb_func_end sub_8089A8C
-
- thumb_func_start sub_8089BDC
-sub_8089BDC: @ 8089BDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r7, [sp, 0x20]
- ldr r1, [sp, 0x24]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x5
- bl sub_806D538
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- lsls r3, r0, 1
- adds r3, r6, r3
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl MenuDrawTextWindow
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- adds r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- str r7, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, r8
- ldr r3, [sp, 0x1C]
- bl PrintMenuItemsReordered
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8089BDC
-
- thumb_func_start sub_8089C50
-sub_8089C50: @ 8089C50
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r4, 0x1
- str r4, [sp, 0x8]
- bl sub_8089BDC
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8089C50
-
- thumb_func_start sub_8089C7C
-sub_8089C7C: @ 8089C7C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _08089CC8 @ =gUnknown_0202FFA9
- ldrb r0, [r6]
- lsls r0, 1
- movs r4, 0x12
- subs r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldrb r3, [r6]
- ldr r0, _08089CCC @ =gPokemonMenuActions
- str r0, [sp]
- ldr r0, _08089CD0 @ =gUnknown_0202FFAA
- str r0, [sp, 0x4]
- movs r0, 0x3
- str r0, [sp, 0x8]
- movs r0, 0x13
- adds r1, r4, 0
- movs r2, 0xA
- bl sub_8089BDC
- movs r2, 0x1
- orrs r2, r4
- ldrb r3, [r6]
- str r5, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x14
- bl InitMenu
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08089CC8: .4byte gUnknown_0202FFA9
-_08089CCC: .4byte gPokemonMenuActions
-_08089CD0: .4byte gUnknown_0202FFAA
- thumb_func_end sub_8089C7C
-
- thumb_func_start sub_8089CD4
-sub_8089CD4: @ 8089CD4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08089D00 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08089D84
- adds r0, r4, 0
- bl sub_806BD80
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08089D04
- cmp r0, 0x2
- beq _08089D60
- b _08089D84
- .align 2, 0
-_08089D00: .4byte gPaletteFade
-_08089D04:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _08089D48 @ =gLastFieldPokeMenuOpened
- strb r0, [r1]
- ldrb r1, [r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08089D4C @ =gPlayerParty
- adds r0, r1
- ldr r1, _08089D50 @ =gStringVar1
- bl GetMonNickname
- bl sub_8089A8C
- ldr r0, _08089D54 @ =gUnknown_0202FFA8
- strb r5, [r0]
- movs r0, 0
- bl sub_8089C7C
- ldr r1, _08089D58 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08089D5C @ =sub_8089D94
- str r1, [r0]
- adds r0, r4, 0
- bl sub_808B5B4
- b _08089D84
- .align 2, 0
-_08089D48: .4byte gLastFieldPokeMenuOpened
-_08089D4C: .4byte gPlayerParty
-_08089D50: .4byte gStringVar1
-_08089D54: .4byte gUnknown_0202FFA8
-_08089D58: .4byte gTasks
-_08089D5C: .4byte sub_8089D94
-_08089D60:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08089D8C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08089D90 @ =sub_8089E4C
- str r1, [r0]
-_08089D84:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089D8C: .4byte gTasks
-_08089D90: .4byte sub_8089E4C
- thumb_func_end sub_8089CD4
-
- thumb_func_start sub_8089D94
-sub_8089D94: @ 8089D94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _08089DC8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08089E44
- ldr r2, _08089DCC @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _08089DD4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- ldr r1, _08089DD0 @ =gUnknown_0202FFA8
- strb r0, [r1]
- b _08089E1A
- .align 2, 0
-_08089DC8: .4byte gPaletteFade
-_08089DCC: .4byte gMain
-_08089DD0: .4byte gUnknown_0202FFA8
-_08089DD4:
- cmp r1, 0x80
- bne _08089DF0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, _08089DEC @ =gUnknown_0202FFA8
- strb r0, [r1]
- b _08089E1A
- .align 2, 0
-_08089DEC: .4byte gUnknown_0202FFA8
-_08089DF0:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08089E30
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08089E24 @ =gPokemonMenuActions
- ldr r2, _08089E28 @ =gUnknown_0202FFAA
- ldr r0, _08089E2C @ =gUnknown_0202FFA8
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_08089E1A:
- adds r0, r4, 0
- bl sub_808B5B4
- b _08089E44
- .align 2, 0
-_08089E24: .4byte gPokemonMenuActions
-_08089E28: .4byte gUnknown_0202FFAA
-_08089E2C: .4byte gUnknown_0202FFA8
-_08089E30:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08089E44
- adds r0, r5, 0
- bl PokemonMenu_Cancel
- adds r0, r5, 0
- bl sub_808B5B4
-_08089E44:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8089D94
-
- thumb_func_start sub_8089E4C
-sub_8089E4C: @ 8089E4C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08089E78 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08089E72
- ldr r0, _08089E7C @ =gLastFieldPokeMenuOpened
- strb r1, [r0]
- ldr r0, _08089E80 @ =sub_805469C
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08089E72:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089E78: .4byte gPaletteFade
-_08089E7C: .4byte gLastFieldPokeMenuOpened
-_08089E80: .4byte sub_805469C
- thumb_func_end sub_8089E4C
-
- thumb_func_start sub_8089E84
-sub_8089E84: @ 8089E84
- push {lr}
- ldr r0, _08089EAC @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08089EB0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08089EB4 @ =gStringVar1
- bl GetMonNickname
- bl sub_8089A8C
- ldr r1, _08089EB8 @ =gUnknown_0202FFA8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- bl sub_8089C7C
- pop {r0}
- bx r0
- .align 2, 0
-_08089EAC: .4byte gLastFieldPokeMenuOpened
-_08089EB0: .4byte gPlayerParty
-_08089EB4: .4byte gStringVar1
-_08089EB8: .4byte gUnknown_0202FFA8
- thumb_func_end sub_8089E84
-
- thumb_func_start sub_8089EBC
-sub_8089EBC: @ 8089EBC
- push {r4,r5,lr}
- ldr r4, _08089EC4 @ =0x0201b260
- ldr r5, _08089EC8 @ =gUnknown_020384F0
- b _08089ED8
- .align 2, 0
-_08089EC4: .4byte 0x0201b260
-_08089EC8: .4byte gUnknown_020384F0
-_08089ECC:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08089F04
-_08089ED8:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08089ECC
- ldrb r0, [r4]
- ldrb r1, [r5]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r1, _08089F0C @ =gLastFieldPokeMenuOpened
- ldrb r0, [r5]
- strb r0, [r1]
- bl sub_8089E84
- ldr r0, _08089F10 @ =sub_806AEDC
- bl SetMainCallback2
-_08089F04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089F0C: .4byte gLastFieldPokeMenuOpened
-_08089F10: .4byte sub_806AEDC
- thumb_func_end sub_8089EBC
-
- thumb_func_start sub_8089F14
-sub_8089F14: @ 8089F14
- push {lr}
- ldr r2, _08089F38 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r2, _08089F3C @ =sub_8089D94
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0x5
- bl sub_806AF4C
- ldr r0, _08089F40 @ =sub_8089EBC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08089F38: .4byte gPaletteFade
-_08089F3C: .4byte sub_8089D94
-_08089F40: .4byte sub_8089EBC
- thumb_func_end sub_8089F14
-
- thumb_func_start sub_8089F44
-sub_8089F44: @ 8089F44
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _08089FAC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08089FA2
- ldr r2, _08089FB0 @ =gSprites
- ldr r1, _08089FB4 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xE]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r4, [r0, 0x2E]
- lsls r4, 24
- lsrs r4, 24
- adds r0, r3, 0
- bl DestroyTask
- ldr r0, _08089FB8 @ =0x0201b000
- ldr r1, _08089FBC @ =0x00000262
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08089FC0 @ =gPlayerParty
- ldr r1, _08089FC4 @ =gPlayerPartyCount
- ldrb r2, [r1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _08089FC8 @ =sub_8089F14
- str r5, [sp]
- adds r1, r4, 0
- bl ShowPokemonSummaryScreen
-_08089FA2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089FAC: .4byte gPaletteFade
-_08089FB0: .4byte gSprites
-_08089FB4: .4byte gTasks
-_08089FB8: .4byte 0x0201b000
-_08089FBC: .4byte 0x00000262
-_08089FC0: .4byte gPlayerParty
-_08089FC4: .4byte gPlayerPartyCount
-_08089FC8: .4byte sub_8089F14
- thumb_func_end sub_8089F44
-
- thumb_func_start PokemonMenu_Summary
-PokemonMenu_Summary: @ 8089FCC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08089FFC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A000 @ =sub_8089F44
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089FFC: .4byte gTasks
-_0808A000: .4byte sub_8089F44
- thumb_func_end PokemonMenu_Summary
-
- thumb_func_start sub_808A004
-sub_808A004: @ 808A004
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0808A024 @ =sub_806CA60
- ldr r2, _0808A028 @ =sub_8089CD4
- bl SetTaskFuncWithFollowupFunc
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- .align 2, 0
-_0808A024: .4byte sub_806CA60
-_0808A028: .4byte sub_8089CD4
- thumb_func_end sub_808A004
-
- thumb_func_start PokemonMenu_Switch
-PokemonMenu_Switch: @ 808A02C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- ldr r0, _0808A054 @ =0x02001000
- ldr r1, _0808A058 @ =sub_806CD5C
- str r1, [r0, 0xC]
- ldr r1, _0808A05C @ =0x0001a272
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- adds r0, r4, 0
- bl sub_808A004
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A054: .4byte 0x02001000
-_0808A058: .4byte sub_806CD5C
-_0808A05C: .4byte 0x0001a272
- thumb_func_end PokemonMenu_Switch
-
- thumb_func_start sub_808A060
-sub_808A060: @ 808A060
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808A0D0 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x40
- bne _0808A086
- ldr r4, _0808A0D4 @ =gUnknown_0202FFA8
- ldrb r0, [r4]
- cmp r0, 0
- beq _0808A086
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
-_0808A086:
- ldr r0, _0808A0D0 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x80
- bne _0808A0A4
- ldr r4, _0808A0D4 @ =gUnknown_0202FFA8
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _0808A0A4
- movs r0, 0x1
- bl MoveMenuCursor
- strb r0, [r4]
- movs r0, 0x5
- bl PlaySE
-_0808A0A4:
- ldr r0, _0808A0D0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808A0E0
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0808A0D8 @ =gUnknown_0839F578
- ldr r2, _0808A0DC @ =gPokemonMenuActions
- ldr r0, _0808A0D4 @ =gUnknown_0202FFA8
- ldrb r3, [r0]
- movs r0, 0
- bl PartyMenuGetPopupMenuFunc
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
- b _0808A0F6
- .align 2, 0
-_0808A0D0: .4byte gMain
-_0808A0D4: .4byte gUnknown_0202FFA8
-_0808A0D8: .4byte gUnknown_0839F578
-_0808A0DC: .4byte gPokemonMenuActions
-_0808A0E0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808A0F6
- ldr r1, _0808A0FC @ =gUnknown_0839F578
- movs r0, 0
- bl sub_806E7D0
- adds r0, r5, 0
- bl PokemonMenu_CancelSubmenu
-_0808A0F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A0FC: .4byte gUnknown_0839F578
- thumb_func_end sub_808A060
-
- thumb_func_start sub_808A100
-sub_808A100: @ 808A100
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0808A130 @ =gUnknown_0839F578
- ldr r2, _0808A134 @ =gPokemonMenuActions
- movs r0, 0
- movs r3, 0
- bl sub_806E750
- movs r0, 0xD
- movs r1, 0x2
- bl sub_806D538
- ldr r1, _0808A138 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A13C @ =sub_808A060
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A130: .4byte gUnknown_0839F578
-_0808A134: .4byte gPokemonMenuActions
-_0808A138: .4byte gTasks
-_0808A13C: .4byte sub_808A060
- thumb_func_end sub_808A100
-
- thumb_func_start PokemonMenu_Item
-PokemonMenu_Item: @ 808A140
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- ldr r1, _0808A174 @ =gUnknown_0202FFA8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _0808A178 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A17C @ =sub_808A100
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A174: .4byte gUnknown_0202FFA8
-_0808A178: .4byte gTasks
-_0808A17C: .4byte sub_808A100
- thumb_func_end PokemonMenu_Item
-
- thumb_func_start sub_808A180
-sub_808A180: @ 808A180
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808A1D0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808A1CA
- adds r0, r5, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0808A1D4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl DestroyTask
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, _0808A1D8 @ =gSaveBlock1 + 0x2B4C
- adds r1, r0
- ldr r2, _0808A1DC @ =sub_808A520
- movs r0, 0x4
- movs r3, 0x3
- bl sub_80E62A0
-_0808A1CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A1D0: .4byte gPaletteFade
-_0808A1D4: .4byte gPlayerParty
-_0808A1D8: .4byte gSaveBlock1 + 0x2B4C
-_0808A1DC: .4byte sub_808A520
- thumb_func_end sub_808A180
-
- thumb_func_start sub_808A1E0
-sub_808A1E0: @ 808A1E0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808A21C @ =gUnknown_0202E8F6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808A216
- adds r0, r4, 0
- bl sub_806CA38
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetHeldItemIconVisibility
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- ldr r1, _0808A220 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A224 @ =sub_8089CD4
- str r1, [r0]
-_0808A216:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A21C: .4byte gUnknown_0202E8F6
-_0808A220: .4byte gTasks
-_0808A224: .4byte sub_8089CD4
- thumb_func_end sub_808A1E0
-
- thumb_func_start sub_808A228
-sub_808A228: @ 808A228
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808A268 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0808A278
- ldr r0, _0808A26C @ =gUnknown_0202E8F4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808A278
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808A270 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A274 @ =sub_808A180
- str r1, [r0]
- b _0808A29A
- .align 2, 0
-_0808A268: .4byte gScriptItemId
-_0808A26C: .4byte gUnknown_0202E8F4
-_0808A270: .4byte gTasks
-_0808A274: .4byte sub_808A180
-_0808A278:
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- ldr r0, _0808A2A4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808A2A8 @ =sub_8089CD4
- str r0, [r1]
-_0808A29A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A2A4: .4byte gTasks
-_0808A2A8: .4byte sub_8089CD4
- thumb_func_end sub_808A228
-
- thumb_func_start sub_808A2AC
-sub_808A2AC: @ 808A2AC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _0808A2D0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808A2CA
- ldr r0, _0808A2D4 @ =gScriptItemId
- ldrh r1, [r0]
- ldr r2, _0808A2D8 @ =sub_808A228
- adds r0, r3, 0
- bl PartyMenuTryGiveMonHeldItem
-_0808A2CA:
- pop {r0}
- bx r0
- .align 2, 0
-_0808A2D0: .4byte gPaletteFade
-_0808A2D4: .4byte gScriptItemId
-_0808A2D8: .4byte sub_808A228
- thumb_func_end sub_808A2AC
-
- thumb_func_start sub_808A2DC
-sub_808A2DC: @ 808A2DC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0808A324 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl DestroyTask
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, _0808A328 @ =gSaveBlock1 + 0x2B4C
- adds r1, r0
- ldr r2, _0808A32C @ =sub_808A520
- movs r0, 0x4
- movs r3, 0x3
- bl sub_80E62A0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A324: .4byte gPlayerParty
-_0808A328: .4byte gSaveBlock1 + 0x2B4C
-_0808A32C: .4byte sub_808A520
- thumb_func_end sub_808A2DC
-
- thumb_func_start sub_808A330
-sub_808A330: @ 808A330
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0808A344 @ =gScriptItemId
- ldrh r1, [r1]
- ldr r2, _0808A348 @ =sub_808A2DC
- bl PartyMenuTryGiveMonHeldItem
- pop {r0}
- bx r0
- .align 2, 0
-_0808A344: .4byte gScriptItemId
-_0808A348: .4byte sub_808A2DC
- thumb_func_end sub_808A330
-
- thumb_func_start sub_808A34C
-sub_808A34C: @ 808A34C
- push {lr}
- bl RunTasks
- pop {r0}
- bx r0
- thumb_func_end sub_808A34C
-
- thumb_func_start sub_808A358
-sub_808A358: @ 808A358
- push {r4,lr}
- ldr r4, _0808A360 @ =0x0201b260
- b _0808A370
- .align 2, 0
-_0808A360: .4byte 0x0201b260
-_0808A364:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808A394
-_0808A370:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808A364
- ldrb r0, [r4]
- ldr r1, _0808A39C @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808A3A0 @ =sub_806AEDC
- bl SetMainCallback2
-_0808A394:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A39C: .4byte gLastFieldPokeMenuOpened
-_0808A3A0: .4byte sub_806AEDC
- thumb_func_end sub_808A358
-
- thumb_func_start sub_808A3A4
-sub_808A3A4: @ 808A3A4
- push {r4,r5,lr}
- ldr r4, _0808A3D8 @ =0x0201b260
- adds r5, r4, 0x2
-_0808A3AA:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808A3E4
- ldrb r0, [r4]
- ldr r1, _0808A3DC @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- movs r0, 0x3
- strb r0, [r5]
- bl sub_8089E84
- ldr r0, _0808A3E0 @ =sub_806AEDC
- bl SetMainCallback2
- b _0808A3F0
- .align 2, 0
-_0808A3D8: .4byte 0x0201b260
-_0808A3DC: .4byte gLastFieldPokeMenuOpened
-_0808A3E0: .4byte sub_806AEDC
-_0808A3E4:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808A3AA
-_0808A3F0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808A3A4
-
- thumb_func_start sub_808A3F8
-sub_808A3F8: @ 808A3F8
- push {r4,lr}
- ldr r0, _0808A460 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0808A47E
- ldr r0, _0808A464 @ =sub_808A330
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _0808A468 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806BD58
- ldr r0, _0808A46C @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_806C994
- adds r0, r4, 0
- movs r1, 0
- bl sub_806BF74
- adds r0, r4, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0808A470 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 24
- cmp r0, 0
- bne _0808A478
- ldr r0, _0808A474 @ =sub_808A34C
- bl SetMainCallback2
- b _0808A4C6
- .align 2, 0
-_0808A460: .4byte gScriptItemId
-_0808A464: .4byte sub_808A330
-_0808A468: .4byte gPaletteFade
-_0808A46C: .4byte gLastFieldPokeMenuOpened
-_0808A470: .4byte gPlayerParty
-_0808A474: .4byte sub_808A34C
-_0808A478:
- adds r0, r4, 0
- bl DestroyTask
-_0808A47E:
- ldr r2, _0808A4A4 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0808A4A8 @ =gScriptItemId
- ldrh r0, [r0]
- cmp r0, 0
- beq _0808A4B4
- ldr r2, _0808A4AC @ =sub_808A2AC
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0xFF
- bl sub_806AF4C
- ldr r0, _0808A4B0 @ =sub_808A358
- bl SetMainCallback2
- b _0808A4C6
- .align 2, 0
-_0808A4A4: .4byte gPaletteFade
-_0808A4A8: .4byte gScriptItemId
-_0808A4AC: .4byte sub_808A2AC
-_0808A4B0: .4byte sub_808A358
-_0808A4B4:
- ldr r2, _0808A4CC @ =sub_8089D94
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0x5
- bl sub_806AF4C
- ldr r0, _0808A4D0 @ =sub_808A3A4
- bl SetMainCallback2
-_0808A4C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A4CC: .4byte sub_8089D94
-_0808A4D0: .4byte sub_808A3A4
- thumb_func_end sub_808A3F8
-
- thumb_func_start sub_808A4D4
-sub_808A4D4: @ 808A4D4
- push {r4,lr}
- ldr r4, _0808A4DC @ =0x0201b260
- b _0808A4EC
- .align 2, 0
-_0808A4DC: .4byte 0x0201b260
-_0808A4E0:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808A510
-_0808A4EC:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808A4E0
- ldrb r0, [r4]
- ldr r1, _0808A518 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808A51C @ =sub_806AEDC
- bl SetMainCallback2
-_0808A510:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A518: .4byte gLastFieldPokeMenuOpened
-_0808A51C: .4byte sub_806AEDC
- thumb_func_end sub_808A4D4
-
- thumb_func_start sub_808A520
-sub_808A520: @ 808A520
- push {r4-r7,lr}
- ldr r2, _0808A584 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0808A588 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0
- bne _0808A59C
- ldr r7, _0808A58C @ =gUnknown_0202E8F8
- ldrh r0, [r7]
- cmp r0, 0
- beq _0808A542
- movs r1, 0x1
- bl RemoveBagItem
-_0808A542:
- ldr r6, _0808A590 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _0808A594 @ =gPlayerParty
- adds r0, r4
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl AddBagItem
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- bl TakeMailFromMon
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xC
- adds r2, r7, 0
- bl SetMonData
- ldr r2, _0808A598 @ =sub_8089CD4
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0
- bl sub_806AF4C
- b _0808A5A8
- .align 2, 0
-_0808A584: .4byte gPaletteFade
-_0808A588: .4byte gScriptResult
-_0808A58C: .4byte gUnknown_0202E8F8
-_0808A590: .4byte gLastFieldPokeMenuOpened
-_0808A594: .4byte gPlayerParty
-_0808A598: .4byte sub_8089CD4
-_0808A59C:
- ldr r2, _0808A5B4 @ =sub_808A5BC
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0xFF
- bl sub_806AF4C
-_0808A5A8:
- ldr r0, _0808A5B8 @ =sub_808A4D4
- bl SetMainCallback2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A5B4: .4byte sub_808A5BC
-_0808A5B8: .4byte sub_808A4D4
- thumb_func_end sub_808A520
-
- thumb_func_start sub_808A5BC
-sub_808A5BC: @ 808A5BC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808A5F0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808A5EA
- ldr r0, _0808A5F4 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r0]
- ldr r1, _0808A5F8 @ =gScriptItemId
- ldrh r1, [r1]
- movs r2, 0
- bl DisplayGiveHeldItemMessage
- ldr r1, _0808A5FC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A600 @ =sub_808A1E0
- str r1, [r0]
-_0808A5EA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A5F0: .4byte gPaletteFade
-_0808A5F4: .4byte gLastFieldPokeMenuOpened
-_0808A5F8: .4byte gScriptItemId
-_0808A5FC: .4byte gTasks
-_0808A600: .4byte sub_808A1E0
- thumb_func_end sub_808A5BC
-
- thumb_func_start sub_808A604
-sub_808A604: @ 808A604
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808A628 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808A622
- ldr r0, _0808A62C @ =sub_80A61D0
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0808A622:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A628: .4byte gPaletteFade
-_0808A62C: .4byte sub_80A61D0
- thumb_func_end sub_808A604
-
- thumb_func_start PokemonMenu_GiveItem
-PokemonMenu_GiveItem: @ 808A630
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _0808A66C @ =gUnknown_0202E8F5
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808A670 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A674 @ =sub_808A604
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A66C: .4byte gUnknown_0202E8F5
-_0808A670: .4byte gTasks
-_0808A674: .4byte sub_808A604
- thumb_func_end PokemonMenu_GiveItem
-
- thumb_func_start sub_808A678
-sub_808A678: @ 808A678
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_808A8D4
- pop {r0}
- bx r0
- thumb_func_end sub_808A678
-
- thumb_func_start PokemonMenu_TakeItem
-PokemonMenu_TakeItem: @ 808A688
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_806D5A4
- ldr r1, _0808A6B4 @ =sub_808A678
- adds r0, r4, 0
- bl PartyMenuTryGiveMonHeldItem_806ECE8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A6B4: .4byte sub_808A678
- thumb_func_end PokemonMenu_TakeItem
-
- thumb_func_start PokemonMenu_TakeMail
-PokemonMenu_TakeMail: @ 808A6B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_806D5A4
- ldr r1, _0808A6E4 @ =sub_808A678
- adds r0, r4, 0
- bl DoTakeMail
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A6E4: .4byte sub_808A678
- thumb_func_end PokemonMenu_TakeMail
-
- thumb_func_start PokemonMenu_Mail
-PokemonMenu_Mail: @ 808A6E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- ldr r1, _0808A728 @ =gUnknown_0202FFA8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _0808A72C @ =gUnknown_0839F584
- ldr r2, _0808A730 @ =gPokemonMenuActions
- movs r0, 0
- movs r3, 0
- bl sub_806E750
- ldr r1, _0808A734 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A738 @ =sub_808A73C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A728: .4byte gUnknown_0202FFA8
-_0808A72C: .4byte gUnknown_0839F584
-_0808A730: .4byte gPokemonMenuActions
-_0808A734: .4byte gTasks
-_0808A738: .4byte sub_808A73C
- thumb_func_end PokemonMenu_Mail
-
- thumb_func_start sub_808A73C
-sub_808A73C: @ 808A73C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808A764 @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x40
- bne _0808A77A
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0808A768 @ =gUnknown_0202FFA8
- ldrb r0, [r4]
- cmp r0, 0
- bne _0808A770
- ldr r0, _0808A76C @ =gUnknown_0839F584
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- b _0808A774
- .align 2, 0
-_0808A764: .4byte gMain
-_0808A768: .4byte gUnknown_0202FFA8
-_0808A76C: .4byte gUnknown_0839F584
-_0808A770:
- movs r0, 0x1
- negs r0, r0
-_0808A774:
- bl MoveMenuCursor
- strb r0, [r4]
-_0808A77A:
- ldr r0, _0808A7A0 @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x80
- bne _0808A7B4
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0808A7A4 @ =gUnknown_0202FFA8
- ldrb r0, [r4]
- ldr r1, _0808A7A8 @ =gUnknown_0839F584
- ldrb r2, [r1]
- subs r1, r2, 0x1
- cmp r0, r1
- bne _0808A7AC
- movs r0, 0x1
- subs r0, r2
- lsls r0, 24
- asrs r0, 24
- b _0808A7AE
- .align 2, 0
-_0808A7A0: .4byte gMain
-_0808A7A4: .4byte gUnknown_0202FFA8
-_0808A7A8: .4byte gUnknown_0839F584
-_0808A7AC:
- movs r0, 0x1
-_0808A7AE:
- bl MoveMenuCursor
- strb r0, [r4]
-_0808A7B4:
- ldr r0, _0808A7E0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808A7F0
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0808A7E4 @ =gUnknown_0839F584
- ldr r2, _0808A7E8 @ =gPokemonMenuActions
- ldr r0, _0808A7EC @ =gUnknown_0202FFA8
- ldrb r3, [r0]
- movs r0, 0
- bl PartyMenuGetPopupMenuFunc
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
- b _0808A806
- .align 2, 0
-_0808A7E0: .4byte gMain
-_0808A7E4: .4byte gUnknown_0839F584
-_0808A7E8: .4byte gPokemonMenuActions
-_0808A7EC: .4byte gUnknown_0202FFA8
-_0808A7F0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808A806
- ldr r1, _0808A80C @ =gUnknown_0839F584
- movs r0, 0
- bl sub_806E7D0
- adds r0, r5, 0
- bl PokemonMenu_Cancel
-_0808A806:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A80C: .4byte gUnknown_0839F584
- thumb_func_end sub_808A73C
-
- thumb_func_start PokemonMenu_ReadMail
-PokemonMenu_ReadMail: @ 808A810
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808A840 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A844 @ =sub_808A848
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A840: .4byte gTasks
-_0808A844: .4byte sub_808A848
- thumb_func_end PokemonMenu_ReadMail
-
- thumb_func_start sub_808A848
-sub_808A848: @ 808A848
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808A898 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808A890
- adds r0, r5, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0808A89C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl DestroyTask
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r1, _0808A8A0 @ =gSaveBlock1 + 0x2B4C
- adds r0, r1
- ldr r1, _0808A8A4 @ =sub_808A8A8
- movs r2, 0x1
- bl HandleReadMail
-_0808A890:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A898: .4byte gPaletteFade
-_0808A89C: .4byte gPlayerParty
-_0808A8A0: .4byte gSaveBlock1 + 0x2B4C
-_0808A8A4: .4byte sub_808A8A8
- thumb_func_end sub_808A848
-
- thumb_func_start sub_808A8A8
-sub_808A8A8: @ 808A8A8
- push {lr}
- ldr r1, _0808A8C4 @ =gUnknown_020384F0
- ldr r0, _0808A8C8 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _0808A8CC @ =0x0201b000
- ldr r1, _0808A8D0 @ =0x00000262
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- bl sub_8089F14
- pop {r0}
- bx r0
- .align 2, 0
-_0808A8C4: .4byte gUnknown_020384F0
-_0808A8C8: .4byte gLastFieldPokeMenuOpened
-_0808A8CC: .4byte 0x0201b000
-_0808A8D0: .4byte 0x00000262
- thumb_func_end sub_808A8A8
-
- thumb_func_start sub_808A8D4
-sub_808A8D4: @ 808A8D4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0808A90C @ =gUnknown_0202FFA8
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- ldr r1, _0808A910 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A914 @ =sub_8089CD4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A90C: .4byte gUnknown_0202FFA8
-_0808A910: .4byte gTasks
-_0808A914: .4byte sub_8089CD4
- thumb_func_end sub_808A8D4
-
- thumb_func_start PokemonMenu_Cancel
-PokemonMenu_Cancel: @ 808A918
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_808A8D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PokemonMenu_Cancel
-
- thumb_func_start PokemonMenu_CancelSubmenu
-PokemonMenu_CancelSubmenu: @ 808A938
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl HandleDestroyMenuCursors
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_806D5A4
- ldr r0, _0808A978 @ =gUnknown_0202FFA8
- ldrb r0, [r0]
- bl sub_8089C7C
- ldr r1, _0808A97C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808A980 @ =sub_8089D94
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A978: .4byte gUnknown_0202FFA8
-_0808A97C: .4byte gTasks
-_0808A980: .4byte sub_8089D94
- thumb_func_end PokemonMenu_CancelSubmenu
-
- thumb_func_start PokemonMenu_FieldMove
-PokemonMenu_FieldMove: @ 808A984
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _0808A9D0 @ =gTasks + 0x8
- adds r4, r6, r7
- bl HandleDestroyMenuCursors
- ldr r1, _0808A9D4 @ =gUnknown_0202FFAA
- ldr r0, _0808A9D8 @ =gUnknown_0202FFA8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0xA
- strh r0, [r4, 0x16]
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808A9DC
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldrh r0, [r4, 0x16]
- subs r0, 0xB
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0808AABA
- movs r0, 0x9
- b _0808AAB2
- .align 2, 0
-_0808A9D0: .4byte gTasks + 0x8
-_0808A9D4: .4byte gUnknown_0202FFAA
-_0808A9D8: .4byte gUnknown_0202FFA8
-_0808A9DC:
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0x7
- bgt _0808AA2C
- ldr r2, _0808AA20 @ =0x00000807
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808AA2C
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_806D5A4
- ldr r0, _0808AA24 @ =gOtherText_CantBeUsedBadge
- movs r1, 0x1
- bl sub_806E834
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0808AA28 @ =sub_808AAF0
- str r1, [r0]
- b _0808AADA
- .align 2, 0
-_0808AA20: .4byte 0x00000807
-_0808AA24: .4byte gOtherText_CantBeUsedBadge
-_0808AA28: .4byte sub_808AAF0
-_0808AA2C:
- ldr r1, _0808AA78 @ =gFieldMoveFuncs
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AA90
- ldr r1, _0808AA7C @ =gUnknown_0202FFA8
- movs r0, 0
- strb r0, [r1]
- ldrh r0, [r4, 0x16]
- subs r0, 0xB
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0808AA88
- ldr r1, _0808AA80 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808AA84 @ =sub_808AB34
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0808AADA
- .align 2, 0
-_0808AA78: .4byte gFieldMoveFuncs
-_0808AA7C: .4byte gUnknown_0202FFA8
-_0808AA80: .4byte gTasks
-_0808AA84: .4byte sub_808AB34
-_0808AA88:
- adds r0, r5, 0
- bl sub_8133D28
- b _0808AADA
-_0808AA90:
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bne _0808AABA
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0808AABA
- movs r0, 0x8
-_0808AAB2:
- movs r1, 0
- bl sub_806D538
- b _0808AACC
-_0808AABA:
- ldr r0, _0808AAE4 @ =gFieldMoveFuncs
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x4]
- movs r1, 0
- bl sub_806D538
-_0808AACC:
- ldr r0, _0808AAE8 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808AAEC @ =sub_808ABF4
- str r0, [r1]
-_0808AADA:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AAE4: .4byte gFieldMoveFuncs
-_0808AAE8: .4byte gTasks
-_0808AAEC: .4byte sub_808ABF4
- thumb_func_end PokemonMenu_FieldMove
-
- thumb_func_start sub_808AAF0
-sub_808AAF0: @ 808AAF0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808AB2C @ =gUnknown_0202E8F6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808AB24
- ldr r0, _0808AB30 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808AB12
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808AB24
-_0808AB12:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl PokemonMenu_Cancel
-_0808AB24:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AB2C: .4byte gUnknown_0202E8F6
-_0808AB30: .4byte gMain
- thumb_func_end sub_808AAF0
-
- thumb_func_start sub_808AB34
-sub_808AB34: @ 808AB34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808AB6C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808AB84
- ldr r0, _0808AB70 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- cmp r0, 0x5
- bne _0808AB62
- bl ShouldDoBrailleFlyEffect
- lsls r0, 24
- cmp r0, 0
- beq _0808AB78
-_0808AB62:
- ldr r0, _0808AB74 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- b _0808AB7E
- .align 2, 0
-_0808AB6C: .4byte gPaletteFade
-_0808AB70: .4byte gTasks
-_0808AB74: .4byte c2_exit_to_overworld_2_switch
-_0808AB78:
- ldr r0, _0808AB8C @ =CB2_InitFlyRegionMap
- bl SetMainCallback2
-_0808AB7E:
- adds r0, r4, 0
- bl DestroyTask
-_0808AB84:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AB8C: .4byte CB2_InitFlyRegionMap
- thumb_func_end sub_808AB34
-
- thumb_func_start sub_808AB90
-sub_808AB90: @ 808AB90
- push {lr}
- bl pal_fill_black
- ldr r0, _0808ABA4 @ =sub_808ABA8
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0808ABA4: .4byte sub_808ABA8
- thumb_func_end sub_808AB90
-
- thumb_func_start sub_808ABA8
-sub_808ABA8: @ 808ABA8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808ABDE
- ldr r0, _0808ABE4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808ABE8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- ldr r1, _0808ABEC @ =gUnknown_0202FF84
- str r0, [r1]
- ldr r0, _0808ABF0 @ =gUnknown_03005CE4
- ldr r0, [r0]
- bl _call_via_r0
- adds r0, r4, 0
- bl DestroyTask
-_0808ABDE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ABE4: .4byte gLastFieldPokeMenuOpened
-_0808ABE8: .4byte gPlayerParty
-_0808ABEC: .4byte gUnknown_0202FF84
-_0808ABF0: .4byte gUnknown_03005CE4
- thumb_func_end sub_808ABA8
-
- thumb_func_start sub_808ABF4
-sub_808ABF4: @ 808ABF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808AC28 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808AC0E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808AC20
-_0808AC0E:
- movs r0, 0x1
- movs r1, 0x11
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl PokemonMenu_Cancel
-_0808AC20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AC28: .4byte gMain
- thumb_func_end sub_808ABF4
-
- thumb_func_start sub_808AC2C
-sub_808AC2C: @ 808AC2C
- push {lr}
- ldr r0, _0808AC40 @ =gUnknown_0202FF84
- ldr r1, _0808AC44 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r0]
- movs r0, 0x9
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0808AC40: .4byte gUnknown_0202FF84
-_0808AC44: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_808AC2C
-
- thumb_func_start SetUpFieldMove_Surf
-SetUpFieldMove_Surf: @ 808AC48
- push {lr}
- bl PartyHasMonWithSurf
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AC84
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AC84
- ldr r1, _0808AC74 @ =gFieldCallback
- ldr r0, _0808AC78 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0808AC7C @ =gUnknown_03005CE4
- ldr r0, _0808AC80 @ =sub_808AC2C
- str r0, [r1]
- movs r0, 0x1
- b _0808AC86
- .align 2, 0
-_0808AC74: .4byte gFieldCallback
-_0808AC78: .4byte sub_808AB90
-_0808AC7C: .4byte gUnknown_03005CE4
-_0808AC80: .4byte sub_808AC2C
-_0808AC84:
- movs r0, 0
-_0808AC86:
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Surf
-
- thumb_func_start sub_808AC8C
-sub_808AC8C: @ 808AC8C
- push {lr}
- ldr r0, _0808ACA0 @ =gUnknown_0202FF84
- ldr r1, _0808ACA4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r0]
- movs r0, 0x1F
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0808ACA0: .4byte gUnknown_0202FF84
-_0808ACA4: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_808AC8C
-
- thumb_func_start SetUpFieldMove_Fly
-SetUpFieldMove_Fly: @ 808ACA8
- push {lr}
- bl ShouldDoBrailleFlyEffect
- lsls r0, 24
- cmp r0, 0
- beq _0808ACD0
- ldr r1, _0808ACC0 @ =gFieldCallback
- ldr r0, _0808ACC4 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0808ACC8 @ =gUnknown_03005CE4
- ldr r0, _0808ACCC @ =DoBrailleFlyEffect
- b _0808ACF2
- .align 2, 0
-_0808ACC0: .4byte gFieldCallback
-_0808ACC4: .4byte sub_808AB90
-_0808ACC8: .4byte gUnknown_03005CE4
-_0808ACCC: .4byte DoBrailleFlyEffect
-_0808ACD0:
- ldr r0, _0808ACE4 @ =gMapHeader
- ldrb r0, [r0, 0x17]
- bl is_light_level_1_2_3_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808ACE8
- movs r0, 0
- b _0808ACF6
- .align 2, 0
-_0808ACE4: .4byte gMapHeader
-_0808ACE8:
- ldr r1, _0808ACFC @ =gFieldCallback
- ldr r0, _0808AD00 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0808AD04 @ =gUnknown_03005CE4
- ldr r0, _0808AD08 @ =sub_808AC8C
-_0808ACF2:
- str r0, [r1]
- movs r0, 0x1
-_0808ACF6:
- pop {r1}
- bx r1
- .align 2, 0
-_0808ACFC: .4byte gFieldCallback
-_0808AD00: .4byte sub_808AB90
-_0808AD04: .4byte gUnknown_03005CE4
-_0808AD08: .4byte sub_808AC8C
- thumb_func_end SetUpFieldMove_Fly
-
- thumb_func_start sub_808AD0C
-sub_808AD0C: @ 808AD0C
- push {r4,lr}
- ldr r4, _0808AD14 @ =0x0201b260
- b _0808AD24
- .align 2, 0
-_0808AD14: .4byte 0x0201b260
-_0808AD18:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808AD48
-_0808AD24:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AD18
- ldrb r0, [r4]
- ldr r1, _0808AD50 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808AD54 @ =sub_806AEDC
- bl SetMainCallback2
-_0808AD48:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AD50: .4byte gLastFieldPokeMenuOpened
-_0808AD54: .4byte sub_806AEDC
- thumb_func_end sub_808AD0C
-
- thumb_func_start sub_808AD58
-sub_808AD58: @ 808AD58
- push {lr}
- ldr r2, _0808AD7C @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r2, _0808AD80 @ =sub_8089CD4
- movs r0, 0
- movs r1, 0xFF
- movs r3, 0
- bl sub_806AF4C
- ldr r0, _0808AD84 @ =sub_808AD0C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0808AD7C: .4byte gPaletteFade
-_0808AD80: .4byte sub_8089CD4
-_0808AD84: .4byte sub_808AD0C
- thumb_func_end sub_808AD58
-
- thumb_func_start unref_sub_808AD88
-unref_sub_808AD88: @ 808AD88
- push {lr}
- ldr r0, _0808ADA4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808ADA8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0808ADA4: .4byte gLastFieldPokeMenuOpened
-_0808ADA8: .4byte gPlayerParty
- thumb_func_end unref_sub_808AD88
-
- thumb_func_start sub_808ADAC
-sub_808ADAC: @ 808ADAC
- push {lr}
- ldr r0, _0808ADC0 @ =gUnknown_0202FF84
- ldr r1, _0808ADC4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r0]
- movs r0, 0x2C
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0808ADC0: .4byte gUnknown_0202FF84
-_0808ADC4: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_808ADAC
-
- thumb_func_start SetUpFieldMove_Dive
-SetUpFieldMove_Dive: @ 808ADC8
- push {lr}
- bl sub_8068F18
- ldr r1, _0808ADE0 @ =gUnknown_0202FF84
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _0808ADE4
- movs r0, 0
- b _0808ADF2
- .align 2, 0
-_0808ADE0: .4byte gUnknown_0202FF84
-_0808ADE4:
- ldr r1, _0808ADF8 @ =gFieldCallback
- ldr r0, _0808ADFC @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0808AE00 @ =gUnknown_03005CE4
- ldr r0, _0808AE04 @ =sub_808ADAC
- str r0, [r1]
- movs r0, 0x1
-_0808ADF2:
- pop {r1}
- bx r1
- .align 2, 0
-_0808ADF8: .4byte gFieldCallback
-_0808ADFC: .4byte sub_808AB90
-_0808AE00: .4byte gUnknown_03005CE4
-_0808AE04: .4byte sub_808ADAC
- thumb_func_end SetUpFieldMove_Dive
-
- thumb_func_start sub_808AE08
-sub_808AE08: @ 808AE08
- push {lr}
- ldr r0, _0808AE1C @ =gUnknown_0202FF84
- ldr r1, _0808AE20 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r0]
- movs r0, 0x2B
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0808AE1C: .4byte gUnknown_0202FF84
-_0808AE20: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_808AE08
-
- thumb_func_start SetUpFieldMove_Waterfall
-SetUpFieldMove_Waterfall: @ 808AE24
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AE80
- bl IsPlayerSurfingNorth
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AE80
- ldr r1, _0808AE70 @ =gFieldCallback
- ldr r0, _0808AE74 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0808AE78 @ =gUnknown_03005CE4
- ldr r0, _0808AE7C @ =sub_808AE08
- str r0, [r1]
- movs r0, 0x1
- b _0808AE82
- .align 2, 0
-_0808AE70: .4byte gFieldCallback
-_0808AE74: .4byte sub_808AB90
-_0808AE78: .4byte gUnknown_03005CE4
-_0808AE7C: .4byte sub_808AE08
-_0808AE80:
- movs r0, 0
-_0808AE82:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Waterfall
-
- thumb_func_start sub_808AE8C
-sub_808AE8C: @ 808AE8C
- push {r4-r6,lr}
- ldr r0, _0808AED8 @ =gScriptItemId
- ldrb r0, [r0]
- subs r0, 0x21
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_0808AE9A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0808AEDC @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0808AF10
- adds r0, r5, 0
- bl sub_806D668
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0808AECE
- adds r0, r4, 0
- adds r1, r6, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- bne _0808AEE0
-_0808AECE:
- adds r0, r5, 0
- movs r1, 0x9A
- bl sub_806BC3C
- b _0808AF10
- .align 2, 0
-_0808AED8: .4byte gScriptItemId
-_0808AEDC: .4byte gPlayerParty
-_0808AEE0:
- ldr r0, _0808AF04 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl pokemon_has_move
- lsls r0, 24
- cmp r0, 0
- beq _0808AF08
- adds r0, r5, 0
- movs r1, 0xA8
- bl sub_806BC3C
- b _0808AF10
- .align 2, 0
-_0808AF04: .4byte gScriptItemId
-_0808AF08:
- adds r0, r5, 0
- movs r1, 0x8C
- bl sub_806BC3C
-_0808AF10:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0808AE9A
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808AE8C
-
- thumb_func_start sub_808AF20
-sub_808AF20: @ 808AF20
- push {r4,r5,lr}
- movs r5, 0
-_0808AF24:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0808AF78 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0808AF66
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0808AF58
- ldr r0, _0808AF7C @ =gScriptItemId
- ldrh r2, [r0]
- adds r0, r4, 0
- movs r1, 0x3
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- bne _0808AF66
-_0808AF58:
- adds r0, r5, 0
- bl sub_806D668
- adds r0, r5, 0
- movs r1, 0
- bl sub_806BC3C
-_0808AF66:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _0808AF24
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AF78: .4byte gPlayerParty
-_0808AF7C: .4byte gScriptItemId
- thumb_func_end sub_808AF20
-
- thumb_func_start sub_808AF80
-sub_808AF80: @ 808AF80
- push {r4,r5,lr}
- ldr r5, _0808AFB0 @ =0x0201b260
-_0808AF84:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808B00C
- ldr r0, _0808AFB4 @ =gUnknown_02038561
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808AFC6
- ldr r0, _0808AFB8 @ =gScriptItemId
- ldrh r0, [r0]
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808AFBC
- cmp r0, 0x2
- beq _0808AFC2
- b _0808AFC6
- .align 2, 0
-_0808AFB0: .4byte 0x0201b260
-_0808AFB4: .4byte gUnknown_02038561
-_0808AFB8: .4byte gScriptItemId
-_0808AFBC:
- bl sub_808AE8C
- b _0808AFC6
-_0808AFC2:
- bl sub_808AF20
-_0808AFC6:
- ldr r4, _0808B000 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r4]
- cmp r0, 0x5
- bhi _0808AFE2
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808B004 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0808AFE6
-_0808AFE2:
- movs r0, 0
- strb r0, [r4]
-_0808AFE6:
- ldrb r0, [r5]
- ldr r1, _0808B000 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r5]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808B008 @ =sub_806AEDC
- bl SetMainCallback2
- b _0808B018
- .align 2, 0
-_0808B000: .4byte gLastFieldPokeMenuOpened
-_0808B004: .4byte gPlayerParty
-_0808B008: .4byte sub_806AEDC
-_0808B00C:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808AF84
-_0808B018:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808AF80
-
- thumb_func_start sub_808B020
-sub_808B020: @ 808B020
- push {lr}
- ldr r2, _0808B040 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _0808B044 @ =gUnknown_02038561
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808B0A0
- cmp r0, 0x1
- bgt _0808B048
- cmp r0, 0
- beq _0808B052
- b _0808B0AC
- .align 2, 0
-_0808B040: .4byte gPaletteFade
-_0808B044: .4byte gUnknown_02038561
-_0808B048:
- cmp r0, 0x3
- beq _0808B0A0
- cmp r0, 0x4
- beq _0808B08C
- b _0808B0AC
-_0808B052:
- ldr r0, _0808B070 @ =gScriptItemId
- ldrh r0, [r0]
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808B078
- ldr r2, _0808B074 @ =sub_808B0C0
- movs r0, 0
- movs r1, 0
- movs r3, 0x14
- bl sub_806AF4C
- b _0808B0AC
- .align 2, 0
-_0808B070: .4byte gScriptItemId
-_0808B074: .4byte sub_808B0C0
-_0808B078:
- ldr r2, _0808B088 @ =sub_808B0C0
- movs r0, 0
- movs r1, 0
- movs r3, 0x3
- bl sub_806AF4C
- b _0808B0AC
- .align 2, 0
-_0808B088: .4byte sub_808B0C0
-_0808B08C:
- ldr r2, _0808B09C @ =sub_808B1EC
- movs r0, 0
- movs r1, 0
- movs r3, 0xFF
- bl sub_806AF4C
- b _0808B0AC
- .align 2, 0
-_0808B09C: .4byte sub_808B1EC
-_0808B0A0:
- ldr r2, _0808B0B8 @ =sub_808B0C0
- movs r0, 0
- movs r1, 0
- movs r3, 0x4
- bl sub_806AF4C
-_0808B0AC:
- ldr r0, _0808B0BC @ =sub_808AF80
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0808B0B8: .4byte sub_808B0C0
-_0808B0BC: .4byte sub_808AF80
- thumb_func_end sub_808B020
-
- thumb_func_start sub_808B0C0
-sub_808B0C0: @ 808B0C0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B0EC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0808B1CE
- adds r0, r4, 0
- bl sub_806BD80
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _0808B0F0
- cmp r0, 0x2
- beq _0808B184
- b _0808B1CE
- .align 2, 0
-_0808B0EC: .4byte gPaletteFade
-_0808B0F0:
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _0808B118 @ =gLastFieldPokeMenuOpened
- strb r0, [r1]
- ldrb r1, [r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808B11C @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _0808B120
- movs r0, 0x20
- bl PlaySE
- b _0808B1CE
- .align 2, 0
-_0808B118: .4byte gLastFieldPokeMenuOpened
-_0808B11C: .4byte gPlayerParty
-_0808B120:
- bl sub_806D5A4
- ldr r5, _0808B16C @ =gUnknown_02038561
- ldrb r0, [r5]
- cmp r0, 0
- bne _0808B13C
- ldr r3, _0808B170 @ =gUnknown_03004AE4
- ldr r0, _0808B174 @ =gScriptItemId
- ldrh r1, [r0]
- ldr r2, _0808B178 @ =sub_808B224
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
-_0808B13C:
- ldrb r0, [r5]
- cmp r0, 0x1
- bne _0808B154
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0808B174 @ =gScriptItemId
- ldrh r1, [r0]
- ldr r2, _0808B17C @ =sub_808B2EC
- adds r0, r4, 0
- bl PartyMenuTryGiveMonHeldItem
-_0808B154:
- ldrb r0, [r5]
- cmp r0, 0x3
- bne _0808B1CE
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0808B180 @ =sub_808B2B4
- adds r0, r4, 0
- bl PartyMenuTryGiveMonMail
- b _0808B1CE
- .align 2, 0
-_0808B16C: .4byte gUnknown_02038561
-_0808B170: .4byte gUnknown_03004AE4
-_0808B174: .4byte gScriptItemId
-_0808B178: .4byte sub_808B224
-_0808B17C: .4byte sub_808B2EC
-_0808B180: .4byte sub_808B2B4
-_0808B184:
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _0808B1D8 @ =gLastFieldPokeMenuOpened
- strb r0, [r1]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, _0808B1DC @ =gUnknown_02038561
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _0808B1BA
- ldr r0, _0808B1E0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808B1E4 @ =sub_808B25C
- str r0, [r1]
-_0808B1BA:
- ldrb r0, [r2]
- cmp r0, 0x3
- bne _0808B1CE
- ldr r0, _0808B1E0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808B1E8 @ =sub_808B2B4
- str r0, [r1]
-_0808B1CE:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B1D8: .4byte gLastFieldPokeMenuOpened
-_0808B1DC: .4byte gUnknown_02038561
-_0808B1E0: .4byte gTasks
-_0808B1E4: .4byte sub_808B25C
-_0808B1E8: .4byte sub_808B2B4
- thumb_func_end sub_808B0C0
-
- thumb_func_start sub_808B1EC
-sub_808B1EC: @ 808B1EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B214 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B20E
- ldr r3, _0808B218 @ =gUnknown_03004AE4
- ldr r0, _0808B21C @ =gScriptItemId
- ldrh r1, [r0]
- ldr r2, _0808B220 @ =sub_808B224
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
-_0808B20E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B214: .4byte gPaletteFade
-_0808B218: .4byte gUnknown_03004AE4
-_0808B21C: .4byte gScriptItemId
-_0808B220: .4byte sub_808B224
- thumb_func_end sub_808B1EC
-
- thumb_func_start sub_808B224
-sub_808B224: @ 808B224
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808B254 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808B258 @ =sub_808B25C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B254: .4byte gTasks
-_0808B258: .4byte sub_808B25C
- thumb_func_end sub_808B224
-
- thumb_func_start sub_808B25C
-sub_808B25C: @ 808B25C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B280 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B27A
- ldr r0, _0808B284 @ =sub_80A5B40
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0808B27A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B280: .4byte gPaletteFade
-_0808B284: .4byte sub_80A5B40
- thumb_func_end sub_808B25C
-
- thumb_func_start sub_808B288
-sub_808B288: @ 808B288
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B2AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B2A6
- ldr r0, _0808B2B0 @ =Mailbox_ReturnToMailListAfterDeposit
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0808B2A6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B2AC: .4byte gPaletteFade
-_0808B2B0: .4byte Mailbox_ReturnToMailListAfterDeposit
- thumb_func_end sub_808B288
-
- thumb_func_start sub_808B2B4
-sub_808B2B4: @ 808B2B4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808B2E4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808B2E8 @ =sub_808B288
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B2E4: .4byte gTasks
-_0808B2E8: .4byte sub_808B288
- thumb_func_end sub_808B2B4
-
- thumb_func_start sub_808B2EC
-sub_808B2EC: @ 808B2EC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B31C @ =gUnknown_0202E8F4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0808B328
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808B320 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808B324 @ =sub_808B338
- str r1, [r0]
- b _0808B32E
- .align 2, 0
-_0808B31C: .4byte gUnknown_0202E8F4
-_0808B320: .4byte gTasks
-_0808B324: .4byte sub_808B338
-_0808B328:
- adds r0, r4, 0
- bl sub_808B224
-_0808B32E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808B2EC
-
- thumb_func_start sub_808B338
-sub_808B338: @ 808B338
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808B38C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B384
- adds r0, r5, 0
- bl sub_806CA38
- ldr r1, _0808B390 @ =gLastFieldPokeMenuOpened
- strb r0, [r1]
- ldrb r1, [r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0808B394 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x40
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl DestroyTask
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, _0808B398 @ =gSaveBlock1 + 0x2B4C
- adds r1, r0
- ldr r2, _0808B39C @ =sub_808B3EC
- movs r0, 0x4
- movs r3, 0x3
- bl sub_80E62A0
-_0808B384:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B38C: .4byte gPaletteFade
-_0808B390: .4byte gLastFieldPokeMenuOpened
-_0808B394: .4byte gPlayerParty
-_0808B398: .4byte gSaveBlock1 + 0x2B4C
-_0808B39C: .4byte sub_808B3EC
- thumb_func_end sub_808B338
-
- thumb_func_start sub_808B3A0
-sub_808B3A0: @ 808B3A0
- push {r4,lr}
- ldr r4, _0808B3A8 @ =0x0201b260
- b _0808B3B8
- .align 2, 0
-_0808B3A8: .4byte 0x0201b260
-_0808B3AC:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808B3DC
-_0808B3B8:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808B3AC
- ldrb r0, [r4]
- ldr r1, _0808B3E4 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808B3E8 @ =sub_806AEDC
- bl SetMainCallback2
-_0808B3DC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B3E4: .4byte gLastFieldPokeMenuOpened
-_0808B3E8: .4byte sub_806AEDC
- thumb_func_end sub_808B3A0
-
- thumb_func_start sub_808B3EC
-sub_808B3EC: @ 808B3EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _0808B464 @ =gPaletteFade
- mov r8, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x80
- orrs r0, r1
- mov r1, r8
- strb r0, [r1, 0x8]
- ldr r0, _0808B468 @ =gScriptResult
- ldrh r0, [r0]
- cmp r0, 0
- bne _0808B480
- ldr r7, _0808B46C @ =gUnknown_0202E8F8
- ldrh r0, [r7]
- cmp r0, 0
- beq _0808B416
- movs r1, 0x1
- bl RemoveBagItem
-_0808B416:
- ldr r6, _0808B470 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _0808B474 @ =gPlayerParty
- adds r0, r4
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl AddBagItem
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- bl TakeMailFromMon
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0xC
- adds r2, r7, 0
- bl SetMonData
- ldr r0, _0808B478 @ =sub_808B25C
- movs r1, 0x5
- bl CreateTask
- mov r0, r8
- ldrb r1, [r0, 0x8]
- movs r0, 0x7F
- ands r0, r1
- mov r1, r8
- strb r0, [r1, 0x8]
- ldr r0, _0808B47C @ =sub_806AEDC
- b _0808B48E
- .align 2, 0
-_0808B464: .4byte gPaletteFade
-_0808B468: .4byte gScriptResult
-_0808B46C: .4byte gUnknown_0202E8F8
-_0808B470: .4byte gLastFieldPokeMenuOpened
-_0808B474: .4byte gPlayerParty
-_0808B478: .4byte sub_808B25C
-_0808B47C: .4byte sub_806AEDC
-_0808B480:
- ldr r2, _0808B49C @ =sub_808B4A4
- movs r0, 0
- movs r1, 0
- movs r3, 0xFF
- bl sub_806AF4C
- ldr r0, _0808B4A0 @ =sub_808B3A0
-_0808B48E:
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B49C: .4byte sub_808B4A4
-_0808B4A0: .4byte sub_808B3A0
- thumb_func_end sub_808B3EC
-
- thumb_func_start sub_808B4A4
-sub_808B4A4: @ 808B4A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808B4D8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B4D2
- ldr r0, _0808B4DC @ =gLastFieldPokeMenuOpened
- ldrb r0, [r0]
- ldr r1, _0808B4E0 @ =gScriptItemId
- ldrh r1, [r1]
- movs r2, 0x1
- bl DisplayGiveHeldItemMessage
- ldr r1, _0808B4E4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808B4E8 @ =sub_808B4EC
- str r1, [r0]
-_0808B4D2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B4D8: .4byte gPaletteFade
-_0808B4DC: .4byte gLastFieldPokeMenuOpened
-_0808B4E0: .4byte gScriptItemId
-_0808B4E4: .4byte gTasks
-_0808B4E8: .4byte sub_808B4EC
- thumb_func_end sub_808B4A4
-
- thumb_func_start sub_808B4EC
-sub_808B4EC: @ 808B4EC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _0808B504 @ =gUnknown_0202E8F6
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808B500
- adds r0, r1, 0
- bl sub_808B224
-_0808B500:
- pop {r0}
- bx r0
- .align 2, 0
-_0808B504: .4byte gUnknown_0202E8F6
- thumb_func_end sub_808B4EC
-
- thumb_func_start sub_808B508
-sub_808B508: @ 808B508
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_808B224
- pop {r0}
- bx r0
- thumb_func_end sub_808B508
-
- thumb_func_start sub_808B518
-sub_808B518: @ 808B518
- push {r4,lr}
- ldr r4, _0808B520 @ =0x0201b260
- b _0808B530
- .align 2, 0
-_0808B520: .4byte 0x0201b260
-_0808B524:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808B554
-_0808B530:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808B524
- ldrb r0, [r4]
- ldr r1, _0808B55C @ =gUnknown_020384F0
- ldrb r1, [r1]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldr r0, _0808B560 @ =sub_806AEDC
- bl SetMainCallback2
-_0808B554:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B55C: .4byte gUnknown_020384F0
-_0808B560: .4byte sub_806AEDC
- thumb_func_end sub_808B518
-
- thumb_func_start sub_808B564
-sub_808B564: @ 808B564
- push {lr}
- ldr r2, _0808B58C @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- bl sub_809FA30
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _0808B594
- ldr r2, _0808B590 @ =TaughtMove
- movs r0, 0
- movs r1, 0
- movs r3, 0xFF
- bl sub_806AF4C
- b _0808B5A0
- .align 2, 0
-_0808B58C: .4byte gPaletteFade
-_0808B590: .4byte TaughtMove
-_0808B594:
- ldr r2, _0808B5AC @ =StopTryingToTeachMove_806F588
- movs r0, 0
- movs r1, 0
- movs r3, 0xFF
- bl sub_806AF4C
-_0808B5A0:
- ldr r0, _0808B5B0 @ =sub_808B518
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0808B5AC: .4byte StopTryingToTeachMove_806F588
-_0808B5B0: .4byte sub_808B518
- thumb_func_end sub_808B564
-
- thumb_func_start sub_808B5B4
-sub_808B5B4: @ 808B5B4
- push {lr}
- ldr r3, _0808B5D8 @ =gUnknown_03005CF0
- ldr r2, _0808B5DC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, [r1]
- str r2, [r3]
- ldr r2, _0808B5E0 @ =sub_808B5E4
- str r2, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_0808B5D8: .4byte gUnknown_03005CF0
-_0808B5DC: .4byte gTasks
-_0808B5E0: .4byte sub_808B5E4
- thumb_func_end sub_808B5B4
-
- thumb_func_start sub_808B5E4
-sub_808B5E4: @ 808B5E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8055870
- cmp r0, 0x1
- beq _0808B602
- ldr r1, _0808B608 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808B60C @ =gUnknown_03005CF0
- ldr r1, [r1]
- str r1, [r0]
-_0808B602:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B608: .4byte gTasks
-_0808B60C: .4byte gUnknown_03005CF0
- thumb_func_end sub_808B5E4
-
- .align 2, 0 @ Don't pad with nop.