summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-10-11 17:49:45 -0700
committerGitHub <noreply@github.com>2017-10-11 17:49:45 -0700
commit7d657ef56716fd01bacf4a47df50ad0ec3d03b10 (patch)
tree0d002848b17576e0398b381b68c6e58c6ea183de /asm
parent3e03d362fae398fa56c4a6e45d7b999772d0803f (diff)
parent3a5020764fe3f26e8003487eff5d25b425a277a7 (diff)
Merge pull request #435 from huderlem/party_menu
Decompile party_menu
Diffstat (limited to 'asm')
-rw-r--r--asm/party_menu.s8225
-rw-r--r--asm/pokenav.s2
2 files changed, 1 insertions, 8226 deletions
diff --git a/asm/party_menu.s b/asm/party_menu.s
deleted file mode 100644
index ec6754b86..000000000
--- a/asm/party_menu.s
+++ /dev/null
@@ -1,8225 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_806AEDC
-sub_806AEDC: @ 806AEDC
- push {r4-r6,lr}
- sub sp, 0x4
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, _0806AF2C @ =gUnknown_0202E8FA
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r1, _0806AF30 @ =gUnknown_08376BB4
- adds r5, r0, r1
- movs r6, 0
-_0806AEF8:
- ldrb r0, [r5]
- lsls r0, 3
- ldrb r1, [r5, 0x1]
- lsls r1, 3
- ldr r2, [r5, 0x4]
- lsls r3, r6, 5
- movs r4, 0x80
- lsls r4, 2
- orrs r3, r4
- str r3, [sp]
- movs r3, 0
- bl sub_800142C
- adds r5, 0x8
- adds r6, 0x1
- cmp r6, 0x5
- ble _0806AEF8
- bl RunTasks
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AF2C: .4byte gUnknown_0202E8FA
-_0806AF30: .4byte gUnknown_08376BB4
- thumb_func_end sub_806AEDC
-
- thumb_func_start sub_806AF34
-sub_806AF34: @ 806AF34
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_806B548
- pop {r0}
- bx r0
- thumb_func_end sub_806AF34
-
- thumb_func_start sub_806AF4C
-sub_806AF4C: @ 806AF4C
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- cmp r1, 0xFF
- beq _0806AF64
- ldr r0, _0806AF84 @ =gBattleTypeFlags
- strh r1, [r0]
-_0806AF64:
- ldr r0, _0806AF88 @ =0x0201b000
- movs r5, 0x96
- lsls r5, 2
- adds r1, r0, r5
- strb r2, [r1]
- movs r2, 0x97
- lsls r2, 2
- adds r1, r0, r2
- str r4, [r1]
- adds r5, 0x1
- adds r0, r5
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AF84: .4byte gBattleTypeFlags
-_0806AF88: .4byte 0x0201b000
- thumb_func_end sub_806AF4C
-
- thumb_func_start sub_806AF8C
-sub_806AF8C: @ 806AF8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- bl sub_806AF4C
- ldr r0, _0806AFA8 @ =sub_806B460
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0806AFA8: .4byte sub_806B460
- thumb_func_end sub_806AF8C
-
- thumb_func_start OpenPartyMenu
-OpenPartyMenu: @ 806AFAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806AFCC @ =gUnknown_08376C74
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 2
- adds r3, r2
- ldr r2, [r3]
- ldrb r3, [r3, 0x8]
- bl sub_806AF8C
- pop {r0}
- bx r0
- .align 2, 0
-_0806AFCC: .4byte gUnknown_08376C74
- thumb_func_end OpenPartyMenu
-
- thumb_func_start sub_806AFD0
-sub_806AFD0: @ 806AFD0
- push {r4,r5,lr}
- ldr r1, _0806AFF0 @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x9
- bls _0806AFE6
- b _0806B11A
-_0806AFE6:
- lsls r0, 2
- ldr r1, _0806AFF4 @ =_0806AFF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806AFF0: .4byte 0x0201b000
-_0806AFF4: .4byte _0806AFF8
- .align 2, 0
-_0806AFF8:
- .4byte _0806B020
- .4byte _0806B060
- .4byte _0806B066
- .4byte _0806B07A
- .4byte _0806B0A4
- .4byte _0806B0AA
- .4byte _0806B0BC
- .4byte _0806B0C2
- .4byte _0806B0D4
- .4byte _0806B0EC
-_0806B020:
- ldr r0, _0806B048 @ =0x00000266
- adds r5, r4, r0
- movs r1, 0
- ldrsh r3, [r5, r1]
- ldr r0, _0806B04C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r3, r0
- bge _0806B054
- movs r2, 0x98
- lsls r2, 2
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r5]
- movs r2, 0x64
- muls r2, r3
- ldr r3, _0806B050 @ =gPlayerParty
- adds r2, r3
- bl TryCreatePartyMenuMonIcon
- b _0806B114
- .align 2, 0
-_0806B048: .4byte 0x00000266
-_0806B04C: .4byte gPlayerPartyCount
-_0806B050: .4byte gPlayerParty
-_0806B054:
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _0806B0E0
-_0806B060:
- bl LoadHeldItemIconGraphics
- b _0806B0D8
-_0806B066:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- bl CreateHeldItemIcons_806DC34
- movs r2, 0x99
- lsls r2, 2
- adds r1, r4, r2
- b _0806B0E0
-_0806B07A:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _0806B0A0 @ =0x00000266
- adds r5, r4, r2
- ldrb r1, [r5]
- bl sub_806BD58
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B114
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _0806B0E0
- .align 2, 0
-_0806B0A0: .4byte 0x00000266
-_0806B0A4:
- bl PartyMenuPrintMonsLevelOrStatus
- b _0806B0D8
-_0806B0AA:
- bl PrintPartyMenuMonNicknames
- ldr r1, _0806B0B8 @ =0x0201b000
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _0806B0E0
- .align 2, 0
-_0806B0B8: .4byte 0x0201b000
-_0806B0BC:
- bl PartyMenuTryPrintMonsHP
- b _0806B0D8
-_0806B0C2:
- bl nullsub_13
- ldr r1, _0806B0D0 @ =0x0201b000
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _0806B0E0
- .align 2, 0
-_0806B0D0: .4byte 0x0201b000
-_0806B0D4:
- bl PartyMenuDrawHPBars
-_0806B0D8:
- ldr r1, _0806B0E8 @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r1, r2
-_0806B0E0:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0806B11A
- .align 2, 0
-_0806B0E8: .4byte 0x0201b000
-_0806B0EC:
- ldr r0, _0806B110 @ =0x00000266
- adds r5, r4, r0
- ldrb r0, [r5]
- bl sub_806B58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B114
- movs r1, 0
- strh r1, [r5]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0x1
- b _0806B11C
- .align 2, 0
-_0806B110: .4byte 0x00000266
-_0806B114:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0806B11A:
- movs r0, 0
-_0806B11C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806AFD0
-
- thumb_func_start sub_806B124
-sub_806B124: @ 806B124
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, _0806B144 @ =gMain
- ldr r1, _0806B148 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x11
- bls _0806B13A
- b _0806B450
-_0806B13A:
- lsls r0, 2
- ldr r1, _0806B14C @ =_0806B150
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806B144: .4byte gMain
-_0806B148: .4byte 0x0000043c
-_0806B14C: .4byte _0806B150
- .align 2, 0
-_0806B150:
- .4byte _0806B198
- .4byte _0806B240
- .4byte _0806B246
- .4byte _0806B27C
- .4byte _0806B282
- .4byte _0806B2AC
- .4byte _0806B2B2
- .4byte _0806B2D0
- .4byte _0806B2EC
- .4byte _0806B318
- .4byte _0806B344
- .4byte _0806B37C
- .4byte _0806B382
- .4byte _0806B3C0
- .4byte _0806B3CC
- .4byte _0806B3E4
- .4byte _0806B40C
- .4byte _0806B440
-_0806B198:
- movs r0, 0
- bl SetVBlankCallback
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x8
- mov r8, r2
- add r2, sp, 0x4
- movs r6, 0
- ldr r1, _0806B22C @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0806B230 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0806B1BC:
- strh r6, [r2]
- add r0, sp, 0x4
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0806B1BC
- strh r6, [r2]
- add r2, sp, 0x4
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r12
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x8]
- ldr r2, _0806B22C @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r2, _0806B234 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _0806B238 @ =gMain
- ldr r2, _0806B23C @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B22C: .4byte 0x040000d4
-_0806B230: .4byte 0x81000800
-_0806B234: .4byte gPaletteFade
-_0806B238: .4byte gMain
-_0806B23C: .4byte 0x0000043c
-_0806B240:
- bl remove_some_task
- b _0806B426
-_0806B246:
- bl sub_806B4A8
- ldr r1, _0806B26C @ =0x0201b000
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r3, _0806B270 @ =0x00000266
- adds r0, r1, r3
- strh r2, [r0]
- movs r0, 0x9A
- lsls r0, 2
- adds r1, r0
- strh r2, [r1]
- ldr r1, _0806B274 @ =gMain
- ldr r2, _0806B278 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B26C: .4byte 0x0201b000
-_0806B270: .4byte 0x00000266
-_0806B274: .4byte gMain
-_0806B278: .4byte 0x0000043c
-_0806B27C:
- bl ResetSpriteData
- b _0806B426
-_0806B282:
- ldr r0, _0806B2A0 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806B298
- cmp r0, 0x5
- beq _0806B298
- bl ResetTasks
-_0806B298:
- ldr r1, _0806B2A4 @ =gMain
- ldr r2, _0806B2A8 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B2A0: .4byte 0x0201b000
-_0806B2A4: .4byte gMain
-_0806B2A8: .4byte 0x0000043c
-_0806B2AC:
- bl FreeAllSpritePalettes
- b _0806B426
-_0806B2B2:
- ldr r4, _0806B2CC @ =0x0201b000
- movs r1, 0x97
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- movs r2, 0x98
- lsls r2, 2
- adds r1, r4, r2
- strb r0, [r1]
- b _0806B426
- .align 2, 0
-_0806B2CC: .4byte 0x0201b000
-_0806B2D0:
- ldr r0, _0806B2E0 @ =gWindowConfig_81E6C90
- bl SetUpWindowConfig
- ldr r1, _0806B2E4 @ =gMain
- ldr r0, _0806B2E8 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B2E0: .4byte gWindowConfig_81E6C90
-_0806B2E4: .4byte gMain
-_0806B2E8: .4byte 0x0000043c
-_0806B2EC:
- ldr r4, _0806B308 @ =gUnknown_03004210
- ldr r1, _0806B30C @ =gWindowConfig_81E6C90
- adds r0, r4, 0
- bl InitWindowFromConfig
- adds r0, r4, 0
- movs r1, 0x1
- bl MultistepInitWindowTileData
- ldr r1, _0806B310 @ =gMain
- ldr r2, _0806B314 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B308: .4byte gUnknown_03004210
-_0806B30C: .4byte gWindowConfig_81E6C90
-_0806B310: .4byte gMain
-_0806B314: .4byte 0x0000043c
-_0806B318:
- bl MultistepLoadFont
- cmp r0, 0
- bne _0806B322
- b _0806B450
-_0806B322:
- ldr r0, _0806B338 @ =0x0201b000
- movs r3, 0x99
- lsls r3, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0]
- ldr r1, _0806B33C @ =gMain
- ldr r0, _0806B340 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B338: .4byte 0x0201b000
-_0806B33C: .4byte gMain
-_0806B340: .4byte 0x0000043c
-_0806B344:
- ldr r0, _0806B368 @ =0x0201b000
- movs r1, 0x99
- lsls r1, 2
- adds r4, r0, r1
- ldrb r0, [r4]
- bl sub_806D718
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B374
- movs r0, 0
- strh r0, [r4]
- ldr r1, _0806B36C @ =gMain
- ldr r2, _0806B370 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B368: .4byte 0x0201b000
-_0806B36C: .4byte gMain
-_0806B370: .4byte 0x0000043c
-_0806B374:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0806B450
-_0806B37C:
- bl sub_809D51C
- b _0806B426
-_0806B382:
- ldr r2, _0806B3B0 @ =gUnknown_08376C74
- ldr r0, _0806B3B4 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B450
- ldr r1, _0806B3B8 @ =gMain
- ldr r2, _0806B3BC @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B3B0: .4byte gUnknown_08376C74
-_0806B3B4: .4byte 0x0201b000
-_0806B3B8: .4byte gMain
-_0806B3BC: .4byte 0x0000043c
-_0806B3C0:
- ldr r0, _0806B3C8 @ =gWindowConfig_81E6CC8
- bl MultistepInitMenuWindowBegin
- b _0806B426
- .align 2, 0
-_0806B3C8: .4byte gWindowConfig_81E6CC8
-_0806B3CC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _0806B450
- ldr r1, _0806B3DC @ =gMain
- ldr r0, _0806B3E0 @ =0x0000043c
- adds r1, r0
- b _0806B42C
- .align 2, 0
-_0806B3DC: .4byte gMain
-_0806B3E0: .4byte 0x0000043c
-_0806B3E4:
- ldr r0, _0806B3FC @ =0x0201b000
- ldr r1, _0806B400 @ =0x00000259
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806D538
- ldr r1, _0806B404 @ =gMain
- ldr r2, _0806B408 @ =0x0000043c
- adds r1, r2
- b _0806B42C
- .align 2, 0
-_0806B3FC: .4byte 0x0201b000
-_0806B400: .4byte 0x00000259
-_0806B404: .4byte gMain
-_0806B408: .4byte 0x0000043c
-_0806B40C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _0806B434 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
-_0806B426:
- ldr r1, _0806B438 @ =gMain
- ldr r3, _0806B43C @ =0x0000043c
- adds r1, r3
-_0806B42C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0806B450
- .align 2, 0
-_0806B434: .4byte gPaletteFade
-_0806B438: .4byte gMain
-_0806B43C: .4byte 0x0000043c
-_0806B440:
- ldr r0, _0806B44C @ =sub_806AF34
- bl SetVBlankCallback
- movs r0, 0x1
- b _0806B452
- .align 2, 0
-_0806B44C: .4byte sub_806AF34
-_0806B450:
- movs r0, 0
-_0806B452:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806B124
-
- thumb_func_start sub_806B460
-sub_806B460: @ 806B460
- push {lr}
- b _0806B470
-_0806B464:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806B49C
-_0806B470:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B464
- ldr r1, _0806B4A0 @ =0x0201b000
- movs r2, 0x96
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _0806B496
- adds r2, 0x8
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806BF74
-_0806B496:
- ldr r0, _0806B4A4 @ =sub_806AEDC
- bl SetMainCallback2
-_0806B49C:
- pop {r0}
- bx r0
- .align 2, 0
-_0806B4A0: .4byte 0x0201b000
-_0806B4A4: .4byte sub_806AEDC
- thumb_func_end sub_806B460
-
- thumb_func_start sub_806B4A8
-sub_806B4A8: @ 806B4A8
- push {lr}
- movs r0, 0
- bl SetHBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x8
- ldr r2, _0806B50C @ =0x00001e05
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B510 @ =0x00000703
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B514 @ =0x00000f08
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0806B518 @ =0x00000602
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0806B51C @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- subs r0, 0x40
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _0806B520 @ =REG_BG3VOFS
- strh r1, [r2]
- ldr r1, _0806B524 @ =0x0000ffff
- adds r0, r1, 0
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0806B50C: .4byte 0x00001e05
-_0806B510: .4byte 0x00000703
-_0806B514: .4byte 0x00000f08
-_0806B518: .4byte 0x00000602
-_0806B51C: .4byte REG_BLDCNT
-_0806B520: .4byte REG_BG3VOFS
-_0806B524: .4byte 0x0000ffff
- thumb_func_end sub_806B4A8
-
- thumb_func_start IsLinkDoubleBattle
-IsLinkDoubleBattle: @ 806B528
- push {lr}
- ldr r0, _0806B53C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x4B
- ands r0, r1
- cmp r0, 0x4B
- beq _0806B540
- movs r0, 0
- b _0806B542
- .align 2, 0
-_0806B53C: .4byte gBattleTypeFlags
-_0806B540:
- movs r0, 0x1
-_0806B542:
- pop {r1}
- bx r1
- thumb_func_end IsLinkDoubleBattle
-
- thumb_func_start sub_806B548
-sub_806B548: @ 806B548
- push {r4,lr}
- ldr r0, _0806B574 @ =0x0201b000
- ldr r1, _0806B578 @ =0x00000261
- adds r4, r0, r1
- ldrb r3, [r4]
- cmp r3, 0
- beq _0806B56E
- ldr r1, _0806B57C @ =gBGTilemapBuffers + 0x1000
- ldr r2, _0806B580 @ =0x06003000
- ldr r0, _0806B584 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0806B588 @ =0x80000400
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- cmp r3, 0x2
- bne _0806B56E
- movs r0, 0
- strb r0, [r4]
-_0806B56E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806B574: .4byte 0x0201b000
-_0806B578: .4byte 0x00000261
-_0806B57C: .4byte gBGTilemapBuffers + 0x1000
-_0806B580: .4byte 0x06003000
-_0806B584: .4byte 0x040000d4
-_0806B588: .4byte 0x80000400
- thumb_func_end sub_806B548
-
- thumb_func_start sub_806B58C
-sub_806B58C: @ 806B58C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806B5A8
- ldr r0, _0806B5A4 @ =gUnknown_0202E8FA
- strb r2, [r0]
- b _0806B5C8
- .align 2, 0
-_0806B5A4: .4byte gUnknown_0202E8FA
-_0806B5A8:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B5C0
- ldr r1, _0806B5BC @ =gUnknown_0202E8FA
- movs r0, 0x2
- b _0806B5C4
- .align 2, 0
-_0806B5BC: .4byte gUnknown_0202E8FA
-_0806B5C0:
- ldr r1, _0806B5E4 @ =gUnknown_0202E8FA
- movs r0, 0x1
-_0806B5C4:
- strb r0, [r1]
- adds r0, r1, 0
-_0806B5C8:
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _0806B5E8 @ =gUnknown_083769A8
- adds r4, r1, r0
- cmp r5, 0x8
- bls _0806B5DA
- b _0806B900
-_0806B5DA:
- lsls r0, r5, 2
- ldr r1, _0806B5EC @ =_0806B5F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806B5E4: .4byte gUnknown_0202E8FA
-_0806B5E8: .4byte gUnknown_083769A8
-_0806B5EC: .4byte _0806B5F0
- .align 2, 0
-_0806B5F0:
- .4byte _0806B614
- .4byte _0806B628
- .4byte _0806B638
- .4byte _0806B694
- .4byte _0806B71A
- .4byte _0806B7A2
- .4byte _0806B832
- .4byte _0806B8C6
- .4byte _0806B8E8
-_0806B614:
- ldr r0, _0806B624 @ =gBGTilemapBuffers + 0x1000
- movs r2, 0x80
- lsls r2, 4
- movs r1, 0
- bl memset
- b _0806B900
- .align 2, 0
-_0806B624: .4byte gBGTilemapBuffers + 0x1000
-_0806B628:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r4, 0
- movs r1, 0
- b _0806B8A8
-_0806B638:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B666
- ldr r0, _0806B65C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0806B660
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x2
- movs r1, 0x1
- b _0806B8A8
- .align 2, 0
-_0806B65C: .4byte gPlayerPartyCount
-_0806B660:
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- b _0806B8BC
-_0806B666:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B684
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0x4
- bl sub_806B9A4
- adds r0, r4, 0x2
- movs r1, 0x1
- movs r2, 0x4
- b _0806B8AA
-_0806B684:
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4, 0x3]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r4, 0x2
- movs r1, 0x1
- b _0806B8A8
-_0806B694:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B6C2
- ldr r0, _0806B6B8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806B6BC
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B6B8: .4byte gPlayerPartyCount
-_0806B6BC:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B6C2:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B6F6
- ldr r0, _0806B6EC @ =gPlayerParty + 2 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B6F0
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B6EC: .4byte gPlayerParty + 2 * 0x64
-_0806B6F0:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B6F6:
- ldr r0, _0806B710 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806B714
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x4
- movs r1, 0x2
- b _0806B8A8
- .align 2, 0
-_0806B710: .4byte gPlayerPartyCount
-_0806B714:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- b _0806B8BC
-_0806B71A:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B74A
- ldr r0, _0806B740 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0806B744
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B740: .4byte gPlayerPartyCount
-_0806B744:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B74A:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B77E
- ldr r0, _0806B774 @ =gPlayerParty + 3 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B778
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B774: .4byte gPlayerParty + 3 * 0x64
-_0806B778:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B77E:
- ldr r0, _0806B798 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0806B79C
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0x6
- movs r1, 0x3
- b _0806B8A8
- .align 2, 0
-_0806B798: .4byte gPlayerPartyCount
-_0806B79C:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- b _0806B8BC
-_0806B7A2:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B7D2
- ldr r0, _0806B7C8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806B7CC
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- b _0806B8A8
- .align 2, 0
-_0806B7C8: .4byte gPlayerPartyCount
-_0806B7CC:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B8BC
-_0806B7D2:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B80A
- ldr r0, _0806B800 @ =gPlayerParty + 4 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B804
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- movs r2, 0x4
- b _0806B8AA
- .align 2, 0
-_0806B800: .4byte gPlayerParty + 4 * 0x64
-_0806B804:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B884
-_0806B80A:
- ldr r0, _0806B828 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806B82C
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0x4
- b _0806B8A8
- .align 2, 0
-_0806B828: .4byte gPlayerPartyCount
-_0806B82C:
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- b _0806B8BC
-_0806B832:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806B84C
- ldr r0, _0806B848 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0806B896
- b _0806B8B8
- .align 2, 0
-_0806B848: .4byte gPlayerPartyCount
-_0806B84C:
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806B88E
- ldr r0, _0806B87C @ =gPlayerParty + 5 * 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B880
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0xA
- movs r1, 0x5
- movs r2, 0x4
- b _0806B8AA
- .align 2, 0
-_0806B87C: .4byte gPlayerParty + 5 * 0x64
-_0806B880:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
-_0806B884:
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
- b _0806B900
-_0806B88E:
- ldr r0, _0806B8B4 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0806B8B8
-_0806B896:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- adds r0, r4, 0
- adds r0, 0xA
- movs r1, 0x5
-_0806B8A8:
- movs r2, 0x3
-_0806B8AA:
- movs r3, 0
- bl sub_806BF24
- b _0806B900
- .align 2, 0
-_0806B8B4: .4byte gPlayerPartyCount
-_0806B8B8:
- ldrb r0, [r4, 0xA]
- ldrb r1, [r4, 0xB]
-_0806B8BC:
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
- b _0806B900
-_0806B8C6:
- ldr r0, _0806B8E4 @ =0x0201b000
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806B8DA
- movs r0, 0x1
- bl sub_806BB9C
-_0806B8DA:
- movs r0, 0x1
- bl sub_806BBEC
- b _0806B900
- .align 2, 0
-_0806B8E4: .4byte 0x0201b000
-_0806B8E8:
- ldr r0, _0806B8F8 @ =0x0201b000
- ldr r1, _0806B8FC @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x1
- b _0806B902
- .align 2, 0
-_0806B8F8: .4byte 0x0201b000
-_0806B8FC: .4byte 0x00000261
-_0806B900:
- movs r0, 0
-_0806B902:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806B58C
-
- thumb_func_start sub_806B908
-sub_806B908: @ 806B908
- push {r4,r5,lr}
- ldr r0, _0806B948 @ =gBGTilemapBuffers + 0x1000
- movs r2, 0x80
- lsls r2, 4
- movs r1, 0
- bl memset
- ldr r1, _0806B94C @ =gUnknown_0202E8FA
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _0806B950 @ =gUnknown_083769A8
- adds r4, r0, 0
- adds r4, 0x24
- ldr r5, _0806B954 @ =gPlayerParty + 1 * 0x64
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r2, 0x3
- bl sub_806B9A4
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B958
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- b _0806B964
- .align 2, 0
-_0806B948: .4byte gBGTilemapBuffers + 0x1000
-_0806B94C: .4byte gUnknown_0202E8FA
-_0806B950: .4byte gUnknown_083769A8
-_0806B954: .4byte gPlayerParty + 1 * 0x64
-_0806B958:
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
-_0806B964:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806B980
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0
- movs r3, 0x3
- bl sub_806BA94
- b _0806B98C
-_0806B980:
- ldrb r0, [r4, 0x6]
- ldrb r1, [r4, 0x7]
- movs r2, 0x1
- movs r3, 0x3
- bl sub_806BA94
-_0806B98C:
- ldr r0, _0806B99C @ =0x0201b000
- ldr r1, _0806B9A0 @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806B99C: .4byte 0x0201b000
-_0806B9A0: .4byte 0x00000261
- thumb_func_end sub_806B908
-
- thumb_func_start sub_806B9A4
-sub_806B9A4: @ 806B9A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r1, 21
- lsrs r1, 16
- str r1, [sp, 0x4]
- movs r1, 0
- lsls r0, 16
- mov r8, r0
- asrs r0, 16
- mov r10, r0
- ldr r4, _0806BA2C @ =gUnknown_083769D8
- mov r9, r4
-_0806B9CA:
- movs r3, 0
- adds r7, r1, 0x1
- mov r0, r10
- cmp r0, 0x1F
- bgt _0806BA12
- mov r4, r8
- asrs r2, r4, 16
- lsls r0, r1, 5
- ldr r4, [sp, 0x4]
- adds r6, r4, r0
- ldr r0, _0806BA30 @ =gBGTilemapBuffers + 0x1000
- mov r12, r0
- ldr r4, [sp]
- lsls r5, r4, 12
- movs r0, 0xB
- adds r4, r1, 0
- muls r4, r0
-_0806B9EC:
- adds r0, r2, r3
- cmp r0, 0
- blt _0806BA02
- adds r0, r6, r0
- lsls r0, 1
- add r0, r12
- adds r1, r4, r3
- add r1, r9
- ldrb r1, [r1]
- orrs r1, r5
- strh r1, [r0]
-_0806BA02:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xA
- bhi _0806BA12
- adds r0, r2, r3
- cmp r0, 0x1F
- ble _0806B9EC
-_0806BA12:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _0806B9CA
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BA2C: .4byte gUnknown_083769D8
-_0806BA30: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806B9A4
-
- thumb_func_start sub_806BA34
-sub_806BA34: @ 806BA34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 21
- lsrs r1, 16
- mov r8, r1
- movs r1, 0
- lsls r7, r0, 16
- asrs r0, r7, 16
- mov r12, r0
-_0806BA48:
- movs r2, 0
- adds r4, r1, 0x1
- mov r5, r12
- cmp r5, 0x1F
- bgt _0806BA7C
- asrs r3, r7, 16
- lsls r0, r1, 5
- mov r5, r8
- adds r1, r5, r0
- ldr r6, _0806BA90 @ =gBGTilemapBuffers + 0x1000
- movs r5, 0
-_0806BA5E:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BA6C
- adds r0, r1, r0
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_0806BA6C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bhi _0806BA7C
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BA5E
-_0806BA7C:
- lsls r0, r4, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _0806BA48
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BA90: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BA34
-
- thumb_func_start sub_806BA94
-sub_806BA94: @ 806BA94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- ldr r1, _0806BB30 @ =gUnknown_08376A5E
- mov r9, r1
- cmp r2, 0
- bne _0806BABC
- ldr r1, _0806BB34 @ =gUnknown_08376A25
- mov r9, r1
-_0806BABC:
- lsls r0, 21
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r1, 0
- lsls r4, 16
- mov r12, r4
- asrs r4, 16
- mov r10, r4
-_0806BACC:
- movs r2, 0
- adds r7, r1, 0x1
- mov r0, r10
- cmp r0, 0x1F
- bgt _0806BB16
- mov r4, r12
- asrs r3, r4, 16
- lsls r0, r1, 5
- ldr r4, [sp, 0x4]
- adds r6, r4, r0
- ldr r0, _0806BB38 @ =gBGTilemapBuffers + 0x1000
- mov r8, r0
- ldr r4, [sp]
- lsls r5, r4, 12
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- subs r4, r0, r1
-_0806BAF0:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BB06
- adds r0, r6, r0
- lsls r0, 1
- add r0, r8
- adds r1, r4, r2
- add r1, r9
- ldrb r1, [r1]
- orrs r1, r5
- strh r1, [r0]
-_0806BB06:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bhi _0806BB16
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BAF0
-_0806BB16:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _0806BACC
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BB30: .4byte gUnknown_08376A5E
-_0806BB34: .4byte gUnknown_08376A25
-_0806BB38: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BA94
-
- thumb_func_start sub_806BB3C
-sub_806BB3C: @ 806BB3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 21
- lsrs r1, 16
- mov r8, r1
- movs r1, 0
- lsls r7, r0, 16
- asrs r0, r7, 16
- mov r12, r0
-_0806BB50:
- movs r2, 0
- adds r4, r1, 0x1
- mov r5, r12
- cmp r5, 0x1F
- bgt _0806BB84
- asrs r3, r7, 16
- lsls r0, r1, 5
- mov r5, r8
- adds r1, r5, r0
- ldr r6, _0806BB98 @ =gBGTilemapBuffers + 0x1000
- movs r5, 0
-_0806BB66:
- adds r0, r3, r2
- cmp r0, 0
- blt _0806BB74
- adds r0, r1, r0
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_0806BB74:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bhi _0806BB84
- adds r0, r3, r2
- cmp r0, 0x1F
- ble _0806BB66
-_0806BB84:
- lsls r0, r4, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _0806BB50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BB98: .4byte gBGTilemapBuffers + 0x1000
- thumb_func_end sub_806BB3C
-
- thumb_func_start sub_806BB9C
-sub_806BB9C: @ 806BB9C
- push {r4,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806BBE4 @ =gUnknown_08376CD4
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r3, _0806BBE8 @ =0x06003c30
- movs r2, 0
- lsls r4, 12
-_0806BBB6:
- lsls r0, r2, 1
- adds r1, r0, r3
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r1, 0x40
- adds r0, r2, 0x6
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0806BBB6
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BBE4: .4byte gUnknown_08376CD4
-_0806BBE8: .4byte 0x06003c30
- thumb_func_end sub_806BB9C
-
- thumb_func_start sub_806BBEC
-sub_806BBEC: @ 806BBEC
- push {r4,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806BC34 @ =gUnknown_08376CEC
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r3, _0806BC38 @ =0x06003cb0
- movs r2, 0
- lsls r4, 12
-_0806BC06:
- lsls r0, r2, 1
- adds r1, r0, r3
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r1, 0x40
- adds r0, r2, 0x6
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- adds r0, r4
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0806BC06
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BC34: .4byte gUnknown_08376CEC
-_0806BC38: .4byte 0x06003cb0
- thumb_func_end sub_806BBEC
-
- thumb_func_start sub_806BC3C
-sub_806BC3C: @ 806BC3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806BCB0 @ =gUnknown_08376918
- bl IsDoubleBattle
- lsls r4, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldr r7, [r4]
- movs r6, 0
- adds r0, r5, 0
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r4, r0, 19
- ldr r5, _0806BCB4 @ =gUnknown_08E9A300
- movs r0, 0x86
- lsls r0, 1
- adds r3, r0, 0
-_0806BC7C:
- adds r1, r6, r4
- lsls r2, r6, 1
- adds r2, r7
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- adds r0, r3, r0
- strh r0, [r2]
- adds r2, 0x40
- adds r1, 0x20
- lsls r1, 1
- adds r1, r5
- ldrh r1, [r1]
- adds r0, r3, r1
- strh r0, [r2]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x6
- bls _0806BC7C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BCB0: .4byte gUnknown_08376918
-_0806BCB4: .4byte gUnknown_08E9A300
- thumb_func_end sub_806BC3C
-
- thumb_func_start unref_sub_806BCB8
-unref_sub_806BCB8: @ 806BCB8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BCE4 @ =gPlayerPartyCount
- ldrb r1, [r0]
- cmp r4, r1
- bcs _0806BCDE
- adds r6, r0, 0
-_0806BCCA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806BC3C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- cmp r4, r0
- bcc _0806BCCA
-_0806BCDE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BCE4: .4byte gPlayerPartyCount
- thumb_func_end unref_sub_806BCB8
-
- thumb_func_start sub_806BCE8
-sub_806BCE8: @ 806BCE8
- push {r4,r5,lr}
- movs r5, 0
- b _0806BD46
-_0806BCEE:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0806BD20 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806BD38
- adds r0, r4, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0806BD24
- cmp r0, 0xFE
- beq _0806BD2E
- adds r0, r5, 0
- movs r1, 0x46
- bl sub_806BC3C
- b _0806BD40
- .align 2, 0
-_0806BD20: .4byte gPlayerParty
-_0806BD24:
- adds r0, r5, 0
- movs r1, 0x54
- bl sub_806BC3C
- b _0806BD40
-_0806BD2E:
- adds r0, r5, 0
- movs r1, 0x62
- bl sub_806BC3C
- b _0806BD40
-_0806BD38:
- adds r0, r5, 0
- movs r1, 0x46
- bl sub_806BC3C
-_0806BD40:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0806BD46:
- ldr r0, _0806BD54 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r5, r0
- bcc _0806BCEE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BD54: .4byte gPlayerPartyCount
- thumb_func_end sub_806BCE8
-
- thumb_func_start sub_806BD58
-sub_806BD58: @ 806BD58
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806BD7C @ =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CA18
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BD7C: .4byte SpriteCallbackDummy
- thumb_func_end sub_806BD58
-
- thumb_func_start sub_806BD80
-sub_806BD80: @ 806BD80
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BD9C @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x20
- beq _0806BDB2
- cmp r0, 0x20
- bgt _0806BDA0
- cmp r0, 0x10
- beq _0806BDB6
- b _0806BDB8
- .align 2, 0
-_0806BD9C: .4byte gMain
-_0806BDA0:
- cmp r0, 0x40
- beq _0806BDAA
- cmp r0, 0x80
- beq _0806BDAE
- b _0806BDB8
-_0806BDAA:
- movs r4, 0xFF
- b _0806BDB8
-_0806BDAE:
- movs r4, 0x1
- b _0806BDB8
-_0806BDB2:
- movs r4, 0xFE
- b _0806BDB8
-_0806BDB6:
- movs r4, 0x2
-_0806BDB8:
- lsls r0, r4, 24
- cmp r0, 0
- bne _0806BDDC
- bl sub_80F92BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BDD0
- cmp r0, 0x2
- beq _0806BDD4
- b _0806BDD6
-_0806BDD0:
- movs r4, 0xFF
- b _0806BDD6
-_0806BDD4:
- movs r4, 0x1
-_0806BDD6:
- lsls r0, r4, 24
- cmp r0, 0
- beq _0806BDF0
-_0806BDDC:
- asrs r1, r0, 24
- adds r0, r5, 0
- bl sub_806BF74
- ldr r0, _0806BDEC @ =gMain
- ldrh r0, [r0, 0x30]
- b _0806BE2C
- .align 2, 0
-_0806BDEC: .4byte gMain
-_0806BDF0:
- ldr r0, _0806BE1C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806BE24
- ldr r4, _0806BE20 @ =gSprites
- adds r0, r5, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _0806BE24
- movs r0, 0x2
- b _0806BE2C
- .align 2, 0
-_0806BE1C: .4byte gMain
-_0806BE20: .4byte gSprites
-_0806BE24:
- ldr r0, _0806BE34 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_0806BE2C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BE34: .4byte gMain
- thumb_func_end sub_806BD80
-
- thumb_func_start sub_806BE38
-sub_806BE38: @ 806BE38
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _0806BE54 @ =gMain
- ldrh r1, [r0, 0x30]
- adds r6, r0, 0
- cmp r1, 0x20
- beq _0806BE6A
- cmp r1, 0x20
- bgt _0806BE58
- cmp r1, 0x10
- beq _0806BE6E
- b _0806BE70
- .align 2, 0
-_0806BE54: .4byte gMain
-_0806BE58:
- cmp r1, 0x40
- beq _0806BE62
- cmp r1, 0x80
- beq _0806BE66
- b _0806BE70
-_0806BE62:
- movs r4, 0xFF
- b _0806BE8E
-_0806BE66:
- movs r4, 0x1
- b _0806BE8E
-_0806BE6A:
- movs r4, 0xFE
- b _0806BE8E
-_0806BE6E:
- movs r4, 0x2
-_0806BE70:
- cmp r4, 0
- bne _0806BE8E
- bl sub_80F92BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BE86
- cmp r0, 0x2
- beq _0806BE8A
- b _0806BE8C
-_0806BE86:
- movs r4, 0xFF
- b _0806BE8C
-_0806BE8A:
- movs r4, 0x1
-_0806BE8C:
- ldr r6, _0806BEA4 @ =gMain
-_0806BE8E:
- ldrh r2, [r6, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0806BEA8
- adds r0, r5, 0
- bl sub_806C890
- movs r0, 0x8
- b _0806BEF0
- .align 2, 0
-_0806BEA4: .4byte gMain
-_0806BEA8:
- lsls r0, r4, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0806BEBA
- adds r0, r5, 0
- bl sub_806C658
- ldrh r0, [r6, 0x30]
- b _0806BEF0
-_0806BEBA:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0806BEE8
- ldr r4, _0806BEE4 @ =gSprites
- adds r0, r5, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _0806BEE8
- movs r0, 0x2
- b _0806BEF0
- .align 2, 0
-_0806BEE4: .4byte gSprites
-_0806BEE8:
- ldr r0, _0806BEF8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_0806BEF0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BEF8: .4byte gMain
- thumb_func_end sub_806BE38
-
- thumb_func_start task_pc_turn_off
-task_pc_turn_off: @ 806BEFC
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- ldrb r0, [r2]
- cmp r0, 0
- beq _0806BF14
- ldrb r1, [r2, 0x1]
- movs r2, 0
- bl sub_806BA94
- b _0806BF1E
-_0806BF14:
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- adds r2, r3, 0
- bl sub_806B9A4
-_0806BF1E:
- pop {r0}
- bx r0
- thumb_func_end task_pc_turn_off
-
- thumb_func_start sub_806BF24
-sub_806BF24: @ 806BF24
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0806BF70 @ =gPlayerParty
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806BF56
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0806BF56
- movs r4, 0x5
-_0806BF56:
- cmp r6, 0x1
- bne _0806BF60
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_0806BF60:
- adds r0, r7, 0
- adds r1, r4, 0
- bl task_pc_turn_off
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BF70: .4byte gPlayerParty
- thumb_func_end sub_806BF24
-
- thumb_func_start sub_806BF74
-sub_806BF74: @ 806BF74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0806C0C4 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0806BFB6
- b _0806C0D8
-_0806BFB6:
- cmp r5, 0
- beq _0806BFC2
- cmp r5, 0x2
- beq _0806BFC2
- cmp r5, 0x3
- bne _0806BFD2
-_0806BFC2:
- lsls r0, r5, 1
- ldr r1, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
-_0806BFD2:
- cmp r5, 0x1
- beq _0806BFDE
- cmp r5, 0x4
- beq _0806BFDE
- cmp r5, 0x5
- bne _0806BFEE
-_0806BFDE:
- lsls r0, r5, 1
- ldr r1, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x4
- movs r3, 0
- bl sub_806BF24
-_0806BFEE:
- cmp r5, 0x7
- bne _0806BFF8
- movs r0, 0x1
- bl sub_806BBEC
-_0806BFF8:
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C490
- ldr r2, _0806C0C4 @ =gSprites
- lsls r1, r6, 4
- adds r0, r1, r6
- lsls r0, 2
- adds r0, r2
- movs r2, 0x2E
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0
- beq _0806C020
- cmp r0, 0x2
- beq _0806C020
- cmp r0, 0x3
- bne _0806C042
-_0806C020:
- ldr r0, _0806C0C4 @ =gSprites
- mov r4, r8
- adds r1, r4, r6
- lsls r1, 2
- adds r1, r0
- movs r7, 0x2E
- ldrsh r0, [r1, r7]
- lsls r0, 1
- ldr r2, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
-_0806C042:
- ldr r1, _0806C0C4 @ =gSprites
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 2
- adds r0, r1
- movs r4, 0x2E
- ldrsh r0, [r0, r4]
- cmp r0, 0x1
- beq _0806C05C
- cmp r0, 0x4
- beq _0806C05C
- cmp r0, 0x5
- bne _0806C07E
-_0806C05C:
- ldr r0, _0806C0C4 @ =gSprites
- mov r7, r8
- adds r1, r7, r6
- lsls r1, 2
- adds r1, r0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r2, _0806C0C8 @ =gUnknown_083769C0
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x4
- movs r3, 0x1
- bl sub_806BF24
-_0806C07E:
- ldr r7, _0806C0C4 @ =gSprites
- mov r4, r8
- adds r0, r4, r6
- lsls r0, 2
- adds r4, r0, r7
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bne _0806C096
- movs r0, 0x2
- bl sub_806BBEC
-_0806C096:
- ldr r0, _0806C0CC @ =0x0201b000
- ldr r2, _0806C0D0 @ =0x00000261
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, _0806C0D4 @ =gUnknown_083768B8
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- adds r0, 0x40
- ldrb r0, [r0]
- strh r0, [r4, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- adds r0, 0x41
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- adds r0, r7, 0
- b _0806C1A4
- .align 2, 0
-_0806C0C4: .4byte gSprites
-_0806C0C8: .4byte gUnknown_083769C0
-_0806C0CC: .4byte 0x0201b000
-_0806C0D0: .4byte 0x00000261
-_0806C0D4: .4byte gUnknown_083768B8
-_0806C0D8:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r5, 0x5
- bhi _0806C104
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- lsls r1, r5, 1
- adds r0, r1
- ldr r1, _0806C100 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C10A
- .align 2, 0
-_0806C100: .4byte gUnknown_083769A8
-_0806C104:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C10A:
- cmp r7, 0
- bne _0806C11C
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C1E4
- b _0806C128
-_0806C11C:
- lsls r2, r4, 24
- asrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_806C310
-_0806C128:
- ldr r1, _0806C160 @ =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r1, r0, r1
- ldrh r3, [r1, 0x2E]
- movs r4, 0x2E
- ldrsh r0, [r1, r4]
- mov r8, r2
- cmp r0, 0x5
- bgt _0806C168
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- movs r2, 0x2E
- ldrsh r1, [r1, r2]
- lsls r1, 1
- adds r0, r1
- ldr r1, _0806C164 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r3, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- b _0806C16E
- .align 2, 0
-_0806C160: .4byte gSprites
-_0806C164: .4byte gUnknown_083769A8
-_0806C168:
- movs r0, 0x2
- bl sub_806BBEC
-_0806C16E:
- ldr r0, _0806C1D4 @ =0x0201b000
- ldr r4, _0806C1D8 @ =0x00000261
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- ldr r4, _0806C1DC @ =gSprites
- mov r0, r8
- adds r1, r0, r6
- lsls r1, 2
- adds r1, r4
- ldr r3, _0806C1E0 @ =gUnknown_083768B8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 2
- lsls r2, r7, 5
- adds r0, r2
- adds r0, r3
- ldrb r0, [r0]
- strh r0, [r1, 0x20]
- movs r7, 0x2E
- ldrsh r0, [r1, r7]
- lsls r0, 2
- adds r0, r2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x22]
- adds r0, r4, 0
-_0806C1A4:
- mov r1, r8
- adds r4, r1, r6
- lsls r4, 2
- adds r4, r0
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- movs r2, 0x1
- bl UpdateMonIconFrame_806DA44
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r5, r0
- beq _0806C1C8
- movs r0, 0x5
- bl PlaySE
-_0806C1C8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C1D4: .4byte 0x0201b000
-_0806C1D8: .4byte 0x00000261
-_0806C1DC: .4byte gSprites
-_0806C1E0: .4byte gUnknown_083768B8
- thumb_func_end sub_806BF74
-
- thumb_func_start sub_806C1E4
-sub_806C1E4: @ 806C1E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C200
- b _0806C306
-_0806C200:
- lsls r0, 2
- ldr r1, _0806C20C @ =_0806C210
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C20C: .4byte _0806C210
- .align 2, 0
-_0806C210:
- .4byte _0806C2EC
- .4byte _0806C238
- .4byte _0806C224
- .4byte _0806C25C
- .4byte _0806C2BC
-_0806C224:
- ldr r0, _0806C234 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C306
- .align 2, 0
-_0806C234: .4byte gSprites
-_0806C238:
- cmp r3, 0
- beq _0806C266
- cmp r3, 0x7
- bne _0806C298
- ldr r2, _0806C254 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C258 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C2AA
- .align 2, 0
-_0806C254: .4byte gSprites
-_0806C258: .4byte gPlayerPartyCount
-_0806C25C:
- ldr r0, _0806C278 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bne _0806C280
-_0806C266:
- ldr r2, _0806C27C @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C2AC
- .align 2, 0
-_0806C278: .4byte gPlayerPartyCount
-_0806C27C: .4byte gSprites
-_0806C280:
- cmp r3, 0x7
- bne _0806C298
- ldr r2, _0806C294 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C2AC
- .align 2, 0
-_0806C294: .4byte gSprites
-_0806C298:
- ldr r2, _0806C2B8 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- lsls r0, r5, 24
- asrs r0, 24
- ldrh r5, [r1, 0x2E]
- adds r0, r5
-_0806C2AA:
- strh r0, [r1, 0x2E]
-_0806C2AC:
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C306
- .align 2, 0
-_0806C2B8: .4byte gSprites
-_0806C2BC:
- ldr r0, _0806C2E4 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _0806C306
- cmp r3, 0
- bne _0806C306
- ldr r0, _0806C2E8 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806C2DE
- movs r0, 0x1
- strh r0, [r1, 0x30]
-_0806C2DE:
- ldrh r0, [r1, 0x30]
- strh r0, [r1, 0x2E]
- b _0806C306
- .align 2, 0
-_0806C2E4: .4byte gPlayerPartyCount
-_0806C2E8: .4byte gSprites
-_0806C2EC:
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _0806C306
- ldr r0, _0806C30C @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
-_0806C306:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C30C: .4byte gSprites
- thumb_func_end sub_806C1E4
-
- thumb_func_start sub_806C310
-sub_806C310: @ 806C310
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C32C
- b _0806C486
-_0806C32C:
- lsls r0, 2
- ldr r1, _0806C338 @ =_0806C33C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C338: .4byte _0806C33C
- .align 2, 0
-_0806C33C:
- .4byte _0806C44E
- .4byte _0806C38C
- .4byte _0806C350
- .4byte _0806C364
- .4byte _0806C3E8
-_0806C350:
- ldr r0, _0806C360 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C486
- .align 2, 0
-_0806C360: .4byte gSprites
-_0806C364:
- cmp r3, 0x7
- bne _0806C37C
- ldr r2, _0806C378 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C3D8
- .align 2, 0
-_0806C378: .4byte gSprites
-_0806C37C:
- ldr r0, _0806C388 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- beq _0806C390
- b _0806C3C4
- .align 2, 0
-_0806C388: .4byte gPlayerPartyCount
-_0806C38C:
- cmp r3, 0
- bne _0806C3A4
-_0806C390:
- ldr r2, _0806C3A0 @ =gSprites
- lsls r3, r4, 4
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C3D8
- .align 2, 0
-_0806C3A0: .4byte gSprites
-_0806C3A4:
- cmp r3, 0x7
- bne _0806C3C4
- ldr r2, _0806C3BC @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C3C0 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C3D6
- .align 2, 0
-_0806C3BC: .4byte gSprites
-_0806C3C0: .4byte gPlayerPartyCount
-_0806C3C4:
- ldr r2, _0806C3E4 @ =gSprites
- lsls r3, r4, 4
- adds r1, r3, r4
- lsls r1, 2
- adds r1, r2
- lsls r0, r5, 24
- asrs r0, 24
- ldrh r5, [r1, 0x2E]
- adds r0, r5
-_0806C3D6:
- strh r0, [r1, 0x2E]
-_0806C3D8:
- adds r0, r3, r4
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C486
- .align 2, 0
-_0806C3E4: .4byte gSprites
-_0806C3E8:
- cmp r3, 0
- bne _0806C418
- ldr r0, _0806C410 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x2
- bls _0806C486
- ldr r0, _0806C414 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x30]
- subs r0, r2, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0806C43A
- movs r0, 0x2
- strh r0, [r1, 0x2E]
- b _0806C486
- .align 2, 0
-_0806C410: .4byte gPlayerPartyCount
-_0806C414: .4byte gSprites
-_0806C418:
- cmp r3, 0x1
- bne _0806C486
- ldr r0, _0806C440 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0806C486
- ldr r0, _0806C444 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x30]
- subs r0, r2, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806C448
-_0806C43A:
- strh r2, [r1, 0x2E]
- b _0806C486
- .align 2, 0
-_0806C440: .4byte gPlayerPartyCount
-_0806C444: .4byte gSprites
-_0806C448:
- movs r0, 0x4
- strh r0, [r1, 0x2E]
- b _0806C486
-_0806C44E:
- subs r0, r3, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C46C
- ldr r0, _0806C468 @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- b _0806C482
- .align 2, 0
-_0806C468: .4byte gSprites
-_0806C46C:
- subs r0, r3, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C486
- ldr r0, _0806C48C @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
-_0806C482:
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
-_0806C486:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C48C: .4byte gSprites
- thumb_func_end sub_806C310
-
- thumb_func_start sub_806C490
-sub_806C490: @ 806C490
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- asrs r0, r2, 24
- cmp r0, 0x4
- bls _0806C4AA
- b _0806C64E
-_0806C4AA:
- lsls r0, 2
- ldr r1, _0806C4B4 @ =_0806C4B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C4B4: .4byte _0806C4B8
- .align 2, 0
-_0806C4B8:
- .4byte _0806C618
- .4byte _0806C524
- .4byte _0806C4CC
- .4byte _0806C4E0
- .4byte _0806C57C
-_0806C4CC:
- ldr r0, _0806C4DC @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x30]
- b _0806C64E
- .align 2, 0
-_0806C4DC: .4byte gSprites
-_0806C4E0:
- cmp r4, 0x7
- bne _0806C4FC
- ldr r2, _0806C4F8 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- adds r1, r2, 0
- adds r6, r3, 0
- b _0806C566
- .align 2, 0
-_0806C4F8: .4byte gSprites
-_0806C4FC:
- lsls r6, r5, 4
- b _0806C518
-_0806C500:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806C520 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0806C528
-_0806C518:
- cmp r4, 0x5
- bne _0806C500
- b _0806C558
- .align 2, 0
-_0806C520: .4byte gPlayerParty
-_0806C524:
- lsls r6, r5, 4
- b _0806C554
-_0806C528:
- ldr r1, _0806C534 @ =gSprites
- adds r0, r6, r5
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x2E]
- b _0806C566
- .align 2, 0
-_0806C534: .4byte gSprites
-_0806C538:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- beq _0806C554
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806C574 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0806C528
-_0806C554:
- cmp r4, 0
- bne _0806C538
-_0806C558:
- ldr r0, _0806C578 @ =gSprites
- adds r1, r6, r5
- lsls r1, 2
- adds r1, r0
- movs r2, 0x7
- strh r2, [r1, 0x2E]
- adds r1, r0, 0
-_0806C566:
- adds r0, r6, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C64E
- .align 2, 0
-_0806C574: .4byte gPlayerParty
-_0806C578: .4byte gSprites
-_0806C57C:
- cmp r4, 0
- bne _0806C5C8
- ldr r0, _0806C5AC @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r4, r1, r0
- ldrh r1, [r4, 0x30]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0806C5E2
- ldr r5, _0806C5B0 @ =gPlayerParty + 2 * 0x64
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C5B4
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C5AC: .4byte gSprites
-_0806C5B0: .4byte gPlayerParty + 2 * 0x64
-_0806C5B4:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C64E
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- b _0806C64E
-_0806C5C8:
- cmp r4, 0x1
- bne _0806C64E
- ldr r0, _0806C5E8 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r4, r1, r0
- ldrh r1, [r4, 0x30]
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806C5EC
-_0806C5E2:
- strh r1, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C5E8: .4byte gSprites
-_0806C5EC:
- ldr r5, _0806C600 @ =gPlayerParty + 4 * 0x64
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C604
- movs r0, 0x4
- strh r0, [r4, 0x2E]
- b _0806C64E
- .align 2, 0
-_0806C600: .4byte gPlayerParty + 4 * 0x64
-_0806C604:
- adds r0, r5, 0
- adds r0, 0x64
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806C64E
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- b _0806C64E
-_0806C618:
- subs r0, r4, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C634
- ldr r0, _0806C630 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- b _0806C64A
- .align 2, 0
-_0806C630: .4byte gSprites
-_0806C634:
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806C64E
- ldr r0, _0806C654 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
-_0806C64A:
- strh r0, [r1, 0x2E]
- strh r4, [r1, 0x30]
-_0806C64E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C654: .4byte gSprites
- thumb_func_end sub_806C490
-
- thumb_func_start sub_806C658
-sub_806C658: @ 806C658
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0806C6A0 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- cmp r6, 0x5
- bhi _0806C6A8
- lsls r0, r6, 1
- ldr r1, _0806C6A4 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r6, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C6BA
- .align 2, 0
-_0806C6A0: .4byte gSprites
-_0806C6A4: .4byte gUnknown_083769A8
-_0806C6A8:
- cmp r6, 0x6
- bne _0806C6B4
- movs r0, 0x1
- bl sub_806BB9C
- b _0806C6BA
-_0806C6B4:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C6BA:
- lsls r1, r4, 24
- movs r2, 0x80
- lsls r2, 18
- adds r0, r1, r2
- asrs r0, 24
- lsls r4, r5, 4
- adds r7, r1, 0
- cmp r0, 0x4
- bls _0806C6CE
- b _0806C7EA
-_0806C6CE:
- lsls r0, 2
- ldr r1, _0806C6D8 @ =_0806C6DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806C6D8: .4byte _0806C6DC
- .align 2, 0
-_0806C6DC:
- .4byte _0806C7D0
- .4byte _0806C708
- .4byte _0806C6F0
- .4byte _0806C740
- .4byte _0806C7A0
-_0806C6F0:
- ldr r1, _0806C704 @ =gSprites
- lsls r2, r5, 4
- adds r0, r2, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- adds r4, r2, 0
- b _0806C7EA
- .align 2, 0
-_0806C704: .4byte gSprites
-_0806C708:
- cmp r6, 0
- bne _0806C720
- ldr r2, _0806C71C @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C71C: .4byte gSprites
-_0806C720:
- cmp r6, 0x6
- bne _0806C77C
- ldr r2, _0806C738 @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- ldr r0, _0806C73C @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0806C78C
- .align 2, 0
-_0806C738: .4byte gSprites
-_0806C73C: .4byte gPlayerPartyCount
-_0806C740:
- ldr r0, _0806C75C @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bne _0806C764
- ldr r2, _0806C760 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C75C: .4byte gPlayerPartyCount
-_0806C760: .4byte gSprites
-_0806C764:
- cmp r6, 0x7
- bne _0806C77C
- ldr r2, _0806C778 @ =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _0806C78E
- .align 2, 0
-_0806C778: .4byte gSprites
-_0806C77C:
- ldr r2, _0806C79C @ =gSprites
- lsls r3, r5, 4
- adds r1, r3, r5
- lsls r1, 2
- adds r1, r2
- asrs r0, r7, 24
- ldrh r4, [r1, 0x2E]
- adds r0, r4
-_0806C78C:
- strh r0, [r1, 0x2E]
-_0806C78E:
- adds r4, r3, 0
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x30]
- b _0806C7EA
- .align 2, 0
-_0806C79C: .4byte gSprites
-_0806C7A0:
- ldr r0, _0806C7C8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- lsls r4, r5, 4
- cmp r0, 0x1
- bls _0806C7EA
- cmp r6, 0
- bne _0806C7EA
- ldr r0, _0806C7CC @ =gSprites
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806C7C2
- movs r0, 0x1
- strh r0, [r1, 0x30]
-_0806C7C2:
- ldrh r0, [r1, 0x30]
- strh r0, [r1, 0x2E]
- b _0806C7EA
- .align 2, 0
-_0806C7C8: .4byte gPlayerPartyCount
-_0806C7CC: .4byte gSprites
-_0806C7D0:
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r5, 4
- cmp r0, 0x4
- bhi _0806C7EA
- ldr r0, _0806C82C @ =gSprites
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r6, [r1, 0x30]
-_0806C7EA:
- ldr r1, _0806C82C @ =gSprites
- adds r0, r4, r5
- lsls r0, 2
- adds r2, r0, r1
- ldr r1, _0806C830 @ =gUnknown_083768B8
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2, 0x20]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- strh r0, [r2, 0x22]
- ldrh r3, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- bgt _0806C838
- lsls r0, 1
- ldr r1, _0806C834 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r3, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- b _0806C84A
- .align 2, 0
-_0806C82C: .4byte gSprites
-_0806C830: .4byte gUnknown_083768B8
-_0806C834: .4byte gUnknown_083769A8
-_0806C838:
- cmp r0, 0x6
- bne _0806C844
- movs r0, 0x2
- bl sub_806BB9C
- b _0806C84A
-_0806C844:
- movs r0, 0x2
- bl sub_806BBEC
-_0806C84A:
- ldr r0, _0806C884 @ =0x0201b000
- ldr r2, _0806C888 @ =0x00000261
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, _0806C88C @ =gSprites
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- movs r2, 0x1
- bl UpdateMonIconFrame_806DA44
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r6, r0
- beq _0806C878
- movs r0, 0x5
- bl PlaySE
-_0806C878:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C884: .4byte 0x0201b000
-_0806C888: .4byte 0x00000261
-_0806C88C: .4byte gSprites
- thumb_func_end sub_806C658
-
- thumb_func_start sub_806C890
-sub_806C890: @ 806C890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_806CA00
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0806C8D4 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- beq _0806C914
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl UpdateMonIconFrame_806DA44
- cmp r4, 0x5
- bhi _0806C8DC
- lsls r0, r4, 1
- ldr r1, _0806C8D8 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- b _0806C8E2
- .align 2, 0
-_0806C8D4: .4byte gSprites
-_0806C8D8: .4byte gUnknown_083769A8
-_0806C8DC:
- movs r0, 0x1
- bl sub_806BBEC
-_0806C8E2:
- ldr r1, _0806C91C @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x30]
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- ldr r2, _0806C920 @ =gUnknown_083768B8
- ldrb r1, [r2, 0x18]
- strh r1, [r0, 0x20]
- ldrb r1, [r2, 0x19]
- strh r1, [r0, 0x22]
- movs r0, 0x2
- bl sub_806BB9C
- ldr r0, _0806C924 @ =0x0201b000
- ldr r1, _0806C928 @ =0x00000261
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x5
- bl PlaySE
-_0806C914:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C91C: .4byte gSprites
-_0806C920: .4byte gUnknown_083768B8
-_0806C924: .4byte 0x0201b000
-_0806C928: .4byte 0x00000261
- thumb_func_end sub_806C890
-
- thumb_func_start sub_806C92C
-sub_806C92C: @ 806C92C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0806C960 @ =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r1, 0x30]
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _0806C96A
- cmp r6, 0
- bne _0806C964
- cmp r4, 0
- bne _0806C97C
- movs r4, 0x1
- b _0806C97C
- .align 2, 0
-_0806C960: .4byte gSprites
-_0806C964:
- cmp r4, 0
- beq _0806C97C
- b _0806C97A
-_0806C96A:
- cmp r6, 0x1
- bhi _0806C976
- cmp r4, 0x1
- bhi _0806C97C
- movs r4, 0x2
- b _0806C97C
-_0806C976:
- cmp r4, 0x1
- bls _0806C97C
-_0806C97A:
- movs r4, 0
-_0806C97C:
- ldr r1, _0806C990 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x30]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C990: .4byte gSprites
- thumb_func_end sub_806C92C
-
- thumb_func_start sub_806C994
-sub_806C994: @ 806C994
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806C9C0 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- strh r4, [r1, 0x2E]
- bl sub_806C92C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C9C0: .4byte gSprites
- thumb_func_end sub_806C994
-
- thumb_func_start sub_806C9C4
-sub_806C9C4: @ 806C9C4
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0806C9FC @ =gSprites
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r1, 0x20]
- strh r0, [r2, 0x20]
- ldrh r0, [r1, 0x22]
- strh r0, [r2, 0x22]
- ldrh r0, [r1, 0x2E]
- strh r0, [r2, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C9FC: .4byte gSprites
- thumb_func_end sub_806C9C4
-
- thumb_func_start sub_806CA00
-sub_806CA00: @ 806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806CA14 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0xE]
- lsrs r0, 8
- bx lr
- .align 2, 0
-_0806CA14: .4byte gTasks
- thumb_func_end sub_806CA00
-
- thumb_func_start sub_806CA18
-sub_806CA18: @ 806CA18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _0806CA34 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r0, [r2, 0xE]
- lsrs r1, 16
- orrs r0, r1
- strh r0, [r2, 0xE]
- bx lr
- .align 2, 0
-_0806CA34: .4byte gTasks
- thumb_func_end sub_806CA18
-
- thumb_func_start sub_806CA38
-sub_806CA38: @ 806CA38
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_806CA00
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806CA5C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0806CA5C: .4byte gSprites
- thumb_func_end sub_806CA38
-
- thumb_func_start sub_806CA60
-sub_806CA60: @ 806CA60
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806CAD8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CADC @ =TaskDummy
- str r1, [r0]
- ldr r5, _0806CAE0 @ =0x02001000
- strb r4, [r5]
- ldr r0, _0806CAE4 @ =sub_806CB74
- movs r1, 0
- bl CreateTask
- ldr r0, _0806CAE8 @ =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x1]
- adds r0, r4, 0
- bl sub_806C9C4
- adds r0, r4, 0
- bl sub_806CA00
- strb r0, [r5, 0x2]
- ldr r1, _0806CAEC @ =0x0001a272
- adds r0, r5, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_806D538
- ldr r2, _0806CAF0 @ =gSprites
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r2, _0806CAF4 @ =gUnknown_083769A8
- adds r0, r2
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0
- bl sub_806BF24
- ldr r0, _0806CAF8 @ =0x0001a261
- adds r5, r0
- movs r0, 0x2
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CAD8: .4byte gTasks
-_0806CADC: .4byte TaskDummy
-_0806CAE0: .4byte 0x02001000
-_0806CAE4: .4byte sub_806CB74
-_0806CAE8: .4byte SpriteCallbackDummy
-_0806CAEC: .4byte 0x0001a272
-_0806CAF0: .4byte gSprites
-_0806CAF4: .4byte gUnknown_083769A8
-_0806CAF8: .4byte 0x0001a261
- thumb_func_end sub_806CA60
-
- thumb_func_start sub_806CAFC
-sub_806CAFC: @ 806CAFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _0806CB48 @ =0x02001000
- ldrb r3, [r4, 0x1]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, _0806CB4C @ =gSprites
- adds r5, r2, r3
- ldrb r2, [r4, 0x2]
- lsls r4, r2, 4
- adds r4, r2
- lsls r4, 2
- adds r4, r3
- lsls r1, 24
- asrs r1, 24
- bl sub_806BF74
- ldrh r2, [r5, 0x2E]
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _0806CB54
- adds r0, r1, 0
- lsls r0, 1
- ldr r1, _0806CB50 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0x1
- bl sub_806BF24
- b _0806CB6A
- .align 2, 0
-_0806CB48: .4byte 0x02001000
-_0806CB4C: .4byte gSprites
-_0806CB50: .4byte gUnknown_083769A8
-_0806CB54:
- movs r3, 0x2E
- ldrsh r0, [r5, r3]
- lsls r0, 1
- ldr r1, _0806CB70 @ =gUnknown_083769A8
- adds r0, r1
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0x6
- movs r3, 0
- bl sub_806BF24
-_0806CB6A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CB70: .4byte gUnknown_083769A8
- thumb_func_end sub_806CAFC
-
- thumb_func_start sub_806CB74
-sub_806CB74: @ 806CB74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0806CB8C @ =gMain
- ldrh r0, [r0, 0x30]
- cmp r0, 0x20
- beq _0806CBBC
- cmp r0, 0x20
- bgt _0806CB90
- cmp r0, 0x10
- beq _0806CBD0
- b _0806CBDA
- .align 2, 0
-_0806CB8C: .4byte gMain
-_0806CB90:
- cmp r0, 0x40
- beq _0806CB9A
- cmp r0, 0x80
- beq _0806CBAC
- b _0806CBDA
-_0806CB9A:
- ldr r0, _0806CBA8 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x1
- negs r1, r1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBA8: .4byte 0x02001000
-_0806CBAC:
- ldr r0, _0806CBB8 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBB8: .4byte 0x02001000
-_0806CBBC:
- ldr r0, _0806CBCC @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x2
- negs r1, r1
- bl sub_806CAFC
- b _0806CBDA
- .align 2, 0
-_0806CBCC: .4byte 0x02001000
-_0806CBD0:
- ldr r0, _0806CC04 @ =0x02001000
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_806CAFC
-_0806CBDA:
- ldr r0, _0806CC08 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806CC10
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0806CC0C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CC04 @ =0x02001000
- ldr r1, [r1, 0xC]
- str r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _0806CC24
- .align 2, 0
-_0806CC04: .4byte 0x02001000
-_0806CC08: .4byte gMain
-_0806CC0C: .4byte gTasks
-_0806CC10:
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _0806CC24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_806CD44
-_0806CC24:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806CB74
-
- thumb_func_start sub_806CC2C
-sub_806CC2C: @ 806CC2C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0806CC68 @ =0x02001000
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0806CC6C @ =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- ldr r0, _0806CC70 @ =0x0001a261
- adds r1, r5, r0
- movs r0, 0x2
- strb r0, [r1]
- ldrb r0, [r5]
- bl SwitchTaskToFollowupFunc
- adds r0, r4, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CC68: .4byte 0x02001000
-_0806CC6C: .4byte gSprites
-_0806CC70: .4byte 0x0001a261
- thumb_func_end sub_806CC2C
-
- thumb_func_start sub_806CC74
-sub_806CC74: @ 806CC74
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806CCD8 @ =gSprites
- mov r8, r0
- ldr r6, _0806CCDC @ =0x02001000
- ldrb r0, [r6, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r5, _0806CCE0 @ =gUnknown_083769A8
- adds r0, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
- ldrb r0, [r6, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
- adds r0, r4, 0
- bl sub_806CC2C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CCD8: .4byte gSprites
-_0806CCDC: .4byte 0x02001000
-_0806CCE0: .4byte gUnknown_083769A8
- thumb_func_end sub_806CC74
-
- thumb_func_start sub_806CCE4
-sub_806CCE4: @ 806CCE4
- push {r4,r5,lr}
- ldr r3, _0806CD38 @ =gSprites
- ldr r2, _0806CD3C @ =0x02001000
- ldrb r1, [r2, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0x5
- bhi _0806CD1E
- lsls r0, r4, 1
- ldr r1, _0806CD40 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_806BF24
-_0806CD1E:
- cmp r5, 0x5
- bhi _0806CD32
- lsls r0, r5, 1
- ldr r1, _0806CD40 @ =gUnknown_083769A8
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_806BF24
-_0806CD32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CD38: .4byte gSprites
-_0806CD3C: .4byte 0x02001000
-_0806CD40: .4byte gUnknown_083769A8
- thumb_func_end sub_806CCE4
-
- thumb_func_start sub_806CD44
-sub_806CD44: @ 806CD44
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_806CCE4
- adds r0, r4, 0
- bl sub_806CC2C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806CD44
-
- thumb_func_start sub_806CD5C
-sub_806CD5C: @ 806CD5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _0806CDA8 @ =gSprites
- ldr r6, _0806CDAC @ =0x02001000
- ldrb r1, [r6, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- mov r9, r5
- ldrb r1, [r6, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- cmp r5, r4
- beq _0806CD9E
- cmp r5, 0x7
- beq _0806CD9E
- cmp r4, 0x7
- bne _0806CDB0
-_0806CD9E:
- mov r0, r8
- bl sub_806CD44
- b _0806CED2
- .align 2, 0
-_0806CDA8: .4byte gSprites
-_0806CDAC: .4byte 0x02001000
-_0806CDB0:
- adds r0, r5, 0
- bl sub_806D5B8
- adds r0, r4, 0
- bl sub_806D5B8
- cmp r5, r4
- bls _0806CDC6
- strb r4, [r6, 0x5]
- strb r5, [r6, 0x6]
- b _0806CDCC
-_0806CDC6:
- mov r0, r9
- strb r0, [r6, 0x5]
- strb r7, [r6, 0x6]
-_0806CDCC:
- ldr r4, _0806CE1C @ =0x02001000
- ldrb r0, [r4]
- ldrb r1, [r4, 0x5]
- bl GetMonIconSpriteId_maybe
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- ldrb r1, [r4, 0x6]
- bl GetMonIconSpriteId_maybe
- strb r0, [r4, 0x4]
- ldrb r3, [r4, 0x5]
- cmp r3, 0
- bne _0806CE34
- ldr r2, _0806CE20 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0806CE24 @ =0x0000fff8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0806CE28 @ =0x0000ff58
- strh r1, [r0, 0x32]
- strh r3, [r4, 0x8]
- movs r0, 0xB
- strh r0, [r4, 0xA]
- ldr r1, _0806CE2C @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CE30 @ =sub_806D014
- b _0806CE66
- .align 2, 0
-_0806CE1C: .4byte 0x02001000
-_0806CE20: .4byte gSprites
-_0806CE24: .4byte 0x0000fff8
-_0806CE28: .4byte 0x0000ff58
-_0806CE2C: .4byte gTasks
-_0806CE30: .4byte sub_806D014
-_0806CE34:
- ldr r2, _0806CEE0 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0xA8
- strh r1, [r0, 0x32]
- movs r0, 0xB
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r1, _0806CEE4 @ =gTasks
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806CEE8 @ =sub_806D118
-_0806CE66:
- str r1, [r0]
- ldr r0, _0806CEEC @ =0x0001a261
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r6, r2, 0
- ldr r4, _0806CEF0 @ =0x02001000
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r2, _0806CEF4 @ =sub_806D37C
- str r2, [r0]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0xA8
- strh r1, [r0, 0x32]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r2, [r0]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- adds r0, r6
- ldr r1, [r1]
- bl _call_via_r1
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r5
- adds r0, r6
- ldr r1, [r5]
- bl _call_via_r1
-_0806CED2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CEE0: .4byte gSprites
-_0806CEE4: .4byte gTasks
-_0806CEE8: .4byte sub_806D118
-_0806CEEC: .4byte 0x0001a261
-_0806CEF0: .4byte 0x02001000
-_0806CEF4: .4byte sub_806D37C
- thumb_func_end sub_806CD5C
-
- thumb_func_start sub_806CEF8
-sub_806CEF8: @ 806CEF8
- ldrh r3, [r0]
- ldrh r2, [r1]
- strh r2, [r0]
- strh r3, [r1]
- bx lr
- thumb_func_end sub_806CEF8
-
- thumb_func_start sub_806CF04
-sub_806CF04: @ 806CF04
- push {r4,r5,lr}
- ldr r4, _0806CF94 @ =0x02001000
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0806CF98 @ =gSprites + 0x20
- adds r0, r5
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0x2
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0x4
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, r5, 0
- adds r3, 0xE
- adds r0, r3
- ldrb r2, [r4, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- bl sub_806CEF8
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- subs r5, 0x4
- adds r0, r5
- ldr r2, _0806CF9C @ =sub_806D37C
- str r2, [r0]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CF94: .4byte 0x02001000
-_0806CF98: .4byte gSprites + 0x20
-_0806CF9C: .4byte sub_806D37C
- thumb_func_end sub_806CF04
-
- thumb_func_start sub_806CFA0
-sub_806CFA0: @ 806CFA0
- push {r4-r6,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r5, _0806CFDC @ =0x02001000
- ldrb r1, [r5, 0x6]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- movs r1, 0x3
- bl sub_806BA34
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- adds r1, r6, 0
- bl sub_806BB3C
- cmp r4, 0
- bne _0806CFE0
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- b _0806CFEA
- .align 2, 0
-_0806CFDC: .4byte 0x02001000
-_0806CFE0:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
-_0806CFEA:
- strh r0, [r5, 0xA]
- ldr r4, _0806D010 @ =0x02001000
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- movs r2, 0xA
- bl sub_806B9A4
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D010: .4byte 0x02001000
- thumb_func_end sub_806CFA0
-
- thumb_func_start sub_806D014
-sub_806D014: @ 806D014
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_806CFA0
- ldr r2, _0806D050 @ =0x02001000
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- movs r0, 0xD
- negs r0, r0
- cmp r1, r0
- bge _0806D04A
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x20
- ble _0806D04A
- bl sub_806CF04
- ldr r0, _0806D054 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D058 @ =sub_806D05C
- str r0, [r1]
-_0806D04A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D050: .4byte 0x02001000
-_0806D054: .4byte gTasks
-_0806D058: .4byte sub_806D05C
- thumb_func_end sub_806D014
-
- thumb_func_start sub_806D05C
-sub_806D05C: @ 806D05C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806CFA0
- ldr r0, _0806D08C @ =0x02001000
- ldr r1, [r0, 0x8]
- movs r0, 0xB0
- lsls r0, 12
- cmp r1, r0
- bne _0806D084
- ldr r0, _0806D090 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D094 @ =sub_806D198
- str r0, [r1]
-_0806D084:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D08C: .4byte 0x02001000
-_0806D090: .4byte gTasks
-_0806D094: .4byte sub_806D198
- thumb_func_end sub_806D05C
-
- thumb_func_start sub_806D098
-sub_806D098: @ 806D098
- push {r4-r7,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r5, _0806D0E0 @ =0x02001000
- ldrb r1, [r5, 0x5]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r1, [r5, 0x6]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- adds r1, r7, 0
- bl sub_806BB3C
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- adds r1, r6, 0
- bl sub_806BB3C
- cmp r4, 0
- bne _0806D0E4
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- b _0806D0EE
- .align 2, 0
-_0806D0E0: .4byte 0x02001000
-_0806D0E4:
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- strh r0, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
-_0806D0EE:
- strh r0, [r5, 0xA]
- ldr r4, _0806D114 @ =0x02001000
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_806BA94
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D114: .4byte 0x02001000
- thumb_func_end sub_806D098
-
- thumb_func_start sub_806D118
-sub_806D118: @ 806D118
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_806D098
- ldr r1, _0806D150 @ =0x02001000
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _0806D14A
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _0806D14A
- bl sub_806CF04
- ldr r0, _0806D154 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D158 @ =sub_806D15C
- str r0, [r1]
-_0806D14A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D150: .4byte 0x02001000
-_0806D154: .4byte gTasks
-_0806D158: .4byte sub_806D15C
- thumb_func_end sub_806D118
-
- thumb_func_start sub_806D15C
-sub_806D15C: @ 806D15C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806D098
- ldr r0, _0806D188 @ =0x02001000
- ldr r1, [r0, 0x8]
- ldr r0, _0806D18C @ =0x000b000b
- cmp r1, r0
- bne _0806D182
- ldr r0, _0806D190 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0806D194 @ =sub_806D198
- str r0, [r1]
-_0806D182:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D188: .4byte 0x02001000
-_0806D18C: .4byte 0x000b000b
-_0806D190: .4byte gTasks
-_0806D194: .4byte sub_806D198
- thumb_func_end sub_806D15C
-
- thumb_func_start sub_806D198
-sub_806D198: @ 806D198
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, _0806D364 @ =0x02001000
- ldrb r0, [r4]
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- bl SetMonIconSpriteId_maybe
- ldrb r0, [r4]
- ldrb r1, [r4, 0x6]
- ldrb r2, [r4, 0x3]
- bl SetMonIconSpriteId_maybe
- bl IsDoubleBattle
- ldr r5, _0806D368 @ =gSprites
- ldrb r1, [r4, 0x3]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldr r6, _0806D36C @ =gUnknown_08376678
- ldrb r2, [r4, 0x6]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2]
- movs r1, 0
- mov r8, r1
- strh r0, [r3, 0x20]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x3]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x6]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2, 0x1]
- strh r0, [r3, 0x22]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x26]
- ldrb r1, [r4, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r5
- mov r9, r1
- add r0, r9
- ldr r7, _0806D370 @ =UpdateMonIconFrame_806DA38
- str r7, [r0]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x5]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2]
- strh r0, [r3, 0x20]
- bl IsDoubleBattle
- ldrb r1, [r4, 0x4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- ldrb r2, [r4, 0x5]
- lsls r2, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r0, [r2, 0x1]
- strh r0, [r3, 0x22]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x24]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x26]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- str r7, [r0]
- ldrb r0, [r4]
- ldrb r2, [r4, 0x2]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r1, [r1, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldr r0, _0806D374 @ =UpdateMonIconFrame_806DA0C
- str r0, [r1]
- ldrb r0, [r4, 0x5]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0806D378 @ =gPlayerParty
- adds r0, r5
- ldrb r1, [r4, 0x6]
- muls r1, r6
- adds r1, r5
- bl sub_806E6F0
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuPrintMonLevelOrStatus
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl TryPrintPartyMenuMonNickname
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuTryPrintHP
- ldrb r0, [r4, 0x5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl nullsub_12
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuPrintMonLevelOrStatus
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl TryPrintPartyMenuMonNickname
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl PartyMenuTryPrintHP
- ldrb r0, [r4, 0x6]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r5
- bl nullsub_12
- bl PartyMenuDrawHPBars
- mov r0, r10
- bl sub_806CC74
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D364: .4byte 0x02001000
-_0806D368: .4byte gSprites
-_0806D36C: .4byte gUnknown_08376678
-_0806D370: .4byte UpdateMonIconFrame_806DA38
-_0806D374: .4byte UpdateMonIconFrame_806DA0C
-_0806D378: .4byte gPlayerParty
- thumb_func_end sub_806D198
-
- thumb_func_start sub_806D37C
-sub_806D37C: @ 806D37C
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r3, 0x32
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _0806D3A8
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- negs r0, r0
- movs r1, 0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x32]
- ldr r0, _0806D3A4 @ =UpdateMonIconFrame_806DA38
- str r0, [r4, 0x1C]
- b _0806D3AE
- .align 2, 0
-_0806D3A4: .4byte UpdateMonIconFrame_806DA38
-_0806D3A8:
- ldrh r0, [r4, 0x2E]
- adds r0, r2, r0
- strh r0, [r4, 0x24]
-_0806D3AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806D37C
-
- thumb_func_start sub_806D3B4
-sub_806D3B4: @ 806D3B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r6, _0806D438 @ =gUnknown_083769C0
- ldr r1, _0806D43C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x3]
- bl sub_806BA34
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- bl sub_806BB3C
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- bl sub_806BB3C
- ldrh r1, [r5, 0x8]
- subs r1, 0x1
- strh r1, [r5, 0x8]
- ldrb r0, [r6, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x3]
- movs r2, 0x4
- bl sub_806B9A4
- cmp r4, 0
- beq _0806D440
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- b _0806D454
- .align 2, 0
-_0806D438: .4byte gUnknown_083769C0
-_0806D43C: .4byte gTasks
-_0806D440:
- ldrh r0, [r5, 0x8]
- ldrb r1, [r6, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0x9]
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
-_0806D454:
- mov r0, r8
- cmp r0, 0
- beq _0806D480
- ldr r1, _0806D47C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- movs r2, 0
- movs r3, 0x4
- bl sub_806BA94
- b _0806D49E
- .align 2, 0
-_0806D47C: .4byte gTasks
-_0806D480:
- ldr r1, _0806D4A8 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- ldrb r1, [r6, 0xA]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrb r1, [r6, 0xB]
- movs r2, 0x1
- movs r3, 0x4
- bl sub_806BA94
-_0806D49E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D4A8: .4byte gTasks
- thumb_func_end sub_806D3B4
-
- thumb_func_start sub_806D4AC
-sub_806D4AC: @ 806D4AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r1, 0
- beq _0806D4F6
- adds r1, r2, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806D4FC @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r2
- ldr r0, _0806D500 @ =0x0000fff8
- strh r0, [r4, 0x2E]
- ldr r3, _0806D504 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r3
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- lsls r0, 3
- negs r0, r0
- strh r0, [r4, 0x32]
- adds r2, 0x1C
- adds r1, r2
- ldr r0, _0806D508 @ =sub_806D37C
- str r0, [r1]
-_0806D4F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D4FC: .4byte gSprites
-_0806D500: .4byte 0x0000fff8
-_0806D504: .4byte gTasks
-_0806D508: .4byte sub_806D37C
- thumb_func_end sub_806D4AC
-
- thumb_func_start sub_806D50C
-sub_806D50C: @ 806D50C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- ldr r2, _0806D534 @ =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x20]
- adds r0, 0xF0
- strh r0, [r1, 0x20]
- pop {r0}
- bx r0
- .align 2, 0
-_0806D534: .4byte gSprites
- thumb_func_end sub_806D50C
-
- thumb_func_start sub_806D538
-sub_806D538: @ 806D538
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- cmp r4, 0xFF
- beq _0806D59A
- cmp r1, 0x1
- beq _0806D568
- cmp r1, 0x1
- bgt _0806D556
- cmp r1, 0
- beq _0806D560
- b _0806D58A
-_0806D556:
- cmp r0, 0x2
- beq _0806D570
- cmp r0, 0x3
- beq _0806D57E
- b _0806D58A
-_0806D560:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x17
- b _0806D576
-_0806D568:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x13
- b _0806D576
-_0806D570:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x16
-_0806D576:
- movs r3, 0x13
- bl MenuDrawTextWindow
- b _0806D58A
-_0806D57E:
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x12
- movs r3, 0x13
- bl MenuDrawTextWindow
-_0806D58A:
- ldr r0, _0806D5A0 @ =gUnknown_08376624
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x1
- movs r2, 0x11
- bl MenuPrint
-_0806D59A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D5A0: .4byte gUnknown_08376624
- thumb_func_end sub_806D538
-
- thumb_func_start sub_806D5A4
-sub_806D5A4: @ 806D5A4
- push {lr}
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_806D5A4
-
- thumb_func_start sub_806D5B8
-sub_806D5B8: @ 806D5B8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806D658 @ =gUnknown_08376948
- bl IsDoubleBattle
- lsls r4, r5, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1]
- mov r10, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x1]
- mov r9, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x2]
- mov r8, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldrb r1, [r4, 0x3]
- ldr r0, _0806D65C @ =gUnknown_03004210
- str r1, [sp]
- mov r1, r10
- mov r2, r9
- mov r3, r8
- bl ZeroFillWindowRect
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r5, 10
- ldr r0, _0806D660 @ =0x06014000
- adds r5, r0
- ldr r2, _0806D664 @ =0x01000100
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuFastSet
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D658: .4byte gUnknown_08376948
-_0806D65C: .4byte gUnknown_03004210
-_0806D660: .4byte 0x06014000
-_0806D664: .4byte 0x01000100
- thumb_func_end sub_806D5B8
-
- thumb_func_start sub_806D668
-sub_806D668: @ 806D668
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _0806D708 @ =gUnknown_08376978
- bl IsDoubleBattle
- lsls r4, r5, 2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1]
- mov r10, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x1]
- mov r9, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- adds r1, r6
- ldrb r1, [r1, 0x2]
- mov r8, r1
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r4, r1
- adds r4, r6
- ldrb r1, [r4, 0x3]
- ldr r0, _0806D70C @ =gUnknown_03004210
- str r1, [sp]
- mov r1, r10
- mov r2, r9
- mov r3, r8
- bl ZeroFillWindowRect
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r5, 10
- ldr r0, _0806D710 @ =0x06014300
- adds r5, r0
- ldr r2, _0806D714 @ =0x01000040
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuFastSet
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D708: .4byte gUnknown_08376978
-_0806D70C: .4byte gUnknown_03004210
-_0806D710: .4byte 0x06014300
-_0806D714: .4byte 0x01000040
- thumb_func_end sub_806D668
-
- thumb_func_start sub_806D718
-sub_806D718: @ 806D718
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0806D7C4 @ =0x00007fff
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- cmp r4, 0x1
- bhi _0806D736
- ldr r0, _0806D7C8 @ =gPartyMenuMisc_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
-_0806D736:
- cmp r4, 0x2
- beq _0806D73E
- cmp r4, 0
- bne _0806D746
-_0806D73E:
- ldr r0, _0806D7CC @ =gPartyMenuMisc_Tilemap
- ldr r1, _0806D7D0 @ =0x06003800
- bl LZDecompressVram
-_0806D746:
- cmp r4, 0x3
- beq _0806D74E
- cmp r4, 0
- bne _0806D75A
-_0806D74E:
- ldr r0, _0806D7D4 @ =gPartyMenuMisc_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
-_0806D75A:
- cmp r4, 0x4
- beq _0806D762
- cmp r4, 0
- bne _0806D776
-_0806D762:
- mov r0, sp
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _0806D7D8 @ =gFontDefaultPalette
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_0806D776:
- cmp r4, 0x5
- beq _0806D77E
- cmp r4, 0
- bne _0806D786
-_0806D77E:
- ldr r0, _0806D7DC @ =gPartyMenuHpBar_Gfx
- ldr r1, _0806D7E0 @ =0x06006000
- bl LZDecompressVram
-_0806D786:
- cmp r4, 0x6
- beq _0806D78E
- cmp r4, 0
- bne _0806D796
-_0806D78E:
- ldr r0, _0806D7E4 @ =gPartyMenuOrderText_Gfx
- ldr r1, _0806D7E8 @ =0x06006180
- bl LZDecompressVram
-_0806D796:
- cmp r4, 0x7
- beq _0806D79E
- cmp r4, 0
- bne _0806D7A6
-_0806D79E:
- ldr r0, _0806D7EC @ =gStatusGfx_Icons
- ldr r1, _0806D7F0 @ =0x06007180
- bl LZDecompressVram
-_0806D7A6:
- cmp r4, 0x8
- beq _0806D7AE
- cmp r4, 0
- bne _0806D7BA
-_0806D7AE:
- ldr r0, _0806D7F4 @ =gStatusPal_Icons
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadCompressedPalette
- movs r5, 0x1
-_0806D7BA:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0806D7C4: .4byte 0x00007fff
-_0806D7C8: .4byte gPartyMenuMisc_Gfx
-_0806D7CC: .4byte gPartyMenuMisc_Tilemap
-_0806D7D0: .4byte 0x06003800
-_0806D7D4: .4byte gPartyMenuMisc_Pal
-_0806D7D8: .4byte gFontDefaultPalette
-_0806D7DC: .4byte gPartyMenuHpBar_Gfx
-_0806D7E0: .4byte 0x06006000
-_0806D7E4: .4byte gPartyMenuOrderText_Gfx
-_0806D7E8: .4byte 0x06006180
-_0806D7EC: .4byte gStatusGfx_Icons
-_0806D7F0: .4byte 0x06007180
-_0806D7F4: .4byte gStatusPal_Icons
- thumb_func_end sub_806D718
-
- thumb_func_start SetMonIconAnimByHP
-SetMonIconAnimByHP: @ 806D7F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsls r2, 16
- lsrs r5, r1, 16
- asrs r1, 16
- lsrs r4, r2, 16
- asrs r2, 16
- adds r0, r1, 0
- adds r1, r2, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- cmp r5, r4
- beq _0806D830
- movs r2, 0x1
- cmp r0, 0x3
- beq _0806D830
- movs r2, 0x2
- cmp r0, 0x2
- beq _0806D830
- movs r2, 0x4
- cmp r0, 0x1
- bne _0806D830
- movs r2, 0x3
-_0806D830:
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, _0806D848 @ =gSprites
- adds r0, r1
- adds r1, r2, 0
- bl sub_809D824
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D848: .4byte gSprites
- thumb_func_end SetMonIconAnimByHP
-
- thumb_func_start SetMonIconAnim
-SetMonIconAnim: @ 806D84C
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetMonIconAnimByHP
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end SetMonIconAnim
-
- thumb_func_start CreatePartyMenuMonIcon
-CreatePartyMenuMonIcon: @ 806D880
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806D904 @ =gUnknown_08376678
- lsls r1, r5, 2
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- mov r9, r0
- ldrb r1, [r1, 0x1]
- mov r10, r1
- mov r0, r8
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0
- bl GetMonData
- ldr r1, _0806D908 @ =sub_809D62C
- movs r2, 0x5
- str r2, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r9
- mov r3, r10
- bl CreateMonIcon
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl SetMonIconSpriteId_maybe
- adds r0, r4, 0
- mov r1, r8
- bl SetMonIconAnim
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D904: .4byte gUnknown_08376678
-_0806D908: .4byte sub_809D62C
- thumb_func_end CreatePartyMenuMonIcon
-
- thumb_func_start TryCreatePartyMenuMonIcon
-TryCreatePartyMenuMonIcon: @ 806D90C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r8, r6
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806D95A
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806D946
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x2
- adds r3, r4, 0
- bl CreatePartyMenuMonIcon
- b _0806D95A
-_0806D946:
- bl IsDoubleBattle
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r7, 0
- adds r3, r4, 0
- bl CreatePartyMenuMonIcon
-_0806D95A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end TryCreatePartyMenuMonIcon
-
- thumb_func_start unref_sub_806D964
-unref_sub_806D964: @ 806D964
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0806D986
-_0806D96E:
- movs r0, 0x64
- adds r2, r4, 0
- muls r2, r0
- ldr r0, _0806D994 @ =gPlayerParty
- adds r2, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl TryCreatePartyMenuMonIcon
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0806D986:
- ldr r0, _0806D998 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0806D96E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D994: .4byte gPlayerParty
-_0806D998: .4byte gPlayerPartyCount
- thumb_func_end unref_sub_806D964
-
- thumb_func_start CreateMonIcon_806D99C
-CreateMonIcon_806D99C: @ 806D99C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806DA04 @ =gUnknown_08376678
- lsls r1, r5, 2
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r3
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, _0806DA08 @ =sub_809D62C
- movs r4, 0x5
- str r4, [sp]
- mov r7, r8
- ldr r4, [r7, 0x18]
- str r4, [sp, 0x4]
- bl CreateMonIcon
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl SetMonIconSpriteId_maybe
- ldrh r1, [r7, 0x10]
- ldrh r2, [r7, 0x12]
- adds r0, r4, 0
- bl SetMonIconAnimByHP
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DA04: .4byte gUnknown_08376678
-_0806DA08: .4byte sub_809D62C
- thumb_func_end CreateMonIcon_806D99C
-
- thumb_func_start UpdateMonIconFrame_806DA0C
-UpdateMonIconFrame_806DA0C: @ 806DA0C
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0806DA32
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806DA30
- ldr r0, _0806DA2C @ =0x0000fffd
- strh r0, [r4, 0x26]
- b _0806DA32
- .align 2, 0
-_0806DA2C: .4byte 0x0000fffd
-_0806DA30:
- strh r1, [r4, 0x26]
-_0806DA32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end UpdateMonIconFrame_806DA0C
-
- thumb_func_start UpdateMonIconFrame_806DA38
-UpdateMonIconFrame_806DA38: @ 806DA38
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end UpdateMonIconFrame_806DA38
-
- thumb_func_start UpdateMonIconFrame_806DA44
-UpdateMonIconFrame_806DA44: @ 806DA44
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r1, 0x5
- bhi _0806DA8E
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0806DA7C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r2, r1, 2
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1, 0x26]
- strh r0, [r1, 0x2E]
- cmp r4, 0
- bne _0806DA84
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, _0806DA80 @ =UpdateMonIconFrame_806DA38
- b _0806DA8C
- .align 2, 0
-_0806DA7C: .4byte gSprites
-_0806DA80: .4byte UpdateMonIconFrame_806DA38
-_0806DA84:
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, _0806DA94 @ =UpdateMonIconFrame_806DA0C
-_0806DA8C:
- str r1, [r0]
-_0806DA8E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DA94: .4byte UpdateMonIconFrame_806DA0C
- thumb_func_end UpdateMonIconFrame_806DA44
-
- thumb_func_start LoadHeldItemIconGraphics
-LoadHeldItemIconGraphics: @ 806DA98
- push {lr}
- ldr r0, _0806DAAC @ =gUnknown_083765DC
- bl LoadSpriteSheet
- ldr r0, _0806DAB0 @ =gUnknown_083765E4
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_0806DAAC: .4byte gUnknown_083765DC
-_0806DAB0: .4byte gUnknown_083765E4
- thumb_func_end LoadHeldItemIconGraphics
-
- thumb_func_start SpriteCB_HeldItemIcon
-SpriteCB_HeldItemIcon: @ 806DAB4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806DAE4 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _0806DAE8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DB06
- .align 2, 0
-_0806DAE4: .4byte gSprites
-_0806DAE8:
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
-_0806DB06:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_HeldItemIcon
-
- thumb_func_start CreateHeldItemIcon
-CreateHeldItemIcon: @ 806DB0C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _0806DB84 @ =gSprites
- mov r8, r0
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- ldr r0, _0806DB88 @ =gSpriteTemplate_837660C
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xFA
- movs r2, 0xAA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r0, r8
- adds r5, r4, r0
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, _0806DB8C @ =SpriteCB_HeldItemIcon
- str r0, [r4]
- strh r6, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r9
- bl StartSpriteAnim
- ldr r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DB84: .4byte gSprites
-_0806DB88: .4byte gSpriteTemplate_837660C
-_0806DB8C: .4byte SpriteCB_HeldItemIcon
- thumb_func_end CreateHeldItemIcon
-
- thumb_func_start CreateHeldItemIcons
-CreateHeldItemIcons: @ 806DB90
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- beq _0806DBA4
- cmp r2, 0x1
- beq _0806DBEC
- b _0806DC28
-_0806DBA4:
- movs r5, 0
- ldrb r0, [r6]
- cmp r5, r0
- bcs _0806DC28
-_0806DBAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0806DBE8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806DBD8
- adds r0, r7, r5
- ldrb r4, [r0]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemIcon
-_0806DBD8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6]
- cmp r5, r0
- bcc _0806DBAC
- b _0806DC28
- .align 2, 0
-_0806DBE8: .4byte gPlayerParty
-_0806DBEC:
- movs r5, 0
- b _0806DC22
-_0806DBF0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0806DC30 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806DC1C
- adds r0, r5, r7
- ldrb r4, [r0, 0x6]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemIcon
-_0806DC1C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0806DC22:
- ldrb r0, [r6, 0x1]
- cmp r5, r0
- bcc _0806DBF0
-_0806DC28:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DC30: .4byte gEnemyParty
- thumb_func_end CreateHeldItemIcons
-
- thumb_func_start CreateHeldItemIcons_806DC34
-CreateHeldItemIcons_806DC34: @ 806DC34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- ldr r0, _0806DCC8 @ =gSprites
- mov r9, r0
- movs r1, 0x1C
- add r1, r9
- mov r10, r1
-_0806DC50:
- movs r0, 0x64
- muls r0, r7
- ldr r1, _0806DCCC @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806DCB0
- mov r0, r8
- adds r1, r7, 0
- bl GetMonIconSpriteId_maybe
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0806DCD0 @ =gSpriteTemplate_837660C
- movs r1, 0xFA
- movs r2, 0xAA
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r1, r9
- adds r6, r4, r1
- movs r1, 0x4
- strh r1, [r6, 0x24]
- movs r1, 0xA
- strh r1, [r6, 0x26]
- strh r5, [r6, 0x3C]
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- add r1, r9
- strh r0, [r1, 0x3C]
- mov r0, r8
- adds r1, r7, 0
- bl SetHeldItemIconVisibility
- add r4, r10
- ldr r1, [r4]
- adds r0, r6, 0
- bl _call_via_r1
-_0806DCB0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _0806DC50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DCC8: .4byte gSprites
-_0806DCCC: .4byte gPlayerParty
-_0806DCD0: .4byte gSpriteTemplate_837660C
- thumb_func_end CreateHeldItemIcons_806DC34
-
- thumb_func_start CreateHeldItemIcon_806DCD4
-CreateHeldItemIcon_806DCD4: @ 806DCD4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r7, r2, 16
- bl GetMonIconSpriteId_maybe
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0806DD2C @ =gSpriteTemplate_837660C
- movs r1, 0xFA
- movs r2, 0xAA
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0806DD30 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r0, r1
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- strh r4, [r5, 0x3C]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- strh r6, [r0, 0x3C]
- cmp r7, 0
- bne _0806DD34
- adds r0, r5, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DD5C
- .align 2, 0
-_0806DD2C: .4byte gSpriteTemplate_837660C
-_0806DD30: .4byte gSprites
-_0806DD34:
- adds r0, r7, 0
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0806DD46
- adds r0, r5, 0
- movs r1, 0x1
- b _0806DD4A
-_0806DD46:
- adds r0, r5, 0
- movs r1, 0
-_0806DD4A:
- bl StartSpriteAnim
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0806DD5C:
- ldr r2, _0806DD78 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r1, r0, r1
- adds r0, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DD78: .4byte gSprites
- thumb_func_end CreateHeldItemIcon_806DCD4
-
- thumb_func_start SpriteCB_HeldItemIcon_806DD7C
-SpriteCB_HeldItemIcon_806DD7C: @ 806DD7C
- ldrh r2, [r0, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0806DD9C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_0806DD9C: .4byte gSprites
- thumb_func_end SpriteCB_HeldItemIcon_806DD7C
-
- thumb_func_start GetMonIconSpriteId_maybe
-GetMonIconSpriteId_maybe: @ 806DDA0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _0806DE38
- lsls r0, 2
- ldr r1, _0806DDB8 @ =_0806DDBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806DDB8: .4byte _0806DDBC
- .align 2, 0
-_0806DDBC:
- .4byte _0806DE38
- .4byte _0806DDD4
- .4byte _0806DDE8
- .4byte _0806DDFC
- .4byte _0806DE10
- .4byte _0806DE24
-_0806DDD4:
- ldr r0, _0806DDE4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- b _0806DE46
- .align 2, 0
-_0806DDE4: .4byte gTasks
-_0806DDE8:
- ldr r0, _0806DDF8 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- b _0806DE44
- .align 2, 0
-_0806DDF8: .4byte gTasks
-_0806DDFC:
- ldr r0, _0806DE0C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0xA]
- b _0806DE46
- .align 2, 0
-_0806DE0C: .4byte gTasks
-_0806DE10:
- ldr r0, _0806DE20 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _0806DE44
- .align 2, 0
-_0806DE20: .4byte gTasks
-_0806DE24:
- ldr r0, _0806DE34 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0xC]
- b _0806DE46
- .align 2, 0
-_0806DE34: .4byte gTasks
-_0806DE38:
- ldr r0, _0806DE4C @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
-_0806DE44:
- lsrs r0, 8
-_0806DE46:
- pop {r1}
- bx r1
- .align 2, 0
-_0806DE4C: .4byte gTasks
- thumb_func_end GetMonIconSpriteId_maybe
-
- thumb_func_start SetMonIconSpriteId_maybe
-SetMonIconSpriteId_maybe: @ 806DE50
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r0, 0x5
- bhi _0806DF24
- lsls r0, 2
- ldr r1, _0806DE6C @ =_0806DE70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806DE6C: .4byte _0806DE70
- .align 2, 0
-_0806DE70:
- .4byte _0806DE88
- .4byte _0806DEA0
- .4byte _0806DEC0
- .4byte _0806DED8
- .4byte _0806DEF8
- .4byte _0806DF10
-_0806DE88:
- ldr r1, _0806DE9C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x8]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0x8]
- b _0806DF24
- .align 2, 0
-_0806DE9C: .4byte gTasks
-_0806DEA0:
- ldr r0, _0806DEB8 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0x8]
- ldr r0, _0806DEBC @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0x8]
- b _0806DF24
- .align 2, 0
-_0806DEB8: .4byte gTasks
-_0806DEBC: .4byte 0xffffff00
-_0806DEC0:
- ldr r1, _0806DED4 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xA]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0xA]
- b _0806DF24
- .align 2, 0
-_0806DED4: .4byte gTasks
-_0806DED8:
- ldr r0, _0806DEF0 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xA]
- ldr r0, _0806DEF4 @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0xA]
- b _0806DF24
- .align 2, 0
-_0806DEF0: .4byte gTasks
-_0806DEF4: .4byte 0xffffff00
-_0806DEF8:
- ldr r1, _0806DF0C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xC]
- lsls r2, r4, 8
- orrs r1, r2
- strh r1, [r0, 0xC]
- b _0806DF24
- .align 2, 0
-_0806DF0C: .4byte gTasks
-_0806DF10:
- ldr r0, _0806DF2C @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xC]
- ldr r0, _0806DF30 @ =0xffffff00
- ands r0, r2
- orrs r0, r4
- strh r0, [r1, 0xC]
-_0806DF24:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DF2C: .4byte gTasks
-_0806DF30: .4byte 0xffffff00
- thumb_func_end SetMonIconSpriteId_maybe
-
- thumb_func_start GetHeldItemIconSpriteIdByMon_maybe
-GetHeldItemIconSpriteIdByMon_maybe: @ 806DF34
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806DF5C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0806DF5C: .4byte gSprites
- thumb_func_end GetHeldItemIconSpriteIdByMon_maybe
-
- thumb_func_start SetHeldItemIconVisibility
-SetHeldItemIconVisibility: @ 806DF60
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl GetHeldItemIconSpriteIdByMon_maybe
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _0806DFA4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- bne _0806DFAC
- ldr r1, _0806DFA8 @ =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806DFF6
- .align 2, 0
-_0806DFA4: .4byte gPlayerParty
-_0806DFA8: .4byte gSprites
-_0806DFAC:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0806DFD8
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, _0806DFD4 @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x1
- b _0806DFE6
- .align 2, 0
-_0806DFD4: .4byte gSprites
-_0806DFD8:
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- ldr r0, _0806DFFC @ =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
-_0806DFE6:
- bl StartSpriteAnim
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
-_0806DFF6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806DFFC: .4byte gSprites
- thumb_func_end SetHeldItemIconVisibility
-
- thumb_func_start box_print
-box_print: @ 806E000
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E040 @ =gTileBuffer
- ldr r2, _0806E044 @ =0x01000100
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E048 @ =gWindowConfig_81E6CAC
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E04C @ =0x06014000
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x80
- bl CpuFastSet
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E040: .4byte gTileBuffer
-_0806E044: .4byte 0x01000100
-_0806E048: .4byte gWindowConfig_81E6CAC
-_0806E04C: .4byte 0x06014000
- thumb_func_end box_print
-
- thumb_func_start PrintPartyMenuMonNickname
-PrintPartyMenuMonNickname: @ 806E050
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r1, sp
- bl GetMonNickname
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- bl box_print
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PrintPartyMenuMonNickname
-
- thumb_func_start TryPrintPartyMenuMonNickname
-TryPrintPartyMenuMonNickname: @ 806E07C
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E0BC
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E0AA
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PrintPartyMenuMonNickname
- b _0806E0BC
-_0806E0AA:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PrintPartyMenuMonNickname
-_0806E0BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end TryPrintPartyMenuMonNickname
-
- thumb_func_start PrintPartyMenuMonNicknames
-PrintPartyMenuMonNicknames: @ 806E0C4
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E0E8 @ =gPlayerParty
-_0806E0CC:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl TryPrintPartyMenuMonNickname
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E0CC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E0E8: .4byte gPlayerParty
- thumb_func_end PrintPartyMenuMonNicknames
-
- thumb_func_start GetMonNickname
-GetMonNickname: @ 806E0EC
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNickname
-
- thumb_func_start PartyMenuPutStatusTilemap
-PartyMenuPutStatusTilemap: @ 806E104
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0806E15C @ =gUnknown_08376738
- lsrs r0, 22
- lsls r3, r1, 1
- adds r3, r1
- lsls r3, 3
- adds r0, r3
- adds r0, r4
- ldrb r1, [r0]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r0, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 19
- adds r1, r0
- lsls r1, 1
- ldr r0, _0806E160 @ =0x0600f000
- adds r4, r1, r0
- lsls r2, 26
- lsrs r2, 24
- movs r3, 0
- movs r0, 0xC6
- lsls r0, 1
- adds r2, r0
- ldr r0, _0806E164 @ =0xffffb000
- adds r5, r0, 0
-_0806E142:
- lsls r0, r3, 1
- adds r0, r4
- adds r1, r2, r3
- orrs r1, r5
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0806E142
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E15C: .4byte gUnknown_08376738
-_0806E160: .4byte 0x0600f000
-_0806E164: .4byte 0xffffb000
- thumb_func_end PartyMenuPutStatusTilemap
-
- thumb_func_start PartyMenuClearLevelStatusTilemap
-PartyMenuClearLevelStatusTilemap: @ 806E168
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E17E
- movs r3, 0x2
- b _0806E186
-_0806E17E:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r3, r0, 24
-_0806E186:
- ldr r1, _0806E1C8 @ =gUnknown_08376738
- lsls r2, r4, 2
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- ldrb r1, [r2]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r2, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 19
- adds r1, r0
- lsls r1, 1
- ldr r0, _0806E1CC @ =0x0600f000
- adds r1, r0
- movs r3, 0
- movs r2, 0
-_0806E1B0:
- lsls r0, r3, 1
- adds r0, r1
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0806E1B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E1C8: .4byte gUnknown_08376738
-_0806E1CC: .4byte 0x0600f000
- thumb_func_end PartyMenuClearLevelStatusTilemap
-
- thumb_func_start PartyMenuWriteTilemap
-PartyMenuWriteTilemap: @ 806E1D0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 19
- adds r1, r2
- lsls r1, 1
- ldr r2, _0806E1F0 @ =0x0600f000
- adds r1, r2
- movs r2, 0x86
- lsls r2, 1
- adds r0, r2
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0806E1F0: .4byte 0x0600f000
- thumb_func_end PartyMenuWriteTilemap
-
- thumb_func_start PartyMenuDoPrintLevel
-PartyMenuDoPrintLevel: @ 806E1F4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r3, _0806E278 @ =gUnknown_08376738
- lsls r2, r4, 2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r2, r3
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x40
- bl PartyMenuWriteTilemap
- ldr r6, _0806E27C @ =gStringVar1
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x12
- strb r0, [r6, 0x1]
- movs r0, 0x8
- strb r0, [r6, 0x2]
- adds r0, r6, 0x3
- adds r1, r5, 0
- bl ConvertIntToDecimalString
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E280 @ =gUnknown_02039460
- ldr r2, _0806E284 @ =0x01000020
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E288 @ =gWindowConfig_81E6CAC
- ldr r2, _0806E28C @ =0xffffff00
- adds r1, r5, r2
- adds r2, r6, 0
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E290 @ =0x06014200
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x20
- bl CpuFastSet
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E278: .4byte gUnknown_08376738
-_0806E27C: .4byte gStringVar1
-_0806E280: .4byte gUnknown_02039460
-_0806E284: .4byte 0x01000020
-_0806E288: .4byte gWindowConfig_81E6CAC
-_0806E28C: .4byte 0xffffff00
-_0806E290: .4byte 0x06014200
- thumb_func_end PartyMenuDoPrintLevel
-
- thumb_func_start PartyMenuPrintLevel
-PartyMenuPrintLevel: @ 806E294
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x38
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl PartyMenuDoPrintLevel
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintLevel
-
- thumb_func_start PartyMenuPrintMonLevelOrStatus
-PartyMenuPrintMonLevelOrStatus: @ 806E2C0
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E32E
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E32E
- adds r0, r5, 0
- bl GetMonStatusAndPokerus
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E2FA
- movs r6, 0x2
- b _0806E302
-_0806E2FA:
- bl IsDoubleBattle
- lsls r0, 24
- lsrs r6, r0, 24
-_0806E302:
- cmp r4, 0
- beq _0806E31A
- cmp r4, 0x6
- beq _0806E31A
- subs r2, r4, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- adds r1, r6, 0
- bl PartyMenuPutStatusTilemap
- b _0806E324
-_0806E31A:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl PartyMenuPrintLevel
-_0806E324:
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl PartyMenuPutNicknameTilemap
-_0806E32E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintMonLevelOrStatus
-
- thumb_func_start PartyMenuPrintMonsLevelOrStatus
-PartyMenuPrintMonsLevelOrStatus: @ 806E334
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E358 @ =gPlayerParty
-_0806E33C:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuPrintMonLevelOrStatus
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E33C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E358: .4byte gPlayerParty
- thumb_func_end PartyMenuPrintMonsLevelOrStatus
-
- thumb_func_start PartyMenuDoPutNicknameTilemap
-PartyMenuDoPutNicknameTilemap: @ 806E35C
- push {r4-r7,lr}
- ldr r4, [sp, 0x14]
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r1, r4, 0
- bl sub_8040D8C
- cmp r0, 0
- bne _0806E3BA
- ldr r2, _0806E3A4 @ =gUnknown_08376738
- lsls r1, r6, 2
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x3
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r7, 0
- beq _0806E3A8
- cmp r7, 0xFE
- beq _0806E3B2
- b _0806E3BA
- .align 2, 0
-_0806E3A4: .4byte gUnknown_08376738
-_0806E3A8:
- movs r0, 0x42
- adds r1, r3, 0
- bl PartyMenuWriteTilemap
- b _0806E3BA
-_0806E3B2:
- movs r0, 0x44
- adds r1, r3, 0
- bl PartyMenuWriteTilemap
-_0806E3BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuDoPutNicknameTilemap
-
- thumb_func_start PartyMenuPutNicknameTilemap
-PartyMenuPutNicknameTilemap: @ 806E3C0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _0806E41C @ =gStringVar1
- mov r9, r0
- adds r0, r5, 0
- mov r1, r9
- bl GetMonNickname
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl GetMonGender
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r6, 0
- mov r3, r8
- bl PartyMenuDoPutNicknameTilemap
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E41C: .4byte gStringVar1
- thumb_func_end PartyMenuPutNicknameTilemap
-
- thumb_func_start PartyMenuDoPrintHP
-PartyMenuDoPrintHP: @ 806E420
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r1, r2, 0
- adds r5, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r2, _0806E48C @ =gStringVar1
- adds r0, r2, 0
- movs r2, 0xF
- movs r3, 0x1
- bl sub_8072C14
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- adds r2, 0x1
- adds r0, r2, 0
- adds r1, r5, 0
- movs r2, 0x23
- movs r3, 0x1
- bl sub_8072C14
- movs r0, 0
- str r0, [sp]
- ldr r5, _0806E490 @ =gUnknown_02039460
- ldr r2, _0806E494 @ =0x01000040
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- ldr r0, _0806E498 @ =gWindowConfig_81E6CAC
- ldr r2, _0806E49C @ =0xffffff00
- adds r1, r5, r2
- ldr r2, _0806E48C @ =gStringVar1
- bl sub_8004E3C
- lsls r4, 10
- ldr r0, _0806E4A0 @ =0x06014300
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x40
- bl CpuFastSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E48C: .4byte gStringVar1
-_0806E490: .4byte gUnknown_02039460
-_0806E494: .4byte 0x01000040
-_0806E498: .4byte gWindowConfig_81E6CAC
-_0806E49C: .4byte 0xffffff00
-_0806E4A0: .4byte 0x06014300
- thumb_func_end PartyMenuDoPrintHP
-
- thumb_func_start PartyMenuPrintHP
-PartyMenuPrintHP: @ 806E4A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl PartyMenuDoPrintHP
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuPrintHP
-
- thumb_func_start PartyMenuTryPrintHP
-PartyMenuTryPrintHP: @ 806E4E8
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E534
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E534
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E522
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PartyMenuPrintHP
- b _0806E534
-_0806E522:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PartyMenuPrintHP
-_0806E534:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuTryPrintHP
-
- thumb_func_start PartyMenuTryPrintMonsHP
-PartyMenuTryPrintMonsHP: @ 806E53C
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E560 @ =gPlayerParty
-_0806E544:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuTryPrintHP
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E544
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E560: .4byte gPlayerParty
- thumb_func_end PartyMenuTryPrintMonsHP
-
- thumb_func_start unref_sub_806E564
-unref_sub_806E564: @ 806E564
- bx lr
- thumb_func_end unref_sub_806E564
-
- thumb_func_start unref_sub_806E568
-unref_sub_806E568: @ 806E568
- bx lr
- thumb_func_end unref_sub_806E568
-
- thumb_func_start nullsub_12
-nullsub_12: @ 806E56C
- bx lr
- thumb_func_end nullsub_12
-
- thumb_func_start nullsub_13
-nullsub_13: @ 806E570
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start PartyMenuDoDrawHPBar
-PartyMenuDoDrawHPBar: @ 806E574
- push {r4-r6,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _0806E624 @ =0xffff8000
- str r0, [sp, 0x14]
- str r3, [sp]
- str r2, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- lsls r2, 16
- asrs r2, 16
- lsls r3, 16
- asrs r3, 16
- adds r0, r2, 0
- adds r1, r3, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- cmp r3, 0x2
- bls _0806E5BE
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5BE:
- cmp r3, 0x2
- bne _0806E5D2
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x5
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5D2:
- cmp r4, 0x1
- bhi _0806E5E6
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r0, 0x20
- negs r0, r0
- ands r0, r1
- movs r1, 0x6
- orrs r0, r1
- strb r0, [r2, 0xC]
-_0806E5E6:
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp, 0x10]
- ldr r2, _0806E628 @ =gUnknown_08376858
- lsls r1, r6, 2
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldr r4, [r1]
- add r1, sp, 0x14
- mov r0, sp
- adds r2, r4, 0
- movs r3, 0
- bl sub_80460C8
- subs r4, 0x4
- ldr r1, _0806E62C @ =0x00003109
- adds r0, r1, 0
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- strh r0, [r4, 0x2]
- adds r1, 0x1
- adds r0, r1, 0
- strh r0, [r4, 0x10]
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E624: .4byte 0xffff8000
-_0806E628: .4byte gUnknown_08376858
-_0806E62C: .4byte 0x00003109
- thumb_func_end PartyMenuDoDrawHPBar
-
- thumb_func_start PartyMenuDrawHPBar
-PartyMenuDrawHPBar: @ 806E630
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl PartyMenuDoDrawHPBar
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuDrawHPBar
-
- thumb_func_start PartyMenuTryDrawHPBar
-PartyMenuTryDrawHPBar: @ 806E674
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0806E6C0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0806E6C0
- bl IsLinkDoubleBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E6AE
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl PartyMenuDrawHPBar
- b _0806E6C0
-_0806E6AE:
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r4, 0
- bl PartyMenuDrawHPBar
-_0806E6C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuTryDrawHPBar
-
- thumb_func_start PartyMenuDrawHPBars
-PartyMenuDrawHPBars: @ 806E6C8
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x64
- ldr r5, _0806E6EC @ =gPlayerParty
-_0806E6D0:
- adds r1, r4, 0
- muls r1, r6
- adds r1, r5
- adds r0, r4, 0
- bl PartyMenuTryDrawHPBar
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0806E6D0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806E6EC: .4byte gPlayerParty
- thumb_func_end PartyMenuDrawHPBars
-
- thumb_func_start sub_806E6F0
-sub_806E6F0: @ 806E6F0
- push {r4,r5,lr}
- sub sp, 0x64
- adds r4, r0, 0
- adds r5, r1, 0
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x64
- bl memcpy
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806E6F0
-
- thumb_func_start sub_806E720
-sub_806E720: @ 806E720
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 21
- adds r0, r3
- ldrb r4, [r0]
- lsls r4, 25
- movs r3, 0x80
- lsls r3, 18
- adds r4, r3
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1E
- subs r3, r0
- strb r3, [r1]
- movs r0, 0x14
- subs r0, r4
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806E720
-
- thumb_func_start sub_806E750
-sub_806E750: @ 806E750
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r5, r0, 0
- adds r4, r1, 0
- mov r9, r2
- adds r6, r3, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x9
- add r0, sp
- mov r8, r0
- adds r0, r5, 0
- add r1, sp, 0x8
- mov r2, r8
- adds r3, r4, 0
- bl sub_806E720
- add r0, sp, 0x8
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- lsls r5, 3
- adds r5, r4
- ldrb r2, [r5, 0x1]
- ldrb r3, [r5]
- mov r4, r9
- str r4, [sp]
- ldr r4, [r5, 0x4]
- str r4, [sp, 0x4]
- bl sub_8089C50
- add r0, sp, 0x8
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- ldrb r2, [r0]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r5]
- str r6, [sp]
- ldrb r0, [r5, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- bl InitMenu
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806E750
-
- thumb_func_start sub_806E7D0
-sub_806E7D0: @ 806E7D0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- mov r5, sp
- adds r5, 0x1
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_806E720
- mov r0, sp
- ldrb r0, [r0]
- ldrb r1, [r5]
- lsls r4, 3
- adds r4, r6
- ldrb r2, [r4, 0x1]
- adds r2, r0, r2
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4]
- lsls r3, 1
- adds r3, r1, r3
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- bl HandleDestroyMenuCursors
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806E7D0
-
- thumb_func_start PartyMenuGetPopupMenuFunc
-PartyMenuGetPopupMenuFunc: @ 806E81C
- lsls r0, 24
- lsls r3, 24
- lsrs r3, 24
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0, 0x4]
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0, 0x4]
- bx lr
- thumb_func_end PartyMenuGetPopupMenuFunc
-
- .section .text_8070968
-
- thumb_func_start sub_8070968
-sub_8070968: @ 8070968
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r7, 0
- ldr r0, _08070A10 @ =0x0201c000
- mov r9, r0
- ldr r1, _08070A14 @ =0xfffff264
- add r1, r9
- mov r10, r1
- ldr r0, _08070A18 @ =gStringVar1
- mov r8, r0
-_08070982:
- mov r1, r9
- ldr r0, [r1]
- ldr r1, _08070A1C @ =gUnknown_08376D1C
- adds r1, r7, r1
- ldrb r1, [r1]
- bl GetMonData
- adds r6, r7, 0x6
- lsls r6, 1
- add r6, r10
- strh r0, [r6]
- adds r0, r7, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- adds r4, 0xB
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- movs r1, 0x3
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 1
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0xFC
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x14
- strb r0, [r1, 0x1]
- movs r0, 0x6
- strb r0, [r1, 0x2]
- movs r0, 0
- ldrsh r1, [r6, r0]
- mov r0, r8
- adds r0, 0x3
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r4, 0x6
- lsls r4, 3
- adds r4, 0x6
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 3
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl MenuPrint_PixelCoords
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _08070982
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070A10: .4byte 0x0201c000
-_08070A14: .4byte 0xfffff264
-_08070A18: .4byte gStringVar1
-_08070A1C: .4byte gUnknown_08376D1C
- thumb_func_end sub_8070968
-
- thumb_func_start sub_8070A20
-sub_8070A20: @ 8070A20
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- bl GetMonStatusAndPokerus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08070A3A
- cmp r0, 0x6
- bne _08070A42
-_08070A3A:
- adds r0, r6, 0
- adds r1, r7, 0
- bl PartyMenuUpdateLevelOrStatus
-_08070A42:
- bl IsDoubleBattle
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl PartyMenuDoPrintHP
- adds r0, r7, 0
- adds r1, r6, 0
- bl PartyMenuTryDrawHPBar
- ldr r4, _08070ABC @ =0x0201c000
- ldrb r0, [r4, 0x4]
- adds r1, r7, 0
- bl GetMonIconSpriteId_maybe
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- bl SetMonIconAnim
- bl IsDoubleBattle
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- lsls r1, r7, 1
- adds r0, r1
- ldr r1, _08070AC0 @ =gUnknown_083769A8
- adds r0, r1
- movs r1, 0x7
- bl task_pc_turn_off
- ldr r0, _08070AC4 @ =0xfffff261
- adds r4, r0
- movs r0, 0x2
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070ABC: .4byte 0x0201c000
-_08070AC0: .4byte gUnknown_083769A8
-_08070AC4: .4byte 0xfffff261
- thumb_func_end sub_8070A20
-
- thumb_func_start Task_RareCandy3
-Task_RareCandy3: @ 8070AC8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- bne _08070ADC
- b _08070C2C
-_08070ADC:
- ldr r0, _08070B24 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08070AF4
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08070AF4
- b _08070C2C
-_08070AF4:
- movs r0, 0xB
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x7
- bl MenuZeroFillWindowRect
- ldr r7, _08070B28 @ =0x0201c000
- ldr r0, [r7]
- movs r1, 0x1
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _08070B2C @ =0xfffff282
- adds r0, r7, r1
- strh r5, [r0]
- ldr r0, _08070B30 @ =0x0000fffe
- cmp r4, r0
- beq _08070BDC
- cmp r4, r0
- bgt _08070B34
- cmp r4, 0
- beq _08070B40
- b _08070BF4
- .align 2, 0
-_08070B24: .4byte gMain
-_08070B28: .4byte 0x0201c000
-_08070B2C: .4byte 0xfffff282
-_08070B30: .4byte 0x0000fffe
-_08070B34:
- ldr r0, _08070B3C @ =0x0000ffff
- cmp r4, r0
- beq _08070B7C
- b _08070BF4
- .align 2, 0
-_08070B3C: .4byte 0x0000ffff
-_08070B40:
- ldr r0, [r7]
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08070B74
- ldr r1, _08070B6C @ =gCB2_AfterEvolution
- ldr r0, _08070B70 @ =sub_80A53F8
- str r0, [r1]
- ldr r0, [r7]
- ldrb r3, [r7, 0x5]
- adds r1, r2, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r6, 0
- bl DestroyTask
- b _08070C2C
- .align 2, 0
-_08070B6C: .4byte gCB2_AfterEvolution
-_08070B70: .4byte sub_80A53F8
-_08070B74:
- adds r0, r6, 0
- bl sub_8070D90
- b _08070C2C
-_08070B7C:
- ldr r0, [r7]
- ldr r1, _08070BBC @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070BC0 @ =gStringVar2
- ldr r5, _08070BC4 @ =gMoveToLearn
- ldrh r2, [r5]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08070BC8 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070BCC @ =gStringVar4
- ldr r1, _08070BD0 @ =gOtherText_WantsToLearn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldrh r0, [r5]
- strh r0, [r7, 0x8]
- ldr r1, _08070BD4 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070BD8 @ =sub_806F358
- b _08070C2A
- .align 2, 0
-_08070BBC: .4byte gStringVar1
-_08070BC0: .4byte gStringVar2
-_08070BC4: .4byte gMoveToLearn
-_08070BC8: .4byte gMoveNames
-_08070BCC: .4byte gStringVar4
-_08070BD0: .4byte gOtherText_WantsToLearn
-_08070BD4: .4byte gTasks
-_08070BD8: .4byte sub_806F358
-_08070BDC:
- ldr r0, _08070BEC @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _08070BF0 @ =sub_8070C54
- str r0, [r1]
- b _08070C2C
- .align 2, 0
-_08070BEC: .4byte gTasks
-_08070BF0: .4byte sub_8070C54
-_08070BF4:
- ldr r0, _08070C34 @ =0x0201c000
- ldr r0, [r0]
- ldr r1, _08070C38 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070C3C @ =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, _08070C40 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070C44 @ =gStringVar4
- ldr r1, _08070C48 @ =gOtherText_LearnedMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldr r1, _08070C4C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070C50 @ =Task_TeamMonTMMove3
-_08070C2A:
- str r1, [r0]
-_08070C2C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070C34: .4byte 0x0201c000
-_08070C38: .4byte gStringVar1
-_08070C3C: .4byte gStringVar2
-_08070C40: .4byte gMoveNames
-_08070C44: .4byte gStringVar4
-_08070C48: .4byte gOtherText_LearnedMove
-_08070C4C: .4byte gTasks
-_08070C50: .4byte Task_TeamMonTMMove3
- thumb_func_end Task_RareCandy3
-
- thumb_func_start sub_8070C54
-sub_8070C54: @ 8070C54
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _08070C78 @ =0x0201c000
- ldr r0, [r7]
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _08070C7C @ =0x0000fffe
- cmp r4, r0
- beq _08070D28
- cmp r4, r0
- bgt _08070C80
- cmp r4, 0
- beq _08070C8C
- b _08070D30
- .align 2, 0
-_08070C78: .4byte 0x0201c000
-_08070C7C: .4byte 0x0000fffe
-_08070C80:
- ldr r0, _08070C88 @ =0x0000ffff
- cmp r4, r0
- beq _08070CC8
- b _08070D30
- .align 2, 0
-_08070C88: .4byte 0x0000ffff
-_08070C8C:
- ldr r0, [r7]
- movs r1, 0
- movs r2, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08070CC0
- ldr r1, _08070CB8 @ =gCB2_AfterEvolution
- ldr r0, _08070CBC @ =sub_80A53F8
- str r0, [r1]
- ldr r0, [r7]
- ldrb r3, [r7, 0x5]
- adds r1, r2, 0
- movs r2, 0x1
- bl BeginEvolutionScene
- adds r0, r6, 0
- bl DestroyTask
- b _08070D68
- .align 2, 0
-_08070CB8: .4byte gCB2_AfterEvolution
-_08070CBC: .4byte sub_80A53F8
-_08070CC0:
- adds r0, r6, 0
- bl sub_8070D90
- b _08070D68
-_08070CC8:
- ldr r0, [r7]
- ldr r1, _08070D08 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070D0C @ =gStringVar2
- ldr r5, _08070D10 @ =gMoveToLearn
- ldrh r2, [r5]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08070D14 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070D18 @ =gStringVar4
- ldr r1, _08070D1C @ =gOtherText_WantsToLearn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldrh r0, [r5]
- strh r0, [r7, 0x8]
- ldr r1, _08070D20 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070D24 @ =sub_806F358
- b _08070D66
- .align 2, 0
-_08070D08: .4byte gStringVar1
-_08070D0C: .4byte gStringVar2
-_08070D10: .4byte gMoveToLearn
-_08070D14: .4byte gMoveNames
-_08070D18: .4byte gStringVar4
-_08070D1C: .4byte gOtherText_WantsToLearn
-_08070D20: .4byte gTasks
-_08070D24: .4byte sub_806F358
-_08070D28:
- adds r0, r6, 0
- bl sub_8070C54
- b _08070D68
-_08070D30:
- ldr r0, _08070D70 @ =0x0201c000
- ldr r0, [r0]
- ldr r1, _08070D74 @ =gStringVar1
- bl GetMonNickname
- ldr r0, _08070D78 @ =gStringVar2
- movs r1, 0xD
- muls r1, r4
- ldr r2, _08070D7C @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r4, _08070D80 @ =gStringVar4
- ldr r1, _08070D84 @ =gOtherText_LearnedMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806E834
- ldr r1, _08070D88 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070D8C @ =Task_TeamMonTMMove3
-_08070D66:
- str r1, [r0]
-_08070D68:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08070D70: .4byte 0x0201c000
-_08070D74: .4byte gStringVar1
-_08070D78: .4byte gStringVar2
-_08070D7C: .4byte gMoveNames
-_08070D80: .4byte gStringVar4
-_08070D84: .4byte gOtherText_LearnedMove
-_08070D88: .4byte gTasks
-_08070D8C: .4byte Task_TeamMonTMMove3
- thumb_func_end sub_8070C54
-
- thumb_func_start sub_8070D90
-sub_8070D90: @ 8070D90
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08070DB4 @ =gTasks
- ldr r3, _08070DB8 @ =0x0201c000
- ldrb r2, [r3, 0x4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r4
- ldr r2, [r3, 0x10]
- str r2, [r1]
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08070DB4: .4byte gTasks
-_08070DB8: .4byte 0x0201c000
- thumb_func_end sub_8070D90
-
- thumb_func_start DoEvolutionStoneItemEffect
-DoEvolutionStoneItemEffect: @ 8070DBC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r6, r1, 16
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08070E18 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08070E1C @ =TaskDummy
- str r1, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_806E8D0
- ldr r1, _08070E20 @ =gCB2_AfterEvolution
- ldr r0, _08070E24 @ =sub_80A53F8
- str r0, [r1]
- ldr r0, _08070E28 @ =0x0201c000
- ldrb r0, [r0, 0x5]
- adds r1, r6, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- beq _08070E38
- ldr r1, _08070E2C @ =gUnknown_0202E8F4
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08070E30 @ =gOtherText_WontHaveAnyEffect
- movs r1, 0x1
- bl sub_806E834
- ldr r0, _08070E34 @ =sub_806FB0C
- movs r1, 0x5
- bl CreateTask
- b _08070E40
- .align 2, 0
-_08070E18: .4byte gTasks
-_08070E1C: .4byte TaskDummy
-_08070E20: .4byte gCB2_AfterEvolution
-_08070E24: .4byte sub_80A53F8
-_08070E28: .4byte 0x0201c000
-_08070E2C: .4byte gUnknown_0202E8F4
-_08070E30: .4byte gOtherText_WontHaveAnyEffect
-_08070E34: .4byte sub_806FB0C
-_08070E38:
- adds r0, r6, 0
- movs r1, 0x1
- bl RemoveBagItem
-_08070E40:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DoEvolutionStoneItemEffect
-
- thumb_func_start GetItemEffectType
-GetItemEffectType: @ 8070E48
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08070E5C
- ldr r4, _08070E58 @ =gSaveBlock1 + 0x3676
- b _08070E66
- .align 2, 0
-_08070E58: .4byte gSaveBlock1 + 0x3676
-_08070E5C:
- ldr r1, _08070E8C @ =gItemEffectTable
- subs r0, 0xD
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
-_08070E66:
- ldrb r1, [r4]
- movs r5, 0x3F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08070E88
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08070E88
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08070E88
- ldrb r3, [r4, 0x3]
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _08070E90
-_08070E88:
- movs r0, 0
- b _08070F8A
- .align 2, 0
-_08070E8C: .4byte gItemEffectTable
-_08070E90:
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08070E9E
- movs r0, 0xA
- b _08070F8A
-_08070E9E:
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _08070EAA
- movs r0, 0x1
- b _08070F8A
-_08070EAA:
- adds r2, r5, 0
- ands r2, r3
- cmp r2, 0
- bne _08070EB8
- lsrs r0, r1, 7
- cmp r0, 0
- beq _08070EFA
-_08070EB8:
- cmp r2, 0x20
- bne _08070EC0
- movs r0, 0x4
- b _08070F8A
-_08070EC0:
- cmp r2, 0x10
- bne _08070EC8
- movs r0, 0x3
- b _08070F8A
-_08070EC8:
- cmp r2, 0x8
- bne _08070ED0
- movs r0, 0x5
- b _08070F8A
-_08070ED0:
- cmp r2, 0x4
- bne _08070ED8
- movs r0, 0x6
- b _08070F8A
-_08070ED8:
- cmp r2, 0x2
- bne _08070EE0
- movs r0, 0x7
- b _08070F8A
-_08070EE0:
- cmp r2, 0x1
- bne _08070EE8
- movs r0, 0x8
- b _08070F8A
-_08070EE8:
- lsrs r0, r1, 7
- cmp r0, 0
- beq _08070EF6
- cmp r2, 0
- bne _08070EF6
- movs r0, 0x9
- b _08070F8A
-_08070EF6:
- movs r0, 0xB
- b _08070F8A
-_08070EFA:
- ldrb r1, [r4, 0x4]
- movs r0, 0x44
- ands r0, r1
- adds r2, r1, 0
- cmp r0, 0
- beq _08070F0A
- movs r0, 0x2
- b _08070F8A
-_08070F0A:
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08070F18
- movs r0, 0xC
- b _08070F8A
-_08070F18:
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08070F26
- movs r0, 0xD
- b _08070F8A
-_08070F26:
- ldrb r1, [r4, 0x5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08070F34
- movs r0, 0xE
- b _08070F8A
-_08070F34:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08070F40
- movs r0, 0xF
- b _08070F8A
-_08070F40:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08070F4C
- movs r0, 0x10
- b _08070F8A
-_08070F4C:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08070F58
- movs r0, 0x11
- b _08070F8A
-_08070F58:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08070F64
- movs r0, 0x12
- b _08070F8A
-_08070F64:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08070F70
- movs r0, 0x13
- b _08070F8A
-_08070F70:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08070F7C
- movs r0, 0x14
- b _08070F8A
-_08070F7C:
- movs r0, 0x18
- ands r0, r2
- cmp r0, 0
- bne _08070F88
- movs r0, 0x16
- b _08070F8A
-_08070F88:
- movs r0, 0x15
-_08070F8A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetItemEffectType
-
- thumb_func_start unref_sub_8070F90
-unref_sub_8070F90: @ 8070F90
- push {lr}
- ldr r0, _08070FAC @ =0x00000801
- bl FlagSet
- movs r0, 0x80
- lsls r0, 4
- bl FlagSet
- ldr r0, _08070FB0 @ =0x00000802
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_08070FAC: .4byte 0x00000801
-_08070FB0: .4byte 0x00000802
- thumb_func_end unref_sub_8070F90
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokenav.s b/asm/pokenav.s
index a4d585815..ce72a83e0 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -21564,7 +21564,7 @@ _080F65EA:
lsrs r4, r0, 24
mov r0, r9
mov r1, r10
- bl sub_8040D8C
+ bl ShouldHideGenderIcon
cmp r0, 0
beq _080F65FC
movs r4, 0xFF