summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/party_menu.s5997
1 files changed, 0 insertions, 5997 deletions
diff --git a/asm/party_menu.s b/asm/party_menu.s
index bbb36b109..3b28ab8d4 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -4,6003 +4,6 @@
.syntax unified
.text
-
- thumb_func_start sub_81B0038
-sub_81B0038: @ 81B0038
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r6, r4, 24
- bl reset_brm
- ldr r0, =gUnknown_0203CEC4
- mov r10, r0
- movs r0, 0x8E
- lsls r0, 2
- bl Alloc
- adds r5, r0, 0
- mov r1, r10
- str r5, [r1]
- cmp r5, 0
- bne _081B0088
- ldr r0, [sp, 0x2C]
- bl SetMainCallback2
- b _081B0194
- .pool
-_081B0088:
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xF
- mov r4, r8
- ands r1, r4
- ldrb r2, [r3, 0x8]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- ldr r0, [sp, 0x2C]
- str r0, [r3]
- movs r4, 0
- strb r7, [r3, 0xB]
- lsls r2, r6, 2
- ldrh r1, [r5, 0xA]
- movs r0, 0x3
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0xA]
- ldr r0, [sp, 0x28]
- str r0, [r5]
- str r4, [r5, 0x4]
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x8]
- mov r1, r10
- ldr r2, [r1]
- ldrh r0, [r2, 0x8]
- movs r4, 0xFE
- lsls r4, 3
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xFE
- lsls r1, 10
- orrs r0, r1
- str r0, [r2, 0x8]
- adds r6, r3, 0
- mov r5, r8
- cmp r5, 0x4
- bne _081B00F0
- ldrb r0, [r2, 0x8]
- movs r1, 0x1
- orrs r0, r1
- b _081B00F8
- .pool
-_081B00F0:
- ldrb r1, [r2, 0x8]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
-_081B00F8:
- strb r0, [r2, 0x8]
- mov r0, r9
- cmp r0, 0xFF
- beq _081B0114
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- lsls r0, 4
- ldrb r2, [r6, 0x8]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x8]
-_081B0114:
- movs r2, 0
- ldr r5, =gUnknown_0203CEC4
- movs r4, 0x86
- lsls r4, 2
- movs r3, 0
-_081B011E:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _081B011E
- movs r2, 0
- ldr r4, =gUnknown_0203CEC4
- movs r3, 0xFF
-_081B0138:
- ldr r0, [r4]
- adds r0, 0xC
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _081B0138
- ldr r4, [sp]
- cmp r4, 0
- bne _081B015C
- strb r4, [r6, 0x9]
- b _081B017E
- .pool
-_081B015C:
- adds r1, r6, 0
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _081B017A
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B017E
-_081B017A:
- movs r0, 0
- strb r0, [r6, 0x9]
-_081B017E:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl CalculatePlayerPartyCount
- ldr r0, =c2_811EBD0
- bl SetMainCallback2
-_081B0194:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0038
-
- thumb_func_start sub_81B01B0
-sub_81B01B0: @ 81B01B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81B01B0
-
- thumb_func_start sub_81B01CC
-sub_81B01CC: @ 81B01CC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81B01CC
-
- thumb_func_start c2_811EBD0
-c2_811EBD0: @ 81B01E0
- push {lr}
-_081B01E2:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81B020C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0206
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B01E2
-_081B0206:
- pop {r0}
- bx r0
- thumb_func_end c2_811EBD0
-
- thumb_func_start sub_81B020C
-sub_81B020C: @ 81B020C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x16
- bls _081B0222
- b _081B0498
-_081B0222:
- lsls r0, 2
- ldr r1, =_081B0234
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0234:
- .4byte _081B0290
- .4byte _081B02AC
- .4byte _081B02B2
- .4byte _081B02D4
- .4byte _081B02DA
- .4byte _081B02EC
- .4byte _081B02FE
- .4byte _081B0310
- .4byte _081B0338
- .4byte _081B0354
- .4byte _081B0368
- .4byte _081B038C
- .4byte _081B03A0
- .4byte _081B03A6
- .4byte _081B03B8
- .4byte _081B03BE
- .4byte _081B03E0
- .4byte _081B0400
- .4byte _081B0414
- .4byte _081B0428
- .4byte _081B0430
- .4byte _081B044C
- .4byte _081B0474
-_081B0290:
- bl SetVBlankHBlankCallbacksToNull
- bl ResetVramOamAndBgCntRegs
- bl clear_scheduled_bg_copies_to_vram
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02AC:
- bl ScanlineEffect_Stop
- b _081B0484
-_081B02B2:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02D4:
- bl ResetSpriteData
- b _081B0484
-_081B02DA:
- bl FreeAllSpritePalettes
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B02EC:
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- beq _081B02F8
- b _081B0484
-_081B02F8:
- bl ResetTasks
- b _081B0484
-_081B02FE:
- bl sub_81B209C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0310:
- bl sub_81B0550
- lsls r0, 24
- cmp r0, 0
- bne _081B0322
- bl sub_81B04BC
- movs r0, 0x1
- b _081B04B2
-_081B0322:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0338:
- bl sub_81B05C8
- lsls r0, 24
- cmp r0, 0
- bne _081B0344
- b _081B04B0
-_081B0344:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0354:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B239C
- b _081B0484
- .pool
-_081B0368:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl sub_81B0740
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B038C:
- bl sub_81B5D30
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03A0:
- bl sub_81B6040
- b _081B0484
-_081B03A6:
- bl sub_81B6160
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B03B8:
- bl LoadMonIconPalettes
- b _081B0484
-_081B03BE:
- bl party_menu_add_per_mon_objects
- lsls r0, 24
- cmp r0, 0
- bne _081B03CA
- b _081B04B0
-_081B03CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B03E0:
- bl sub_81B0DA0
- lsls r0, 24
- cmp r0, 0
- beq _081B04B0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _081B0484
- .pool
-_081B0400:
- bl sub_81B0F28
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0414:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- lsrs r0, 31
- bl sub_81B2428
- b _081B0484
- .pool
-_081B0428:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _081B048C
-_081B0430:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- lsrs r0, 2
- bl display_pokemon_menu_message
- b _081B0484
- .pool
-_081B044C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _081B048C
- .pool
-_081B0474:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_081B0484:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_081B048C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081B04B0
- .pool
-_081B0498:
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- movs r0, 0x1
- b _081B04B2
- .pool
-_081B04B0:
- movs r0, 0
-_081B04B2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B020C
-
- thumb_func_start sub_81B04BC
-sub_81B04BC: @ 81B04BC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_81B04F8
- movs r1, 0
- bl CreateTask
- ldr r0, =sub_81B01CC
- bl SetVBlankCallback
- ldr r0, =sub_81B01B0
- bl SetMainCallback2
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04BC
-
- thumb_func_start sub_81B04F8
-sub_81B04F8: @ 81B04F8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B051C
- ldr r0, =gUnknown_0203CEC8
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_81B06F4
- adds r0, r4, 0
- bl DestroyTask
-_081B051C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B04F8
-
- thumb_func_start reset_brm
-reset_brm: @ 81B052C
- ldr r0, =gUnknown_0203CEC4
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE4
- str r1, [r0]
- ldr r0, =gUnknown_0203CEDC
- str r1, [r0]
- ldr r0, =gUnknown_0203CEE0
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end reset_brm
-
- thumb_func_start sub_81B0550
-sub_81B0550: @ 81B0550
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEE4
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _081B05C0
- movs r1, 0
- adds r2, r4, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_086156B8
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl ResetAllBgsCoordinates
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- b _081B05C2
- .pool
-_081B05C0:
- movs r0, 0
-_081B05C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0550
-
- thumb_func_start sub_81B05C8
-sub_81B05C8: @ 81B05C8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _081B06B0
- lsls r0, 2
- ldr r1, =_081B05F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B05F0:
- .4byte _081B0610
- .4byte _081B0638
- .4byte _081B0658
- .4byte _081B0684
- .4byte _081B0688
- .4byte _081B068C
- .4byte _081B0690
- .4byte _081B0694
-_081B0610:
- ldr r4, =gUnknown_0203CEE0
- ldr r0, =gPartyMenuMisc_Gfx
- mov r1, sp
- bl malloc_and_decompress
- adds r1, r0, 0
- str r1, [r4]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _081B069A
- .pool
-_081B0638:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081B06B4
- ldr r0, =gPartyMenuMisc_Tilemap
- ldr r1, =gUnknown_0203CEE4
- ldr r1, [r1]
- bl LZDecompressWram
- b _081B069A
- .pool
-_081B0658:
- ldr r0, =gPartyMenuMisc_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, =gPlttBufferUnfaded
- ldr r4, =gUnknown_0203CEC4
- ldr r1, [r4]
- adds r1, 0x18
- movs r2, 0xB0
- bl CpuSet
- ldr r1, [r4]
- b _081B069E
- .pool
-_081B0684:
- movs r0, 0x4
- b _081B0696
-_081B0688:
- movs r0, 0x5
- b _081B0696
-_081B068C:
- movs r0, 0x6
- b _081B0696
-_081B0690:
- movs r0, 0x7
- b _081B0696
-_081B0694:
- movs r0, 0x8
-_081B0696:
- bl sub_81B06C0
-_081B069A:
- ldr r0, =gUnknown_0203CEC4
- ldr r1, [r0]
-_081B069E:
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081B06B4
- .pool
-_081B06B0:
- movs r0, 0x1
- b _081B06B6
-_081B06B4:
- movs r0, 0
-_081B06B6:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B05C8
-
- thumb_func_start sub_81B06C0
-sub_81B06C0: @ 81B06C0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 28
- ldr r5, =gPlttBufferUnfaded + 0x60
- lsrs r4, 23
- adds r1, r5, 0
- subs r1, 0x60
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x10
- bl CpuSet
- ldr r0, =gPlttBufferFaded
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl CpuSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06C0
-
- thumb_func_start sub_81B06F4
-sub_81B06F4: @ 81B06F4
- push {lr}
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0702
- bl Free
-_081B0702:
- ldr r0, =gUnknown_0203CEE4
- ldr r0, [r0]
- cmp r0, 0
- beq _081B070E
- bl Free
-_081B070E:
- ldr r0, =gUnknown_0203CEE0
- ldr r0, [r0]
- cmp r0, 0
- beq _081B071A
- bl Free
-_081B071A:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- cmp r0, 0
- beq _081B0726
- bl Free
-_081B0726:
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B06F4
-
- thumb_func_start sub_81B0740
-sub_81B0740: @ 81B0740
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gUnknown_0203CEDC
- movs r0, 0x60
- bl Alloc
- str r0, [r4]
- movs r5, 0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 4
- mov r8, r0
- movs r6, 0xFF
- mov r9, r4
-_081B0764:
- ldr r2, [r4]
- lsls r3, r5, 4
- adds r2, r3, r2
- ldr r0, =gUnknown_086156E4
- mov r12, r0
- str r0, [r2]
- lsls r0, r5, 3
- ldr r1, =gUnknown_08615704
- adds r0, r1
- add r0, r8
- str r0, [r2, 0x4]
- strb r5, [r2, 0x8]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0x9]
- orrs r0, r6
- strb r0, [r1, 0x9]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xA]
- orrs r0, r6
- strb r0, [r1, 0xA]
- ldr r1, [r4]
- adds r1, r3, r1
- ldrb r0, [r1, 0xB]
- orrs r0, r6
- strb r0, [r1, 0xB]
- ldr r0, [r4]
- adds r3, r0
- ldrb r0, [r3, 0xC]
- orrs r0, r6
- strb r0, [r3, 0xC]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B0764
- mov r1, r9
- ldr r0, [r1]
- mov r1, r12
- subs r1, 0x20
- str r1, [r0]
- cmp r7, 0x3
- bne _081B07CC
- str r1, [r0, 0x30]
- b _081B07D2
- .pool
-_081B07CC:
- cmp r7, 0
- beq _081B07D2
- str r1, [r0, 0x10]
-_081B07D2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0740
-
- thumb_func_start sub_81B07E0
-sub_81B07E0: @ 81B07E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B085C
- cmp r5, 0x2
- bls _081B085C
- adds r0, r5, 0
- bl sub_81B0CEC
- ldr r0, =gUnknown_02022FF8
- subs r1, r5, 0x3
- lsls r1, 5
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _081B0828
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x40
- bl sub_81B2748
- b _081B0836
- .pool
-_081B0828:
- ldr r0, =gUnknown_0203CEDC
- lsls r4, r5, 4
- ldr r0, [r0]
- adds r0, r4
- movs r1, 0x8
- bl sub_81B2748
-_081B0836:
- adds r5, r4, 0
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- b _081B093E
- .pool
-_081B085C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B089C
- ldr r4, =gUnknown_0203CEDC
- ldr r0, [r4]
- lsls r5, 4
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl sub_81B2720
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x40
- bl sub_81B2748
- ldr r0, [r4]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081B092C
- .pool
-_081B089C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x7
- bne _081B08B4
- adds r0, r5, 0
- bl sub_81B0B60
- b _081B08F6
- .pool
-_081B08B4:
- cmp r1, 0x2
- bne _081B08C0
- adds r0, r5, 0
- bl sub_81B0B08
- b _081B08F6
-_081B08C0:
- cmp r1, 0x4
- bne _081B08CC
- adds r0, r5, 0
- bl sub_81B0A9C
- b _081B08F6
-_081B08CC:
- cmp r1, 0xB
- bne _081B08D8
- adds r0, r5, 0
- bl sub_81B0B98
- b _081B08F6
-_081B08D8:
- cmp r1, 0xC
- bne _081B08E4
- adds r0, r5, 0
- bl sub_81B0BC4
- b _081B08F6
-_081B08E4:
- adds r0, r5, 0
- bl sub_81B0BFC
- lsls r0, 24
- cmp r0, 0
- bne _081B08F6
- adds r0, r5, 0
- bl sub_81B0948
-_081B08F6:
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0910
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
- b _081B092A
- .pool
-_081B0910:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r0, r5
- bne _081B0922
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0FCC
- b _081B092A
-_081B0922:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0FCC
-_081B092A:
- lsls r5, 4
-_081B092C:
- ldr r0, =gUnknown_0203CEDC
- ldr r0, [r0]
- adds r0, r5, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B093E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B07E0
-
- thumb_func_start sub_81B0948
-sub_81B0948: @ 81B0948
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- adds r2, r0, 0
- cmp r2, 0
- beq _081B09A0
- ldr r6, =gUnknown_0203CEDC
- ldr r0, [r6]
- lsls r5, r4, 4
- adds r0, r5, r0
- ldr r2, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r6]
- adds r1, r5
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- b _081B0A02
- .pool
-_081B09A0:
- ldr r5, =gUnknown_0203CEDC
- ldr r0, [r5]
- lsls r4, 4
- adds r0, r4, r0
- ldr r1, [r0]
- ldrb r0, [r0, 0x8]
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r6, [r1]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r6
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2A70
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2B8C
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2CD4
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl sub_81B2D74
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- bl sub_81B2E28
-_081B0A02:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0948
-
- thumb_func_start sub_81B0A10
-sub_81B0A10: @ 81B0A10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0x64
- adds r2, r0, 0
- muls r2, r1
- ldr r1, =gPlayerParty
- adds r6, r2, r1
- ldr r7, =gUnknown_0203CEDC
- ldr r1, [r7]
- lsls r5, r0, 4
- adds r1, r5, r1
- ldr r2, [r1]
- ldrb r0, [r1, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2A70
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0A7C
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2AC8
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl sub_81B2B8C
-_081B0A7C:
- ldr r1, [r7]
- adds r1, r5
- mov r0, r8
- movs r2, 0
- bl sub_81B2FA8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0A10
-
- thumb_func_start sub_81B0A9C
-sub_81B0A9C: @ 81B0A9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r6, =gSelectedOrderFromParty
- bl sub_81B85AC
- lsls r0, 24
- cmp r0, 0
- bne _081B0AD6
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B02
- .pool
-_081B0AC8:
- adds r1, r4, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_81B0A10
- b _081B0B02
-_081B0AD6:
- movs r4, 0
- b _081B0AEE
-_081B0ADA:
- adds r1, r6, r4
- ldrb r0, [r1]
- cmp r0, 0
- beq _081B0AE8
- subs r0, 0x1
- cmp r0, r5
- beq _081B0AC8
-_081B0AE8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B0AEE:
- bl sub_81B8830
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _081B0ADA
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81B0A10
-_081B0B02:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0A9C
-
- thumb_func_start sub_81B0B08
-sub_81B0B08: @ 81B0B08
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_80DAE0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081B0B5A
- lsls r0, 2
- ldr r1, =_081B0B34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B0B34:
- .4byte _081B0B48
- .4byte _081B0B52
- .4byte _081B0B52
- .4byte _081B0B48
- .4byte _081B0B48
-_081B0B48:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
- b _081B0B5A
-_081B0B52:
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
-_081B0B5A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B08
-
- thumb_func_start sub_81B0B60
-sub_81B0B60: @ 81B0B60
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- cmp r0, 0
- bne _081B0B88
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0B90
- .pool
-_081B0B88:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0B90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B60
-
- thumb_func_start sub_81B0B98
-sub_81B0B98: @ 81B0B98
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B0BB6
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_81B0A10
- b _081B0BBE
-_081B0BB6:
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_81B0A10
-_081B0BBE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0B98
-
- thumb_func_start sub_81B0BC4
-sub_81B0BC4: @ 81B0BC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- cmp r0, 0
- beq _081B0BEC
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_81B0A10
- b _081B0BF4
- .pool
-_081B0BEC:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_81B0A10
-_081B0BF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0BC4
-
- thumb_func_start sub_81B0BFC
-sub_81B0BFC: @ 81B0BFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0xC
- bne _081B0C40
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSpecialVar_0x8005
- ldrb r2, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0C94
- b _081B0C8A
- .pool
-_081B0C40:
- cmp r0, 0x3
- bne _081B0C56
- adds r0, r4, 0
- bl CheckIfItemIsTMHMOrEvolutionStone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B0C5A
- cmp r0, 0x2
- beq _081B0C66
-_081B0C56:
- movs r0, 0
- b _081B0C8C
-_081B0C5A:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B0C94
- b _081B0C8A
-_081B0C66:
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _081B0C82
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- bne _081B0C56
-_081B0C82:
- adds r0, r5, 0
- movs r1, 0
- bl sub_81B0A10
-_081B0C8A:
- movs r0, 0x1
-_081B0C8C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0BFC
-
- thumb_func_start sub_81B0C94
-sub_81B0C94: @ 81B0C94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x64
- muls r0, r4
- ldr r3, =gPlayerParty
- adds r0, r3
- bl sub_81B22D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B0CD2
- cmp r0, 0x2
- bgt _081B0CC4
- cmp r0, 0x1
- beq _081B0CC8
- b _081B0CDC
- .pool
-_081B0CC4:
- cmp r0, 0x3
- bne _081B0CDC
-_081B0CC8:
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_81B0A10
- b _081B0CE4
-_081B0CD2:
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_81B0A10
- b _081B0CE4
-_081B0CDC:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_81B0A10
-_081B0CE4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B0C94
-
- thumb_func_start sub_81B0CEC
-sub_81B0CEC: @ 81B0CEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEDC
- lsls r2, r0, 4
- ldr r1, [r1]
- adds r6, r1, r2
- subs r0, 0x3
- lsls r0, 24
- ldr r5, =gUnknown_02022FF8
- lsrs r0, 19
- mov r8, r0
- adds r7, r0, r5
- ldrh r0, [r7]
- cmp r0, 0
- bne _081B0D24
- ldrb r0, [r6, 0x8]
- bl sub_81B2720
- b _081B0D8E
- .pool
-_081B0D24:
- ldr r2, [r6]
- ldrb r0, [r6, 0x8]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r4, =gStringVar1
- adds r5, 0x4
- add r5, r8
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r4, 0
- bl sub_81DB52C
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- ldrb r0, [r7, 0xF]
- adds r1, r6, 0
- bl sub_81B2B40
- ldrb r0, [r7, 0x1C]
- ldrh r1, [r7]
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_81B2BF4
- ldrh r0, [r7, 0x10]
- adds r1, r6, 0
- bl sub_81B2D3C
- ldrh r0, [r7, 0x12]
- adds r1, r6, 0
- bl sub_81B2DDC
- ldrh r0, [r7, 0x10]
- ldrh r1, [r7, 0x12]
- adds r2, r6, 0
- bl sub_81B2E64
-_081B0D8E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0CEC
-
- thumb_func_start sub_81B0DA0
-sub_81B0DA0: @ 81B0DA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_81B07E0
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0DCC
- movs r0, 0
- b _081B0DCE
- .pool
-_081B0DCC:
- movs r0, 0x1
-_081B0DCE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81B0DA0
-
- thumb_func_start sub_81B0DD4
-sub_81B0DD4: @ 81B0DD4
- lsls r0, 16
- ldr r1, =gUnknown_0203CEE0
- lsrs r0, 11
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B0DD4
-
- thumb_func_start party_menu_add_per_mon_objects_internal
-party_menu_add_per_mon_objects_internal: @ 81B0DE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0E98
- cmp r7, 0x2
- bls _081B0E98
- subs r0, r7, 0x3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gUnknown_02022FF8
- mov r9, r0
- mov r2, r10
- lsls r2, 5
- mov r8, r2
- mov r6, r8
- add r6, r9
- ldrh r0, [r6]
- cmp r0, 0
- beq _081B0EDC
- mov r1, r9
- adds r1, 0x18
- add r1, r8
- ldr r1, [r1]
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r2, [r4]
- adds r2, r5
- movs r3, 0
- str r3, [sp]
- bl party_menu_link_mon_icon_anim
- ldrh r0, [r6]
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- adds r2, r5
- bl party_menu_link_mon_held_item_object
- ldrh r0, [r6]
- ldr r1, [r4]
- adds r1, r5
- bl party_menu_link_mon_pokeball_object
- ldrh r0, [r6, 0x10]
- cmp r0, 0
- bne _081B0E68
- movs r3, 0x7
- b _081B0E78
- .pool
-_081B0E68:
- mov r0, r9
- adds r0, 0x14
- add r0, r8
- ldr r0, [r0]
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r3, r0, 24
-_081B0E78:
- ldr r1, =gUnknown_02022FF8
- mov r2, r10
- lsls r0, r2, 5
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gUnknown_0203CEDC
- ldr r2, [r1]
- adds r2, r5
- adds r1, r3, 0
- bl party_menu_link_mon_status_condition_object
- b _081B0EDC
- .pool
-_081B0E98:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B0EDC
- ldr r4, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- adds r2, r7, 0
- bl party_menu_icon_anim
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_held_item_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_pokeball_object
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl party_menu_status_condition_object
-_081B0EDC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end party_menu_add_per_mon_objects_internal
-
- thumb_func_start party_menu_add_per_mon_objects
-party_menu_add_per_mon_objects: @ 81B0EF4
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEC4
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl party_menu_add_per_mon_objects_internal
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _081B0F20
- movs r0, 0
- b _081B0F22
- .pool
-_081B0F20:
- movs r0, 0x1
-_081B0F22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end party_menu_add_per_mon_objects
-
- thumb_func_start sub_81B0F28
-sub_81B0F28: @ 81B0F28
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B0F54
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x11
- bl FillBgTilemapBufferRect
- b _081B0FBC
- .pool
-_081B0F54:
- ldr r4, =gUnknown_0203CEC4
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B0F94
- movs r0, 0xBF
- movs r1, 0x88
- bl sub_81B5F74
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 4
- ldrh r2, [r3, 0x8]
- ldr r1, =0xfffff80f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x8]
- bl sub_81B120C
- movs r0, 0xBF
- movs r1, 0x98
- bl sub_81B5F74
- b _081B0F9C
- .pool
-_081B0F94:
- movs r0, 0xC6
- movs r1, 0x94
- bl sub_81B5F34
-_081B0F9C:
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 11
- ldr r1, [r3, 0x8]
- ldr r2, =0xfffc07ff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x8]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B0FBC:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0F28
-
- thumb_func_start sub_81B0FCC
-sub_81B0FCC: @ 81B0FCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- cmp r7, 0x6
- beq _081B1038
- cmp r7, 0x7
- beq _081B1074
- movs r0, 0x64
- muls r0, r7
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B10E8
- ldr r6, =gUnknown_0203CEDC
- lsls r5, r7, 4
- ldr r4, [r6]
- adds r4, r5
- adds r0, r7, 0
- mov r1, r8
- bl sub_81B10F8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_81B2748
- ldr r0, [r6]
- adds r0, r5, r0
- ldrb r0, [r0, 0x9]
- mov r1, r8
- bl sub_81B5B6C
- ldr r0, [r6]
- adds r5, r0
- ldrb r0, [r5, 0xB]
- mov r1, r8
- bl sub_81B5F98
- b _081B10E8
- .pool
-_081B1038:
- mov r0, r8
- cmp r0, 0
- bne _081B1052
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
- b _081B1064
-_081B1052:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl sub_8199C30
-_081B1064:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r0, 21
- b _081B10DA
- .pool
-_081B1074:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- bne _081B10A6
- mov r0, r8
- cmp r0, 0
- bne _081B1098
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
- .pool
-_081B1098:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x11
- b _081B10B8
-_081B10A6:
- mov r0, r8
- cmp r0, 0
- bne _081B10C0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x12
-_081B10B8:
- movs r3, 0x7
- bl sub_8199C30
- b _081B10D2
-_081B10C0:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x12
- movs r3, 0x7
- bl sub_8199C30
-_081B10D2:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- lsls r0, 14
-_081B10DA:
- lsrs r0, 25
- mov r1, r8
- bl sub_81B5F98
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_081B10E8:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0FCC
-
- thumb_func_start sub_81B10F8
-sub_81B10F8: @ 81B10F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r4, 0
- cmp r1, 0x1
- bne _081B110A
- movs r4, 0x1
-_081B110A:
- movs r0, 0x64
- muls r0, r5
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B1120
- movs r0, 0x2
- orrs r4, r0
-_081B1120:
- adds r0, r5, 0
- bl sub_81B118C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1136
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1136:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- adds r2, r0, 0
- cmp r1, 0x9
- bne _081B1148
- movs r0, 0x10
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1148:
- cmp r1, 0x8
- bne _081B1164
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- beq _081B115C
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B1164
-_081B115C:
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B1164:
- ldrb r0, [r2, 0xB]
- cmp r0, 0xA
- bne _081B117A
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _081B117A
- movs r0, 0x20
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_081B117A:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B10F8
-
- thumb_func_start sub_81B118C
-sub_81B118C: @ 81B118C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x20
- bne _081B11B4
- cmp r2, 0x1
- beq _081B11AA
- cmp r2, 0x4
- beq _081B11AA
- cmp r2, 0x5
- bne _081B11B4
-_081B11AA:
- movs r0, 0x1
- b _081B11F8
- .pool
-_081B11B4:
- cmp r2, 0x2
- bhi _081B11F6
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B11F6
- adds r0, r2, 0
- bl sub_81B8F38
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- movs r2, 0xA8
- lsls r2, 2
- adds r1, r2
- ldrb r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B11F8
-_081B11F6:
- movs r0, 0
-_081B11F8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B118C
-
- thumb_func_start sub_81B120C
-sub_81B120C: @ 81B120C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, =gUnknown_086157C4
- movs r6, 0x7
- str r6, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x10
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gUnknown_086157E0
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x12
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B120C
-
- thumb_func_start sub_81B1250
-sub_81B1250: @ 81B1250
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x49
- ands r0, r1
- cmp r0, 0x49
- bne _081B1280
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081B1280
- movs r0, 0x1
- b _081B1282
- .pool
-_081B1280:
- movs r0, 0
-_081B1282:
- pop {r1}
- bx r1
- thumb_func_end sub_81B1250
-
- thumb_func_start sub_81B1288
-sub_81B1288: @ 81B1288
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r0, 0x64
- bl Alloc
- adds r5, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1288
-
- thumb_func_start sub_81B12C0
-sub_81B12C0: @ 81B12C0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =c3_0811FAB4
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B12C0
-
- thumb_func_start c3_0811FAB4
-c3_0811FAB4: @ 81B12F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B134C
- ldr r4, =gUnknown_0203CEC8
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _081B131A
- bl sub_81B9080
-_081B131A:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _081B1338
- bl SetMainCallback2
- b _081B133E
- .pool
-_081B1338:
- ldr r0, [r4]
- bl SetMainCallback2
-_081B133E:
- bl ResetSpriteData
- bl sub_81B06F4
- adds r0, r5, 0
- bl DestroyTask
-_081B134C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end c3_0811FAB4
-
- thumb_func_start GetCursorSelectionMonId
-GetCursorSelectionMonId: @ 81B1354
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x9]
- bx lr
- .pool
- thumb_func_end GetCursorSelectionMonId
-
- thumb_func_start sub_81B1360
-sub_81B1360: @ 81B1360
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end sub_81B1360
-
- thumb_func_start sub_81B1370
-sub_81B1370: @ 81B1370
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081B13E0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B13E0
- bl sub_81B13EC
- adds r4, r0, 0
- bl sub_81B1760
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _081B13C0
- cmp r0, 0x2
- bgt _081B13B0
- cmp r0, 0x1
- beq _081B13B6
- b _081B13E0
- .pool
-_081B13B0:
- cmp r0, 0x8
- beq _081B13CA
- b _081B13E0
-_081B13B6:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81B140C
- b _081B13E0
-_081B13C0:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_81B15D0
- b _081B13E0
-_081B13CA:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B13E0
- movs r0, 0x5
- bl PlaySE
- bl sub_81B4F88
-_081B13E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1370
-
- thumb_func_start sub_81B13EC
-sub_81B13EC: @ 81B13EC
- push {lr}
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0xB]
- cmp r1, 0x8
- beq _081B13FA
- cmp r1, 0xA
- bne _081B1404
-_081B13FA:
- adds r0, 0xA
- b _081B1406
- .pool
-_081B1404:
- adds r0, 0x9
-_081B1406:
- pop {r1}
- bx r1
- thumb_func_end sub_81B13EC
-
- thumb_func_start sub_81B140C
-sub_81B140C: @ 81B140C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B142C
- ldr r0, =gUnknown_0203CEC8
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl _call_via_r1
- b _081B159E
- .pool
-_081B142C:
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- subs r0, 0x3
- cmp r0, 0xA
- bls _081B1438
- b _081B1592
-_081B1438:
- lsls r0, 2
- ldr r1, =_081B144C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B144C:
- .4byte _081B149C
- .4byte _081B1592
- .4byte _081B1538
- .4byte _081B1538
- .4byte _081B1510
- .4byte _081B1560
- .4byte _081B1592
- .4byte _081B1478
- .4byte _081B156E
- .4byte _081B14E8
- .4byte _081B157C
-_081B1478:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B1486
- b _081B159E
-_081B1486:
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81615A8
- b _081B159E
- .pool
-_081B149C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- bne _081B14AA
- b _081B159E
-_081B14AA:
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- ldr r2, =gUnknown_0203CEC4
- cmp r0, 0x1
- bne _081B14BE
- ldr r1, [r2]
- ldr r0, =sub_81B9140
- str r0, [r1, 0x4]
-_081B14BE:
- ldr r0, [r2]
- adds r0, 0xD
- bl sub_81B302C
- ldr r0, =gUnknown_03006328
- ldr r1, =sub_81B6794
- ldr r2, [r0]
- adds r0, r5, 0
- bl _call_via_r2
- b _081B159E
- .pool
-_081B14E8:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7E4C
- b _081B159E
- .pool
-_081B1510:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B8474
- b _081B159E
- .pool
-_081B1538:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- adds r0, r5, 0
- bl sub_81B7FAC
- b _081B159E
- .pool
-_081B1560:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B3938
- b _081B159E
-_081B156E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B12C0
- b _081B159E
-_081B157C:
- adds r0, r4, 0
- bl sub_81B15A4
- lsls r0, 24
- cmp r0, 0
- beq _081B159E
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_81B21AC
- b _081B159E
-_081B1592:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_81B36FC
-_081B159E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B140C
-
- thumb_func_start sub_81B15A4
-sub_81B15A4: @ 81B15A4
- push {lr}
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B15C4
- movs r0, 0x1
- b _081B15CC
- .pool
-_081B15C4:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
-_081B15CC:
- pop {r1}
- bx r1
- thumb_func_end sub_81B15A4
-
- thumb_func_start sub_81B15D0
-sub_81B15D0: @ 81B15D0
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x8
- beq _081B1602
- cmp r0, 0x8
- bgt _081B15F0
- cmp r0, 0x1
- beq _081B15FA
- b _081B161E
- .pool
-_081B15F0:
- cmp r0, 0xA
- beq _081B1602
- cmp r0, 0xD
- beq _081B1610
- b _081B161E
-_081B15FA:
- movs r0, 0x20
- bl PlaySE
- b _081B1652
-_081B1602:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B407C
- b _081B1652
-_081B1610:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B2210
- b _081B1652
-_081B161E:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_81B1660
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1652
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _081B1642
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
-_081B1642:
- ldr r0, =gUnknown_0203CEE8
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_81B12C0
-_081B1652:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B15D0
-
- thumb_func_start sub_81B1660
-sub_81B1660: @ 81B1660
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- bne _081B1680
- ldr r5, =gText_CancelParticipation
- b _081B168A
- .pool
-_081B1680:
- cmp r1, 0x4
- bne _081B168A
- bl sub_81B88BC
- adds r5, r0, 0
-_081B168A:
- cmp r5, 0
- beq _081B16CC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- adds r0, 0xD
- bl sub_81B302C
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81B1B5C
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B16D4
- str r1, [r0]
- movs r0, 0x1
- b _081B16CE
- .pool
-_081B16CC:
- movs r0, 0
-_081B16CE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1660
-
- thumb_func_start sub_81B16D4
-sub_81B16D4: @ 81B16D4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B16F8
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1708
- str r0, [r1]
-_081B16F8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B16D4
-
- thumb_func_start sub_81B1708
-sub_81B1708: @ 81B1708
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B172E
- cmp r1, 0
- bgt _081B1728
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B174C
- b _081B1758
-_081B1728:
- cmp r1, 0x1
- beq _081B1752
- b _081B1758
-_081B172E:
- ldr r0, =gUnknown_0203CEE8
- strb r1, [r0]
- ldr r1, =gUnknown_0203CEC8
- movs r0, 0x7
- strb r0, [r1, 0x9]
- bl sub_81B8558
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B1758
- .pool
-_081B174C:
- movs r0, 0x5
- bl PlaySE
-_081B1752:
- adds r0, r4, 0
- bl sub_81B1C1C
-_081B1758:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1708
-
- thumb_func_start sub_81B1760
-sub_81B1760: @ 81B1760
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- adds r3, r0, 0
- cmp r1, 0x20
- beq _081B178E
- cmp r1, 0x20
- bgt _081B177C
- cmp r1, 0x10
- beq _081B1792
- b _081B1796
- .pool
-_081B177C:
- cmp r1, 0x40
- beq _081B1786
- cmp r1, 0x80
- beq _081B178A
- b _081B1796
-_081B1786:
- movs r1, 0xFF
- b _081B17B2
-_081B178A:
- movs r1, 0x1
- b _081B17B2
-_081B178E:
- movs r1, 0xFE
- b _081B17B2
-_081B1792:
- movs r1, 0x2
- b _081B17B2
-_081B1796:
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B17AA
- cmp r0, 0x2
- beq _081B17AE
- movs r1, 0
- b _081B17B0
-_081B17AA:
- movs r1, 0xFF
- b _081B17B0
-_081B17AE:
- movs r1, 0x1
-_081B17B0:
- ldr r3, =gMain
-_081B17B2:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _081B17C4
- movs r0, 0x8
- b _081B17F0
- .pool
-_081B17C4:
- lsls r0, r1, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B17D6
- adds r0, r4, 0
- bl sub_81B17F8
- movs r0, 0
- b _081B17F0
-_081B17D6:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _081B17EA
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- bne _081B17EA
- movs r0, 0x2
- b _081B17F0
-_081B17EA:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_081B17F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1760
-
- thumb_func_start sub_81B17F8
-sub_81B17F8: @ 81B17F8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r4, [r5]
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- cmp r0, 0
- bne _081B1820
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B1854
- b _081B182A
- .pool
-_081B1820:
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl sub_81B195C
-_081B182A:
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r4, 24
- asrs r0, r4, 24
- cmp r1, r0
- beq _081B184C
- movs r0, 0x5
- bl PlaySE
- lsrs r0, r4, 24
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_81B0FCC
-_081B184C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81B17F8
-
- thumb_func_start sub_81B1854
-sub_81B1854: @ 81B1854
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B187A
- cmp r1, r0
- bgt _081B1870
- subs r0, 0x1
- cmp r1, r0
- beq _081B1924
- b _081B1952
-_081B1870:
- cmp r1, 0x1
- beq _081B18C0
- cmp r1, 0x2
- beq _081B18F8
- b _081B1952
-_081B187A:
- ldrb r0, [r4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0
- bne _081B1888
- movs r0, 0x7
- b _081B1950
-_081B1888:
- cmp r1, 0x6
- bne _081B1898
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B1898:
- cmp r1, 0x7
- bne _081B18BC
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18B0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18B0:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1950
- .pool
-_081B18BC:
- subs r0, 0x1
- b _081B1950
-_081B18C0:
- ldrb r2, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _081B194E
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _081B18F4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B18F0
- movs r0, 0x6
- b _081B1950
- .pool
-_081B18F0:
- movs r0, 0x7
- b _081B1950
-_081B18F4:
- adds r0, r2, 0x1
- b _081B1950
-_081B18F8:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081B1952
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _081B1950
- movs r0, 0x1
- b _081B1950
- .pool
-_081B1924:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _081B1952
- cmp r0, 0x6
- beq _081B1952
- cmp r0, 0x7
- beq _081B1952
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
-_081B194E:
- movs r0, 0
-_081B1950:
- strb r0, [r4]
-_081B1952:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1854
-
- thumb_func_start sub_81B195C
-sub_81B195C: @ 81B195C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- asrs r5, r1, 24
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _081B1988
- cmp r5, r6
- bgt _081B197E
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _081B197C
- b _081B1A9C
-_081B197C:
- b _081B1AF4
-_081B197E:
- cmp r5, 0x1
- beq _081B19E4
- cmp r5, 0x2
- beq _081B1A24
- b _081B1AF4
-_081B1988:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1996
- movs r0, 0x7
- b _081B1AF2
-_081B1996:
- cmp r0, 0x6
- bne _081B19A8
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081B1AF2
- .pool
-_081B19A8:
- cmp r0, 0x7
- bne _081B19C4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B19C0
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B19C0:
- subs r0, r1, 0x1
- strb r0, [r4]
-_081B19C4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r1, r2, 24
- asrs r1, 24
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _081B19E0
- b _081B1AF4
-_081B19E0:
- strb r2, [r4]
- b _081B1AF4
-_081B19E4:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _081B19F0
- movs r0, 0x7
- b _081B1AF2
-_081B19F0:
- cmp r0, 0x7
- bne _081B19F8
- movs r0, 0
- b _081B1AF2
-_081B19F8:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- bl sub_81B1B00
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, r6
- bne _081B19E0
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B1A20
- movs r0, 0x6
- b _081B1AF2
- .pool
-_081B1A20:
- movs r0, 0x7
- b _081B1AF2
-_081B1A24:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081B1A5C
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r6, r0, 29
- cmp r6, 0x3
- bne _081B1A54
- ldr r0, =gPlayerParty + 300
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r6, [r4]
- b _081B1AF4
- .pool
-_081B1A54:
- ldr r0, =gPlayerParty + 200
- b _081B1A70
- .pool
-_081B1A5C:
- cmp r0, 0x1
- bne _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r5, r0, 29
- cmp r5, 0x5
- bne _081B1A88
- ldr r0, =gPlayerParty + 500
-_081B1A70:
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- strb r5, [r4]
- b _081B1AF4
- .pool
-_081B1A88:
- ldr r0, =gPlayerParty + 400
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1AF4
- movs r0, 0x4
- b _081B1AF2
- .pool
-_081B1A9C:
- ldrb r1, [r4]
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1ACC
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0
- b _081B1AF2
- .pool
-_081B1ACC:
- subs r0, r1, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081B1AF4
- ldr r0, =gUnknown_0203CEC4
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_081B1AF2:
- strb r0, [r4]
-_081B1AF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B195C
-
- thumb_func_start sub_81B1B00
-sub_81B1B00: @ 81B1B00
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- asrs r6, r1, 24
-_081B1B0A:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _081B1B38
- asrs r4, r1, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B1B0A
- adds r0, r4, 0
- b _081B1B3C
- .pool
-_081B1B38:
- movs r0, 0x1
- negs r0, r0
-_081B1B3C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1B00
-
- thumb_func_start GetMonNickname
-@ u8 *GetMonNickname(struct pokemon *mon, u8 *dest)
-GetMonNickname: @ 81B1B44
- 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 sub_81B1B5C
-sub_81B1B5C: @ 81B1B5C
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_81B3300
- ldr r0, =sub_81B1B8C
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1B5C
-
- thumb_func_start sub_81B1B8C
-sub_81B1B8C: @ 81B1B8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x6
- bl RunTextPrintersRetIsActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _081B1BC8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _081B1BC2
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
-_081B1BC2:
- adds r0, r5, 0
- bl DestroyTask
-_081B1BC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1B8C
-
- thumb_func_start sub_81B1BD4
-sub_81B1BD4: @ 81B1BD4
- push {lr}
- ldr r0, =sub_81B1B8C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B1BD4
-
- thumb_func_start sub_81B1BE8
-sub_81B1BE8: @ 81B1BE8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C0E
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081B1C0E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1BE8
-
- thumb_func_start sub_81B1C1C
-sub_81B1C1C: @ 81B1C1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B1C74
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1C60
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1BE8
- b _081B1C72
- .pool
-_081B1C60:
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
-_081B1C72:
- str r0, [r1]
-_081B1C74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C1C
-
- thumb_func_start sub_81B1C84
-sub_81B1C84: @ 81B1C84
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnWasGivenItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1C84
-
- thumb_func_start sub_81B1CD0
-sub_81B1CD0: @ 81B1CD0
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_RecievedItemFromPkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1CD0
-
- thumb_func_start sub_81B1D1C
-sub_81B1D1C: @ 81B1D1C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D1C
-
- thumb_func_start sub_81B1D68
-sub_81B1D68: @ 81B1D68
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_SwitchedPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1D68
-
- thumb_func_start sub_81B1DB8
-sub_81B1DB8: @ 81B1DB8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r4, r5, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B1DE2
- adds r0, r6, 0
- adds r1, r4, 0
- bl GiveMailToMon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081B1DF6
-_081B1DE2:
- mov r0, sp
- strb r7, [r0]
- mov r1, sp
- lsrs r0, r5, 24
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_081B1DF6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B1DB8
-
- thumb_func_start sub_81B1E00
-sub_81B1E00: @ 81B1E00
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- cmp r0, 0
- bne _081B1E1C
- movs r0, 0
- b _081B1E3E
-_081B1E1C:
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _081B1E3C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- movs r0, 0x2
- b _081B1E3E
-_081B1E3C:
- movs r0, 0x1
-_081B1E3E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B1E00
-
- thumb_func_start pokemon_item_not_removed
-pokemon_item_not_removed: @ 81B1E48
- push {lr}
- ldr r0, =gStringVar4
- ldr r1, =gText_BagFullCouldNotRemoveItem
- bl StringExpandPlaceholders
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_item_not_removed
-
- thumb_func_start sub_81B1E60
-sub_81B1E60: @ 81B1E60
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldrh r0, [r7, 0x4]
- ldrh r1, [r7]
- adds r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x6]
- subs r0, 0x1
- strh r0, [r7, 0x6]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x39
- adds r2, r7, 0
- bl SetMonData
- movs r3, 0x8
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- ldr r6, =gUnknown_0203CEDC
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl sub_81B2CD4
- movs r0, 0x8
- ldrsh r2, [r7, r0]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- bl sub_81B2E28
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _081B1EDC
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- beq _081B1EDC
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- cmp r1, r0
- bne _081B1EFE
-_081B1EDC:
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r2, 0xA
- ldrsh r0, [r7, r2]
- cmp r1, r0
- ble _081B1EF8
- ldr r0, =gStringVar2
- movs r3, 0xA
- ldrsh r2, [r7, r3]
- subs r1, r2
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_081B1EF8:
- mov r0, r8
- bl SwitchTaskToFollowupFunc
-_081B1EFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1E60
-
- thumb_func_start sub_81B1F18
-sub_81B1F18: @ 81B1F18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- mov r10, r3
- ldr r7, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r0, 0x64
- mov r6, r9
- muls r6, r0
- ldr r0, =gPlayerParty
- adds r6, r0
- mov r0, r8
- lsls r4, r0, 2
- add r4, r8
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4]
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r4, 0x4]
- mov r0, r10
- strh r0, [r4, 0x6]
- mov r0, r9
- strh r0, [r4, 0x8]
- ldrh r0, [r4]
- strh r0, [r4, 0xA]
- ldr r1, =sub_81B1E60
- mov r0, r8
- adds r2, r7, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1F18
-
- thumb_func_start sub_81B1FA8
-sub_81B1FA8: @ 81B1FA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r3, r0, r1
- cmp r5, 0x5
- bhi _081B200A
- lsls r0, r5, 2
- ldr r1, =_081B1FD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B1FD4:
- .4byte _081B1FEC
- .4byte _081B1FF2
- .4byte _081B1FF6
- .4byte _081B1FFA
- .4byte _081B1FFE
- .4byte _081B2002
-_081B1FEC:
- strh r2, [r3]
- strh r2, [r3, 0xA]
- b _081B200A
-_081B1FF2:
- strh r2, [r3, 0x2]
- b _081B200A
-_081B1FF6:
- strh r2, [r3, 0x4]
- b _081B200A
-_081B1FFA:
- strh r2, [r3, 0x6]
- b _081B200A
-_081B1FFE:
- strh r2, [r3, 0x8]
- b _081B200A
-_081B2002:
- ldr r1, =sub_81B1E60
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
-_081B200A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B1FA8
-
- thumb_func_start pokemon_ailments_get_primary
-pokemon_ailments_get_primary: @ 81B2014
- push {lr}
- adds r1, r0, 0
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _081B2024
- movs r0, 0x1
- b _081B2056
-_081B2024:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081B2030
- movs r0, 0x2
- b _081B2056
-_081B2030:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _081B203C
- movs r0, 0x3
- b _081B2056
-_081B203C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081B2048
- movs r0, 0x4
- b _081B2056
-_081B2048:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081B2054
- movs r0, 0
- b _081B2056
-_081B2054:
- movs r0, 0x5
-_081B2056:
- pop {r1}
- bx r1
- thumb_func_end pokemon_ailments_get_primary
-
- thumb_func_start sub_81B205C
-@ u8 sub_81B205C(struct pokemon *mon, int a2, void *a3)
-sub_81B205C: @ 81B205C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B206E
- movs r0, 0x7
- b _081B2096
-_081B206E:
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081B2096
- adds r0, r4, 0
- movs r1, 0
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- bne _081B2094
- movs r0, 0
- b _081B2096
-_081B2094:
- movs r0, 0x6
-_081B2096:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B205C
-
- thumb_func_start sub_81B209C
-sub_81B209C: @ 81B209C
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203CEC8
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xB
- bne _081B2126
- adds r5, r2, 0
- adds r5, 0xE
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _081B20FC
- movs r4, 0
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcs _081B2126
-_081B20C4:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2134
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B20C4
- b _081B2126
- .pool
-_081B20FC:
- movs r4, 0
- b _081B211E
-_081B2100:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_81B2164
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081B211E:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081B2100
-_081B2126:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B209C
-
- thumb_func_start sub_81B2134
-sub_81B2134: @ 81B2134
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B215A
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_802C908
- cmp r0, 0
- beq _081B215A
- movs r0, 0x1
- b _081B215C
-_081B215A:
- movs r0, 0
-_081B215C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2134
-
- thumb_func_start sub_81B2164
-sub_81B2164: @ 81B2164
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081B2182
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0x55
- bne _081B2182
- movs r0, 0x1
- b _081B2184
-_081B2182:
- movs r0, 0
-_081B2184:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81B2164
-
- thumb_func_start sub_81B218C
-sub_81B218C: @ 81B218C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CEC8
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081B21A4
- movs r0, 0
-_081B21A4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B218C
-
- thumb_func_start sub_81B21AC
-sub_81B21AC: @ 81B21AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r5, 0
- bl sub_81B218C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081B21DC
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8004
- strh r5, [r0]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B21FE
- .pool
-_081B21DC:
- movs r0, 0x20
- bl PlaySE
- ldr r0, =gText_PkmnCantParticipate
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1C1C
- str r1, [r0]
-_081B21FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B21AC
-
- thumb_func_start sub_81B2210
-sub_81B2210: @ 81B2210
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gText_CancelParticipation
- movs r1, 0x1
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B2248
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2210
-
- thumb_func_start sub_81B2248
-sub_81B2248: @ 81B2248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B226C
- bl sub_81B334C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B227C
- str r0, [r1]
-_081B226C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2248
-
- thumb_func_start sub_81B227C
-sub_81B227C: @ 81B227C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _081B22A2
- cmp r1, 0
- bgt _081B229C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081B22B4
- b _081B22C8
-_081B229C:
- cmp r1, 0x1
- beq _081B22BA
- b _081B22C8
-_081B22A2:
- ldr r1, =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_81B12C0
- b _081B22C8
- .pool
-_081B22B4:
- movs r0, 0x5
- bl PlaySE
-_081B22BA:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1C1C
- str r0, [r1]
-_081B22C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B227C
-
- thumb_func_start sub_81B22D8
-sub_81B22D8: @ 81B22D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r8, r6
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B22FA
- movs r0, 0x3
- b _081B2356
-_081B22FA:
- movs r0, 0x90
- lsls r0, 1
- cmp r4, r0
- bls _081B231C
- adds r1, r4, 0
- subs r1, 0x21
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _081B2334
- adds r0, r7, 0
- bl ItemIdToBattleMoveId
- b _081B233E
-_081B231C:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2370
- lsls r0, 24
- cmp r0, 0
- bne _081B2338
-_081B2334:
- movs r0, 0x1
- b _081B2356
-_081B2338:
- mov r0, r8
- bl sub_81B2360
-_081B233E:
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r5, 0
- bl pokemon_has_move
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081B2354
- movs r0, 0
- b _081B2356
-_081B2354:
- movs r0, 0x2
-_081B2356:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B22D8
-
- thumb_func_start sub_81B2360
-sub_81B2360: @ 81B2360
- lsls r0, 24
- ldr r1, =gUnknown_0861500C
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B2360
-
- thumb_func_start sub_81B2370
-sub_81B2370: @ 81B2370
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_08615048
- lsrs r0, 14
- adds r0, r2
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081B2394
- movs r0, 0
- b _081B2396
- .pool
-_081B2394:
- movs r0, 0x1
-_081B2396:
- pop {r1}
- bx r1
- thumb_func_end sub_81B2370
-
- thumb_func_start sub_81B239C
-sub_81B239C: @ 81B239C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _081B23C4
- cmp r0, 0x1
- bgt _081B23B2
- cmp r0, 0
- beq _081B23B8
- b _081B23DC
-_081B23B2:
- cmp r1, 0x2
- beq _081B23D0
- b _081B23DC
-_081B23B8:
- ldr r0, =gUnknown_08615810
- bl InitWindows
- b _081B23E2
- .pool
-_081B23C4:
- ldr r0, =gUnknown_08615850
- bl InitWindows
- b _081B23E2
- .pool
-_081B23D0:
- ldr r0, =gUnknown_08615890
- bl InitWindows
- b _081B23E2
- .pool
-_081B23DC:
- ldr r0, =gUnknown_086158D0
- bl InitWindows
-_081B23E2:
- bl DeactivateAllTextPrinters
- movs r4, 0
-_081B23E8:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081B23E8
- movs r0, 0
- movs r1, 0x4F
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B239C
-
- thumb_func_start sub_81B2428
-sub_81B2428: @ 81B2428
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _081B243E
- b _081B2554
-_081B243E:
- cmp r2, 0x1
- bne _081B24B4
- ldr r0, =gUnknown_08615918
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, =gMenuText_Confirm
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_086157FC
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r5, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_08615910
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- b _081B24C0
- .pool
-_081B24B4:
- ldr r0, =gUnknown_08615908
- bl AddWindow
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x3
-_081B24C0:
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_0203CEC8
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xA
- beq _081B2514
- ldr r4, =gText_Cancel
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- b _081B2540
- .pool
-_081B2514:
- ldr r4, =gText_Cancel2
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- lsls r0, 24
- lsrs r2, r0, 24
- adds r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_086157FC
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_081B2540:
- adds r0, r5, 0
- bl PutWindowTilemap
- adds r0, r5, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_081B2554:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2428
-
- thumb_func_start sub_81B2564
-sub_81B2564: @ 81B2564
- lsls r0, 24
- ldr r1, =gUnknown_0203CEC4
- lsrs r0, 23
- adds r0, 0x18
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .pool
- thumb_func_end sub_81B2564
-
- thumb_func_start sub_81B2578
-sub_81B2578: @ 81B2578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r1, [sp, 0xC]
- ldr r1, [sp, 0x4C]
- ldr r4, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r4, 24
- lsrs r6, r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- mov r0, r10
- muls r0, r6
- lsls r0, 5
- bl AllocZeroed
- mov r9, r0
- cmp r0, 0
- beq _081B2646
- movs r5, 0
- ldr r0, [sp, 0x14]
- lsls r0, 19
- str r0, [sp, 0x1C]
- ldr r1, [sp, 0x18]
- lsls r1, 19
- str r1, [sp, 0x20]
- lsls r2, r6, 19
- str r2, [sp, 0x24]
- mov r0, r10
- lsls r0, 19
- str r0, [sp, 0x28]
- cmp r5, r10
- bcs _081B2624
-_081B25DA:
- movs r4, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bcs _081B261A
- ldr r2, [sp, 0x18]
- adds r0, r2, r5
- ldr r2, [sp, 0x10]
- adds r1, r0, 0
- muls r1, r2
- adds r7, r1, 0
-_081B25F0:
- ldr r1, [sp, 0x14]
- adds r0, r1, r4
- adds r0, r7
- ldr r2, [sp, 0xC]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_81B0DD4
- adds r1, r5, 0
- muls r1, r6
- adds r1, r4
- lsls r1, 5
- add r1, r9
- movs r2, 0x10
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _081B25F0
-_081B261A:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r10
- bcc _081B25DA
-_081B2624:
- ldr r0, [sp, 0x1C]
- lsrs r2, r0, 16
- ldr r1, [sp, 0x20]
- lsrs r3, r1, 16
- ldr r1, [sp, 0x24]
- lsrs r0, r1, 16
- str r0, [sp]
- ldr r1, [sp, 0x28]
- lsrs r0, r1, 16
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x8]
- mov r1, r9
- bl BlitBitmapToWindow
- mov r0, r9
- bl Free
-_081B2646:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2578
-
- thumb_func_start sub_81B2658
-sub_81B2658: @ 81B2658
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B2684
- cmp r4, 0
- bne _081B2684
- movs r3, 0xA
- movs r4, 0x7
-_081B2684:
- cmp r5, 0
- bne _081B26A0
- ldr r1, =gUnknown_08615988
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
- b _081B26B0
- .pool
-_081B26A0:
- ldr r1, =gUnknown_086159CE
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_81B2578
-_081B26B0:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2658
-
- thumb_func_start sub_81B26BC
-sub_81B26BC: @ 81B26BC
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- cmp r3, 0
- bne _081B26E8
- cmp r4, 0
- bne _081B26E8
- movs r3, 0x12
- movs r4, 0x3
-_081B26E8:
- cmp r5, 0
- bne _081B2704
- ldr r1, =gUnknown_08615A14
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
- b _081B2714
- .pool
-_081B2704:
- ldr r1, =gUnknown_08615A4A
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl sub_81B2578
-_081B2714:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B26BC
-
- thumb_func_start sub_81B2720
-sub_81B2720: @ 81B2720
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_08615A80
- movs r2, 0
- str r2, [sp]
- movs r2, 0x12
- str r2, [sp, 0x4]
- movs r2, 0x3
- str r2, [sp, 0x8]
- movs r2, 0x12
- movs r3, 0
- bl sub_81B2578
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2720
-
- thumb_func_start sub_81B2748
-sub_81B2748: @ 81B2748
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- ldrb r0, [r0, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- adds r7, r6, 0
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- beq _081B277C
- ldr r5, =gUnknown_08615AF1
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AC0
- b _081B297E
- .pool
-_081B277C:
- movs r0, 0x20
- ands r0, r4
- cmp r0, 0
- beq _081B27D8
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2794
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B2794:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B27D8:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _081B2824
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2824:
- movs r0, 0x4
- ands r0, r4
- cmp r0, 0
- beq _081B2880
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B283C
- ldr r5, =gUnknown_08615ADF
- b _081B2942
- .pool
-_081B283C:
- ldr r5, =gUnknown_08615ADF
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEE
- b _081B2976
- .pool
-_081B2880:
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _081B28DC
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B2898
- ldr r5, =gUnknown_08615ADC
- b _081B2942
- .pool
-_081B2898:
- ldr r5, =gUnknown_08615AD3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE8
- b _081B2976
- .pool
-_081B28DC:
- movs r0, 0x8
- ands r0, r4
- cmp r0, 0
- beq _081B2938
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081B28F4
- ldr r5, =gUnknown_08615AD9
- b _081B2942
- .pool
-_081B28F4:
- ldr r5, =gUnknown_08615AD0
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE5
- b _081B2976
- .pool
-_081B2938:
- movs r0, 0x1
- ands r5, r0
- cmp r5, 0
- beq _081B29BC
- ldr r5, =gUnknown_08615AD6
-_081B2942:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AEB
-_081B2976:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
-_081B297E:
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- b _081B2A24
- .pool
-_081B29BC:
- ldr r5, =gUnknown_08615ACD
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABA
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldr r5, =gUnknown_08615AE2
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615ABD
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl sub_81B2564
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2A24:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2748
-
- thumb_func_start sub_81B2A3C
-sub_81B2A3C: @ 81B2A3C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldrb r5, [r3]
- ldrb r3, [r3, 0x1]
- lsls r4, r2, 1
- adds r4, r2
- ldr r2, =gUnknown_086157FC
- adds r4, r2
- str r4, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2A3C
-
- thumb_func_start sub_81B2A70
-sub_81B2A70: @ 81B2A70
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2AC0
- cmp r4, 0x1
- bne _081B2AAA
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x4]
- lsrs r1, 3
- ldrb r2, [r5, 0x5]
- lsrs r2, 3
- ldrb r3, [r5, 0x6]
- lsrs r3, 3
- ldrb r4, [r5, 0x7]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2AAA:
- adds r0, r7, 0
- add r1, sp, 0x8
- bl GetMonNickname
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x4
- add r1, sp, 0x8
- movs r2, 0
- bl sub_81B2A3C
-_081B2AC0:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2A70
-
- thumb_func_start sub_81B2AC8
-sub_81B2AC8: @ 81B2AC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2B34
- adds r0, r6, 0
- bl sub_81B205C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081B2AF6
- cmp r0, 0x6
- bne _081B2B34
-_081B2AF6:
- cmp r4, 0
- beq _081B2B1C
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0x8]
- lsrs r1, 3
- ldrb r2, [r5, 0x9]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xA]
- lsrs r3, 3
- ldrb r4, [r5, 0xB]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2B1C:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2B34
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- bl sub_81B2B40
-_081B2B34:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2AC8
-
- thumb_func_start sub_81B2B40
-sub_81B2B40: @ 81B2B40
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_LevelSymbol
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x8
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2B40
-
- thumb_func_start sub_81B2B8C
-sub_81B2B8C: @ 81B2B8C
- push {r4-r7,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _081B2BBE
- ldr r5, [r7]
- ldrb r0, [r7, 0x8]
- ldrb r1, [r5, 0xC]
- lsrs r1, 3
- ldrb r2, [r5, 0xD]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0xE]
- lsrs r3, 3
- ldrb r4, [r5, 0xF]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2BBE:
- adds r0, r6, 0
- add r1, sp, 0x8
- bl GetMonNickname
- adds r0, r6, 0
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- add r2, sp, 0x8
- adds r3, r7, 0
- bl sub_81B2BF4
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2B8C
-
- thumb_func_start sub_81B2BF4
-sub_81B2BF4: @ 81B2BF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- adds r7, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r5, r4, 0
- ldrb r0, [r7, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r6, r0, 24
- cmp r4, 0
- beq _081B2CBA
- cmp r4, 0x20
- beq _081B2C24
- cmp r4, 0x1D
- bne _081B2C38
-_081B2C24:
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- mov r0, r9
- bl StringCompare
- cmp r0, 0
- beq _081B2CBA
-_081B2C38:
- mov r0, r8
- cmp r0, 0
- beq _081B2C48
- cmp r0, 0xFE
- beq _081B2C88
- b _081B2CBA
- .pool
-_081B2C48:
- ldr r5, =gUnknown_08615AC3
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_MaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
- b _081B2CBA
- .pool
-_081B2C88:
- ldr r5, =gUnknown_08615AC5
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB6
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, =gText_FemaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl sub_81B2A3C
-_081B2CBA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2BF4
-
- thumb_func_start sub_81B2CD4
-sub_81B2CD4: @ 81B2CD4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2D2E
- cmp r4, 0
- beq _081B2D16
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x10]
- lsrs r1, 3
- ldrb r2, [r5, 0x11]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x12]
- lsrs r3, 3
- ldrb r4, [r5, 0x13]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2D16:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2D2E
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2D3C
-_081B2D2E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2CD4
-
- thumb_func_start sub_81B2D3C
-sub_81B2D3C: @ 81B2D3C
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r1, 0xBA
- strb r1, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x1]
- ldrb r0, [r4, 0x8]
- ldr r3, [r4]
- adds r3, 0x10
- adds r1, r5, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2D3C
-
- thumb_func_start sub_81B2D74
-sub_81B2D74: @ 81B2D74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- mov r8, r4
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2DD0
- cmp r4, 0
- beq _081B2DB8
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x14]
- lsrs r1, 3
- adds r1, 0x1
- ldrb r2, [r5, 0x15]
- lsrs r2, 3
- adds r2, 0x1
- ldrb r3, [r5, 0x16]
- lsrs r3, 3
- ldrb r4, [r5, 0x17]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2DB8:
- mov r0, r8
- cmp r0, 0x2
- beq _081B2DD0
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl sub_81B2DDC
-_081B2DD0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2D74
-
- thumb_func_start sub_81B2DDC
-sub_81B2DDC: @ 81B2DDC
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar1
- ldr r1, =gText_Slash
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- ldrb r0, [r6, 0x8]
- ldr r3, [r6]
- adds r3, 0x14
- adds r1, r4, 0
- movs r2, 0
- bl sub_81B2A3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2DDC
-
- thumb_func_start sub_81B2E28
-sub_81B2E28: @ 81B2E28
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B2E5C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- adds r2, r6, 0
- bl sub_81B2E64
-_081B2E5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81B2E28
-
- thumb_func_start sub_81B2E64
-sub_81B2E64: @ 81B2E64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrb r0, [r6, 0x8]
- movs r1, 0x5
- bl GetWindowAttribute
- lsls r0, 28
- lsrs r7, r0, 24
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _081B2EB0
- cmp r0, 0x2
- blt _081B2EE0
- cmp r0, 0x4
- bgt _081B2EE0
- ldr r5, =gUnknown_08615AC7
- b _081B2EB2
- .pool
-_081B2EB0:
- ldr r5, =gUnknown_08615AC9
-_081B2EB2:
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- b _081B2F04
- .pool
-_081B2EE0:
- ldr r5, =gUnknown_08615ACB
- ldrb r0, [r5]
- bl sub_81B2564
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl sub_81B2564
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081B2F04:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- ldr r2, [r6]
- ldrb r2, [r2, 0x1A]
- bl GetScaledHPFraction
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x8]
- ldr r4, =gUnknown_08615AB8
- ldrb r1, [r4, 0x1]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- str r5, [sp]
- movs r7, 0x1
- str r7, [sp, 0x4]
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldrb r1, [r4]
- ldr r3, [r6]
- ldrb r2, [r3, 0x18]
- ldrb r3, [r3, 0x19]
- adds r3, 0x1
- str r5, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- bl FillWindowPixelRect
- ldr r1, [r6]
- ldrb r0, [r1, 0x1A]
- cmp r5, r0
- beq _081B2F88
- ldrb r0, [r6, 0x8]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0xD
- bl FillWindowPixelRect
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x18]
- adds r2, r5
- ldrb r3, [r1, 0x19]
- adds r3, 0x1
- ldrb r1, [r1, 0x1A]
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- bl FillWindowPixelRect
-_081B2F88:
- ldrb r0, [r6, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2E64
-
- thumb_func_start sub_81B2FA8
-sub_81B2FA8: @ 81B2FA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r7, 0
- beq _081B2FF2
- ldr r5, [r6]
- ldrb r1, [r5, 0x1C]
- movs r4, 0x7
- adds r0, r1, 0
- ands r0, r4
- ldrb r2, [r5, 0x1E]
- adds r0, r2
- adds r3, r0, 0x7
- asrs r3, 3
- ldrb r2, [r5, 0x1D]
- adds r0, r2, 0
- ands r0, r4
- ldrb r4, [r5, 0x1F]
- adds r0, r4
- adds r4, r0, 0x7
- ldrb r0, [r6, 0x8]
- lsrs r1, 3
- lsrs r2, 3
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_081B2FF2:
- cmp r7, 0x2
- beq _081B3018
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x1C]
- ldrb r3, [r1, 0x1D]
- ldr r1, =gUnknown_086157FC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r4, =gUnknown_08615B60
- mov r5, r8
- lsls r1, r5, 2
- adds r1, r4
- ldr r1, [r1]
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
-_081B3018:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B2FA8
-
- thumb_func_start sub_81B302C
-sub_81B302C: @ 81B302C
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081B304C
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B304C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81B302C
-
- thumb_func_start display_pokemon_menu_message
-display_pokemon_menu_message: @ 81B3054
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, =gUnknown_0203CEC4
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0xD
- ldrb r0, [r4, 0xD]
- cmp r0, 0xFF
- beq _081B306E
- adds r0, r5, 0
- bl sub_81B302C
-_081B306E:
- cmp r6, 0x7F
- beq _081B313C
- adds r0, r6, 0
- subs r0, 0x15
- cmp r0, 0x5
- bhi _081B30D4
- lsls r0, 2
- ldr r1, =_081B308C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081B308C:
- .4byte _081B30A4
- .4byte _081B30BC
- .4byte _081B30BC
- .4byte _081B30AC
- .4byte _081B30B4
- .4byte _081B30C4
-_081B30A4:
- ldr r0, =gUnknown_08615928
- b _081B30C6
- .pool
-_081B30AC:
- ldr r0, =gUnknown_08615930
- b _081B30C6
- .pool
-_081B30B4:
- ldr r0, =gUnknown_08615938
- b _081B30C6
- .pool
-_081B30BC:
- ldr r0, =gUnknown_08615940
- b _081B30C6
- .pool
-_081B30C4:
- ldr r0, =gUnknown_08615948
-_081B30C6:
- bl AddWindow
- strb r0, [r5]
- b _081B30DC
- .pool
-_081B30D4:
- ldr r0, =gUnknown_08615920
- bl AddWindow
- strb r0, [r4, 0xD]
-_081B30DC:
- cmp r6, 0
- bne _081B3104
- ldr r0, =gUnknown_0203CEC4
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081B30F8
- movs r6, 0x2
- b _081B3104
- .pool
-_081B30F8:
- bl sub_81B314C
- lsls r0, 24
- cmp r0, 0
- bne _081B3104
- movs r6, 0x1
-_081B3104:
- ldrb r0, [r5]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_08615AF4
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r0, [r5]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
-_081B313C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end display_pokemon_menu_message
-
- thumb_func_start sub_81B314C
-sub_81B314C: @ 81B314C
- push {r4-r7,lr}
- ldr r7, =gPlayerParty
- movs r6, 0
- ldr r0, =gUnknown_0203CEC8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _081B3168
-_081B315A:
- movs r0, 0x1
- b _081B31AA
- .pool
-_081B3168:
- movs r5, 0
-_081B316A:
- movs r0, 0x64
- muls r0, r5
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081B319A
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081B3194
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _081B319A
-_081B3194:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_081B319A:
- cmp r6, 0x1
- bhi _081B315A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _081B316A
- movs r0, 0
-_081B31AA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81B314C
thumb_func_start sub_81B31B0
sub_81B31B0: @ 81B31B0