diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/party_menu.s | 5197 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 2 | ||||
-rw-r--r-- | asm/pokemon_summary_screen.s | 60 |
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 |