summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/party_menu.s5197
-rw-r--r--asm/pokemon_storage_system.s2
-rw-r--r--asm/pokemon_summary_screen.s60
3 files changed, 31 insertions, 5228 deletions
diff --git a/asm/party_menu.s b/asm/party_menu.s
index c394b4917..32674fea2 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -5,5203 +5,6 @@
.text
- thumb_func_start sub_8120F78
-sub_8120F78: @ 8120F78
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08120F90 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08120F94
- movs r0, 0
- b _08120FA4
- .align 2, 0
-_08120F90: .4byte gMain
-_08120F94:
- ldr r0, _08120FA8 @ =sPartyMenuInternal
- ldr r1, [r0]
- ldr r0, _08120FAC @ =sub_8120FB0
- str r0, [r1, 0x4]
- adds r0, r2, 0
- bl Task_ClosePartyMenu
- movs r0, 0x1
-_08120FA4:
- pop {r1}
- bx r1
- .align 2, 0
-_08120FA8: .4byte sPartyMenuInternal
-_08120FAC: .4byte sub_8120FB0
- thumb_func_end sub_8120F78
-
- thumb_func_start sub_8120FB0
-sub_8120FB0: @ 8120FB0
- push {lr}
- bl FreeRestoreBattleData
- bl LoadPlayerParty
- bl SetTeachyTvControllerModeToResume
- ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08120FC8: .4byte CB2_ReturnToTeachyTV
- thumb_func_end sub_8120FB0
-
- thumb_func_start sub_8120FCC
-sub_8120FCC: @ 8120FCC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08120FE8 @ =gTasks+0x8
- adds r3, r1, r0
- movs r2, 0
- strh r2, [r3]
- subs r0, 0x8
- adds r1, r0
- ldr r0, _08120FEC @ =sub_8120FF0
- str r0, [r1]
- bx lr
- .align 2, 0
-_08120FE8: .4byte gTasks+0x8
-_08120FEC: .4byte sub_8120FF0
- thumb_func_end sub_8120FCC
-
- thumb_func_start sub_8120FF0
-sub_8120FF0: @ 8120FF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _0812102C @ =gTasks+0x8
- adds r4, r0, r1
- ldr r0, _08121030 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08121048
- adds r0, r2, 0
- bl sub_8120F78
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08121048
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x50
- beq _08121034
- adds r0, r1, 0x1
- strh r0, [r4]
- b _08121048
- .align 2, 0
-_0812102C: .4byte gTasks+0x8
-_08121030: .4byte gPaletteFade
-_08121034:
- ldr r0, _08121050 @ =sPartyMenuInternal
- ldr r1, [r0]
- ldr r0, _08121054 @ =CB2_SetUpExitToBattleScreen
- str r0, [r1, 0x4]
- ldr r0, _08121058 @ =gItemUseCB
- ldr r1, _0812105C @ =Task_ClosePartyMenuAfterText
- ldr r2, [r0]
- adds r0, r5, 0
- bl _call_via_r2
-_08121048:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121050: .4byte sPartyMenuInternal
-_08121054: .4byte CB2_SetUpExitToBattleScreen
-_08121058: .4byte gItemUseCB
-_0812105C: .4byte Task_ClosePartyMenuAfterText
- thumb_func_end sub_8120FF0
-
- thumb_func_start InitPartyMenuWindows
-InitPartyMenuWindows: @ 8121060
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _08121088
- cmp r0, 0x1
- bgt _08121076
- cmp r0, 0
- beq _0812107C
- b _081210A0
-_08121076:
- cmp r1, 0x2
- beq _08121094
- b _081210A0
-_0812107C:
- ldr r0, _08121084 @ =sSinglePartyMenuWindowTemplate
- bl InitWindows
- b _081210A6
- .align 2, 0
-_08121084: .4byte sSinglePartyMenuWindowTemplate
-_08121088:
- ldr r0, _08121090 @ =sDoublePartyMenuWindowTemplate
- bl InitWindows
- b _081210A6
- .align 2, 0
-_08121090: .4byte sDoublePartyMenuWindowTemplate
-_08121094:
- ldr r0, _0812109C @ =sMultiPartyMenuWindowTemplate
- bl InitWindows
- b _081210A6
- .align 2, 0
-_0812109C: .4byte sMultiPartyMenuWindowTemplate
-_081210A0:
- ldr r0, _081210F4 @ =sShowcaseMultiPartyMenuWindowTemplate
- bl InitWindows
-_081210A6:
- bl DeactivateAllTextPrinters
- movs r4, 0
-_081210AC:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _081210AC
- movs r0, 0
- movs r1, 0x4F
- movs r2, 0xD0
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0
- movs r1, 0x58
- movs r2, 0xF0
- bl TextWindow_SetStdFrame0_WithPal
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- bl stdpal_get
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081210F4: .4byte sShowcaseMultiPartyMenuWindowTemplate
- thumb_func_end InitPartyMenuWindows
-
- thumb_func_start CreateCancelConfirmWindows
-CreateCancelConfirmWindows: @ 81210F8
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08121174 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _0812110E
- b _08121238
-_0812110E:
- cmp r2, 0x1
- bne _08121188
- ldr r0, _08121178 @ =sConfirmButtonWindowTemplate
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r5, _0812117C @ =gMenuText_Confirm
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- movs r2, 0x30
- subs r2, r0
- lsrs r2, 1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, _08121180 @ =sFontColorTable
- 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, _08121184 @ =sMultiCancelButtonWindowTemplate
- bl AddWindow
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- b _08121194
- .align 2, 0
-_08121174: .4byte gPartyMenu
-_08121178: .4byte sConfirmButtonWindowTemplate
-_0812117C: .4byte gMenuText_Confirm
-_08121180: .4byte sFontColorTable
-_08121184: .4byte sMultiCancelButtonWindowTemplate
-_08121188:
- ldr r0, _081211E0 @ =sCancelButtonWindowTemplate
- bl AddWindow
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0x3
-_08121194:
- adds r0, r6, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, _081211E4 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xA
- beq _081211F0
- ldr r4, _081211E8 @ =gFameCheckerText_Cancel
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0x30
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- adds r1, r5, r1
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _081211EC @ =sFontColorTable
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- b _08121224
- .align 2, 0
-_081211E0: .4byte sCancelButtonWindowTemplate
-_081211E4: .4byte gPartyMenu
-_081211E8: .4byte gFameCheckerText_Cancel
-_081211EC: .4byte sFontColorTable
-_081211F0:
- ldr r4, _08121240 @ =gOtherText_Exit
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0x30
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- adds r1, r5, r1
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _08121244 @ =sFontColorTable
- str r0, [sp]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_08121224:
- adds r0, r6, 0
- bl PutWindowTilemap
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
-_08121238:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08121240: .4byte gOtherText_Exit
-_08121244: .4byte sFontColorTable
- thumb_func_end CreateCancelConfirmWindows
-
- thumb_func_start GetPartyMenuPalBufferPtr
-GetPartyMenuPalBufferPtr: @ 8121248
- lsls r0, 24
- ldr r1, _08121258 @ =sPartyMenuInternal
- lsrs r0, 23
- adds r0, 0x18
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08121258: .4byte sPartyMenuInternal
- thumb_func_end GetPartyMenuPalBufferPtr
-
- thumb_func_start BlitBitmapToPartyWindow
-BlitBitmapToPartyWindow: @ 812125C
- 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 _0812132A
- 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 _08121308
-_081212BE:
- movs r4, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bcs _081212FE
- ldr r2, [sp, 0x18]
- adds r0, r2, r5
- ldr r2, [sp, 0x10]
- adds r1, r0, 0
- muls r1, r2
- adds r7, r1, 0
-_081212D4:
- ldr r1, [sp, 0x14]
- adds r0, r1, r4
- adds r0, r7
- ldr r2, [sp, 0xC]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl GetPartyMenuBgTile
- 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 _081212D4
-_081212FE:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r10
- bcc _081212BE
-_08121308:
- 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
-_0812132A:
- 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 BlitBitmapToPartyWindow
-
- thumb_func_start BlitBitmapToPartyWindow_LeftColumn
-BlitBitmapToPartyWindow_LeftColumn: @ 812133C
- 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 _08121368
- cmp r4, 0
- bne _08121368
- movs r3, 0xA
- movs r4, 0x7
-_08121368:
- cmp r5, 0
- bne _08121384
- ldr r1, _08121380 @ =sMainSlotTileNums
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl BlitBitmapToPartyWindow
- b _08121394
- .align 2, 0
-_08121380: .4byte sMainSlotTileNums
-_08121384:
- ldr r1, _0812139C @ =sMainSlotTileNums_Egg
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0xA
- adds r3, r6, 0
- bl BlitBitmapToPartyWindow
-_08121394:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0812139C: .4byte sMainSlotTileNums_Egg
- thumb_func_end BlitBitmapToPartyWindow_LeftColumn
-
- thumb_func_start BlitBitmapToPartyWindow_RightColumn
-BlitBitmapToPartyWindow_RightColumn: @ 81213A0
- 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 _081213CC
- cmp r4, 0
- bne _081213CC
- movs r3, 0x12
- movs r4, 0x3
-_081213CC:
- cmp r5, 0
- bne _081213E8
- ldr r1, _081213E4 @ =sOtherSlotsTileNums
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl BlitBitmapToPartyWindow
- b _081213F8
- .align 2, 0
-_081213E4: .4byte sOtherSlotsTileNums
-_081213E8:
- ldr r1, _08121400 @ =sOtherSlotsTileNums_Egg
- str r2, [sp]
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x12
- adds r3, r6, 0
- bl BlitBitmapToPartyWindow
-_081213F8:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08121400: .4byte sOtherSlotsTileNums_Egg
- thumb_func_end BlitBitmapToPartyWindow_RightColumn
-
- thumb_func_start DrawEmptySlot
-DrawEmptySlot: @ 8121404
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08121428 @ =sEmptySlotTileNums
- 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 BlitBitmapToPartyWindow
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_08121428: .4byte sEmptySlotTileNums
- thumb_func_end DrawEmptySlot
-
- thumb_func_start LoadPartyBoxPalette
-LoadPartyBoxPalette: @ 812142C
- 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, 0x20
- ands r0, r4
- cmp r0, 0
- beq _081214A0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0812145C
- ldr r5, _08121458 @ =sPartyBoxSelectedForActionPalIds1
- b _0812160A
- .align 2, 0
-_08121458: .4byte sPartyBoxSelectedForActionPalIds1
-_0812145C:
- ldr r5, _08121494 @ =sPartyBoxSelectedForActionPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121498 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _0812149C @ =sPartyBoxSelectedForActionPalIds2
- b _0812163E
- .align 2, 0
-_08121494: .4byte sPartyBoxSelectedForActionPalIds1
-_08121498: .4byte sPartyBoxPalOffsets1
-_0812149C: .4byte sPartyBoxSelectedForActionPalIds2
-_081214A0:
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _081214EC
- ldr r5, _081214E0 @ =sPartyBoxSelectedForActionPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _081214E4 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _081214E8 @ =sPartyBoxSelectedForActionPalIds2
- b _0812163E
- .align 2, 0
-_081214E0: .4byte sPartyBoxSelectedForActionPalIds1
-_081214E4: .4byte sPartyBoxPalOffsets1
-_081214E8: .4byte sPartyBoxSelectedForActionPalIds2
-_081214EC:
- movs r0, 0x4
- ands r0, r4
- cmp r0, 0
- beq _08121548
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08121504
- ldr r5, _08121500 @ =sPartyBoxSelectedForActionPalIds1
- b _0812160A
- .align 2, 0
-_08121500: .4byte sPartyBoxSelectedForActionPalIds1
-_08121504:
- ldr r5, _0812153C @ =sPartyBoxSelectedForActionPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121540 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _08121544 @ =sPartyBoxSelectedForActionPalIds2
- b _0812163E
- .align 2, 0
-_0812153C: .4byte sPartyBoxSelectedForActionPalIds1
-_08121540: .4byte sPartyBoxPalOffsets1
-_08121544: .4byte sPartyBoxSelectedForActionPalIds2
-_08121548:
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _081215A4
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08121560
- ldr r5, _0812155C @ =sPartyBoxCurrSelectionFaintedPalIds
- b _0812160A
- .align 2, 0
-_0812155C: .4byte sPartyBoxCurrSelectionFaintedPalIds
-_08121560:
- ldr r5, _08121598 @ =sPartyBoxFaintedPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _0812159C @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _081215A0 @ =sPartyBoxFaintedPalIds2
- b _0812163E
- .align 2, 0
-_08121598: .4byte sPartyBoxFaintedPalIds1
-_0812159C: .4byte sPartyBoxPalOffsets1
-_081215A0: .4byte sPartyBoxFaintedPalIds2
-_081215A4:
- movs r0, 0x8
- ands r0, r4
- cmp r0, 0
- beq _08121600
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _081215BC
- ldr r5, _081215B8 @ =sPartyBoxCurrSelectionMultiPalIds
- b _0812160A
- .align 2, 0
-_081215B8: .4byte sPartyBoxCurrSelectionMultiPalIds
-_081215BC:
- ldr r5, _081215F4 @ =sPartyBoxMultiPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _081215F8 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _081215FC @ =sPartyBoxMultiPalIds2
- b _0812163E
- .align 2, 0
-_081215F4: .4byte sPartyBoxMultiPalIds1
-_081215F8: .4byte sPartyBoxPalOffsets1
-_081215FC: .4byte sPartyBoxMultiPalIds2
-_08121600:
- movs r0, 0x1
- ands r5, r0
- cmp r5, 0
- beq _08121684
- ldr r5, _08121674 @ =sPartyBoxCurrSelectionPalIds1
-_0812160A:
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121678 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _0812167C @ =sPartyBoxCurrSelectionPalIds2
-_0812163E:
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121680 @ =sPartyBoxPalOffsets2
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- b _081216EC
- .align 2, 0
-_08121674: .4byte sPartyBoxCurrSelectionPalIds1
-_08121678: .4byte sPartyBoxPalOffsets1
-_0812167C: .4byte sPartyBoxCurrSelectionPalIds2
-_08121680: .4byte sPartyBoxPalOffsets2
-_08121684:
- ldr r5, _081216F4 @ =sPartyBoxEmptySlotPalIds1
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _081216F8 @ =sPartyBoxPalOffsets1
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldr r5, _081216FC @ =sPartyBoxEmptySlotPalIds2
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121700 @ =sPartyBoxPalOffsets2
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x2]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x2]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_081216EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081216F4: .4byte sPartyBoxEmptySlotPalIds1
-_081216F8: .4byte sPartyBoxPalOffsets1
-_081216FC: .4byte sPartyBoxEmptySlotPalIds2
-_08121700: .4byte sPartyBoxPalOffsets2
- thumb_func_end LoadPartyBoxPalette
-
- thumb_func_start DisplayPartyPokemonBarDetail
-DisplayPartyPokemonBarDetail: @ 8121704
- 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, _08121734 @ =sFontColorTable
- 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
- .align 2, 0
-_08121734: .4byte sFontColorTable
- thumb_func_end DisplayPartyPokemonBarDetail
-
- thumb_func_start DisplayPartyPokemonNickname
-DisplayPartyPokemonNickname: @ 8121738
- 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 _08121788
- cmp r4, 0x1
- bne _08121772
- 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
-_08121772:
- 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 DisplayPartyPokemonBarDetail
-_08121788:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonNickname
-
- thumb_func_start DisplayPartyPokemonLevelCheck
-DisplayPartyPokemonLevelCheck: @ 8121790
- 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 _081217FC
- adds r0, r6, 0
- bl GetMonAilment
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081217BE
- cmp r0, 0x6
- bne _081217FC
-_081217BE:
- cmp r4, 0
- beq _081217E4
- 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
-_081217E4:
- mov r0, r8
- cmp r0, 0x2
- beq _081217FC
- adds r0, r6, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- bl DisplayPartyPokemonLevel
-_081217FC:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonLevelCheck
-
- thumb_func_start DisplayPartyPokemonLevel
-DisplayPartyPokemonLevel: @ 8121808
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r5, _08121848 @ =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, _0812184C @ =gStringVar1
- ldr r1, _08121850 @ =gText_Lv
- 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 DisplayPartyPokemonBarDetail
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08121848: .4byte gStringVar2
-_0812184C: .4byte gStringVar1
-_08121850: .4byte gText_Lv
- thumb_func_end DisplayPartyPokemonLevel
-
- thumb_func_start DisplayPartyPokemonGenderNidoranCheck
-DisplayPartyPokemonGenderNidoranCheck: @ 8121854
- 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 _08121886
- 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
-_08121886:
- 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 DisplayPartyPokemonGender
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonGenderNidoranCheck
-
- thumb_func_start DisplayPartyPokemonGender
-DisplayPartyPokemonGender: @ 81218BC
- 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 _08121982
- cmp r4, 0x20
- beq _081218EC
- cmp r4, 0x1D
- bne _08121900
-_081218EC:
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0812190C @ =gSpeciesNames
- adds r1, r0
- mov r0, r9
- bl StringCompare
- cmp r0, 0
- beq _08121982
-_08121900:
- mov r0, r8
- cmp r0, 0
- beq _08121910
- cmp r0, 0xFE
- beq _08121950
- b _08121982
- .align 2, 0
-_0812190C: .4byte gSpeciesNames
-_08121910:
- ldr r5, _08121944 @ =sGenderMalePalIds
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121948 @ =sGenderPalOffsets
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, _0812194C @ =gText_MaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl DisplayPartyPokemonBarDetail
- b _08121982
- .align 2, 0
-_08121944: .4byte sGenderMalePalIds
-_08121948: .4byte sGenderPalOffsets
-_0812194C: .4byte gText_MaleSymbol
-_08121950:
- ldr r5, _08121990 @ =sGenderFemalePalIds
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121994 @ =sGenderPalOffsets
- ldrb r1, [r4]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r6
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r7, 0x8]
- ldr r1, _08121998 @ =gText_FemaleSymbol
- ldr r3, [r7]
- adds r3, 0xC
- movs r2, 0x2
- bl DisplayPartyPokemonBarDetail
-_08121982:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08121990: .4byte sGenderFemalePalIds
-_08121994: .4byte sGenderPalOffsets
-_08121998: .4byte gText_FemaleSymbol
- thumb_func_end DisplayPartyPokemonGender
-
- thumb_func_start DisplayPartyPokemonHPCheck
-DisplayPartyPokemonHPCheck: @ 812199C
- 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 _081219F6
- cmp r4, 0
- beq _081219DE
- 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
-_081219DE:
- mov r0, r8
- cmp r0, 0x2
- beq _081219F6
- adds r0, r7, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl DisplayPartyPokemonHP
-_081219F6:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonHPCheck
-
- thumb_func_start DisplayPartyPokemonHP
-DisplayPartyPokemonHP: @ 8121A04
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, _08121A38 @ =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 DisplayPartyPokemonBarDetail
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121A38: .4byte gStringVar1
- thumb_func_end DisplayPartyPokemonHP
-
- thumb_func_start DisplayPartyPokemonMaxHPCheck
-DisplayPartyPokemonMaxHPCheck: @ 8121A3C
- 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 _08121A98
- cmp r4, 0
- beq _08121A80
- 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
-_08121A80:
- mov r0, r8
- cmp r0, 0x2
- beq _08121A98
- adds r0, r7, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl DisplayPartyPokemonMaxHP
-_08121A98:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonMaxHPCheck
-
- thumb_func_start DisplayPartyPokemonMaxHP
-DisplayPartyPokemonMaxHP: @ 8121AA4
- push {r4-r6,lr}
- adds r2, r0, 0
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- ldr r5, _08121AE4 @ =gStringVar2
- adds r0, r5, 0
- adds r1, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, _08121AE8 @ =gStringVar1
- ldr r1, _08121AEC @ =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 DisplayPartyPokemonBarDetail
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08121AE4: .4byte gStringVar2
-_08121AE8: .4byte gStringVar1
-_08121AEC: .4byte gText_Slash
- thumb_func_end DisplayPartyPokemonMaxHP
-
- thumb_func_start DisplayPartyPokemonHPBarCheck
-DisplayPartyPokemonHPBarCheck: @ 8121AF0
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08121B24
- 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 DisplayPartyPokemonHPBar
-_08121B24:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonHPBarCheck
-
- thumb_func_start DisplayPartyPokemonHPBar
-DisplayPartyPokemonHPBar: @ 8121B2C
- 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 _08121B78
- cmp r0, 0x2
- blt _08121BA8
- cmp r0, 0x4
- bgt _08121BA8
- ldr r5, _08121B74 @ =sHPBarGreenPalIds
- b _08121B7A
- .align 2, 0
-_08121B74: .4byte sHPBarGreenPalIds
-_08121B78:
- ldr r5, _08121BA0 @ =sHPBarYellowPalIds
-_08121B7A:
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121BA4 @ =sHPBarPalOffsets
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- b _08121BCC
- .align 2, 0
-_08121BA0: .4byte sHPBarYellowPalIds
-_08121BA4: .4byte sHPBarPalOffsets
-_08121BA8:
- ldr r5, _08121C68 @ =sHPBarRedPalIds
- ldrb r0, [r5]
- bl GetPartyMenuPalBufferPtr
- ldr r4, _08121C6C @ =sHPBarPalOffsets
- ldrb r1, [r4]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
- ldrb r0, [r5, 0x1]
- bl GetPartyMenuPalBufferPtr
- ldrb r1, [r4, 0x1]
- adds r1, r7
- movs r2, 0x2
- bl LoadPalette
-_08121BCC:
- 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, _08121C6C @ =sHPBarPalOffsets
- 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 _08121C50
- 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
-_08121C50:
- 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
- .align 2, 0
-_08121C68: .4byte sHPBarRedPalIds
-_08121C6C: .4byte sHPBarPalOffsets
- thumb_func_end DisplayPartyPokemonHPBar
-
- thumb_func_start DisplayPartyPokemonDescriptionText
-DisplayPartyPokemonDescriptionText: @ 8121C70
- 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 r2, 24
- adds r7, r2, 0
- cmp r7, 0
- beq _08121CAA
- ldr r5, [r6]
- ldrb r0, [r6, 0x8]
- ldrb r1, [r5, 0x1C]
- lsrs r1, 3
- ldrb r2, [r5, 0x1D]
- lsrs r2, 3
- ldrb r3, [r5, 0x1E]
- lsrs r3, 3
- ldrb r4, [r5, 0x1F]
- lsrs r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r4, [r5]
- bl _call_via_r4
-_08121CAA:
- cmp r7, 0x2
- beq _08121CD0
- ldrb r0, [r6, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x1C]
- ldrb r3, [r1, 0x1D]
- ldr r1, _08121CDC @ =sFontColorTable
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r4, _08121CE0 @ =sDescriptionStringTable
- mov r5, r8
- lsls r1, r5, 2
- adds r1, r4
- ldr r1, [r1]
- str r1, [sp, 0x8]
- movs r1, 0x1
- bl AddTextPrinterParameterized3
-_08121CD0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08121CDC: .4byte sFontColorTable
-_08121CE0: .4byte sDescriptionStringTable
- thumb_func_end DisplayPartyPokemonDescriptionText
-
- thumb_func_start PartyMenuRemoveWindow
-PartyMenuRemoveWindow: @ 8121CE4
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08121D04
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
-_08121D04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PartyMenuRemoveWindow
-
- thumb_func_start DisplayPartyMenuStdMessage
-DisplayPartyMenuStdMessage: @ 8121D0C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, _08121D3C @ =sPartyMenuInternal
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0xD
- ldrb r0, [r4, 0xD]
- cmp r0, 0xFF
- beq _08121D26
- adds r0, r5, 0
- bl PartyMenuRemoveWindow
-_08121D26:
- cmp r6, 0x7F
- beq _08121DE8
- adds r0, r6, 0
- subs r0, 0x16
- cmp r0, 0x4
- bhi _08121D80
- lsls r0, 2
- ldr r1, _08121D40 @ =_08121D44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121D3C: .4byte sPartyMenuInternal
-_08121D40: .4byte _08121D44
- .align 2, 0
-_08121D44:
- .4byte _08121D58
- .4byte _08121D70
- .4byte _08121D70
- .4byte _08121D60
- .4byte _08121D68
-_08121D58:
- ldr r0, _08121D5C @ =sDoWhatWithMonMsgWindowTemplate
- b _08121D72
- .align 2, 0
-_08121D5C: .4byte sDoWhatWithMonMsgWindowTemplate
-_08121D60:
- ldr r0, _08121D64 @ =sDoWhatWithItemMsgWindowTemplate
- b _08121D72
- .align 2, 0
-_08121D64: .4byte sDoWhatWithItemMsgWindowTemplate
-_08121D68:
- ldr r0, _08121D6C @ =sDoWhatWithMailMsgWindowTemplate
- b _08121D72
- .align 2, 0
-_08121D6C: .4byte sDoWhatWithMailMsgWindowTemplate
-_08121D70:
- ldr r0, _08121D7C @ =sWhichMoveMsgWindowTemplate
-_08121D72:
- bl AddWindow
- strb r0, [r5]
- b _08121D88
- .align 2, 0
-_08121D7C: .4byte sWhichMoveMsgWindowTemplate
-_08121D80:
- ldr r0, _08121D9C @ =sDefaultPartyMsgWindowTemplate
- bl AddWindow
- strb r0, [r4, 0xD]
-_08121D88:
- cmp r6, 0
- bne _08121DB0
- ldr r0, _08121DA0 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _08121DA4
- movs r6, 0x2
- b _08121DB0
- .align 2, 0
-_08121D9C: .4byte sDefaultPartyMsgWindowTemplate
-_08121DA0: .4byte sPartyMenuInternal
-_08121DA4:
- bl ShouldUseChooseMonText
- lsls r0, 24
- cmp r0, 0
- bne _08121DB0
- movs r6, 0x1
-_08121DB0:
- ldrb r0, [r5]
- movs r1, 0
- movs r2, 0x58
- movs r3, 0xF
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r4, _08121DF0 @ =gStringVar4
- ldr r1, _08121DF4 @ =sActionStringTable
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r0, [r5]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x2
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
-_08121DE8:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08121DF0: .4byte gStringVar4
-_08121DF4: .4byte sActionStringTable
- thumb_func_end DisplayPartyMenuStdMessage
-
- thumb_func_start ShouldUseChooseMonText
-ShouldUseChooseMonText: @ 8121DF8
- push {r4-r7,lr}
- ldr r7, _08121E0C @ =gPlayerParty
- movs r6, 0
- ldr r0, _08121E10 @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _08121E14
-_08121E06:
- movs r0, 0x1
- b _08121E56
- .align 2, 0
-_08121E0C: .4byte gPlayerParty
-_08121E10: .4byte gPartyMenu
-_08121E14:
- movs r5, 0
-_08121E16:
- movs r0, 0x64
- muls r0, r5
- adds r4, r7, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08121E46
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _08121E40
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08121E46
-_08121E40:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08121E46:
- cmp r6, 0x1
- bhi _08121E06
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08121E16
- movs r0, 0
-_08121E56:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ShouldUseChooseMonText
-
- thumb_func_start DisplaySelectionWindow
-DisplaySelectionWindow: @ 8121E5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _08121EBC
- cmp r4, 0x1
- bgt _08121E78
- cmp r4, 0
- beq _08121E7E
- b _08121ECC
-_08121E78:
- cmp r4, 0x2
- beq _08121EC4
- b _08121ECC
-_08121E7E:
- ldr r0, _08121EB4 @ =sPartyMenuInternal
- ldr r1, [r0]
- ldrb r0, [r1, 0x17]
- lsls r0, 1
- movs r3, 0x13
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xA
- str r0, [sp]
- ldrb r0, [r1, 0x17]
- lsls r0, 25
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, _08121EB8 @ =0x000002bf
- str r0, [sp, 0xC]
- add r0, sp, 0x14
- movs r1, 0x2
- movs r2, 0x13
- bl SetWindowTemplateFields
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x18]
- b _08121ED2
- .align 2, 0
-_08121EB4: .4byte sPartyMenuInternal
-_08121EB8: .4byte 0x000002bf
-_08121EBC:
- ldr r0, _08121EC0 @ =sItemGiveTakeWindowTemplate
- b _08121ECE
- .align 2, 0
-_08121EC0: .4byte sItemGiveTakeWindowTemplate
-_08121EC4:
- ldr r0, _08121EC8 @ =sMailReadTakeWindowTemplate
- b _08121ECE
- .align 2, 0
-_08121EC8: .4byte sMailReadTakeWindowTemplate
-_08121ECC:
- ldr r0, _08121EF8 @ =sMoveSelectWindowTemplate
-_08121ECE:
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
-_08121ED2:
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- add r0, sp, 0x1C
- bl AddWindow
- ldr r6, _08121EFC @ =sPartyMenuInternal
- ldr r1, [r6]
- strb r0, [r1, 0xC]
- ldr r0, [r6]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- cmp r4, 0x3
- bne _08121F00
- ldr r0, [r6]
- b _08121FA2
- .align 2, 0
-_08121EF8: .4byte sMoveSelectWindowTemplate
-_08121EFC: .4byte sPartyMenuInternal
-_08121F00:
- movs r0, 0x2
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0x2
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, [r6]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcs _08121F7A
- adds r7, r6, 0
- movs r6, 0
-_08121F2A:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xF
- adds r4, r0, r5
- ldrb r0, [r4]
- movs r2, 0x3
- cmp r0, 0x11
- bls _08121F3C
- movs r2, 0x4
-_08121F3C:
- ldrb r0, [r1, 0xC]
- lsls r3, r5, 4
- adds r3, 0x2
- lsls r3, 24
- lsrs r3, 24
- mov r1, r8
- str r1, [sp]
- str r6, [sp, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- ldr r2, _08121FB4 @ =sFontColorTable
- adds r1, r2
- str r1, [sp, 0x8]
- str r6, [sp, 0xC]
- ldr r2, _08121FB8 @ =sCursorOptions
- ldrb r1, [r4]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- str r1, [sp, 0x10]
- movs r1, 0x2
- mov r2, r9
- bl AddTextPrinterParameterized4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r7]
- ldrb r0, [r0, 0x17]
- cmp r5, r0
- bcc _08121F2A
-_08121F7A:
- ldr r4, _08121FBC @ =sPartyMenuInternal
- ldr r2, [r4]
- ldrb r0, [r2, 0xC]
- movs r1, 0x10
- str r1, [sp]
- ldrb r1, [r2, 0x17]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- str r1, [sp, 0xC]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl Menu_InitCursorInternal
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- ldr r0, [r4]
-_08121FA2:
- ldrb r0, [r0, 0xC]
- add sp, 0x24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08121FB4: .4byte sFontColorTable
-_08121FB8: .4byte sCursorOptions
-_08121FBC: .4byte sPartyMenuInternal
- thumb_func_end DisplaySelectionWindow
-
- thumb_func_start PartyMenuPrintText
-PartyMenuPrintText: @ 8121FC0
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0x6
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r2, _08122008 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetTextSpeedSetting
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0x6
- movs r1, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122008: .4byte gTextFlags
- thumb_func_end PartyMenuPrintText
-
- thumb_func_start PartyMenuDisplayYesNoMenu
-PartyMenuDisplayYesNoMenu: @ 812200C
- push {lr}
- sub sp, 0xC
- ldr r0, _08122030 @ =sPartyMenuYesNoWindowTemplate
- movs r1, 0x4F
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_08122030: .4byte sPartyMenuYesNoWindowTemplate
- thumb_func_end PartyMenuDisplayYesNoMenu
-
- thumb_func_start CreateLevelUpStatsWindow
-CreateLevelUpStatsWindow: @ 8122034
- push {r4,lr}
- ldr r0, _0812205C @ =sLevelUpStatsWindowTemplate
- bl AddWindow
- ldr r4, _08122060 @ =sPartyMenuInternal
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- movs r1, 0
- movs r2, 0x4F
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0812205C: .4byte sLevelUpStatsWindowTemplate
-_08122060: .4byte sPartyMenuInternal
- thumb_func_end CreateLevelUpStatsWindow
-
- thumb_func_start RemoveLevelUpStatsWindow
-RemoveLevelUpStatsWindow: @ 8122064
- push {r4,lr}
- ldr r4, _08122080 @ =sPartyMenuInternal
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, 0xC
- bl PartyMenuRemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122080: .4byte sPartyMenuInternal
- thumb_func_end RemoveLevelUpStatsWindow
-
- thumb_func_start sub_8122084
-sub_8122084: @ 8122084
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _081220CC @ =gStringVar4
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r2, _081220D0 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetTextSpeedSetting
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0x4
- adds r2, r5, 0
- bl AddTextPrinterParameterized2
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081220CC: .4byte gStringVar4
-_081220D0: .4byte gTextFlags
- thumb_func_end sub_8122084
-
- thumb_func_start sub_81220D4
-sub_81220D4: @ 81220D4
- push {r4,lr}
- ldr r0, _08122108 @ =gUnknown_845A170
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x4F
- movs r2, 0xE0
- bl TextWindow_LoadResourcesStdFrame0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x4F
- movs r3, 0xE
- bl DrawDialogFrameWithCustomTileAndPalette
- ldr r1, _0812210C @ =gUnknown_8417457
- adds r0, r4, 0
- bl sub_8122084
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08122108: .4byte gUnknown_845A170
-_0812210C: .4byte gUnknown_8417457
- thumb_func_end sub_81220D4
-
- thumb_func_start sub_8122110
-sub_8122110: @ 8122110
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0
- bl ClearDialogWindowAndFrameToTransparent
- adds r0, r4, 0
- bl RemoveWindow
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8122110
-
- thumb_func_start sub_8122138
-sub_8122138: @ 8122138
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, _08122168 @ =sPartyMenuInternal
- ldr r4, [r0]
- cmp r5, 0x11
- bhi _0812216C
- ldrb r0, [r4, 0xE]
- cmp r0, 0xFF
- beq _081221C0
- bl ClearWindowTilemap
- ldrb r0, [r4, 0xE]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4, 0xE]
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- b _081221C0
- .align 2, 0
-_08122168: .4byte sPartyMenuInternal
-_0812216C:
- ldrb r0, [r4, 0xE]
- cmp r0, 0xFF
- bne _0812217A
- ldr r0, _081221C8 @ =gUnknown_845A178
- bl AddWindow
- strb r0, [r4, 0xE]
-_0812217A:
- ldrb r0, [r4, 0xE]
- bl sub_8112F18
- movs r0, 0x2
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4, 0xE]
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _081221CC @ =sFontColorTable + 15
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r1, _081221D0 @ =sHMDescriptionTable
- adds r0, r5, 0
- subs r0, 0x12
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x10]
- adds r0, r2, 0
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0x6
- bl AddTextPrinterParameterized4
- ldrb r0, [r4, 0xE]
- bl PutWindowTilemap
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
-_081221C0:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081221C8: .4byte gUnknown_845A178
-_081221CC: .4byte sFontColorTable + 15
-_081221D0: .4byte sHMDescriptionTable
- thumb_func_end sub_8122138
-
- thumb_func_start CreatePartyMonIconSprite
-CreatePartyMonIconSprite: @ 81221D4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- movs r6, 0x1
- bl IsMultiBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0812220A
- ldr r0, _08122240 @ =gMain
- ldr r1, _08122244 @ =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0812220A
- ldr r0, _08122248 @ =sMultiBattlePartnersPartyMask
- adds r0, r4, r0
- ldrb r1, [r0]
- eors r1, r6
- negs r0, r1
- orrs r0, r1
- lsrs r6, r0, 31
-_0812220A:
- adds r0, r5, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- str r6, [sp]
- adds r0, r4, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl CreatePartyMonIconSpriteParameterized
- ldrb r0, [r7, 0x9]
- adds r1, r5, 0
- bl UpdatePartyMonHPBar
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08122240: .4byte gMain
-_08122244: .4byte 0x00000439
-_08122248: .4byte sMultiBattlePartnersPartyMask
- thumb_func_end CreatePartyMonIconSprite
-
- thumb_func_start CreatePartyMonIconSpriteParameterized
-CreatePartyMonIconSpriteParameterized: @ 812224C
- push {r4-r7,lr}
- sub sp, 0xC
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r3, 24
- lsrs r7, r3, 24
- cmp r5, 0
- beq _0812229A
- ldr r1, _081222A4 @ =SpriteCB_MonIcon
- ldr r0, [r4, 0x4]
- ldrb r2, [r0]
- ldrb r3, [r0, 0x1]
- movs r0, 0x4
- str r0, [sp]
- str r6, [sp, 0x4]
- ldr r0, [sp, 0x20]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- bl CreateMonIcon
- strb r0, [r4, 0x9]
- ldr r2, _081222A8 @ =gSprites
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r7, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_0812229A:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081222A4: .4byte SpriteCB_MonIcon
-_081222A8: .4byte gSprites
- thumb_func_end CreatePartyMonIconSpriteParameterized
-
- thumb_func_start UpdateHPBar
-UpdateHPBar: @ 81222AC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r1, 0
- adds r1, r2, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _0812230C
- cmp r0, 0x2
- bgt _081222D4
- cmp r0, 0x1
- beq _08122324
- b _0812233C
-_081222D4:
- cmp r0, 0x3
- beq _081222F4
- cmp r0, 0x4
- bne _0812233C
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _081222F0 @ =gSprites
- adds r0, r1
- movs r1, 0
- bl MonIcon_SetAnim
- b _0812234C
- .align 2, 0
-_081222F0: .4byte gSprites
-_081222F4:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08122308 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl MonIcon_SetAnim
- b _0812234C
- .align 2, 0
-_08122308: .4byte gSprites
-_0812230C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08122320 @ =gSprites
- adds r0, r1
- movs r1, 0x2
- bl MonIcon_SetAnim
- b _0812234C
- .align 2, 0
-_08122320: .4byte gSprites
-_08122324:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08122338 @ =gSprites
- adds r0, r1
- movs r1, 0x3
- bl MonIcon_SetAnim
- b _0812234C
- .align 2, 0
-_08122338: .4byte gSprites
-_0812233C:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08122354 @ =gSprites
- adds r0, r1
- movs r1, 0x4
- bl MonIcon_SetAnim
-_0812234C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122354: .4byte gSprites
- thumb_func_end UpdateHPBar
-
- thumb_func_start UpdatePartyMonHPBar
-UpdatePartyMonHPBar: @ 8122358
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl UpdateHPBar
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end UpdatePartyMonHPBar
-
- thumb_func_start AnimateSelectedPartyIcon
-AnimateSelectedPartyIcon: @ 812238C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- ldr r5, _081223BC @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r6, r0, 2
- adds r2, r6, r5
- movs r7, 0
- movs r3, 0
- strh r3, [r2, 0x2E]
- mov r12, r5
- cmp r1, 0
- bne _081223E4
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- cmp r0, 0x10
- bne _081223C4
- strh r3, [r2, 0x24]
- ldr r0, _081223C0 @ =0x0000fffc
- strh r0, [r2, 0x26]
- b _081223CA
- .align 2, 0
-_081223BC: .4byte gSprites
-_081223C0: .4byte 0x0000fffc
-_081223C4:
- ldr r0, _081223DC @ =0x0000fffc
- strh r0, [r2, 0x24]
- strh r3, [r2, 0x26]
-_081223CA:
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- mov r1, r12
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _081223E0 @ =SpriteCB_UpdatePartyMonIcon
- b _081223F0
- .align 2, 0
-_081223DC: .4byte 0x0000fffc
-_081223E0: .4byte SpriteCB_UpdatePartyMonIcon
-_081223E4:
- strh r3, [r2, 0x24]
- strh r3, [r2, 0x26]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _081223F8 @ =SpriteCB_BouncePartyMonIcon
-_081223F0:
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081223F8: .4byte SpriteCB_BouncePartyMonIcon
- thumb_func_end AnimateSelectedPartyIcon
-
- thumb_func_start SpriteCB_BouncePartyMonIcon
-SpriteCB_BouncePartyMonIcon: @ 81223FC
- push {r4,lr}
- adds r4, r0, 0
- bl UpdateMonIconFrame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08122422
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08122420
- ldr r0, _0812241C @ =0x0000fffd
- strh r0, [r4, 0x26]
- b _08122422
- .align 2, 0
-_0812241C: .4byte 0x0000fffd
-_08122420:
- strh r1, [r4, 0x26]
-_08122422:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_BouncePartyMonIcon
-
- thumb_func_start SpriteCB_UpdatePartyMonIcon
-SpriteCB_UpdatePartyMonIcon: @ 8122428
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_UpdatePartyMonIcon
-
- thumb_func_start CreatePartyMonHeldItemSprite
-CreatePartyMonHeldItemSprite: @ 8122434
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0812245C
- ldr r0, _08122464 @ =sSpriteTemplate_HeldItem
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- adds r0, r5, 0
- adds r1, r4, 0
- bl UpdatePartyMonHeldItemSprite
-_0812245C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08122464: .4byte sSpriteTemplate_HeldItem
- thumb_func_end CreatePartyMonHeldItemSprite
-
- thumb_func_start CreatePartyMonHeldItemSpriteParameterized
-CreatePartyMonHeldItemSpriteParameterized: @ 8122468
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r0, 0
- beq _081224A4
- ldr r0, _081224AC @ =sSpriteTemplate_HeldItem
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xA]
- ldr r2, _081224B0 @ =gSprites
- ldrb r0, [r4, 0xA]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r0, r5, 0
- adds r1, r4, 0
- bl ShowOrHideHeldItemSprite
-_081224A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081224AC: .4byte sSpriteTemplate_HeldItem
-_081224B0: .4byte gSprites
- thumb_func_end CreatePartyMonHeldItemSpriteParameterized
-
- thumb_func_start UpdatePartyMonHeldItemSprite
-UpdatePartyMonHeldItemSprite: @ 81224B4
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl ShowOrHideHeldItemSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end UpdatePartyMonHeldItemSprite
-
- thumb_func_start ShowOrHideHeldItemSprite
-ShowOrHideHeldItemSprite: @ 81224D0
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _081224F8
- ldr r2, _081224F4 @ =gSprites
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _08122544
- .align 2, 0
-_081224F4: .4byte gSprites
-_081224F8:
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _0812251C
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08122518 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- b _0812252E
- .align 2, 0
-_08122518: .4byte gSprites
-_0812251C:
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812254C @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
-_0812252E:
- ldr r2, _0812254C @ =gSprites
- ldrb r1, [r4, 0xA]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_08122544:
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812254C: .4byte gSprites
- thumb_func_end ShowOrHideHeldItemSprite
-
- thumb_func_start LoadHeldItemIcons
-LoadHeldItemIcons: @ 8122550
- push {lr}
- ldr r0, _08122564 @ =sSpriteSheet_HeldItem
- bl LoadSpriteSheet
- ldr r0, _08122568 @ =sSpritePalette_HeldItem
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_08122564: .4byte sSpriteSheet_HeldItem
-_08122568: .4byte sSpritePalette_HeldItem
- thumb_func_end LoadHeldItemIcons
-
- thumb_func_start DrawHeldItemIconsForTrade
-DrawHeldItemIconsForTrade: @ 812256C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- beq _08122580
- cmp r2, 0x1
- beq _081225C8
- b _08122604
-_08122580:
- movs r5, 0
- ldrb r0, [r6]
- cmp r5, r0
- bcs _08122604
-_08122588:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _081225C4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081225B4
- adds r0, r7, r5
- ldrb r4, [r0]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemSpriteForTrade
-_081225B4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6]
- cmp r5, r0
- bcc _08122588
- b _08122604
- .align 2, 0
-_081225C4: .4byte gPlayerParty
-_081225C8:
- movs r5, 0
- b _081225FE
-_081225CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0812260C @ =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _081225F8
- adds r0, r5, r7
- ldrb r4, [r0, 0x6]
- adds r0, r1, 0
- bl ItemIsMail
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl CreateHeldItemSpriteForTrade
-_081225F8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_081225FE:
- ldrb r0, [r6, 0x1]
- cmp r5, r0
- bcc _081225CC
-_08122604:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812260C: .4byte gEnemyParty
- thumb_func_end DrawHeldItemIconsForTrade
-
- thumb_func_start CreateHeldItemSpriteForTrade
-CreateHeldItemSpriteForTrade: @ 8122610
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _08122688 @ =gSprites
- mov r8, r0
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- add r0, r8
- adds r0, 0x43
- ldrb r3, [r0]
- ldr r0, _0812268C @ =sSpriteTemplate_HeldItem
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xFA
- movs r2, 0xAA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- mov r0, r8
- adds r5, r4, r0
- movs r0, 0x4
- strh r0, [r5, 0x24]
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, _08122690 @ =SpriteCB_HeldItem
- str r0, [r4]
- strh r6, [r5, 0x3C]
- adds r0, r5, 0
- mov r1, r9
- bl StartSpriteAnim
- ldr r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08122688: .4byte gSprites
-_0812268C: .4byte sSpriteTemplate_HeldItem
-_08122690: .4byte SpriteCB_HeldItem
- thumb_func_end CreateHeldItemSpriteForTrade
-
- thumb_func_start SpriteCB_HeldItem
-SpriteCB_HeldItem: @ 8122694
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _081226C4 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _081226C8
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081226E6
- .align 2, 0
-_081226C4: .4byte gSprites
-_081226C8:
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
-_081226E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_HeldItem
-
- thumb_func_start CreatePartyMonPokeballSprite
-CreatePartyMonPokeballSprite: @ 81226EC
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0812270A
- ldr r0, _08122710 @ =sSpriteTemplate_MenuPokeball
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
-_0812270A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122710: .4byte sSpriteTemplate_MenuPokeball
- thumb_func_end CreatePartyMonPokeballSprite
-
- thumb_func_start CreatePartyMonPokeballSpriteParameterized
-CreatePartyMonPokeballSpriteParameterized: @ 8122714
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- cmp r0, 0
- beq _08122744
- ldr r0, _0812274C @ =sSpriteTemplate_MenuPokeball
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x6]
- ldrb r2, [r2, 0x7]
- movs r3, 0x8
- bl CreateSprite
- strb r0, [r4, 0xB]
- ldr r2, _08122750 @ =gSprites
- ldrb r0, [r4, 0xB]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_08122744:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0812274C: .4byte sSpriteTemplate_MenuPokeball
-_08122750: .4byte gSprites
- thumb_func_end CreatePartyMonPokeballSpriteParameterized
-
- thumb_func_start CreatePokeballButtonSprite
-CreatePokeballButtonSprite: @ 8122754
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _0812278C @ =sSpriteTemplate_MenuPokeball
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08122790 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x8
- orrs r2, r3
- strb r2, [r1, 0x5]
- pop {r1}
- bx r1
- .align 2, 0
-_0812278C: .4byte sSpriteTemplate_MenuPokeball
-_08122790: .4byte gSprites
- thumb_func_end CreatePokeballButtonSprite
-
- thumb_func_start CreateSmallPokeballButtonSprite
-CreateSmallPokeballButtonSprite: @ 8122794
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _081227B4 @ =sSpriteTemplate_MenuPokeballSmall
- adds r1, r3, 0
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_081227B4: .4byte sSpriteTemplate_MenuPokeballSmall
- thumb_func_end CreateSmallPokeballButtonSprite
-
- thumb_func_start PartyMenuStartSpriteAnim
-PartyMenuStartSpriteAnim: @ 81227B8
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, _081227D8 @ =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_081227D8: .4byte gSprites
- thumb_func_end PartyMenuStartSpriteAnim
-
- thumb_func_start SpriteCB_BounceConfirmCancelButton
-SpriteCB_BounceConfirmCancelButton: @ 81227DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r6, 0
- bne _08122820
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0812281C @ =gSprites
- mov r8, r0
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- lsls r5, r7, 4
- adds r5, r7
- lsls r5, 2
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAnim
- strh r6, [r4, 0x26]
- strh r6, [r5, 0x26]
- b _0812284C
- .align 2, 0
-_0812281C: .4byte gSprites
-_08122820:
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _08122858 @ =gSprites
- mov r8, r0
- add r5, r8
- adds r0, r5, 0
- movs r1, 0x3
- bl StartSpriteAnim
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r8
- adds r0, r4, 0
- movs r1, 0x5
- bl StartSpriteAnim
- ldr r0, _0812285C @ =0x0000fffc
- strh r0, [r5, 0x26]
- movs r0, 0x4
- strh r0, [r4, 0x26]
-_0812284C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08122858: .4byte gSprites
-_0812285C: .4byte 0x0000fffc
- thumb_func_end SpriteCB_BounceConfirmCancelButton
-
- thumb_func_start LoadPartyMenuPokeballGfx
-LoadPartyMenuPokeballGfx: @ 8122860
- push {lr}
- ldr r0, _08122878 @ =sSpriteSheet_MenuPokeball
- bl LoadCompressedSpriteSheet
- ldr r0, _0812287C @ =sSpriteSheet_MenuPokeballSmall
- bl LoadCompressedSpriteSheet
- ldr r0, _08122880 @ =sSpritePalette_MenuPokeball
- bl LoadCompressedSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_08122878: .4byte sSpriteSheet_MenuPokeball
-_0812287C: .4byte sSpriteSheet_MenuPokeballSmall
-_08122880: .4byte sSpritePalette_MenuPokeball
- thumb_func_end LoadPartyMenuPokeballGfx
-
- thumb_func_start CreatePartyMonStatusSprite
-CreatePartyMonStatusSprite: @ 8122884
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081228AC
- ldr r0, _081228B4 @ =sSpriteTemplate_StatusIcons
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetPartyMonAilmentGfx
-_081228AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081228B4: .4byte sSpriteTemplate_StatusIcons
- thumb_func_end CreatePartyMonStatusSprite
-
- thumb_func_start CreatePartyMonStatusSpriteParameterized
-CreatePartyMonStatusSpriteParameterized: @ 81228B8
- push {r4,r5,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0
- beq _081228F4
- ldr r0, _081228FC @ =sSpriteTemplate_StatusIcons
- ldr r2, [r4, 0x4]
- ldrb r1, [r2, 0x4]
- ldrb r2, [r2, 0x5]
- movs r3, 0
- bl CreateSprite
- strb r0, [r4, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl UpdatePartyMonAilmentGfx
- ldr r2, _08122900 @ =gSprites
- ldrb r0, [r4, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_081228F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081228FC: .4byte sSpriteTemplate_StatusIcons
-_08122900: .4byte gSprites
- thumb_func_end CreatePartyMonStatusSpriteParameterized
-
- thumb_func_start SetPartyMonAilmentGfx
-SetPartyMonAilmentGfx: @ 8122904
- push {r4,lr}
- adds r4, r1, 0
- bl GetMonAilment
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl UpdatePartyMonAilmentGfx
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SetPartyMonAilmentGfx
-
- thumb_func_start UpdatePartyMonAilmentGfx
-UpdatePartyMonAilmentGfx: @ 812291C
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0812292C
- cmp r2, 0x6
- bne _08122948
-_0812292C:
- ldr r2, _08122944 @ =gSprites
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _08122972
- .align 2, 0
-_08122944: .4byte gSprites
-_08122948:
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0812297C @ =gSprites
- adds r0, r4
- subs r1, r2, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_08122972:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812297C: .4byte gSprites
- thumb_func_end UpdatePartyMonAilmentGfx
-
- thumb_func_start LoadPartyMenuAilmentGfx
-LoadPartyMenuAilmentGfx: @ 8122980
- push {lr}
- ldr r0, _08122994 @ =sSpriteSheet_StatusIcons
- bl LoadCompressedSpriteSheet
- ldr r0, _08122998 @ =sSpritePalette_StatusIcons
- bl LoadCompressedSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_08122994: .4byte sSpriteSheet_StatusIcons
-_08122998: .4byte sSpritePalette_StatusIcons
- thumb_func_end LoadPartyMenuAilmentGfx
-
- thumb_func_start SetPartyMonSelectionActions
-SetPartyMonSelectionActions: @ 812299C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- bne _081229B0
- bl SetPartyMonFieldSelectionActions
- b _081229E8
-_081229B0:
- ldr r4, _081229F0 @ =sPartyMenuInternal
- ldr r1, [r4]
- ldr r0, _081229F4 @ =sPartyMenuActionCounts
- adds r0, r2, r0
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- movs r3, 0
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcs _081229E8
- ldr r1, _081229F8 @ =sPartyMenuActions
- lsls r0, r2, 2
- adds r2, r0, r1
-_081229CC:
- ldr r1, [r4]
- adds r1, 0xF
- adds r1, r3
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, [r4]
- ldrb r0, [r0, 0x17]
- cmp r3, r0
- bcc _081229CC
-_081229E8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081229F0: .4byte sPartyMenuInternal
-_081229F4: .4byte sPartyMenuActionCounts
-_081229F8: .4byte sPartyMenuActions
- thumb_func_end SetPartyMonSelectionActions
-
- thumb_func_start SetPartyMonFieldSelectionActions
-SetPartyMonFieldSelectionActions: @ 81229FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r2, _08122A78 @ =sPartyMenuInternal
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x17]
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0
- bl AppendToList
- movs r7, 0
- ldr r0, _08122A7C @ =sFieldMoves
- ldrh r0, [r0]
- str r0, [sp]
- mov r0, r9
- adds r0, 0x64
- str r0, [sp, 0x4]
-_08122A34:
- movs r4, 0
- adds r1, r7, 0x1
- mov r8, r1
- ldr r0, [sp]
- cmp r0, 0xC
- beq _08122A90
- movs r0, 0x64
- mov r6, r10
- muls r6, r0
- ldr r5, _08122A7C @ =sFieldMoves
-_08122A48:
- mov r1, r9
- adds r0, r1, r6
- adds r1, r7, 0
- adds r1, 0xD
- bl GetMonData
- lsls r1, r4, 1
- adds r1, r5
- ldrh r1, [r1]
- cmp r0, r1
- bne _08122A80
- ldr r0, _08122A78 @ =sPartyMenuInternal
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- adds r2, r4, 0
- adds r2, 0x12
- lsls r2, 24
- lsrs r2, 24
- bl AppendToList
- b _08122A90
- .align 2, 0
-_08122A78: .4byte sPartyMenuInternal
-_08122A7C: .4byte sFieldMoves
-_08122A80:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0xC
- bne _08122A48
-_08122A90:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08122A34
- ldr r0, [sp, 0x4]
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08122AB6
- ldr r0, _08122AE8 @ =sPartyMenuInternal
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x1
- bl AppendToList
-_08122AB6:
- movs r0, 0x64
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r0, r9
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _08122AEC
- ldr r0, _08122AE8 @ =sPartyMenuInternal
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x6
- bl AppendToList
- b _08122AFC
- .align 2, 0
-_08122AE8: .4byte sPartyMenuInternal
-_08122AEC:
- ldr r0, _08122B1C @ =sPartyMenuInternal
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x3
- bl AppendToList
-_08122AFC:
- ldr r0, _08122B1C @ =sPartyMenuInternal
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xF
- adds r1, 0x17
- movs r2, 0x2
- bl AppendToList
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08122B1C: .4byte sPartyMenuInternal
- thumb_func_end SetPartyMonFieldSelectionActions
-
- thumb_func_start GetPartyMenuActionsType
-GetPartyMenuActionsType: @ 8122B20
- push {lr}
- adds r2, r0, 0
- ldr r1, _08122B3C @ =gPartyMenu
- ldrb r0, [r1, 0x8]
- lsls r0, 28
- lsrs r0, 28
- adds r3, r1, 0
- cmp r0, 0xA
- bhi _08122BCA
- lsls r0, 2
- ldr r1, _08122B40 @ =_08122B44
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08122B3C: .4byte gPartyMenu
-_08122B40: .4byte _08122B44
- .align 2, 0
-_08122B44:
- .4byte _08122B70
- .4byte _08122B80
- .4byte _08122BCA
- .4byte _08122BCA
- .4byte _08122B8C
- .4byte _08122BCA
- .4byte _08122BAC
- .4byte _08122BCA
- .4byte _08122BBE
- .4byte _08122BC2
- .4byte _08122BC6
-_08122B70:
- adds r0, r2, 0
- movs r1, 0x2D
- bl GetMonData
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- b _08122BCC
-_08122B80:
- adds r0, r2, 0
- bl GetPartyMenuActionsTypeInBattle
- lsls r0, 24
- lsrs r1, r0, 24
- b _08122BCC
-_08122B8C:
- movs r0, 0x9
- ldrsb r0, [r3, r0]
- bl GetPartySlotEntryStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08122BA4
- cmp r0, 0x1
- beq _08122BA8
- movs r1, 0x7
- b _08122BCC
-_08122BA4:
- movs r1, 0x4
- b _08122BCC
-_08122BA8:
- movs r1, 0x5
- b _08122BCC
-_08122BAC:
- adds r0, r2, 0
- movs r1, 0x2D
- bl GetMonData
- movs r1, 0x6
- cmp r0, 0
- beq _08122BCC
- movs r1, 0x7
- b _08122BCC
-_08122BBE:
- movs r1, 0xA
- b _08122BCC
-_08122BC2:
- movs r1, 0xB
- b _08122BCC
-_08122BC6:
- movs r1, 0xC
- b _08122BCC
-_08122BCA:
- movs r1, 0
-_08122BCC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end GetPartyMenuActionsType
-
- thumb_func_start CreateSelectionWindow
-CreateSelectionWindow: @ 8122BD4
- push {r4-r6,lr}
- ldr r5, _08122C20 @ =gPartyMenu
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- adds r4, r1, 0
- muls r4, r0
- ldr r6, _08122C24 @ =gPlayerParty
- adds r4, r6
- ldr r1, _08122C28 @ =gStringVar1
- adds r0, r4, 0
- bl GetMonNickname
- ldr r0, _08122C2C @ =sPartyMenuInternal
- ldr r0, [r0]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldrb r5, [r5, 0x9]
- adds r0, r4, 0
- bl GetPartyMenuActionsType
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetPartyMonSelectionActions
- movs r0, 0
- bl DisplaySelectionWindow
- movs r0, 0x16
- bl DisplayPartyMenuStdMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08122C20: .4byte gPartyMenu
-_08122C24: .4byte gPlayerParty
-_08122C28: .4byte gStringVar1
-_08122C2C: .4byte sPartyMenuInternal
- thumb_func_end CreateSelectionWindow
-
- thumb_func_start Task_TryCreateSelectionWindow
-Task_TryCreateSelectionWindow: @ 8122C30
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl CreateSelectionWindow
- ldr r1, _08122C54 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, _08122C58 @ =Task_HandleSelectionMenuInput
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122C54: .4byte gTasks
-_08122C58: .4byte Task_HandleSelectionMenuInput
- thumb_func_end Task_TryCreateSelectionWindow
-
- thumb_func_start Task_HandleSelectionMenuInput
-Task_HandleSelectionMenuInput: @ 8122C5C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08122C94 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08122D3E
- bl sub_80BF748
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08122D3E
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _08122C98 @ =gTasks+0x8
- adds r7, r0, r1
- ldr r0, _08122C9C @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x17]
- cmp r0, 0x3
- bhi _08122CA0
- bl Menu_ProcessInputNoWrapAround_other
- b _08122CA4
- .align 2, 0
-_08122C94: .4byte gPaletteFade
-_08122C98: .4byte gTasks+0x8
-_08122C9C: .4byte sPartyMenuInternal
-_08122CA0:
- bl Menu_ProcessInput_other
-_08122CA4:
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- ldrsh r4, [r7, r0]
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _08122CCE
- ldr r0, _08122D14 @ =sPartyMenuInternal
- ldr r4, [r0]
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- adds r4, 0xF
- adds r4, r0
- ldrb r0, [r4]
- bl sub_8122138
-_08122CCE:
- bl Menu_GetCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- lsls r0, r5, 24
- asrs r5, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _08122D3E
- adds r0, 0x1
- cmp r5, r0
- bne _08122D1C
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08122D14 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xE
- bl PartyMenuRemoveWindow
- ldr r2, _08122D18 @ =sCursorOptions
- ldr r0, [r4]
- ldrb r1, [r0, 0x17]
- adds r0, r1
- ldrb r0, [r0, 0xE]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _08122D3E
- .align 2, 0
-_08122D14: .4byte sPartyMenuInternal
-_08122D18: .4byte sCursorOptions
-_08122D1C:
- ldr r4, _08122D44 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xE
- bl PartyMenuRemoveWindow
- ldr r1, _08122D48 @ =sCursorOptions
- ldr r0, [r4]
- adds r0, 0xF
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_08122D3E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08122D44: .4byte sPartyMenuInternal
-_08122D48: .4byte sCursorOptions
- thumb_func_end Task_HandleSelectionMenuInput
-
- thumb_func_start CursorCB_Summary
-CursorCB_Summary: @ 8122D4C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08122D70 @ =sPartyMenuInternal
- ldr r1, [r0]
- ldr r0, _08122D74 @ =CB2_ShowPokemonSummaryScreen
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl Task_ClosePartyMenu
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122D70: .4byte sPartyMenuInternal
-_08122D74: .4byte CB2_ShowPokemonSummaryScreen
- thumb_func_end CursorCB_Summary
-
- thumb_func_start CB2_ShowPokemonSummaryScreen
-CB2_ShowPokemonSummaryScreen: @ 8122D78
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08122DAC @ =gPartyMenu
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08122D8C
- bl UpdatePartyToBattleOrder
-_08122D8C:
- ldr r0, _08122DB0 @ =gPlayerParty
- ldrb r1, [r4, 0x9]
- ldr r2, _08122DB4 @ =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _08122DB8 @ =CB2_ReturnToPartyMenuFromSummaryScreen
- movs r4, 0
- str r4, [sp]
- bl ShowPokemonSummaryScreen
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08122DAC: .4byte gPartyMenu
-_08122DB0: .4byte gPlayerParty
-_08122DB4: .4byte gPlayerPartyCount
-_08122DB8: .4byte CB2_ReturnToPartyMenuFromSummaryScreen
- thumb_func_end CB2_ShowPokemonSummaryScreen
-
- thumb_func_start CB2_ReturnToPartyMenuFromSummaryScreen
-CB2_ReturnToPartyMenuFromSummaryScreen: @ 8122DBC
- push {lr}
- sub sp, 0xC
- ldr r2, _08122DF4 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- bl sub_8138B20
- ldr r3, _08122DF8 @ =gPartyMenu
- strb r0, [r3, 0x9]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x16
- str r1, [sp]
- ldr r1, _08122DFC @ =Task_TryCreateSelectionWindow
- str r1, [sp, 0x4]
- ldr r1, [r3]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl InitPartyMenu
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_08122DF4: .4byte gPaletteFade
-_08122DF8: .4byte gPartyMenu
-_08122DFC: .4byte Task_TryCreateSelectionWindow
- thumb_func_end CB2_ReturnToPartyMenuFromSummaryScreen
-
- thumb_func_start CursorCB_Switch
-CursorCB_Switch: @ 8122E00
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- ldr r5, _08122E4C @ =gPartyMenu
- movs r0, 0x8
- strb r0, [r5, 0xB]
- ldr r4, _08122E50 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldr r0, [r4]
- adds r0, 0xC
- bl PartyMenuRemoveWindow
- movs r0, 0x3
- bl DisplayPartyMenuStdMessage
- ldrb r0, [r5, 0x9]
- movs r1, 0x1
- bl AnimatePartySlot
- ldrb r0, [r5, 0x9]
- strb r0, [r5, 0xA]
- ldr r1, _08122E54 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08122E58 @ =Task_HandleChooseMonInput
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08122E4C: .4byte gPartyMenu
-_08122E50: .4byte sPartyMenuInternal
-_08122E54: .4byte gTasks
-_08122E58: .4byte Task_HandleChooseMonInput
- thumb_func_end CursorCB_Switch
-
- thumb_func_start SwitchSelectedMons
-SwitchSelectedMons: @ 8122E5C
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08122E84 @ =gTasks+0x8
- adds r6, r0, r1
- ldr r4, _08122E88 @ =gPartyMenu
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- cmp r1, r0
- bne _08122E8C
- adds r0, r7, 0
- bl FinishTwoMonAction
- b _08122FE2
- .align 2, 0
-_08122E84: .4byte gTasks+0x8
-_08122E88: .4byte gPartyMenu
-_08122E8C:
- bl sub_812358C
- add r2, sp, 0x8
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r1, _08122EE8 @ =sPartyMenuBoxes
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2]
- adds r0, r2, 0
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0x2]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0x4]
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0x6]
- strh r4, [r6, 0x10]
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _08122EEC
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _08122EEE
- .align 2, 0
-_08122EE8: .4byte sPartyMenuBoxes
-_08122EEC:
- movs r0, 0x1
-_08122EEE:
- strh r0, [r6, 0x14]
- add r2, sp, 0x8
- ldr r0, _08122F4C @ =gPartyMenu
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- ldr r1, _08122F50 @ =sPartyMenuBoxes
- ldr r1, [r1]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r4, 0
- strb r0, [r2, 0x1]
- adds r0, r2, 0
- ldrb r0, [r0, 0x1]
- movs r1, 0x1
- bl GetWindowAttribute
- strh r0, [r6, 0x8]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x2
- bl GetWindowAttribute
- strh r0, [r6, 0xA]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x3
- bl GetWindowAttribute
- strh r0, [r6, 0xC]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- movs r1, 0x4
- bl GetWindowAttribute
- strh r0, [r6, 0xE]
- strh r4, [r6, 0x12]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0xA
- bne _08122F54
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- b _08122F56
- .align 2, 0
-_08122F4C: .4byte gPartyMenu
-_08122F50: .4byte sPartyMenuBoxes
-_08122F54:
- movs r0, 0x1
-_08122F56:
- strh r0, [r6, 0x16]
- ldr r4, _08122FEC @ =sSlot1TilemapBuffer
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r4]
- ldr r5, _08122FF0 @ =sSlot2TilemapBuffer
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- lsls r0, 1
- muls r0, r1
- bl Alloc
- str r0, [r5]
- ldr r1, [r4]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl CopyRectIntoAltRect
- ldr r1, [r5]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl CopyRectIntoAltRect
- add r0, sp, 0x8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl ClearWindowTilemap
- ldr r4, _08122FF4 @ =gPartyMenu
- movs r0, 0x9
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0x1
- bl AnimatePartySlot
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl AnimatePartySlot
- adds r0, r7, 0
- bl SlidePartyMenuBoxOneStep
- ldr r1, _08122FF8 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _08122FFC @ =Task_SlideSelectedSlotsOffscreen
- str r1, [r0]
-_08122FE2:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08122FEC: .4byte sSlot1TilemapBuffer
-_08122FF0: .4byte sSlot2TilemapBuffer
-_08122FF4: .4byte gPartyMenu
-_08122FF8: .4byte gTasks
-_08122FFC: .4byte Task_SlideSelectedSlotsOffscreen
- thumb_func_end SwitchSelectedMons
-
- thumb_func_start TryMovePartySlot
-TryMovePartySlot: @ 8123000
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r2, 0
- mov r12, r3
- ldr r7, [sp, 0x18]
- lsls r0, 16
- lsrs r3, r0, 16
- adds r5, r3, 0
- lsls r1, 16
- lsrs r2, r1, 16
- mov r8, r2
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- adds r4, r1, r0
- cmp r4, 0
- blt _0812302A
- cmp r1, 0x1F
- ble _0812302E
-_0812302A:
- movs r0, 0
- b _0812305C
-_0812302E:
- cmp r1, 0
- bge _08123042
- negs r0, r1
- strb r0, [r6]
- movs r0, 0
- mov r1, r12
- strb r0, [r1]
- adds r0, r2, r3
- strb r0, [r7]
- b _0812305A
-_08123042:
- movs r0, 0
- strb r0, [r6]
- mov r0, r12
- strb r5, [r0]
- cmp r4, 0x1F
- ble _08123056
- movs r0, 0x20
- subs r0, r5
- strb r0, [r7]
- b _0812305A
-_08123056:
- mov r1, r8
- strb r1, [r7]
-_0812305A:
- movs r0, 0x1
-_0812305C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end TryMovePartySlot
-
- thumb_func_start MoveAndBufferPartySlot
-MoveAndBufferPartySlot: @ 8123068
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- str r0, [sp, 0x28]
- ldr r0, [sp, 0x54]
- ldr r4, [sp, 0x58]
- lsls r2, 16
- lsrs r2, 16
- mov r9, r2
- lsls r3, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x30]
- lsls r1, 16
- asrs r7, r1, 16
- lsrs r0, r3, 16
- str r0, [sp, 0x2C]
- asrs r3, 16
- mov r8, r3
- mov r5, sp
- adds r5, 0x25
- mov r6, sp
- adds r6, 0x26
- str r6, [sp]
- adds r0, r7, 0
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl TryMovePartySlot
- lsls r0, 24
- cmp r0, 0
- beq _08123122
- ldrb r2, [r5]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r6]
- str r0, [sp]
- mov r1, r10
- lsls r0, r1, 24
- lsrs r4, r0, 24
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- mov r3, r9
- bl FillBgTilemapBufferRect_Palette0
- ldr r1, [sp, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- adds r0, r7, r0
- lsls r0, 16
- asrs r0, 16
- str r6, [sp]
- mov r1, r8
- add r2, sp, 0x24
- adds r3, r5, 0
- bl TryMovePartySlot
- lsls r0, 24
- cmp r0, 0
- beq _08123122
- add r0, sp, 0x24
- ldrb r2, [r0]
- ldr r1, [sp, 0x2C]
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- ldrb r0, [r5]
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- ldrb r0, [r6]
- str r0, [sp, 0x10]
- str r4, [sp, 0x14]
- movs r0, 0x11
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x28]
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
-_08123122:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end MoveAndBufferPartySlot
-
- thumb_func_start MovePartyMenuBoxSprites
-MovePartyMenuBoxSprites: @ 8123134
- push {r4,lr}
- ldr r4, _08123184 @ =gSprites
- ldrb r2, [r0, 0xB]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- lsls r1, 16
- asrs r1, 13
- ldrh r2, [r3, 0x24]
- adds r2, r1
- strh r2, [r3, 0x24]
- ldrb r3, [r0, 0xA]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r3, [r0, 0x9]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x24]
- adds r3, r1
- strh r3, [r2, 0x24]
- ldrb r2, [r0, 0xC]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrh r2, [r0, 0x24]
- adds r2, r1
- strh r2, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08123184: .4byte gSprites
- thumb_func_end MovePartyMenuBoxSprites
-
- thumb_func_start SlidePartyMenuBoxSpritesOneStep
-SlidePartyMenuBoxSpritesOneStep: @ 8123188
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _081231DC @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081231B6
- ldr r2, _081231E0 @ =sPartyMenuBoxes
- ldr r0, _081231E4 @ =gPartyMenu
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- bl MovePartyMenuBoxSprites
-_081231B6:
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081231D4
- ldr r2, _081231E0 @ =sPartyMenuBoxes
- ldr r0, _081231E4 @ =gPartyMenu
- movs r1, 0xA
- ldrsb r1, [r0, r1]
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MovePartyMenuBoxSprites
-_081231D4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081231DC: .4byte gTasks+0x8
-_081231E0: .4byte sPartyMenuBoxes
-_081231E4: .4byte gPartyMenu
- thumb_func_end SlidePartyMenuBoxSpritesOneStep
-
- thumb_func_start SlidePartyMenuBoxOneStep
-SlidePartyMenuBoxOneStep: @ 81231E8
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08123264 @ =gTasks+0x8
- adds r5, r1, r0
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08123228
- ldr r0, _08123268 @ =sSlot1TilemapBuffer
- ldr r0, [r0]
- ldrh r1, [r5, 0x10]
- ldrh r2, [r5]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0x2
- ldrsh r2, [r5, r3]
- movs r4, 0x4
- ldrsh r3, [r5, r4]
- movs r6, 0x6
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x14
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl MoveAndBufferPartySlot
-_08123228:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08123256
- ldr r0, _0812326C @ =sSlot2TilemapBuffer
- ldr r0, [r0]
- ldrh r1, [r5, 0x12]
- ldrh r2, [r5, 0x8]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0xA
- ldrsh r2, [r5, r3]
- movs r4, 0xC
- ldrsh r3, [r5, r4]
- movs r6, 0xE
- ldrsh r4, [r5, r6]
- str r4, [sp]
- movs r6, 0x16
- ldrsh r4, [r5, r6]
- str r4, [sp, 0x4]
- bl MoveAndBufferPartySlot
-_08123256:
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08123264: .4byte gTasks+0x8
-_08123268: .4byte sSlot1TilemapBuffer
-_0812326C: .4byte sSlot2TilemapBuffer
- thumb_func_end SlidePartyMenuBoxOneStep
-
- thumb_func_start Task_SlideSelectedSlotsOffscreen
-Task_SlideSelectedSlotsOffscreen: @ 8123270
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r7, r0, 3
- ldr r0, _08123370 @ =gTasks+0x8
- mov r8, r0
- adds r6, r7, r0
- adds r0, r4, 0
- bl SlidePartyMenuBoxOneStep
- adds r0, r4, 0
- bl SlidePartyMenuBoxSpritesOneStep
- ldrh r1, [r6, 0x14]
- ldrh r2, [r6, 0x10]
- adds r1, r2
- strh r1, [r6, 0x10]
- ldrh r0, [r6, 0x16]
- ldrh r3, [r6, 0x12]
- adds r0, r3
- strh r0, [r6, 0x12]
- add r2, sp, 0x8
- ldrh r0, [r6]
- adds r0, r1
- strh r0, [r2]
- adds r1, r2, 0
- ldrh r0, [r6, 0x12]
- ldrh r3, [r6, 0x8]
- adds r2, r0, r3
- strh r2, [r1, 0x2]
- adds r0, r1, 0
- ldrh r0, [r0]
- cmp r0, 0x21
- bls _08123362
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x21
- bls _08123362
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- negs r0, r0
- strh r0, [r6, 0x14]
- movs r2, 0x16
- ldrsh r0, [r6, r2]
- negs r0, r0
- strh r0, [r6, 0x16]
- bl SwitchPartyMon
- ldr r4, _08123374 @ =gPartyMenu
- ldrb r0, [r4, 0x9]
- bl DisplayPartyPokemonData
- ldrb r0, [r4, 0xA]
- bl DisplayPartyPokemonData
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r5, _08123378 @ =sPartyMenuBoxes
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- ldr r0, _0812337C @ =sSlot1TilemapBuffer
- ldr r1, [r0]
- ldrb r2, [r6]
- ldrb r3, [r6, 0x2]
- ldrb r0, [r6, 0x4]
- str r0, [sp]
- ldrb r0, [r6, 0x6]
- str r0, [sp, 0x4]
- movs r0, 0
- bl CopyRectIntoAltRect
- ldr r0, _08123380 @ =sSlot2TilemapBuffer
- ldr r1, [r0]
- ldrb r2, [r6, 0x8]
- ldrb r3, [r6, 0xA]
- ldrb r0, [r6, 0xC]
- str r0, [sp]
- ldrb r0, [r6, 0xE]
- str r0, [sp, 0x4]
- movs r0, 0
- bl CopyRectIntoAltRect
- movs r0, 0x9
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- ldr r1, [r5]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl ClearWindowTilemap
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _08123384 @ =Task_SlideSelectedSlotsOnscreen
- str r1, [r0]
-_08123362:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08123370: .4byte gTasks+0x8
-_08123374: .4byte gPartyMenu
-_08123378: .4byte sPartyMenuBoxes
-_0812337C: .4byte sSlot1TilemapBuffer
-_08123380: .4byte sSlot2TilemapBuffer
-_08123384: .4byte Task_SlideSelectedSlotsOnscreen
- thumb_func_end Task_SlideSelectedSlotsOffscreen
-
- thumb_func_start Task_SlideSelectedSlotsOnscreen
-Task_SlideSelectedSlotsOnscreen: @ 8123388
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _081233E8 @ =gTasks+0x8
- adds r4, r0, r1
- adds r0, r6, 0
- bl SlidePartyMenuBoxOneStep
- adds r0, r6, 0
- bl SlidePartyMenuBoxSpritesOneStep
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081233F4
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081233F4
- ldr r5, _081233EC @ =gPartyMenu
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- ldr r4, _081233F0 @ =sPartyMenuBoxes
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0xA
- ldrsb r0, [r5, r0]
- ldr r1, [r4]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
- adds r0, r6, 0
- bl FinishTwoMonAction
- b _08123418
- .align 2, 0
-_081233E8: .4byte gTasks+0x8
-_081233EC: .4byte gPartyMenu
-_081233F0: .4byte sPartyMenuBoxes
-_081233F4:
- ldrh r1, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x10]
- ldrh r0, [r4, 0x16]
- ldrh r2, [r4, 0x12]
- adds r0, r2
- strh r0, [r4, 0x12]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _0812340E
- strh r1, [r4, 0x14]
-_0812340E:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08123418
- strh r0, [r4, 0x16]
-_08123418:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end Task_SlideSelectedSlotsOnscreen
-
- thumb_func_start SwitchMenuBoxSprites
-SwitchMenuBoxSprites: @ 8123420
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldrb r3, [r0]
- ldrb r2, [r1]
- strb r2, [r0]
- strb r3, [r1]
- ldr r5, _081234E8 @ =gSprites
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrh r6, [r3, 0x20]
- ldrh r2, [r3, 0x22]
- mov r8, r2
- ldrh r2, [r3, 0x24]
- mov r9, r2
- ldrh r2, [r3, 0x26]
- mov r10, r2
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x20]
- strh r2, [r3, 0x20]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x22]
- strh r2, [r3, 0x22]
- ldrb r2, [r0]
- lsls r3, r2, 4
- adds r3, r2
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r1]
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- adds r2, r5
- ldrh r2, [r2, 0x24]
- strh r2, [r3, 0x24]
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x26]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x20]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r8
- strh r2, [r0, 0x22]
- ldrb r2, [r1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- mov r2, r9
- strh r2, [r0, 0x24]
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r10
- strh r1, [r0, 0x26]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081234E8: .4byte gSprites
- thumb_func_end SwitchMenuBoxSprites
-
- thumb_func_start SwitchPartyMon
-SwitchPartyMon: @ 81234EC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, _08123580 @ =sPartyMenuBoxes
- ldr r2, _08123584 @ =gPartyMenu
- movs r3, 0x9
- ldrsb r3, [r2, r3]
- lsls r0, r3, 4
- ldr r1, [r1]
- adds r0, r1, r0
- str r0, [sp]
- ldrb r2, [r2, 0xA]
- lsls r2, 24
- asrs r2, 24
- lsls r0, r2, 4
- adds r0, r1, r0
- str r0, [sp, 0x4]
- movs r1, 0x64
- adds r4, r3, 0
- muls r4, r1
- ldr r0, _08123588 @ =gPlayerParty
- adds r4, r0
- adds r5, r2, 0
- muls r5, r1
- adds r5, r0
- movs r0, 0x64
- bl Alloc
- adds r6, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- bl Free
- ldr r0, [sp]
- adds r0, 0xB
- ldr r1, [sp, 0x4]
- adds r1, 0xB
- bl SwitchMenuBoxSprites
- ldr r0, [sp]
- adds r0, 0xA
- ldr r1, [sp, 0x4]
- adds r1, 0xA
- bl SwitchMenuBoxSprites
- ldr r0, [sp]
- adds r0, 0x9
- ldr r1, [sp, 0x4]
- adds r1, 0x9
- bl SwitchMenuBoxSprites
- ldr r0, [sp]
- adds r0, 0xC
- ldr r1, [sp, 0x4]
- adds r1, 0xC
- bl SwitchMenuBoxSprites
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08123580: .4byte sPartyMenuBoxes
-_08123584: .4byte gPartyMenu
-_08123588: .4byte gPlayerParty
- thumb_func_end SwitchPartyMon
-
- thumb_func_start sub_812358C
-sub_812358C: @ 812358C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- movs r0, 0x4
- bl Alloc
- adds r4, r0, 0
- ldr r0, _081235E0 @ =gPartyMenu
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r5, _081235E4 @ =gPlayerParty
- adds r0, r5
- movs r1, 0x41
- bl GetMonData
- strh r0, [r4]
- mov r1, r8
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0x41
- bl GetMonData
- strh r0, [r4, 0x2]
- movs r0, 0x3
- adds r1, r4, 0
- bl sub_8113550
- adds r0, r4, 0
- bl Free
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081235E0: .4byte gPartyMenu
-_081235E4: .4byte gPlayerParty
- thumb_func_end sub_812358C
-
- thumb_func_start FinishTwoMonAction
-FinishTwoMonAction: @ 81235E8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08123630 @ =sPartyMenuInternal
- ldr r0, [r0]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldr r4, _08123634 @ =gPartyMenu
- movs r0, 0
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl AnimatePartySlot
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl AnimatePartySlot
- movs r0, 0
- bl DisplayPartyMenuStdMessage
- ldr r1, _08123638 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0812363C @ =Task_HandleChooseMonInput
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08123630: .4byte sPartyMenuInternal
-_08123634: .4byte gPartyMenu
-_08123638: .4byte gTasks
-_0812363C: .4byte Task_HandleChooseMonInput
- thumb_func_end FinishTwoMonAction
-
- thumb_func_start CursorCB_Cancel1
-CursorCB_Cancel1: @ 8123640
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08123674 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xC
- bl PartyMenuRemoveWindow
- ldr r0, [r4]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldr r0, _08123678 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x6
- bne _0812367C
- movs r0, 0xF
- bl DisplayPartyMenuStdMessage
- b _08123682
- .align 2, 0
-_08123674: .4byte sPartyMenuInternal
-_08123678: .4byte gPartyMenu
-_0812367C:
- movs r0, 0
- bl DisplayPartyMenuStdMessage
-_08123682:
- ldr r0, _08123698 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0812369C @ =Task_HandleChooseMonInput
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08123698: .4byte gTasks
-_0812369C: .4byte Task_HandleChooseMonInput
- thumb_func_end CursorCB_Cancel1
-
- thumb_func_start CursorCB_Item
-CursorCB_Item: @ 81236A0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, _081236F0 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xC
- bl PartyMenuRemoveWindow
- ldr r0, [r4]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldr r0, _081236F4 @ =gPlayerParty
- ldr r1, _081236F8 @ =gPartyMenu
- ldrb r1, [r1, 0x9]
- movs r2, 0x8
- bl SetPartyMonSelectionActions
- movs r0, 0x1
- bl DisplaySelectionWindow
- movs r0, 0x19
- bl DisplayPartyMenuStdMessage
- ldr r1, _081236FC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xFF
- strh r1, [r0, 0x8]
- ldr r1, _08123700 @ =Task_HandleSelectionMenuInput
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081236F0: .4byte sPartyMenuInternal
-_081236F4: .4byte gPlayerParty
-_081236F8: .4byte gPartyMenu
-_081236FC: .4byte gTasks
-_08123700: .4byte Task_HandleSelectionMenuInput
- thumb_func_end CursorCB_Item
-
- thumb_func_start CursorCB_Give
-CursorCB_Give: @ 8123704
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08123728 @ =sPartyMenuInternal
- ldr r1, [r0]
- ldr r0, _0812372C @ =CB2_SelectBagItemToGive
- str r0, [r1, 0x4]
- adds r0, r4, 0
- bl Task_ClosePartyMenu
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08123728: .4byte sPartyMenuInternal
-_0812372C: .4byte CB2_SelectBagItemToGive
- thumb_func_end CursorCB_Give
-
- thumb_func_start CB2_SelectBagItemToGive
-CB2_SelectBagItemToGive: @ 8123730
- push {lr}
- ldr r2, _08123740 @ =CB2_GiveHoldItem
- movs r0, 0x1
- movs r1, 0x3
- bl GoToBagMenu
- pop {r0}
- bx r0
- .align 2, 0
-_08123740: .4byte CB2_GiveHoldItem
- thumb_func_end CB2_SelectBagItemToGive
-
- thumb_func_start CB2_GiveHoldItem
-CB2_GiveHoldItem: @ 8123744
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r6, _0812376C @ =gSpecialVar_ItemId
- ldrh r0, [r6]
- cmp r0, 0
- bne _08123778
- ldr r3, _08123770 @ =gPartyMenu
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r3, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, _08123774 @ =Task_TryCreateSelectionWindow
- str r1, [sp, 0x4]
- ldr r1, [r3]
- b _081237AE
- .align 2, 0
-_0812376C: .4byte gSpecialVar_ItemId
-_08123770: .4byte gPartyMenu
-_08123774: .4byte Task_TryCreateSelectionWindow
-_08123778:
- ldr r4, _081237BC @ =sPartyMenuItemId
- ldr r5, _081237C0 @ =gPartyMenu
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, _081237C4 @ =gPlayerParty
- adds r0, r7
- movs r1, 0xC
- bl GetMonData
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _081237CC
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, _081237C8 @ =Task_SwitchHoldItemsPrompt
- str r1, [sp, 0x4]
- ldr r1, [r5]
-_081237AE:
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl InitPartyMenu
- b _08123814
- .align 2, 0
-_081237BC: .4byte sPartyMenuItemId
-_081237C0: .4byte gPartyMenu
-_081237C4: .4byte gPlayerParty
-_081237C8: .4byte Task_SwitchHoldItemsPrompt
-_081237CC:
- ldrh r0, [r6]
- bl ItemIsMail
- lsls r0, 24
- cmp r0, 0
- beq _081237F8
- ldrh r0, [r6]
- movs r1, 0x1
- bl RemoveBagItem
- movs r0, 0x9
- ldrsb r0, [r5, r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldrh r1, [r6]
- bl GiveItemToMon
- bl CB2_WriteMailToGiveMon
- b _08123814
-_081237F8:
- ldrb r0, [r5, 0x8]
- lsls r0, 28
- lsrs r0, 28
- ldrb r2, [r5, 0xB]
- movs r1, 0x7F
- str r1, [sp]
- ldr r1, _08123820 @ =Task_GiveHoldItem
- str r1, [sp, 0x4]
- ldr r1, [r5]
- str r1, [sp, 0x8]
- movs r1, 0xFF
- movs r3, 0x1
- bl InitPartyMenu
-_08123814:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08123820: .4byte Task_GiveHoldItem
- thumb_func_end CB2_GiveHoldItem
-
- thumb_func_start Task_GiveHoldItem
-Task_GiveHoldItem: @ 8123824
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0812388C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08123880
- ldr r0, _08123890 @ =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, _08123894 @ =gPartyMenu
- mov r8, r0
- ldrb r0, [r0, 0x9]
- lsls r0, 24
- asrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r5, _08123898 @ =gPlayerParty
- adds r0, r5
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl DisplayGaveHeldItemMessage
- mov r1, r8
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- muls r0, r6
- adds r0, r5
- adds r1, r4, 0
- bl GiveItemToMon
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, _0812389C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _081238A0 @ =Task_UpdateHeldItemSprite
- str r1, [r0]
-_08123880:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0812388C: .4byte gPaletteFade
-_08123890: .4byte gSpecialVar_ItemId
-_08123894: .4byte gPartyMenu
-_08123898: .4byte gPlayerParty
-_0812389C: .4byte gTasks
-_081238A0: .4byte Task_UpdateHeldItemSprite
- thumb_func_end Task_GiveHoldItem
-
thumb_func_start Task_SwitchHoldItemsPrompt
Task_SwitchHoldItemsPrompt: @ 81238A4
push {r4,lr}
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 337361dcf..460410f47 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -15947,7 +15947,7 @@ sub_80937B4: @ 80937B4
_080937C4: .4byte gUnknown_2039822
_080937C8:
ldr r4, _080937D8 @ =gUnknown_2039821
- bl sub_8138B20
+ bl GetLastViewedMonIndex
strb r0, [r4]
_080937D0:
pop {r4}
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index ee5a96156..b345231f3 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -42,7 +42,7 @@ _0813453C: .4byte gUnknown_203B140
_08134540: .4byte 0x00003308
_08134544: .4byte gUnknown_203B144
_08134548:
- ldr r0, _08134574 @ =gUnknown_203B16C
+ ldr r0, _08134574 @ =gLastViewedMonIndex
strb r6, [r0]
ldr r0, _08134578 @ =gUnknown_203B16D
movs r1, 0
@@ -64,7 +64,7 @@ _08134548:
movs r0, 0x1
b _08134596
.align 2, 0
-_08134574: .4byte gUnknown_203B16C
+_08134574: .4byte gLastViewedMonIndex
_08134578: .4byte gUnknown_203B16D
_0813457C: .4byte gUnknown_203B16E
_08134580: .4byte 0x000032f8
@@ -6839,8 +6839,8 @@ _08137E82:
adds r0, r1
ldr r0, [r0]
bl SetMainCallback2
- bl sub_8138B20
- ldr r1, _08137EE0 @ =gUnknown_203B16C
+ bl GetLastViewedMonIndex
+ ldr r1, _08137EE0 @ =gLastViewedMonIndex
strb r0, [r1]
ldr r0, [r4]
cmp r0, 0
@@ -6864,7 +6864,7 @@ _08137ECC:
_08137ED4: .4byte gUnknown_203B140
_08137ED8: .4byte 0x00003214
_08137EDC: .4byte 0x000032f8
-_08137EE0: .4byte gUnknown_203B16C
+_08137EE0: .4byte gLastViewedMonIndex
_08137EE4: .4byte gUnknown_203B144
thumb_func_end sub_8137E64
@@ -8397,14 +8397,14 @@ _08138B18: .4byte 0x00003220
_08138B1C: .4byte 0x00003221
thumb_func_end sub_8138A38
- thumb_func_start sub_8138B20
-sub_8138B20: @ 8138B20
- ldr r0, _08138B28 @ =gUnknown_203B16C
+ thumb_func_start GetLastViewedMonIndex
+GetLastViewedMonIndex: @ 8138B20
+ ldr r0, _08138B28 @ =gLastViewedMonIndex
ldrb r0, [r0]
bx lr
.align 2, 0
-_08138B28: .4byte gUnknown_203B16C
- thumb_func_end sub_8138B20
+_08138B28: .4byte gLastViewedMonIndex
+ thumb_func_end GetLastViewedMonIndex
thumb_func_start GetMoveSlotToReplace
GetMoveSlotToReplace: @ 8138B2C
@@ -8443,7 +8443,7 @@ sub_8138B4C: @ 8138B4C
ldrb r0, [r0]
cmp r0, 0x1
bne _08138B84
- ldr r0, _08138B80 @ =gUnknown_203B16C
+ ldr r0, _08138B80 @ =gLastViewedMonIndex
ldrb r0, [r0]
cmp r0, 0x3
bhi _08138B76
@@ -8454,7 +8454,7 @@ _08138B76:
b _08138B86
.align 2, 0
_08138B7C: .4byte gReceivedRemoteLinkPlayers
-_08138B80: .4byte gUnknown_203B16C
+_08138B80: .4byte gLastViewedMonIndex
_08138B84:
movs r0, 0
_08138B86:
@@ -8476,7 +8476,7 @@ sub_8138B8C: @ 8138B8C
adds r2, 0xD8
adds r0, r1, r2
ldr r4, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
@@ -8493,7 +8493,7 @@ _08138BC4:
ldr r2, _08138BE8 @ =0x000032f4
adds r0, r1, r2
ldr r4, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
@@ -9148,7 +9148,7 @@ sub_81390B0: @ 81390B0
ldr r1, _081391DC @ =0x000032f4
adds r0, r1
ldr r6, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
@@ -9294,7 +9294,7 @@ sub_81391EC: @ 81391EC
ldr r1, _08139318 @ =0x000032f4
adds r0, r1
ldr r6, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
@@ -9442,7 +9442,7 @@ sub_8139328: @ 8139328
adds r2, 0xD8
adds r0, r1, r2
ldr r4, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
@@ -9459,7 +9459,7 @@ _08139360:
ldr r2, _08139384 @ =0x000032f4
adds r0, r1, r2
ldr r4, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 2
@@ -10269,7 +10269,7 @@ _081399DC: .4byte sub_804CF14
_081399E0: .4byte 0x00003024
_081399E4: .4byte 0x0000ffff
_081399E8:
- ldr r0, _08139A1C @ =gUnknown_203B16C
+ ldr r0, _08139A1C @ =gLastViewedMonIndex
ldrb r1, [r0]
movs r0, 0x3
bl sub_804455C
@@ -10293,7 +10293,7 @@ _081399E8:
bl CreateMonPicSprite
b _08139A40
.align 2, 0
-_08139A1C: .4byte gUnknown_203B16C
+_08139A1C: .4byte gLastViewedMonIndex
_08139A20: .4byte 0x0000ffff
_08139A24:
movs r0, 0x3C
@@ -10787,7 +10787,7 @@ _08139E20:
.align 2, 0
_08139E28: .4byte SpriteCallbackDummy
_08139E2C:
- ldr r0, _08139E48 @ =gUnknown_203B16C
+ ldr r0, _08139E48 @ =gLastViewedMonIndex
ldrb r1, [r0]
movs r0, 0x3
bl sub_804455C
@@ -10801,7 +10801,7 @@ _08139E2C:
str r4, [sp, 0x4]
b _08139E58
.align 2, 0
-_08139E48: .4byte gUnknown_203B16C
+_08139E48: .4byte gLastViewedMonIndex
_08139E4C: .4byte SpriteCallbackDummy
_08139E50:
ldr r1, _08139E98 @ =SpriteCallbackDummy
@@ -13221,7 +13221,7 @@ _0813B16C:
ldr r2, _0813B190 @ =0x000032f4
adds r0, r2
ldr r4, [r0]
- bl sub_8138B20
+ bl GetLastViewedMonIndex
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -13268,7 +13268,7 @@ _0813B1CC:
negs r1, r1
cmp r0, r1
beq _0813B1F4
- ldr r0, _0813B1FC @ =gUnknown_203B16C
+ ldr r0, _0813B1FC @ =gLastViewedMonIndex
strb r2, [r0]
ldr r0, _0813B200 @ =sub_813B3F0
movs r1, 0
@@ -13284,7 +13284,7 @@ _0813B1F4:
pop {r0}
bx r0
.align 2, 0
-_0813B1FC: .4byte gUnknown_203B16C
+_0813B1FC: .4byte gLastViewedMonIndex
_0813B200: .4byte sub_813B3F0
_0813B204: .4byte gUnknown_203B140
_0813B208: .4byte 0x0000328c
@@ -13311,7 +13311,7 @@ sub_813B20C: @ 813B20C
movs r1, 0x1
negs r1, r1
adds r5, r0, 0
- ldr r6, _0813B264 @ =gUnknown_203B16C
+ ldr r6, _0813B264 @ =gLastViewedMonIndex
cmp r3, r1
bne _0813B23E
ldrb r0, [r6]
@@ -13336,7 +13336,7 @@ _0813B252:
_0813B258: .4byte gUnknown_203B140
_0813B25C: .4byte 0x000032f4
_0813B260: .4byte 0x00003214
-_0813B264: .4byte gUnknown_203B16C
+_0813B264: .4byte gLastViewedMonIndex
_0813B268: .4byte 0x00003210
_0813B26C:
lsls r5, r4, 24
@@ -13346,7 +13346,7 @@ _0813B26E:
asrs r1, r5, 24
adds r0, r1
lsls r0, 24
- ldr r4, _0813B29C @ =gUnknown_203B16C
+ ldr r4, _0813B29C @ =gLastViewedMonIndex
lsrs r6, r0, 24
asrs r0, 24
ldrb r3, [r4]
@@ -13365,7 +13365,7 @@ _0813B294:
negs r0, r0
b _0813B2C0
.align 2, 0
-_0813B29C: .4byte gUnknown_203B16C
+_0813B29C: .4byte gLastViewedMonIndex
_0813B2A0: .4byte gUnknown_203B140
_0813B2A4: .4byte 0x00003210
_0813B2A8:
@@ -13514,7 +13514,7 @@ _0813B39E:
bhi _0813B3B6
ldr r4, _0813B3D4 @ =gUnknown_8463FB8
adds r4, r5, r4
- bl sub_8138B20
+ bl GetLastViewedMonIndex
ldrb r1, [r4]
lsls r0, 24
lsrs r0, 24