summaryrefslogtreecommitdiff
path: root/asm/party_menu.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/party_menu.s')
-rw-r--r--asm/party_menu.s2653
1 files changed, 0 insertions, 2653 deletions
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 53a66378c..e5540e171 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -4,2659 +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, =gUnknown_0203CEF8
- 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