summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-11-22 06:46:04 +0800
committerEvan <eroelke@gmail.com>2019-12-04 14:54:50 -0700
commit069eb2baed314133a9d72658c07126e73b3b3db1 (patch)
tree1cf7ea7b4ef581d91324412cfcbc2513a97a6abf /asm
parentd89a2d791edaf9bc892bd00dbf2ffcd35f84435a (diff)
party_menu first quarter
Diffstat (limited to 'asm')
-rw-r--r--asm/item_menu.s2
-rw-r--r--asm/party_menu.s4839
-rw-r--r--asm/pokemon_jump_2.s8
-rw-r--r--asm/pokemon_special_anim.s2
-rw-r--r--asm/shop.s4
5 files changed, 9 insertions, 4846 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 9774cbe90..6967a7876 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -2514,7 +2514,7 @@ sub_8109140: @ 8109140
movs r1, 0
movs r2, 0xE
movs r3, 0x1E
- bl SetBgRectPal
+ bl SetBgTilemapPalette
movs r0, 0x1
bl ScheduleBgCopyTilemapToVram
add sp, 0x8
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 955fba24e..c394b4917 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -5,4843 +5,6 @@
.text
- thumb_func_start InitPartyMenu
-InitPartyMenu: @ 811EA44
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r7, r4, 24
- bl ResetPartyMenu
- ldr r6, _0811EA8C @ =sPartyMenuInternal
- movs r0, 0x8E
- lsls r0, 2
- bl Alloc
- adds r5, r0, 0
- str r5, [r6]
- cmp r5, 0
- bne _0811EA90
- ldr r0, [sp, 0x2C]
- bl SetMainCallback2
- b _0811EB80
- .align 2, 0
-_0811EA8C: .4byte sPartyMenuInternal
-_0811EA90:
- ldr r3, _0811EAE0 @ =gPartyMenu
- movs r1, 0xF
- mov r0, r9
- ands r1, r0
- ldrb r2, [r3, 0x8]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- ldr r1, [sp, 0x2C]
- str r1, [r3]
- movs r4, 0
- mov r0, r8
- strb r0, [r3, 0xB]
- lsls r2, r7, 2
- ldrh r1, [r5, 0xA]
- movs r0, 0x3
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0xA]
- ldr r0, [sp, 0x28]
- str r0, [r5]
- str r4, [r5, 0x4]
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x8]
- adds r7, r3, 0
- mov r1, r9
- cmp r1, 0x4
- bne _0811EAE4
- ldr r0, [r6]
- ldrb r1, [r0, 0x8]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x8]
- b _0811EAF0
- .align 2, 0
-_0811EAE0: .4byte gPartyMenu
-_0811EAE4:
- ldr r2, [r6]
- ldrb r1, [r2, 0x8]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x8]
-_0811EAF0:
- mov r5, r10
- cmp r5, 0xFF
- beq _0811EB08
- movs r0, 0x3
- ands r0, r5
- lsls r0, 4
- ldrb r2, [r7, 0x8]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x8]
-_0811EB08:
- movs r2, 0
- ldr r5, _0811EB90 @ =sPartyMenuInternal
- movs r4, 0x86
- lsls r4, 2
- movs r3, 0
-_0811EB12:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0811EB12
- movs r2, 0
- ldr r4, _0811EB90 @ =sPartyMenuInternal
- movs r3, 0xFF
-_0811EB2C:
- ldr r0, [r4]
- adds r0, 0xC
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _0811EB2C
- ldr r0, [sp]
- cmp r0, 0
- beq _0811EB68
- adds r1, r7, 0
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _0811EB66
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0811EB94 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0811EB6A
-_0811EB66:
- movs r0, 0
-_0811EB68:
- strb r0, [r7, 0x9]
-_0811EB6A:
- ldr r2, _0811EB98 @ =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl CalculatePlayerPartyCount
- ldr r0, _0811EB9C @ =CB2_InitPartyMenu
- bl SetMainCallback2
-_0811EB80:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811EB90: .4byte sPartyMenuInternal
-_0811EB94: .4byte gPlayerParty
-_0811EB98: .4byte gTextFlags
-_0811EB9C: .4byte CB2_InitPartyMenu
- thumb_func_end InitPartyMenu
-
- thumb_func_start CB2_UpdatePartyMenu
-CB2_UpdatePartyMenu: @ 811EBA0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl DoScheduledBgTilemapCopiesToVram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end CB2_UpdatePartyMenu
-
- thumb_func_start VBlankCB_PartyMenu
-VBlankCB_PartyMenu: @ 811EBBC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_PartyMenu
-
- thumb_func_start CB2_InitPartyMenu
-CB2_InitPartyMenu: @ 811EBD0
- push {lr}
-_0811EBD2:
- bl sub_80BF748
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811EBF6
- bl ShowPartyMenu
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811EBF6
- bl MenuHelpers_LinkSomething
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0811EBD2
-_0811EBF6:
- pop {r0}
- bx r0
- thumb_func_end CB2_InitPartyMenu
-
- thumb_func_start ShowPartyMenu
-ShowPartyMenu: @ 811EBFC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0811EC1C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x16
- bls _0811EC10
- b _0811EE14
-_0811EC10:
- lsls r0, 2
- ldr r1, _0811EC20 @ =_0811EC24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811EC1C: .4byte gMain
-_0811EC20: .4byte _0811EC24
- .align 2, 0
-_0811EC24:
- .4byte _0811EC80
- .4byte _0811EC8E
- .4byte _0811EC94
- .4byte _0811ECA8
- .4byte _0811ECAE
- .4byte _0811ECB4
- .4byte _0811ECC6
- .4byte _0811ECCC
- .4byte _0811ECF4
- .4byte _0811ED02
- .4byte _0811ED14
- .4byte _0811ED38
- .4byte _0811ED3E
- .4byte _0811ED44
- .4byte _0811ED4A
- .4byte _0811ED50
- .4byte _0811ED70
- .4byte _0811ED90
- .4byte _0811ED96
- .4byte _0811EDAC
- .4byte _0811EDB4
- .4byte _0811EDD0
- .4byte _0811EDDE
-_0811EC80:
- bl SetVBlankHBlankCallbacksToNull
- bl ClearVramOamPltt
- bl ClearScheduledBgCopiesToVram
- b _0811EDFC
-_0811EC8E:
- bl ScanlineEffect_Stop
- b _0811EDFC
-_0811EC94:
- bl ResetPaletteFade
- ldr r2, _0811ECA4 @ =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- b _0811EDFA
- .align 2, 0
-_0811ECA4: .4byte gPaletteFade
-_0811ECA8:
- bl ResetSpriteData
- b _0811EDFC
-_0811ECAE:
- bl FreeAllSpritePalettes
- b _0811EDFC
-_0811ECB4:
- bl MenuHelpers_LinkSomething
- lsls r0, 24
- cmp r0, 0
- beq _0811ECC0
- b _0811EDFC
-_0811ECC0:
- bl ResetTasks
- b _0811EDFC
-_0811ECC6:
- bl SetPartyMonsAllowedInMinigame
- b _0811EDFC
-_0811ECCC:
- bl AllocPartyMenuBg
- lsls r0, 24
- cmp r0, 0
- bne _0811ECDE
- bl ExitPartyMenu
- movs r0, 0x1
- b _0811EE2E
-_0811ECDE:
- ldr r0, _0811ECF0 @ =sPartyMenuInternal
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _0811EDFC
- .align 2, 0
-_0811ECF0: .4byte sPartyMenuInternal
-_0811ECF4:
- bl AllocPartyMenuBgGfx
- lsls r0, 24
- cmp r0, 0
- bne _0811ED00
- b _0811EE2C
-_0811ED00:
- b _0811EDFC
-_0811ED02:
- ldr r0, _0811ED10 @ =gPartyMenu
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl InitPartyMenuWindows
- b _0811EDFC
- .align 2, 0
-_0811ED10: .4byte gPartyMenu
-_0811ED14:
- ldr r0, _0811ED30 @ =gPartyMenu
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- bl InitPartyMenuBoxes
- ldr r0, _0811ED34 @ =sPartyMenuInternal
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _0811EDFC
- .align 2, 0
-_0811ED30: .4byte gPartyMenu
-_0811ED34: .4byte sPartyMenuInternal
-_0811ED38:
- bl LoadHeldItemIcons
- b _0811EDFC
-_0811ED3E:
- bl LoadPartyMenuPokeballGfx
- b _0811EDFC
-_0811ED44:
- bl LoadPartyMenuAilmentGfx
- b _0811EDFC
-_0811ED4A:
- bl LoadMonIconPalettes
- b _0811EDFC
-_0811ED50:
- bl CreatePartyMonSpritesLoop
- lsls r0, 24
- cmp r0, 0
- beq _0811EE2C
- ldr r0, _0811ED6C @ =sPartyMenuInternal
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _0811EDFC
- .align 2, 0
-_0811ED6C: .4byte sPartyMenuInternal
-_0811ED70:
- bl RenderPartyMenuBoxes
- lsls r0, 24
- cmp r0, 0
- beq _0811EE2C
- ldr r0, _0811ED8C @ =sPartyMenuInternal
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _0811EDFC
- .align 2, 0
-_0811ED8C: .4byte sPartyMenuInternal
-_0811ED90:
- bl CreateCancelConfirmPokeballSprites
- b _0811EDFC
-_0811ED96:
- ldr r0, _0811EDA8 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- lsrs r0, 31
- bl CreateCancelConfirmWindows
- b _0811EDFC
- .align 2, 0
-_0811EDA8: .4byte sPartyMenuInternal
-_0811EDAC:
- movs r0, 0x5
- bl HelpSystem_SetSomeVariable2
- b _0811EDFC
-_0811EDB4:
- ldr r4, _0811EDCC @ =sPartyMenuInternal
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- lsrs r0, 2
- bl DisplayPartyMenuStdMessage
- b _0811EDFC
- .align 2, 0
-_0811EDCC: .4byte sPartyMenuInternal
-_0811EDD0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _0811EDFC
-_0811EDDE:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _0811EE0C @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
-_0811EDFA:
- strb r0, [r2, 0x8]
-_0811EDFC:
- ldr r1, _0811EE10 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0811EE2C
- .align 2, 0
-_0811EE0C: .4byte gPaletteFade
-_0811EE10: .4byte gMain
-_0811EE14:
- ldr r0, _0811EE24 @ =VBlankCB_PartyMenu
- bl SetVBlankCallback
- ldr r0, _0811EE28 @ =CB2_UpdatePartyMenu
- bl SetMainCallback2
- movs r0, 0x1
- b _0811EE2E
- .align 2, 0
-_0811EE24: .4byte VBlankCB_PartyMenu
-_0811EE28: .4byte CB2_UpdatePartyMenu
-_0811EE2C:
- movs r0, 0
-_0811EE2E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ShowPartyMenu
-
- thumb_func_start ExitPartyMenu
-ExitPartyMenu: @ 811EE38
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0811EE68 @ =Task_ExitPartyMenu
- movs r1, 0
- bl CreateTask
- ldr r0, _0811EE6C @ =VBlankCB_PartyMenu
- bl SetVBlankCallback
- ldr r0, _0811EE70 @ =CB2_UpdatePartyMenu
- bl SetMainCallback2
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0811EE68: .4byte Task_ExitPartyMenu
-_0811EE6C: .4byte VBlankCB_PartyMenu
-_0811EE70: .4byte CB2_UpdatePartyMenu
- thumb_func_end ExitPartyMenu
-
- thumb_func_start Task_ExitPartyMenu
-Task_ExitPartyMenu: @ 811EE74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0811EEA0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811EE98
- ldr r0, _0811EEA4 @ =gPartyMenu
- ldr r0, [r0]
- bl SetMainCallback2
- bl FreePartyPointers
- adds r0, r4, 0
- bl DestroyTask
-_0811EE98:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811EEA0: .4byte gPaletteFade
-_0811EEA4: .4byte gPartyMenu
- thumb_func_end Task_ExitPartyMenu
-
- thumb_func_start ResetPartyMenu
-ResetPartyMenu: @ 811EEA8
- ldr r0, _0811EEBC @ =sPartyMenuInternal
- movs r1, 0
- str r1, [r0]
- ldr r0, _0811EEC0 @ =sPartyBgTilemapBuffer
- str r1, [r0]
- ldr r0, _0811EEC4 @ =sPartyMenuBoxes
- str r1, [r0]
- ldr r0, _0811EEC8 @ =sPartyBgGfxTilemap
- str r1, [r0]
- bx lr
- .align 2, 0
-_0811EEBC: .4byte sPartyMenuInternal
-_0811EEC0: .4byte sPartyBgTilemapBuffer
-_0811EEC4: .4byte sPartyMenuBoxes
-_0811EEC8: .4byte sPartyBgGfxTilemap
- thumb_func_end ResetPartyMenu
-
- thumb_func_start AllocPartyMenuBg
-AllocPartyMenuBg: @ 811EECC
- push {r4,r5,lr}
- bl ResetAllBgsCoordinatesAndBgCntRegs
- ldr r5, _0811EF34 @ =sPartyBgTilemapBuffer
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _0811EF3C
- movs r1, 0
- adds r2, r4, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0811EF38 @ =sPartyMenuBgTemplates
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- b _0811EF3E
- .align 2, 0
-_0811EF34: .4byte sPartyBgTilemapBuffer
-_0811EF38: .4byte sPartyMenuBgTemplates
-_0811EF3C:
- movs r0, 0
-_0811EF3E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end AllocPartyMenuBg
-
- thumb_func_start AllocPartyMenuBgGfx
-AllocPartyMenuBgGfx: @ 811EF44
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0811EF64 @ =sPartyMenuInternal
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _0811F02C
- lsls r0, 2
- ldr r1, _0811EF68 @ =_0811EF6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811EF64: .4byte sPartyMenuInternal
-_0811EF68: .4byte _0811EF6C
- .align 2, 0
-_0811EF6C:
- .4byte _0811EF8C
- .4byte _0811EFB4
- .4byte _0811EFD4
- .4byte _0811F000
- .4byte _0811F004
- .4byte _0811F008
- .4byte _0811F00C
- .4byte _0811F010
-_0811EF8C:
- ldr r4, _0811EFAC @ =sPartyBgGfxTilemap
- ldr r0, _0811EFB0 @ =gPartyMenuBg_Gfx
- mov r1, sp
- bl MallocAndDecompress
- adds r1, r0, 0
- str r1, [r4]
- ldr r2, [sp]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- movs r3, 0
- bl LoadBgTiles
- b _0811F016
- .align 2, 0
-_0811EFAC: .4byte sPartyBgGfxTilemap
-_0811EFB0: .4byte gPartyMenuBg_Gfx
-_0811EFB4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0811F030
- ldr r0, _0811EFCC @ =gPartyMenuBg_Tilemap
- ldr r1, _0811EFD0 @ =sPartyBgTilemapBuffer
- ldr r1, [r1]
- bl LZDecompressWram
- b _0811F016
- .align 2, 0
-_0811EFCC: .4byte gPartyMenuBg_Tilemap
-_0811EFD0: .4byte sPartyBgTilemapBuffer
-_0811EFD4:
- ldr r0, _0811EFF4 @ =gPartyMenuBg_Pal
- movs r2, 0xB0
- lsls r2, 1
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, _0811EFF8 @ =gPlttBufferUnfaded
- ldr r4, _0811EFFC @ =sPartyMenuInternal
- ldr r1, [r4]
- adds r1, 0x18
- movs r2, 0xB0
- bl CpuSet
- ldr r1, [r4]
- b _0811F01A
- .align 2, 0
-_0811EFF4: .4byte gPartyMenuBg_Pal
-_0811EFF8: .4byte gPlttBufferUnfaded
-_0811EFFC: .4byte sPartyMenuInternal
-_0811F000:
- movs r0, 0x4
- b _0811F012
-_0811F004:
- movs r0, 0x5
- b _0811F012
-_0811F008:
- movs r0, 0x6
- b _0811F012
-_0811F00C:
- movs r0, 0x7
- b _0811F012
-_0811F010:
- movs r0, 0x8
-_0811F012:
- bl PartyPaletteBufferCopy
-_0811F016:
- ldr r0, _0811F028 @ =sPartyMenuInternal
- ldr r1, [r0]
-_0811F01A:
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0811F030
- .align 2, 0
-_0811F028: .4byte sPartyMenuInternal
-_0811F02C:
- movs r0, 0x1
- b _0811F032
-_0811F030:
- movs r0, 0
-_0811F032:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end AllocPartyMenuBgGfx
-
- thumb_func_start PartyPaletteBufferCopy
-PartyPaletteBufferCopy: @ 811F03C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 28
- ldr r5, _0811F068 @ =gPlttBufferUnfaded + 0x60
- lsrs r4, 23
- adds r1, r5, 0
- subs r1, 0x60
- adds r1, r4, r1
- adds r0, r5, 0
- movs r2, 0x10
- bl CpuSet
- ldr r0, _0811F06C @ =gPlttBufferFaded
- adds r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl CpuSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F068: .4byte gPlttBufferUnfaded + 0x60
-_0811F06C: .4byte gPlttBufferFaded
- thumb_func_end PartyPaletteBufferCopy
-
- thumb_func_start FreePartyPointers
-FreePartyPointers: @ 811F070
- push {lr}
- ldr r0, _0811F0AC @ =sPartyMenuInternal
- ldr r0, [r0]
- cmp r0, 0
- beq _0811F07E
- bl Free
-_0811F07E:
- ldr r0, _0811F0B0 @ =sPartyBgTilemapBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0811F08A
- bl Free
-_0811F08A:
- ldr r0, _0811F0B4 @ =sPartyBgGfxTilemap
- ldr r0, [r0]
- cmp r0, 0
- beq _0811F096
- bl Free
-_0811F096:
- ldr r0, _0811F0B8 @ =sPartyMenuBoxes
- ldr r0, [r0]
- cmp r0, 0
- beq _0811F0A2
- bl Free
-_0811F0A2:
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- .align 2, 0
-_0811F0AC: .4byte sPartyMenuInternal
-_0811F0B0: .4byte sPartyBgTilemapBuffer
-_0811F0B4: .4byte sPartyBgGfxTilemap
-_0811F0B8: .4byte sPartyMenuBoxes
- thumb_func_end FreePartyPointers
-
- thumb_func_start InitPartyMenuBoxes
-InitPartyMenuBoxes: @ 811F0BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0811F108 @ =sPartyMenuBoxes
- movs r0, 0x60
- bl Alloc
- str r0, [r4]
- movs r2, 0
- ldr r7, _0811F10C @ =sPartyBoxInfoRects + 0x20
- lsls r0, r5, 1
- adds r0, r5
- lsls r3, r0, 4
- mov r12, r4
- ldr r6, _0811F110 @ =sPartyMenuSpriteCoords
-_0811F0DA:
- ldr r0, [r4]
- lsls r1, r2, 4
- adds r1, r0
- str r7, [r1]
- lsls r0, r2, 3
- adds r0, r6
- adds r0, r3, r0
- str r0, [r1, 0x4]
- strb r2, [r1, 0x8]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x5
- bls _0811F0DA
- mov r1, r12
- ldr r0, [r1]
- ldr r1, _0811F114 @ =sPartyBoxInfoRects
- str r1, [r0]
- cmp r5, 0x3
- bne _0811F118
- str r1, [r0, 0x30]
- b _0811F11E
- .align 2, 0
-_0811F108: .4byte sPartyMenuBoxes
-_0811F10C: .4byte sPartyBoxInfoRects + 0x20
-_0811F110: .4byte sPartyMenuSpriteCoords
-_0811F114: .4byte sPartyBoxInfoRects
-_0811F118:
- cmp r5, 0
- beq _0811F11E
- str r1, [r0, 0x10]
-_0811F11E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end InitPartyMenuBoxes
-
- thumb_func_start RenderPartyMenuBox
-RenderPartyMenuBox: @ 811F124
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0811F16C @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _0811F174
- cmp r4, 0x2
- bls _0811F174
- adds r0, r4, 0
- bl DisplayPartyPokemonDataForMultiBattle
- ldr r5, _0811F170 @ =sPartyMenuBoxes
- lsls r4, 4
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x8
- bl LoadPartyBoxPalette
- ldr r0, [r5]
- adds r0, r4, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r5]
- adds r4, r0
- ldrb r0, [r4, 0x8]
- bl PutWindowTilemap
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- b _0811F22A
- .align 2, 0
-_0811F16C: .4byte gPartyMenu
-_0811F170: .4byte sPartyMenuBoxes
-_0811F174:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0811F1A4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _0811F1AC
- ldr r5, _0811F1A8 @ =sPartyMenuBoxes
- ldr r0, [r5]
- lsls r4, 4
- adds r0, r4, r0
- ldrb r0, [r0, 0x8]
- bl DrawEmptySlot
- ldr r0, [r5]
- adds r0, r4, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0811F218
- .align 2, 0
-_0811F1A4: .4byte gPlayerParty
-_0811F1A8: .4byte sPartyMenuBoxes
-_0811F1AC:
- ldr r0, _0811F1C0 @ =gPartyMenu
- ldrb r0, [r0, 0x8]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x4
- bne _0811F1C4
- adds r0, r4, 0
- bl DisplayPartyPokemonDataForChooseHalf
- b _0811F1E2
- .align 2, 0
-_0811F1C0: .4byte gPartyMenu
-_0811F1C4:
- cmp r1, 0xB
- bne _0811F1D0
- adds r0, r4, 0
- bl DisplayPartyPokemonDataForWirelessMinigame
- b _0811F1E2
-_0811F1D0:
- adds r0, r4, 0
- bl DisplayPartyPokemonDataForMoveTutorOrEvolutionItem
- lsls r0, 24
- cmp r0, 0
- bne _0811F1E2
- adds r0, r4, 0
- bl DisplayPartyPokemonData
-_0811F1E2:
- ldr r2, _0811F1F8 @ =gPartyMenu
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _0811F1FC
- adds r0, r4, 0
- movs r1, 0
- bl AnimatePartySlot
- b _0811F216
- .align 2, 0
-_0811F1F8: .4byte gPartyMenu
-_0811F1FC:
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r0, r4
- bne _0811F20E
- adds r0, r4, 0
- movs r1, 0x1
- bl AnimatePartySlot
- b _0811F216
-_0811F20E:
- adds r0, r4, 0
- movs r1, 0
- bl AnimatePartySlot
-_0811F216:
- lsls r4, 4
-_0811F218:
- ldr r0, _0811F230 @ =sPartyMenuBoxes
- ldr r0, [r0]
- adds r0, r4, r0
- ldrb r0, [r0, 0x8]
- bl PutWindowTilemap
- movs r0, 0
- bl ScheduleBgCopyTilemapToVram
-_0811F22A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F230: .4byte sPartyMenuBoxes
- thumb_func_end RenderPartyMenuBox
-
- thumb_func_start DisplayPartyPokemonData
-DisplayPartyPokemonData: @ 811F234
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _0811F284 @ =gPlayerParty
- adds r7, r1, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- adds r2, r0, 0
- cmp r2, 0
- beq _0811F28C
- ldr r6, _0811F288 @ =sPartyMenuBoxes
- ldr r0, [r6]
- lsls r5, r4, 4
- adds r0, r5, r0
- ldr r2, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r6]
- adds r1, r5
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonNickname
- b _0811F2EE
- .align 2, 0
-_0811F284: .4byte gPlayerParty
-_0811F288: .4byte sPartyMenuBoxes
-_0811F28C:
- ldr r5, _0811F2F8 @ =sPartyMenuBoxes
- ldr r0, [r5]
- lsls r4, 4
- adds r0, r4, r0
- ldr r1, [r0]
- ldrb r0, [r0, 0x8]
- str r2, [sp]
- str r2, [sp, 0x4]
- ldr r6, [r1]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r6
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonNickname
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonLevelCheck
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonGenderNidoranCheck
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonHPCheck
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- movs r2, 0
- bl DisplayPartyPokemonMaxHPCheck
- ldr r1, [r5]
- adds r1, r4
- adds r0, r7, 0
- bl DisplayPartyPokemonHPBarCheck
-_0811F2EE:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F2F8: .4byte sPartyMenuBoxes
- thumb_func_end DisplayPartyPokemonData
-
- thumb_func_start DisplayPartyPokemonDescriptionData
-DisplayPartyPokemonDescriptionData: @ 811F2FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0x64
- adds r2, r0, 0
- muls r2, r1
- ldr r1, _0811F380 @ =gPlayerParty
- adds r6, r2, r1
- ldr r7, _0811F384 @ =sPartyMenuBoxes
- ldr r1, [r7]
- lsls r5, r0, 4
- adds r1, r5, r1
- ldr r2, [r1]
- ldrb r0, [r1, 0x8]
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl DisplayPartyPokemonNickname
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0811F368
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl DisplayPartyPokemonLevelCheck
- ldr r1, [r7]
- adds r1, r5
- adds r0, r6, 0
- movs r2, 0
- bl DisplayPartyPokemonGenderNidoranCheck
-_0811F368:
- ldr r1, [r7]
- adds r1, r5
- mov r0, r8
- movs r2, 0
- bl DisplayPartyPokemonDescriptionText
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F380: .4byte gPlayerParty
-_0811F384: .4byte sPartyMenuBoxes
- thumb_func_end DisplayPartyPokemonDescriptionData
-
- thumb_func_start DisplayPartyPokemonDataForChooseHalf
-DisplayPartyPokemonDataForChooseHalf: @ 811F388
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0811F3AC @ =gPlayerParty
- adds r0, r1
- ldr r5, _0811F3B0 @ =gSelectedOrderFromParty
- bl GetBattleEntryEligibility
- lsls r0, 24
- cmp r0, 0
- bne _0811F3C2
- adds r0, r4, 0
- movs r1, 0x6
- bl DisplayPartyPokemonDescriptionData
- b _0811F3F8
- .align 2, 0
-_0811F3AC: .4byte gPlayerParty
-_0811F3B0: .4byte gSelectedOrderFromParty
-_0811F3B4:
- adds r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl DisplayPartyPokemonDescriptionData
- b _0811F3F8
-_0811F3C2:
- ldr r0, _0811F400 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xC0
- ands r0, r1
- movs r3, 0x3
- cmp r0, 0x80
- bne _0811F3D2
- movs r3, 0x2
-_0811F3D2:
- movs r1, 0
- cmp r1, r3
- bcs _0811F3F0
-_0811F3D8:
- adds r2, r5, r1
- ldrb r0, [r2]
- cmp r0, 0
- beq _0811F3E6
- subs r0, 0x1
- cmp r0, r4
- beq _0811F3B4
-_0811F3E6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r3
- bcc _0811F3D8
-_0811F3F0:
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayPartyPokemonDescriptionData
-_0811F3F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F400: .4byte gPartyMenu
- thumb_func_end DisplayPartyPokemonDataForChooseHalf
-
- thumb_func_start DisplayPartyPokemonDataForWirelessMinigame
-DisplayPartyPokemonDataForWirelessMinigame: @ 811F404
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl IsMonAllowedInMinigame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0811F422
- adds r0, r4, 0
- movs r1, 0x5
- bl DisplayPartyPokemonDescriptionData
- b _0811F42A
-_0811F422:
- adds r0, r4, 0
- movs r1, 0x6
- bl DisplayPartyPokemonDescriptionData
-_0811F42A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonDataForWirelessMinigame
-
- thumb_func_start DisplayPartyPokemonDataForMoveTutorOrEvolutionItem
-DisplayPartyPokemonDataForMoveTutorOrEvolutionItem: @ 811F430
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0811F468 @ =gPlayerParty
- adds r6, r1, r0
- ldr r0, _0811F46C @ =gSpecialVar_ItemId
- ldrh r4, [r0]
- ldr r0, _0811F470 @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- cmp r0, 0xC
- bne _0811F47C
- ldr r0, _0811F474 @ =gSpecialVar_Result
- movs r1, 0
- strh r1, [r0]
- ldr r0, _0811F478 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0xE
- bhi _0811F492
- lsls r2, r0, 24
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0
- bl DisplayPartyPokemonDataToTeachMove
- b _0811F4C6
- .align 2, 0
-_0811F468: .4byte gPlayerParty
-_0811F46C: .4byte gSpecialVar_ItemId
-_0811F470: .4byte gPartyMenu
-_0811F474: .4byte gSpecialVar_Result
-_0811F478: .4byte gSpecialVar_0x8005
-_0811F47C:
- cmp r0, 0x3
- bne _0811F492
- adds r0, r4, 0
- bl GetItemCompatibilityRule
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811F496
- cmp r0, 0x2
- beq _0811F4A2
-_0811F492:
- movs r0, 0
- b _0811F4C8
-_0811F496:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl DisplayPartyPokemonDataToTeachMove
- b _0811F4C6
-_0811F4A2:
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0811F4BE
- adds r0, r6, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- cmp r0, 0
- bne _0811F492
-_0811F4BE:
- adds r0, r5, 0
- movs r1, 0
- bl DisplayPartyPokemonDescriptionData
-_0811F4C6:
- movs r0, 0x1
-_0811F4C8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end DisplayPartyPokemonDataForMoveTutorOrEvolutionItem
-
- thumb_func_start DisplayPartyPokemonDataToTeachMove
-DisplayPartyPokemonDataToTeachMove: @ 811F4D0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x64
- muls r0, r4
- ldr r3, _0811F4FC @ =gPlayerParty
- adds r0, r3
- bl CanMonLearnTMTutor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _0811F50E
- cmp r0, 0x2
- bgt _0811F500
- cmp r0, 0x1
- beq _0811F504
- b _0811F518
- .align 2, 0
-_0811F4FC: .4byte gPlayerParty
-_0811F500:
- cmp r0, 0x3
- bne _0811F518
-_0811F504:
- adds r0, r4, 0
- movs r1, 0x8
- bl DisplayPartyPokemonDescriptionData
- b _0811F520
-_0811F50E:
- adds r0, r4, 0
- movs r1, 0x9
- bl DisplayPartyPokemonDescriptionData
- b _0811F520
-_0811F518:
- adds r0, r4, 0
- movs r1, 0x7
- bl DisplayPartyPokemonDescriptionData
-_0811F520:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end DisplayPartyPokemonDataToTeachMove
-
- thumb_func_start DisplayPartyPokemonDataForMultiBattle
-DisplayPartyPokemonDataForMultiBattle: @ 811F528
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0811F558 @ =sPartyMenuBoxes
- lsls r2, r0, 4
- ldr r1, [r1]
- adds r5, r1, r2
- subs r0, 0x3
- lsls r0, 24
- ldr r1, _0811F55C @ =gMultiPartnerParty
- mov r8, r1
- lsrs r7, r0, 19
- adds r6, r7, r1
- ldrh r0, [r6]
- cmp r0, 0
- bne _0811F560
- ldrb r0, [r5, 0x8]
- bl DrawEmptySlot
- b _0811F5DC
- .align 2, 0
-_0811F558: .4byte sPartyMenuBoxes
-_0811F55C: .4byte gMultiPartnerParty
-_0811F560:
- ldr r2, [r5]
- ldrb r0, [r5, 0x8]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r4, [r2]
- movs r2, 0
- movs r3, 0
- bl _call_via_r4
- ldr r4, _0811F5E8 @ =gStringVar1
- mov r0, r8
- adds r0, 0x4
- adds r7, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl StringCopy
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _0811F5A0
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_0811F5A0:
- ldrb r0, [r5, 0x8]
- ldr r3, [r5]
- adds r3, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl DisplayPartyPokemonBarDetail
- ldrb r0, [r6, 0xF]
- adds r1, r5, 0
- bl DisplayPartyPokemonLevel
- ldrb r0, [r6, 0x1C]
- ldrh r1, [r6]
- adds r2, r7, 0
- adds r3, r5, 0
- bl DisplayPartyPokemonGender
- ldrh r0, [r6, 0x10]
- adds r1, r5, 0
- bl DisplayPartyPokemonHP
- ldrh r0, [r6, 0x12]
- adds r1, r5, 0
- bl DisplayPartyPokemonMaxHP
- ldrh r0, [r6, 0x10]
- ldrh r1, [r6, 0x12]
- adds r2, r5, 0
- bl DisplayPartyPokemonHPBar
-_0811F5DC:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F5E8: .4byte gStringVar1
- thumb_func_end DisplayPartyPokemonDataForMultiBattle
-
- thumb_func_start RenderPartyMenuBoxes
-RenderPartyMenuBoxes: @ 811F5EC
- push {r4,r5,lr}
- ldr r5, _0811F614 @ =sPartyMenuInternal
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl RenderPartyMenuBox
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _0811F618
- movs r0, 0
- b _0811F61A
- .align 2, 0
-_0811F614: .4byte sPartyMenuInternal
-_0811F618:
- movs r0, 0x1
-_0811F61A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end RenderPartyMenuBoxes
-
- thumb_func_start GetPartyMenuBgTile
-GetPartyMenuBgTile: @ 811F620
- lsls r0, 16
- ldr r1, _0811F630 @ =sPartyBgGfxTilemap
- lsrs r0, 11
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_0811F630: .4byte sPartyBgGfxTilemap
- thumb_func_end GetPartyMenuBgTile
-
- thumb_func_start CreatePartyMonSprites
-CreatePartyMonSprites: @ 811F634
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0811F6A8 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _0811F6E4
- cmp r7, 0x2
- bls _0811F6E4
- subs r0, r7, 0x3
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _0811F6AC @ =gMultiPartnerParty
- mov r9, r0
- mov r2, r10
- lsls r2, 5
- mov r8, r2
- mov r6, r8
- add r6, r9
- ldrh r0, [r6]
- cmp r0, 0
- beq _0811F728
- mov r1, r9
- adds r1, 0x18
- add r1, r8
- ldr r1, [r1]
- ldr r4, _0811F6B0 @ =sPartyMenuBoxes
- lsls r5, r7, 4
- ldr r2, [r4]
- adds r2, r5
- movs r3, 0
- str r3, [sp]
- bl CreatePartyMonIconSpriteParameterized
- ldrh r0, [r6]
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- adds r2, r5
- bl CreatePartyMonHeldItemSpriteParameterized
- ldrh r0, [r6]
- ldr r1, [r4]
- adds r1, r5
- bl CreatePartyMonPokeballSpriteParameterized
- ldrh r0, [r6, 0x10]
- cmp r0, 0
- bne _0811F6B4
- movs r3, 0x7
- b _0811F6C4
- .align 2, 0
-_0811F6A8: .4byte gPartyMenu
-_0811F6AC: .4byte gMultiPartnerParty
-_0811F6B0: .4byte sPartyMenuBoxes
-_0811F6B4:
- mov r0, r9
- adds r0, 0x14
- add r0, r8
- ldr r0, [r0]
- bl GetAilmentFromStatus
- lsls r0, 24
- lsrs r3, r0, 24
-_0811F6C4:
- ldr r1, _0811F6DC @ =gMultiPartnerParty
- mov r2, r10
- lsls r0, r2, 5
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _0811F6E0 @ =sPartyMenuBoxes
- ldr r2, [r1]
- adds r2, r5
- adds r1, r3, 0
- bl CreatePartyMonStatusSpriteParameterized
- b _0811F728
- .align 2, 0
-_0811F6DC: .4byte gMultiPartnerParty
-_0811F6E0: .4byte sPartyMenuBoxes
-_0811F6E4:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _0811F738 @ =gPlayerParty
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0811F728
- ldr r4, _0811F73C @ =sPartyMenuBoxes
- lsls r5, r7, 4
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- adds r2, r7, 0
- bl CreatePartyMonIconSprite
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl CreatePartyMonHeldItemSprite
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl CreatePartyMonPokeballSprite
- ldr r1, [r4]
- adds r1, r5
- adds r0, r6, 0
- bl CreatePartyMonStatusSprite
-_0811F728:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F738: .4byte gPlayerParty
-_0811F73C: .4byte sPartyMenuBoxes
- thumb_func_end CreatePartyMonSprites
-
- thumb_func_start CreatePartyMonSpritesLoop
-CreatePartyMonSpritesLoop: @ 811F740
- push {r4,r5,lr}
- ldr r5, _0811F768 @ =sPartyMenuInternal
- ldr r0, [r5]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl CreatePartyMonSprites
- ldr r1, [r5]
- adds r1, r4
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- beq _0811F76C
- movs r0, 0
- b _0811F76E
- .align 2, 0
-_0811F768: .4byte sPartyMenuInternal
-_0811F76C:
- movs r0, 0x1
-_0811F76E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CreatePartyMonSpritesLoop
-
- thumb_func_start CreateCancelConfirmPokeballSprites
-CreateCancelConfirmPokeballSprites: @ 811F774
- push {r4,lr}
- sub sp, 0xC
- ldr r0, _0811F79C @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x5
- bne _0811F7A0
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x11
- bl FillBgTilemapBufferRect
- b _0811F808
- .align 2, 0
-_0811F79C: .4byte gPartyMenu
-_0811F7A0:
- ldr r4, _0811F7D8 @ =sPartyMenuInternal
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _0811F7E0
- movs r0, 0xBF
- movs r1, 0x88
- bl CreateSmallPokeballButtonSprite
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 4
- ldrh r2, [r3, 0x8]
- ldr r1, _0811F7DC @ =0xfffff80f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x8]
- bl DrawCancelConfirmButtons
- movs r0, 0xBF
- movs r1, 0x98
- bl CreateSmallPokeballButtonSprite
- b _0811F7E8
- .align 2, 0
-_0811F7D8: .4byte sPartyMenuInternal
-_0811F7DC: .4byte 0xfffff80f
-_0811F7E0:
- movs r0, 0xC6
- movs r1, 0x94
- bl CreatePokeballButtonSprite
-_0811F7E8:
- ldr r3, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x7F
- ands r0, r1
- lsls r0, 11
- ldr r1, [r3, 0x8]
- ldr r2, _0811F810 @ =0xfffc07ff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x8]
- ldr r0, _0811F814 @ =gPartyMenu
- ldrb r0, [r0, 0x9]
- movs r1, 0x1
- bl AnimatePartySlot
-_0811F808:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F810: .4byte 0xfffc07ff
-_0811F814: .4byte gPartyMenu
- thumb_func_end CreateCancelConfirmPokeballSprites
-
- thumb_func_start AnimatePartySlot
-AnimatePartySlot: @ 811F818
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- cmp r7, 0x6
- beq _0811F884
- cmp r7, 0x7
- beq _0811F8C0
- movs r0, 0x64
- muls r0, r7
- ldr r1, _0811F87C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0811F934
- ldr r6, _0811F880 @ =sPartyMenuBoxes
- lsls r5, r7, 4
- ldr r4, [r6]
- adds r4, r5
- adds r0, r7, 0
- mov r1, r8
- bl GetPartyBoxPaletteFlags
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl LoadPartyBoxPalette
- ldr r0, [r6]
- adds r0, r5, r0
- ldrb r0, [r0, 0x9]
- mov r1, r8
- bl AnimateSelectedPartyIcon
- ldr r0, [r6]
- adds r5, r0
- ldrb r0, [r5, 0xB]
- mov r1, r8
- bl PartyMenuStartSpriteAnim
- b _0811F934
- .align 2, 0
-_0811F87C: .4byte gPlayerParty
-_0811F880: .4byte sPartyMenuBoxes
-_0811F884:
- mov r0, r8
- cmp r0, 0
- bne _0811F89E
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl SetBgRectPal
- b _0811F8B0
-_0811F89E:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x10
- movs r3, 0x7
- bl SetBgRectPal
-_0811F8B0:
- ldr r0, _0811F8BC @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- lsls r0, 21
- b _0811F926
- .align 2, 0
-_0811F8BC: .4byte sPartyMenuInternal
-_0811F8C0:
- ldr r0, _0811F8E0 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- bne _0811F8F2
- mov r0, r8
- cmp r0, 0
- bne _0811F8E4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x11
- b _0811F904
- .align 2, 0
-_0811F8E0: .4byte sPartyMenuInternal
-_0811F8E4:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x11
- b _0811F904
-_0811F8F2:
- mov r0, r8
- cmp r0, 0
- bne _0811F90C
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r1, 0x17
- movs r2, 0x12
-_0811F904:
- movs r3, 0x7
- bl SetBgRectPal
- b _0811F91E
-_0811F90C:
- movs r0, 0x2
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x17
- movs r2, 0x12
- movs r3, 0x7
- bl SetBgRectPal
-_0811F91E:
- ldr r0, _0811F940 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- lsls r0, 14
-_0811F926:
- lsrs r0, 25
- mov r1, r8
- bl PartyMenuStartSpriteAnim
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
-_0811F934:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F940: .4byte sPartyMenuInternal
- thumb_func_end AnimatePartySlot
-
- thumb_func_start GetPartyBoxPaletteFlags
-GetPartyBoxPaletteFlags: @ 811F944
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r4, 0
- cmp r1, 0x1
- bne _0811F956
- movs r4, 0x1
-_0811F956:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F9D4 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0811F96C
- movs r0, 0x2
- orrs r4, r0
-_0811F96C:
- ldr r2, _0811F9D8 @ =gPartyMenu
- ldrb r1, [r2, 0x8]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x20
- bne _0811F98C
- cmp r5, 0x1
- beq _0811F984
- cmp r5, 0x4
- beq _0811F984
- cmp r5, 0x5
- bne _0811F98C
-_0811F984:
- movs r0, 0x8
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0811F98C:
- ldrb r1, [r2, 0xB]
- cmp r1, 0x9
- bne _0811F99A
- movs r0, 0x10
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0811F99A:
- cmp r1, 0x8
- bne _0811F9B6
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- beq _0811F9AE
- movs r0, 0xA
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _0811F9B6
-_0811F9AE:
- movs r0, 0x4
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0811F9B6:
- ldrb r0, [r2, 0xB]
- cmp r0, 0xA
- bne _0811F9CC
- movs r0, 0x9
- ldrsb r0, [r2, r0]
- cmp r5, r0
- bne _0811F9CC
- movs r0, 0x20
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0811F9CC:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0811F9D4: .4byte gPlayerParty
-_0811F9D8: .4byte gPartyMenu
- thumb_func_end GetPartyBoxPaletteFlags
-
- thumb_func_start DrawCancelConfirmButtons
-DrawCancelConfirmButtons: @ 811F9DC
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, _0811FA18 @ =sConfirmButton_Tilemap
- movs r6, 0x7
- str r6, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- movs r4, 0x11
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x10
- bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, _0811FA1C @ =sCancelButton_Tilemap
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r2, 0x17
- movs r3, 0x12
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FA18: .4byte sConfirmButton_Tilemap
-_0811FA1C: .4byte sCancelButton_Tilemap
- thumb_func_end DrawCancelConfirmButtons
-
- thumb_func_start IsMultiBattle
-IsMultiBattle: @ 811FA20
- push {lr}
- ldr r0, _0811FA34 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x4B
- ands r0, r1
- cmp r0, 0x4B
- beq _0811FA38
- movs r0, 0
- b _0811FA3A
- .align 2, 0
-_0811FA34: .4byte gBattleTypeFlags
-_0811FA38:
- movs r0, 0x1
-_0811FA3A:
- pop {r1}
- bx r1
- thumb_func_end IsMultiBattle
-
- thumb_func_start SwapPartyPokemon
-SwapPartyPokemon: @ 811FA40
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r0, 0x64
- bl Alloc
- adds r5, r0, 0
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r5, 0
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end SwapPartyPokemon
-
- thumb_func_start Task_ClosePartyMenu
-Task_ClosePartyMenu: @ 811FA78
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0811FAAC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0811FAB0 @ =Task_ClosePartyMenuAndSetCB2
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FAAC: .4byte gTasks
-_0811FAB0: .4byte Task_ClosePartyMenuAndSetCB2
- thumb_func_end Task_ClosePartyMenu
-
- thumb_func_start Task_ClosePartyMenuAndSetCB2
-Task_ClosePartyMenuAndSetCB2: @ 811FAB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0811FAE8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811FB04
- ldr r4, _0811FAEC @ =gPartyMenu
- ldrb r1, [r4, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _0811FAD6
- bl UpdatePartyToFieldOrder
-_0811FAD6:
- ldr r0, _0811FAF0 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0811FAF4
- bl SetMainCallback2
- b _0811FAFA
- .align 2, 0
-_0811FAE8: .4byte gPaletteFade
-_0811FAEC: .4byte gPartyMenu
-_0811FAF0: .4byte sPartyMenuInternal
-_0811FAF4:
- ldr r0, [r4]
- bl SetMainCallback2
-_0811FAFA:
- bl FreePartyPointers
- adds r0, r5, 0
- bl DestroyTask
-_0811FB04:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ClosePartyMenuAndSetCB2
-
- thumb_func_start GetCursorSelectionMonId
-GetCursorSelectionMonId: @ 811FB0C
- ldr r0, _0811FB14 @ =gPartyMenu
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_0811FB14: .4byte gPartyMenu
- thumb_func_end GetCursorSelectionMonId
-
- thumb_func_start GetPartyMenuType
-GetPartyMenuType: @ 811FB18
- ldr r0, _0811FB24 @ =gPartyMenu
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .align 2, 0
-_0811FB24: .4byte gPartyMenu
- thumb_func_end GetPartyMenuType
-
- thumb_func_start Task_HandleChooseMonInput
-Task_HandleChooseMonInput: @ 811FB28
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, _0811FB64 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0811FB98
- bl sub_80BF748
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811FB98
- bl GetCurrentPartySlotPtr
- adds r4, r0, 0
- bl PartyMenuButtonHandler
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _0811FB78
- cmp r0, 0x2
- bgt _0811FB68
- cmp r0, 0x1
- beq _0811FB6E
- b _0811FB98
- .align 2, 0
-_0811FB64: .4byte gPaletteFade
-_0811FB68:
- cmp r0, 0x8
- beq _0811FB82
- b _0811FB98
-_0811FB6E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl HandleChooseMonSelection
- b _0811FB98
-_0811FB78:
- adds r0, r6, 0
- adds r1, r4, 0
- bl HandleChooseMonCancel
- b _0811FB98
-_0811FB82:
- ldr r0, _0811FBA0 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _0811FB98
- movs r0, 0x5
- bl PlaySE
- bl MoveCursorToConfirm
-_0811FB98:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FBA0: .4byte sPartyMenuInternal
- thumb_func_end Task_HandleChooseMonInput
-
- thumb_func_start GetCurrentPartySlotPtr
-GetCurrentPartySlotPtr: @ 811FBA4
- push {lr}
- ldr r0, _0811FBB8 @ =gPartyMenu
- ldrb r1, [r0, 0xB]
- cmp r1, 0x8
- beq _0811FBB2
- cmp r1, 0xA
- bne _0811FBBC
-_0811FBB2:
- adds r0, 0xA
- b _0811FBBE
- .align 2, 0
-_0811FBB8: .4byte gPartyMenu
-_0811FBBC:
- adds r0, 0x9
-_0811FBBE:
- pop {r1}
- bx r1
- thumb_func_end GetCurrentPartySlotPtr
-
- thumb_func_start HandleChooseMonSelection
-HandleChooseMonSelection: @ 811FBC4
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- bne _0811FBE4
- ldr r0, _0811FBE0 @ =gPartyMenu
- ldr r1, [r0, 0x4]
- adds r0, r6, 0
- bl _call_via_r1
- b _0811FD56
- .align 2, 0
-_0811FBE0: .4byte gPartyMenu
-_0811FBE4:
- ldr r0, _0811FBFC @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- subs r0, 0x3
- cmp r0, 0xA
- bls _0811FBF0
- b _0811FD4A
-_0811FBF0:
- lsls r0, 2
- ldr r1, _0811FC00 @ =_0811FC04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811FBFC: .4byte gPartyMenu
-_0811FC00: .4byte _0811FC04
- .align 2, 0
-_0811FC04:
- .4byte _0811FC46
- .4byte _0811FD4A
- .4byte _0811FCC0
- .4byte _0811FCC0
- .4byte _0811FCA6
- .4byte _0811FCDA
- .4byte _0811FD4A
- .4byte _0811FC30
- .4byte _0811FCE8
- .4byte _0811FC8C
- .4byte _0811FD34
-_0811FC30:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- bne _0811FC3E
- b _0811FD56
-_0811FC3E:
- adds r0, r6, 0
- bl sub_80E5724
- b _0811FD56
-_0811FC46:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- bne _0811FC54
- b _0811FD56
-_0811FC54:
- ldr r0, _0811FC78 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _0811FC68
- ldr r0, _0811FC7C @ =sPartyMenuInternal
- ldr r1, [r0]
- ldr r0, _0811FC80 @ =CB2_SetUpExitToBattleScreen
- str r0, [r1, 0x4]
-_0811FC68:
- ldr r0, _0811FC84 @ =gItemUseCB
- ldr r1, _0811FC88 @ =Task_ClosePartyMenuAfterText
- ldr r2, [r0]
- adds r0, r6, 0
- bl _call_via_r2
- b _0811FD56
- .align 2, 0
-_0811FC78: .4byte gPartyMenu
-_0811FC7C: .4byte sPartyMenuInternal
-_0811FC80: .4byte CB2_SetUpExitToBattleScreen
-_0811FC84: .4byte gItemUseCB
-_0811FC88: .4byte Task_ClosePartyMenuAfterText
-_0811FC8C:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- beq _0811FD56
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl TryTutorSelectedMon
- b _0811FD56
-_0811FCA6:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- beq _0811FD56
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl TryGiveMailToSelectedMon
- b _0811FD56
-_0811FCC0:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- beq _0811FD56
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl TryGiveItemOrMailToSelectedMon
- b _0811FD56
-_0811FCDA:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl SwitchSelectedMons
- b _0811FD56
-_0811FCE8:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0811FD24 @ =gSpecialVar_0x8004
- movs r0, 0
- ldrsb r0, [r5, r0]
- strh r0, [r1]
- ldr r0, _0811FD28 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x7
- bne _0811FD1A
- ldr r4, _0811FD2C @ =gSpecialVar_0x8005
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0811FD30 @ =gPlayerParty
- adds r0, r1
- bl GetNumberOfRelearnableMoves
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_0811FD1A:
- adds r0, r6, 0
- bl Task_ClosePartyMenu
- b _0811FD56
- .align 2, 0
-_0811FD24: .4byte gSpecialVar_0x8004
-_0811FD28: .4byte gPartyMenu
-_0811FD2C: .4byte gSpecialVar_0x8005
-_0811FD30: .4byte gPlayerParty
-_0811FD34:
- adds r0, r5, 0
- bl IsSelectedMonNotEgg
- lsls r0, 24
- cmp r0, 0
- beq _0811FD56
- ldrb r1, [r5]
- adds r0, r6, 0
- bl TryEnterMonForMinigame
- b _0811FD56
-_0811FD4A:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl Task_TryCreateSelectionWindow
-_0811FD56:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end HandleChooseMonSelection
-
- thumb_func_start IsSelectedMonNotEgg
-IsSelectedMonNotEgg: @ 811FD5C
- push {lr}
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0811FD78 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _0811FD7C
- movs r0, 0x1
- b _0811FD84
- .align 2, 0
-_0811FD78: .4byte gPlayerParty
-_0811FD7C:
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0
-_0811FD84:
- pop {r1}
- bx r1
- thumb_func_end IsSelectedMonNotEgg
-
- thumb_func_start HandleChooseMonCancel
-HandleChooseMonCancel: @ 811FD88
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0811FDA4 @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- cmp r0, 0x8
- beq _0811FDBA
- cmp r0, 0x8
- bgt _0811FDA8
- cmp r0, 0x1
- beq _0811FDB2
- b _0811FDD6
- .align 2, 0
-_0811FDA4: .4byte gPartyMenu
-_0811FDA8:
- cmp r0, 0xA
- beq _0811FDBA
- cmp r0, 0xD
- beq _0811FDC8
- b _0811FDD6
-_0811FDB2:
- movs r0, 0x1A
- bl PlaySE
- b _0811FE14
-_0811FDBA:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl FinishTwoMonAction
- b _0811FE14
-_0811FDC8:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl CancelParticipationPrompt
- b _0811FE14
-_0811FDD6:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0811FDF0 @ =gPartyMenu
- ldrb r1, [r0, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x4
- bne _0811FDF4
- adds r0, r4, 0
- bl DisplayCancelChooseMonYesNo
- b _0811FE14
- .align 2, 0
-_0811FDF0: .4byte gPartyMenu
-_0811FDF4:
- bl MenuHelpers_LinkSomething
- lsls r0, 24
- cmp r0, 0
- bne _0811FE04
- ldr r1, _0811FE1C @ =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
-_0811FE04:
- ldr r0, _0811FE20 @ =gPartyMenuUseExitCallback
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r4, 0
- bl Task_ClosePartyMenu
-_0811FE14:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FE1C: .4byte gSpecialVar_0x8004
-_0811FE20: .4byte gPartyMenuUseExitCallback
- thumb_func_end HandleChooseMonCancel
-
- thumb_func_start DisplayCancelChooseMonYesNo
-DisplayCancelChooseMonYesNo: @ 811FE24
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0811FE5C @ =sPartyMenuInternal
- ldr r0, [r0]
- adds r0, 0xD
- bl PartyMenuRemoveWindow
- ldr r5, _0811FE60 @ =gStringVar4
- ldr r1, _0811FE64 @ =gUnknown_84176CF
- adds r0, r5, 0
- bl StringExpandPlaceholders
- adds r0, r5, 0
- movs r1, 0x1
- bl DisplayPartyMenuMessage
- ldr r1, _0811FE68 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0811FE6C @ =Task_CancelChooseMonYesNo
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FE5C: .4byte sPartyMenuInternal
-_0811FE60: .4byte gStringVar4
-_0811FE64: .4byte gUnknown_84176CF
-_0811FE68: .4byte gTasks
-_0811FE6C: .4byte Task_CancelChooseMonYesNo
- thumb_func_end DisplayCancelChooseMonYesNo
-
- thumb_func_start Task_CancelChooseMonYesNo
-Task_CancelChooseMonYesNo: @ 811FE70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsPartyMenuTextPrinterActive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811FE94
- bl PartyMenuDisplayYesNoMenu
- ldr r0, _0811FE9C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0811FEA0 @ =Task_HandleCancelChooseMonYesNoInput
- str r0, [r1]
-_0811FE94:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FE9C: .4byte gTasks
-_0811FEA0: .4byte Task_HandleCancelChooseMonYesNoInput
- thumb_func_end Task_CancelChooseMonYesNo
-
- thumb_func_start Task_HandleCancelChooseMonYesNoInput
-Task_HandleCancelChooseMonYesNoInput: @ 811FEA4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0811FECA
- cmp r1, 0
- bgt _0811FEC4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0811FEE8
- b _0811FEF4
-_0811FEC4:
- cmp r1, 0x1
- beq _0811FEEE
- b _0811FEF4
-_0811FECA:
- ldr r0, _0811FEE0 @ =gPartyMenuUseExitCallback
- strb r1, [r0]
- ldr r1, _0811FEE4 @ =gPartyMenu
- movs r0, 0x7
- strb r0, [r1, 0x9]
- bl ClearSelectedPartyOrder
- adds r0, r4, 0
- bl Task_ClosePartyMenu
- b _0811FEF4
- .align 2, 0
-_0811FEE0: .4byte gPartyMenuUseExitCallback
-_0811FEE4: .4byte gPartyMenu
-_0811FEE8:
- movs r0, 0x5
- bl PlaySE
-_0811FEEE:
- adds r0, r4, 0
- bl Task_ReturnToChooseMonAfterText
-_0811FEF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Task_HandleCancelChooseMonYesNoInput
-
- thumb_func_start PartyMenuButtonHandler
-PartyMenuButtonHandler: @ 811FEFC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0811FF14 @ =gMain
- ldrh r1, [r0, 0x30]
- adds r3, r0, 0
- cmp r1, 0x20
- beq _0811FF2A
- cmp r1, 0x20
- bgt _0811FF18
- cmp r1, 0x10
- beq _0811FF2E
- b _0811FF32
- .align 2, 0
-_0811FF14: .4byte gMain
-_0811FF18:
- cmp r1, 0x40
- beq _0811FF22
- cmp r1, 0x80
- beq _0811FF26
- b _0811FF32
-_0811FF22:
- movs r1, 0xFF
- b _0811FF4E
-_0811FF26:
- movs r1, 0x1
- b _0811FF4E
-_0811FF2A:
- movs r1, 0xFE
- b _0811FF4E
-_0811FF2E:
- movs r1, 0x2
- b _0811FF4E
-_0811FF32:
- bl sub_80BF66C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811FF46
- cmp r0, 0x2
- beq _0811FF4A
- movs r1, 0
- b _0811FF4C
-_0811FF46:
- movs r1, 0xFF
- b _0811FF4C
-_0811FF4A:
- movs r1, 0x1
-_0811FF4C:
- ldr r3, _0811FF5C @ =gMain
-_0811FF4E:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0811FF60
- movs r0, 0x8
- b _0811FF8C
- .align 2, 0
-_0811FF5C: .4byte gMain
-_0811FF60:
- lsls r0, r1, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0811FF72
- adds r0, r4, 0
- bl UpdateCurrentPartySelection
- movs r0, 0
- b _0811FF8C
-_0811FF72:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0811FF86
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- bne _0811FF86
- movs r0, 0x2
- b _0811FF8C
-_0811FF86:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x3
- ands r0, r1
-_0811FF8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end PartyMenuButtonHandler
-
- thumb_func_start UpdateCurrentPartySelection
-UpdateCurrentPartySelection: @ 811FF94
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrb r4, [r5]
- ldr r0, _0811FFB8 @ =gPartyMenu
- ldrb r0, [r0, 0x8]
- lsls r0, 26
- lsrs r0, 30
- cmp r0, 0
- bne _0811FFBC
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl UpdatePartySelectionSingleLayout
- b _0811FFC6
- .align 2, 0
-_0811FFB8: .4byte gPartyMenu
-_0811FFBC:
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl UpdatePartySelectionDoubleLayout
-_0811FFC6:
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r4, 24
- asrs r0, r4, 24
- cmp r1, r0
- beq _0811FFE8
- movs r0, 0x5
- bl PlaySE
- lsrs r0, r4, 24
- movs r1, 0
- bl AnimatePartySlot
- ldrb r0, [r5]
- movs r1, 0x1
- bl AnimatePartySlot
-_0811FFE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end UpdateCurrentPartySelection
-
- thumb_func_start UpdatePartySelectionSingleLayout
-UpdatePartySelectionSingleLayout: @ 811FFF0
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08120016
- cmp r1, r0
- bgt _0812000C
- subs r0, 0x1
- cmp r1, r0
- beq _081200C0
- b _081200EE
-_0812000C:
- cmp r1, 0x1
- beq _0812005C
- cmp r1, 0x2
- beq _08120094
- b _081200EE
-_08120016:
- ldrb r0, [r4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- cmp r1, 0
- bne _08120024
- movs r0, 0x7
- b _081200EC
-_08120024:
- cmp r1, 0x6
- bne _08120034
- ldr r0, _08120030 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081200EC
- .align 2, 0
-_08120030: .4byte gPlayerPartyCount
-_08120034:
- cmp r1, 0x7
- bne _08120058
- ldr r0, _08120048 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _0812004C
- movs r0, 0x6
- b _081200EC
- .align 2, 0
-_08120048: .4byte sPartyMenuInternal
-_0812004C:
- ldr r0, _08120054 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _081200EC
- .align 2, 0
-_08120054: .4byte gPlayerPartyCount
-_08120058:
- subs r0, 0x1
- b _081200EC
-_0812005C:
- ldrb r2, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _081200EA
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r0, _08120084 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _08120090
- ldr r0, _08120088 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _0812008C
- movs r0, 0x6
- b _081200EC
- .align 2, 0
-_08120084: .4byte gPlayerPartyCount
-_08120088: .4byte sPartyMenuInternal
-_0812008C:
- movs r0, 0x7
- b _081200EC
-_08120090:
- adds r0, r2, 0x1
- b _081200EC
-_08120094:
- ldr r0, _081200B8 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081200EE
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081200EE
- ldr r0, _081200BC @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _081200EC
- movs r0, 0x1
- b _081200EC
- .align 2, 0
-_081200B8: .4byte gPlayerPartyCount
-_081200BC: .4byte sPartyMenuInternal
-_081200C0:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- beq _081200EE
- cmp r0, 0x6
- beq _081200EE
- cmp r0, 0x7
- beq _081200EE
- ldr r0, _081200F4 @ =sPartyMenuInternal
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
-_081200EA:
- movs r0, 0
-_081200EC:
- strb r0, [r4]
-_081200EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081200F4: .4byte sPartyMenuInternal
- thumb_func_end UpdatePartySelectionSingleLayout
-
- thumb_func_start UpdatePartySelectionDoubleLayout
-UpdatePartySelectionDoubleLayout: @ 81200F8
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- asrs r5, r1, 24
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _08120124
- cmp r5, r6
- bgt _0812011A
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _08120118
- b _08120238
-_08120118:
- b _08120290
-_0812011A:
- cmp r5, 0x1
- beq _08120180
- cmp r5, 0x2
- beq _081201C0
- b _08120290
-_08120124:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _08120132
- movs r0, 0x7
- b _0812028E
-_08120132:
- cmp r0, 0x6
- bne _08120144
- ldr r0, _08120140 @ =gPlayerPartyCount
- ldrb r0, [r0]
- subs r0, 0x1
- b _0812028E
- .align 2, 0
-_08120140: .4byte gPlayerPartyCount
-_08120144:
- cmp r0, 0x7
- bne _08120160
- ldr r0, _08120158 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _0812015C
- movs r0, 0x6
- b _0812028E
- .align 2, 0
-_08120158: .4byte sPartyMenuInternal
-_0812015C:
- subs r0, r1, 0x1
- strb r0, [r4]
-_08120160:
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r1, r2, 24
- asrs r1, 24
- bl GetNewSlotDoubleLayout
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0812017C
- b _08120290
-_0812017C:
- strb r2, [r4]
- b _08120290
-_08120180:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x6
- bne _0812018C
- movs r0, 0x7
- b _0812028E
-_0812018C:
- cmp r0, 0x7
- bne _08120194
- movs r0, 0
- b _0812028E
-_08120194:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- bl GetNewSlotDoubleLayout
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, r6
- bne _0812017C
- ldr r0, _081201B8 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 31
- cmp r0, 0
- beq _081201BC
- movs r0, 0x6
- b _0812028E
- .align 2, 0
-_081201B8: .4byte sPartyMenuInternal
-_081201BC:
- movs r0, 0x7
- b _0812028E
-_081201C0:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _081201F8
- ldr r0, _081201E8 @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r6, r0, 29
- cmp r6, 0x3
- bne _081201F0
- ldr r0, _081201EC @ =gPlayerParty + 300 @ &gPlayerParty[3]
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08120290
- strb r6, [r4]
- b _08120290
- .align 2, 0
-_081201E8: .4byte sPartyMenuInternal
-_081201EC: .4byte gPlayerParty + 300 @ &gPlayerParty[3]
-_081201F0:
- ldr r0, _081201F4 @ =gPlayerParty + 200 @ &gPlayerParty[2]
- b _0812020C
- .align 2, 0
-_081201F4: .4byte gPlayerParty + 200 @ &gPlayerParty[2]
-_081201F8:
- cmp r0, 0x1
- bne _08120290
- ldr r0, _0812021C @ =sPartyMenuInternal
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 28
- lsrs r5, r0, 29
- cmp r5, 0x5
- bne _08120224
- ldr r0, _08120220 @ =gPlayerParty + 500 @ &gPlayerParty[5]
-_0812020C:
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08120290
- strb r5, [r4]
- b _08120290
- .align 2, 0
-_0812021C: .4byte sPartyMenuInternal
-_08120220: .4byte gPlayerParty + 500 @ &gPlayerParty[5]
-_08120224:
- ldr r0, _08120234 @ =gPlayerParty + 400 @ &gPlayerParty[4]
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08120290
- movs r0, 0x4
- b _0812028E
- .align 2, 0
-_08120234: .4byte gPlayerParty + 400 @ &gPlayerParty[4]
-_08120238:
- ldrb r1, [r4]
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08120268
- ldr r0, _08120264 @ =sPartyMenuInternal
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0
- b _0812028E
- .align 2, 0
-_08120264: .4byte sPartyMenuInternal
-_08120268:
- subs r0, r1, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08120290
- ldr r0, _08120298 @ =sPartyMenuInternal
- ldr r3, [r0]
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r3, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_0812028E:
- strb r0, [r4]
-_08120290:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120298: .4byte sPartyMenuInternal
- thumb_func_end UpdatePartySelectionDoubleLayout
-
- thumb_func_start GetNewSlotDoubleLayout
-GetNewSlotDoubleLayout: @ 812029C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- asrs r6, r1, 24
-_081202A6:
- lsls r0, r5, 24
- asrs r0, 24
- adds r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 24
- lsrs r0, r1, 24
- cmp r0, 0x5
- bhi _081202D4
- asrs r4, r1, 24
- movs r0, 0x64
- muls r0, r4
- ldr r1, _081202D0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _081202A6
- adds r0, r4, 0
- b _081202D8
- .align 2, 0
-_081202D0: .4byte gPlayerParty
-_081202D4:
- movs r0, 0x1
- negs r0, r0
-_081202D8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetNewSlotDoubleLayout
-
- thumb_func_start GetMonNickname
-GetMonNickname: @ 81202E0
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonNickname
-
- thumb_func_start DisplayPartyMenuMessage
-DisplayPartyMenuMessage: @ 81202F8
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl PartyMenuPrintText
- ldr r0, _08120320 @ =Task_PrintAndWaitForText
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08120324 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08120320: .4byte Task_PrintAndWaitForText
-_08120324: .4byte gTasks
- thumb_func_end DisplayPartyMenuMessage
-
- thumb_func_start Task_PrintAndWaitForText
-Task_PrintAndWaitForText: @ 8120328
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x6
- bl RunTextPrinters_CheckActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08120364
- ldr r0, _0812036C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0812035E
- movs r0, 0x6
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0x6
- bl ClearWindowTilemap
-_0812035E:
- adds r0, r5, 0
- bl DestroyTask
-_08120364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0812036C: .4byte gTasks
- thumb_func_end Task_PrintAndWaitForText
-
- thumb_func_start IsPartyMenuTextPrinterActive
-IsPartyMenuTextPrinterActive: @ 8120370
- push {lr}
- ldr r0, _08120380 @ =Task_PrintAndWaitForText
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08120380: .4byte Task_PrintAndWaitForText
- thumb_func_end IsPartyMenuTextPrinterActive
-
- thumb_func_start Task_WaitForLinkAndReturnToChooseMon
-Task_WaitForLinkAndReturnToChooseMon: @ 8120384
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80BF748
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081203AA
- movs r0, 0
- bl DisplayPartyMenuStdMessage
- ldr r0, _081203B0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _081203B4 @ =Task_HandleChooseMonInput
- str r0, [r1]
-_081203AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081203B0: .4byte gTasks
-_081203B4: .4byte Task_HandleChooseMonInput
- thumb_func_end Task_WaitForLinkAndReturnToChooseMon
-
- thumb_func_start Task_ReturnToChooseMonAfterText
-Task_ReturnToChooseMonAfterText: @ 81203B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsPartyMenuTextPrinterActive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08120410
- movs r0, 0x6
- movs r1, 0
- bl ClearStdWindowAndFrameToTransparent
- movs r0, 0x6
- bl ClearWindowTilemap
- bl MenuHelpers_LinkSomething
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081203FC
- ldr r0, _081203F4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _081203F8 @ =Task_WaitForLinkAndReturnToChooseMon
- b _0812040E
- .align 2, 0
-_081203F4: .4byte gTasks
-_081203F8: .4byte Task_WaitForLinkAndReturnToChooseMon
-_081203FC:
- movs r0, 0
- bl DisplayPartyMenuStdMessage
- ldr r0, _08120418 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0812041C @ =Task_HandleChooseMonInput
-_0812040E:
- str r0, [r1]
-_08120410:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120418: .4byte gTasks
-_0812041C: .4byte Task_HandleChooseMonInput
- thumb_func_end Task_ReturnToChooseMonAfterText
-
- thumb_func_start DisplayGaveHeldItemMessage
-DisplayGaveHeldItemMessage: @ 8120420
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- cmp r3, 0
- bne _0812043C
- ldr r3, _08120438 @ =0x0000ffff
- movs r0, 0x5
- b _08120448
- .align 2, 0
-_08120438: .4byte 0x0000ffff
-_0812043C:
- ldr r0, _08120454 @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- cmp r0, 0x6
- bne _0812045C
- ldr r3, _08120458 @ =0x0000ffff
- movs r0, 0x7
-_08120448:
- adds r1, r5, 0
- adds r2, r4, 0
- bl ItemUse_SetQuestLogEvent
- b _08120468
- .align 2, 0
-_08120454: .4byte gPartyMenu
-_08120458: .4byte 0x0000ffff
-_0812045C:
- ldr r3, _08120498 @ =0x0000ffff
- movs r0, 0x6
- adds r1, r5, 0
- adds r2, r4, 0
- bl ItemUse_SetQuestLogEvent
-_08120468:
- ldr r1, _0812049C @ =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r1, _081204A0 @ =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, _081204A4 @ =gStringVar4
- ldr r1, _081204A8 @ =gText_PkmnWasGivenItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r6, 0
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120498: .4byte 0x0000ffff
-_0812049C: .4byte gStringVar1
-_081204A0: .4byte gStringVar2
-_081204A4: .4byte gStringVar4
-_081204A8: .4byte gText_PkmnWasGivenItem
- thumb_func_end DisplayGaveHeldItemMessage
-
- thumb_func_start DisplayTookHeldItemMessage
-DisplayTookHeldItemMessage: @ 81204AC
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r3, _081204F8 @ =0x0000ffff
- movs r0, 0x8
- adds r1, r6, 0
- adds r2, r4, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _081204FC @ =gStringVar1
- adds r0, r6, 0
- bl GetMonNickname
- ldr r1, _08120500 @ =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, _08120504 @ =gStringVar4
- ldr r1, _08120508 @ =gText_ReceivedItemFromPkmn
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081204F8: .4byte 0x0000ffff
-_081204FC: .4byte gStringVar1
-_08120500: .4byte gStringVar2
-_08120504: .4byte gStringVar4
-_08120508: .4byte gText_ReceivedItemFromPkmn
- thumb_func_end DisplayTookHeldItemMessage
-
- thumb_func_start DisplayAlreadyHoldingItemSwitchMessage
-DisplayAlreadyHoldingItemSwitchMessage: @ 812050C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _08120548 @ =gStringVar1
- bl GetMonNickname
- ldr r1, _0812054C @ =gStringVar2
- adds r0, r4, 0
- bl CopyItemName
- ldr r4, _08120550 @ =gStringVar4
- ldr r1, _08120554 @ =gText_PkmnAlreadyHoldingItemSwitch
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r5, 0
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120548: .4byte gStringVar1
-_0812054C: .4byte gStringVar2
-_08120550: .4byte gStringVar4
-_08120554: .4byte gText_PkmnAlreadyHoldingItemSwitch
- thumb_func_end DisplayAlreadyHoldingItemSwitchMessage
-
- thumb_func_start DisplaySwitchedHeldItemMessage
-DisplaySwitchedHeldItemMessage: @ 8120558
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _081205B0 @ =gPartyMenu
- movs r1, 0x9
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081205B4 @ =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8124B60
- ldr r1, _081205B8 @ =gStringVar1
- adds r0, r4, 0
- bl CopyItemName
- ldr r1, _081205BC @ =gStringVar2
- adds r0, r5, 0
- bl CopyItemName
- ldr r4, _081205C0 @ =gStringVar4
- ldr r1, _081205C4 @ =gText_SwitchedPkmnItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- adds r1, r6, 0
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081205B0: .4byte gPartyMenu
-_081205B4: .4byte gPlayerParty
-_081205B8: .4byte gStringVar1
-_081205BC: .4byte gStringVar2
-_081205C0: .4byte gStringVar4
-_081205C4: .4byte gText_SwitchedPkmnItem
- thumb_func_end DisplaySwitchedHeldItemMessage
-
- thumb_func_start GiveItemToMon
-GiveItemToMon: @ 81205C8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r4, r5, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl ItemIsMail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081205F2
- adds r0, r6, 0
- adds r1, r4, 0
- bl GiveMailToMon
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08120606
-_081205F2:
- mov r0, sp
- strb r7, [r0]
- mov r1, sp
- lsrs r0, r5, 24
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_08120606:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GiveItemToMon
-
- thumb_func_start TryTakeMonItem
-TryTakeMonItem: @ 8120610
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- strh r0, [r1]
- cmp r0, 0
- bne _0812062C
- movs r0, 0
- b _0812064E
-_0812062C:
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _0812064C
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- movs r0, 0x2
- b _0812064E
-_0812064C:
- movs r0, 0x1
-_0812064E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end TryTakeMonItem
-
- thumb_func_start BufferBagFullCantTakeItemMessage
-BufferBagFullCantTakeItemMessage: @ 8120658
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08120678
- cmp r0, 0x5
- beq _0812067E
- ldr r1, _08120674 @ =gStartMenuText_Bag
- b _08120686
- .align 2, 0
-_08120674: .4byte gStartMenuText_Bag
-_08120678:
- movs r0, 0xB6
- lsls r0, 1
- b _08120680
-_0812067E:
- ldr r0, _08120698 @ =0x0000016d
-_08120680:
- bl ItemId_GetName
- adds r1, r0, 0
-_08120686:
- ldr r0, _0812069C @ =gStringVar1
- bl StringCopy
- ldr r0, _081206A0 @ =gStringVar4
- ldr r1, _081206A4 @ =gText_BagFullCouldNotRemoveItem
- bl StringExpandPlaceholders
- pop {r0}
- bx r0
- .align 2, 0
-_08120698: .4byte 0x0000016d
-_0812069C: .4byte gStringVar1
-_081206A0: .4byte gStringVar4
-_081206A4: .4byte gText_BagFullCouldNotRemoveItem
- thumb_func_end BufferBagFullCantTakeItemMessage
-
- thumb_func_start Task_PartyMenuModifyHP
-Task_PartyMenuModifyHP: @ 81206A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _08120750 @ =gTasks+0x8
- adds r7, r0, r1
- ldrh r0, [r7, 0x4]
- ldrh r1, [r7]
- adds r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x6]
- subs r0, 0x1
- strh r0, [r7, 0x6]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _08120754 @ =gPlayerParty
- adds r0, r4
- movs r1, 0x39
- adds r2, r7, 0
- bl SetMonData
- movs r3, 0x8
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- ldr r6, _08120758 @ =sPartyMenuBoxes
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- movs r2, 0x1
- bl DisplayPartyPokemonHPCheck
- movs r0, 0x8
- ldrsh r2, [r7, r0]
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4
- lsls r2, 4
- ldr r1, [r6]
- adds r1, r2
- bl DisplayPartyPokemonHPBarCheck
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _08120724
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- beq _08120724
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- cmp r1, r0
- bne _08120746
-_08120724:
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r2, 0xA
- ldrsh r0, [r7, r2]
- cmp r1, r0
- ble _08120740
- ldr r0, _0812075C @ =gStringVar2
- movs r3, 0xA
- ldrsh r2, [r7, r3]
- subs r1, r2
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
-_08120740:
- mov r0, r8
- bl SwitchTaskToFollowupFunc
-_08120746:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120750: .4byte gTasks+0x8
-_08120754: .4byte gPlayerParty
-_08120758: .4byte sPartyMenuBoxes
-_0812075C: .4byte gStringVar2
- thumb_func_end Task_PartyMenuModifyHP
-
- thumb_func_start PartyMenuModifyHP
-PartyMenuModifyHP: @ 8120760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- mov r10, r3
- ldr r7, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r0, 0x64
- mov r6, r9
- muls r6, r0
- ldr r0, _081207E4 @ =gPlayerParty
- adds r6, r0
- mov r0, r8
- lsls r4, r0, 2
- add r4, r8
- lsls r4, 3
- ldr r0, _081207E8 @ =gTasks+0x8
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4]
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r4, 0x4]
- mov r0, r10
- strh r0, [r4, 0x6]
- mov r0, r9
- strh r0, [r4, 0x8]
- ldrh r0, [r4]
- strh r0, [r4, 0xA]
- ldr r1, _081207EC @ =Task_PartyMenuModifyHP
- mov r0, r8
- adds r2, r7, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081207E4: .4byte gPlayerParty
-_081207E8: .4byte gTasks+0x8
-_081207EC: .4byte Task_PartyMenuModifyHP
- thumb_func_end PartyMenuModifyHP
-
- thumb_func_start ResetHPTaskData
-ResetHPTaskData: @ 81207F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08120814 @ =gTasks+0x8
- adds r3, r0, r1
- cmp r5, 0x5
- bhi _08120852
- lsls r0, r5, 2
- ldr r1, _08120818 @ =_0812081C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08120814: .4byte gTasks+0x8
-_08120818: .4byte _0812081C
- .align 2, 0
-_0812081C:
- .4byte _08120834
- .4byte _0812083A
- .4byte _0812083E
- .4byte _08120842
- .4byte _08120846
- .4byte _0812084A
-_08120834:
- strh r2, [r3]
- strh r2, [r3, 0xA]
- b _08120852
-_0812083A:
- strh r2, [r3, 0x2]
- b _08120852
-_0812083E:
- strh r2, [r3, 0x4]
- b _08120852
-_08120842:
- strh r2, [r3, 0x6]
- b _08120852
-_08120846:
- strh r2, [r3, 0x8]
- b _08120852
-_0812084A:
- ldr r1, _08120858 @ =Task_PartyMenuModifyHP
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
-_08120852:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120858: .4byte Task_PartyMenuModifyHP
- thumb_func_end ResetHPTaskData
-
- thumb_func_start GetAilmentFromStatus
-GetAilmentFromStatus: @ 812085C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _0812086C
- movs r0, 0x1
- b _0812089E
-_0812086C:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120878
- movs r0, 0x2
- b _0812089E
-_08120878:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08120884
- movs r0, 0x3
- b _0812089E
-_08120884:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08120890
- movs r0, 0x4
- b _0812089E
-_08120890:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0812089C
- movs r0, 0
- b _0812089E
-_0812089C:
- movs r0, 0x5
-_0812089E:
- pop {r1}
- bx r1
- thumb_func_end GetAilmentFromStatus
-
- thumb_func_start GetMonAilment
-GetMonAilment: @ 81208A4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _081208B6
- movs r0, 0x7
- b _081208DE
-_081208B6:
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl GetAilmentFromStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _081208DE
- adds r0, r4, 0
- movs r1, 0
- bl CheckPartyPokerus
- lsls r0, 24
- cmp r0, 0
- bne _081208DC
- movs r0, 0
- b _081208DE
-_081208DC:
- movs r0, 0x6
-_081208DE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonAilment
-
- thumb_func_start SetPartyMonsAllowedInMinigame
-SetPartyMonsAllowedInMinigame: @ 81208E4
- push {r4,r5,lr}
- ldr r2, _08120934 @ =gPartyMenu
- ldrb r1, [r2, 0x8]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0xB
- bne _0812096E
- adds r5, r2, 0
- adds r5, 0xE
- movs r0, 0
- strh r0, [r2, 0xE]
- ldr r0, _08120938 @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- cmp r0, 0
- bne _08120944
- movs r4, 0
- ldr r0, _0812093C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0812096E
-_0812090C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08120940 @ =gPlayerParty
- adds r0, r1
- bl IsMonAllowedInPokemonJump
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0812093C @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0812090C
- b _0812096E
- .align 2, 0
-_08120934: .4byte gPartyMenu
-_08120938: .4byte gSpecialVar_0x8005
-_0812093C: .4byte gPlayerPartyCount
-_08120940: .4byte gPlayerParty
-_08120944:
- movs r4, 0
- b _08120966
-_08120948:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08120974 @ =gPlayerParty
- adds r0, r1
- bl IsMonAllowedInDodrioBerryPicking
- lsls r0, 16
- lsrs r0, 16
- lsls r0, r4
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_08120966:
- ldr r0, _08120978 @ =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08120948
-_0812096E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120974: .4byte gPlayerParty
-_08120978: .4byte gPlayerPartyCount
- thumb_func_end SetPartyMonsAllowedInMinigame
-
- thumb_func_start IsMonAllowedInPokemonJump
-IsMonAllowedInPokemonJump: @ 812097C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081209A2
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_8149A00
- cmp r0, 0
- beq _081209A2
- movs r0, 0x1
- b _081209A4
-_081209A2:
- movs r0, 0
-_081209A4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsMonAllowedInPokemonJump
-
- thumb_func_start IsMonAllowedInDodrioBerryPicking
-IsMonAllowedInDodrioBerryPicking: @ 81209AC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _081209CA
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0x55
- bne _081209CA
- movs r0, 0x1
- b _081209CC
-_081209CA:
- movs r0, 0
-_081209CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsMonAllowedInDodrioBerryPicking
-
- thumb_func_start IsMonAllowedInMinigame
-IsMonAllowedInMinigame: @ 81209D4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081209F0 @ =gPartyMenu
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _081209EC
- movs r0, 0
-_081209EC:
- pop {r1}
- bx r1
- .align 2, 0
-_081209F0: .4byte gPartyMenu
- thumb_func_end IsMonAllowedInMinigame
-
- thumb_func_start TryEnterMonForMinigame
-TryEnterMonForMinigame: @ 81209F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r5, 0
- bl IsMonAllowedInMinigame
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08120A24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08120A20 @ =gSpecialVar_0x8004
- strh r5, [r0]
- adds r0, r4, 0
- bl Task_ClosePartyMenu
- b _08120A46
- .align 2, 0
-_08120A20: .4byte gSpecialVar_0x8004
-_08120A24:
- movs r0, 0x1A
- bl PlaySE
- ldr r0, _08120A4C @ =gUnknown_8417696
- movs r1, 0
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- ldr r1, _08120A50 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08120A54 @ =Task_ReturnToChooseMonAfterText
- str r1, [r0]
-_08120A46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A4C: .4byte gUnknown_8417696
-_08120A50: .4byte gTasks
-_08120A54: .4byte Task_ReturnToChooseMonAfterText
- thumb_func_end TryEnterMonForMinigame
-
- thumb_func_start CancelParticipationPrompt
-CancelParticipationPrompt: @ 8120A58
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08120A84 @ =gUnknown_84176B8
- movs r1, 0x1
- bl DisplayPartyMenuMessage
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- ldr r1, _08120A88 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08120A8C @ =Task_CancelParticipationYesNo
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A84: .4byte gUnknown_84176B8
-_08120A88: .4byte gTasks
-_08120A8C: .4byte Task_CancelParticipationYesNo
- thumb_func_end CancelParticipationPrompt
-
- thumb_func_start Task_CancelParticipationYesNo
-Task_CancelParticipationYesNo: @ 8120A90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsPartyMenuTextPrinterActive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08120AB4
- bl PartyMenuDisplayYesNoMenu
- ldr r0, _08120ABC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120AC0 @ =Task_HandleCancelParticipationYesNoInput
- str r0, [r1]
-_08120AB4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120ABC: .4byte gTasks
-_08120AC0: .4byte Task_HandleCancelParticipationYesNoInput
- thumb_func_end Task_CancelParticipationYesNo
-
- thumb_func_start Task_HandleCancelParticipationYesNoInput
-Task_HandleCancelParticipationYesNoInput: @ 8120AC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08120AEA
- cmp r1, 0
- bgt _08120AE4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08120AFC
- b _08120B10
-_08120AE4:
- cmp r1, 0x1
- beq _08120B02
- b _08120B10
-_08120AEA:
- ldr r1, _08120AF8 @ =gSpecialVar_0x8004
- movs r0, 0x7
- strh r0, [r1]
- adds r0, r4, 0
- bl Task_ClosePartyMenu
- b _08120B10
- .align 2, 0
-_08120AF8: .4byte gSpecialVar_0x8004
-_08120AFC:
- movs r0, 0x5
- bl PlaySE
-_08120B02:
- ldr r0, _08120B18 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120B1C @ =Task_ReturnToChooseMonAfterText
- str r0, [r1]
-_08120B10:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120B18: .4byte gTasks
-_08120B1C: .4byte Task_ReturnToChooseMonAfterText
- thumb_func_end Task_HandleCancelParticipationYesNoInput
-
- thumb_func_start CanMonLearnTMTutor
-CanMonLearnTMTutor: @ 8120B20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r7, r4, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r8, r6
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08120B42
- movs r0, 0x3
- b _08120B9E
-_08120B42:
- movs r0, 0x90
- lsls r0, 1
- cmp r4, r0
- bls _08120B64
- adds r1, r4, 0
- subs r1, 0x21
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl CanMonLearnTMHM
- cmp r0, 0
- beq _08120B7C
- adds r0, r7, 0
- bl ItemIdToBattleMoveId
- b _08120B86
-_08120B64:
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl CanLearnTutorMove
- lsls r0, 24
- cmp r0, 0
- bne _08120B80
-_08120B7C:
- movs r0, 0x1
- b _08120B9E
-_08120B80:
- mov r0, r8
- bl GetTutorMove
-_08120B86:
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r5, 0
- bl MonKnowsMove
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08120B9C
- movs r0, 0
- b _08120B9E
-_08120B9C:
- movs r0, 0x2
-_08120B9E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CanMonLearnTMTutor
-
- thumb_func_start GetTutorMove
-GetTutorMove: @ 8120BA8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _08120BC8
- cmp r1, 0x10
- bgt _08120BBC
- cmp r1, 0xF
- beq _08120BC2
- b _08120BD6
-_08120BBC:
- cmp r1, 0x11
- beq _08120BD0
- b _08120BD6
-_08120BC2:
- movs r0, 0xA9
- lsls r0, 1 @ MOVE_FRENZY_PLANT
- b _08120BDE
-_08120BC8:
- ldr r0, _08120BCC @ =0x00000133 @ MOVE_BLAST_BURN
- b _08120BDE
- .align 2, 0
-_08120BCC: .4byte 0x00000133
-_08120BD0:
- movs r0, 0x9A
- lsls r0, 1 @ MOVE_HYDRO_CANNON
- b _08120BDE
-_08120BD6:
- ldr r0, _08120BE4 @ =sTutorMoves
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
-_08120BDE:
- pop {r1}
- bx r1
- .align 2, 0
-_08120BE4: .4byte sTutorMoves
- thumb_func_end GetTutorMove
-
- thumb_func_start CanLearnTutorMove
-CanLearnTutorMove: @ 8120BE8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r2, 0x10
- beq _08120C0C
- cmp r2, 0x10
- bgt _08120C00
- cmp r2, 0xF
- beq _08120C06
- b _08120C18
-_08120C00:
- cmp r2, 0x11
- beq _08120C12
- b _08120C18
-_08120C06:
- cmp r0, 3 @ SPECIES_VENUSAUR
- beq _08120C34
- b _08120C2A
-_08120C0C:
- cmp r0, 6 @ SPECIES_CHARIZARD
- beq _08120C34
- b _08120C2A
-_08120C12:
- cmp r0, 9 @ SPECIES_BLASTOISE
- beq _08120C34
- b _08120C2A
-_08120C18:
- ldr r1, _08120C30 @ =sTutorLearnsets
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08120C34
-_08120C2A:
- movs r0, 0
- b _08120C36
- .align 2, 0
-_08120C30: .4byte sTutorLearnsets
-_08120C34:
- movs r0, 0x1
-_08120C36:
- pop {r1}
- bx r1
- thumb_func_end CanLearnTutorMove
-
- thumb_func_start sub_8120C3C
-sub_8120C3C: @ 8120C3C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08120C60 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08120C5C
- ldr r0, _08120C64 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120C68 @ =sub_8120C6C
- str r0, [r1]
-_08120C5C:
- pop {r0}
- bx r0
- .align 2, 0
-_08120C60: .4byte gPaletteFade
-_08120C64: .4byte gTasks
-_08120C68: .4byte sub_8120C6C
- thumb_func_end sub_8120C3C
-
- thumb_func_start sub_8120C6C
-sub_8120C6C: @ 8120C6C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08120C9C @ =0xffff1fff
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x6
- bl BeginNormalPaletteFade
- ldr r1, _08120CA0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08120CA4 @ =sub_8120CA8
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120C9C: .4byte 0xffff1fff
-_08120CA0: .4byte gTasks
-_08120CA4: .4byte sub_8120CA8
- thumb_func_end sub_8120C6C
-
- thumb_func_start sub_8120CA8
-sub_8120CA8: @ 8120CA8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08120CCC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08120CC8
- ldr r0, _08120CD0 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120CD4 @ =sub_8120CD8
- str r0, [r1]
-_08120CC8:
- pop {r0}
- bx r0
- .align 2, 0
-_08120CCC: .4byte gPaletteFade
-_08120CD0: .4byte gTasks
-_08120CD4: .4byte sub_8120CD8
- thumb_func_end sub_8120CA8
-
- thumb_func_start sub_8120CD8
-sub_8120CD8: @ 8120CD8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81220D4
- ldr r2, _08120D00 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, _08120D04 @ =sub_8120D08
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120D00: .4byte gTasks
-_08120D04: .4byte sub_8120D08
- thumb_func_end sub_8120CD8
-
- thumb_func_start sub_8120D08
-sub_8120D08: @ 8120D08
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r5, _08120D38 @ =gTasks+0x8
- adds r0, r4, r5
- ldrb r0, [r0]
- bl RunTextPrinters_CheckActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08120D30
- adds r0, r5, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, _08120D3C @ =sub_8120D40
- str r1, [r0]
-_08120D30:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120D38: .4byte gTasks+0x8
-_08120D3C: .4byte sub_8120D40
- thumb_func_end sub_8120D08
-
- thumb_func_start sub_8120D40
-sub_8120D40: @ 8120D40
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08120D70 @ =0xffff0008
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x6
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08120D74 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08120D78 @ =sub_8120D7C
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120D70: .4byte 0xffff0008
-_08120D74: .4byte gTasks
-_08120D78: .4byte sub_8120D7C
- thumb_func_end sub_8120D40
-
- thumb_func_start sub_8120D7C
-sub_8120D7C: @ 8120D7C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08120DA0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08120D9C
- ldr r0, _08120DA4 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120DA8 @ =sub_8120DAC
- str r0, [r1]
-_08120D9C:
- pop {r0}
- bx r0
- .align 2, 0
-_08120DA0: .4byte gPaletteFade
-_08120DA4: .4byte gTasks
-_08120DA8: .4byte sub_8120DAC
- thumb_func_end sub_8120D7C
-
- thumb_func_start sub_8120DAC
-sub_8120DAC: @ 8120DAC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, _08120DD4 @ =gTasks+0x8
- adds r0, r4, r5
- ldrb r0, [r0]
- ldr r1, _08120DD8 @ =gUnknown_8417494
- bl sub_8122084
- subs r5, 0x8
- adds r4, r5
- ldr r0, _08120DDC @ =sub_8120DE0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120DD4: .4byte gTasks+0x8
-_08120DD8: .4byte gUnknown_8417494
-_08120DDC: .4byte sub_8120DE0
- thumb_func_end sub_8120DAC
-
- thumb_func_start sub_8120DE0
-sub_8120DE0: @ 8120DE0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r5, r1, 3
- ldr r6, _08120E14 @ =gTasks+0x8
- adds r4, r5, r6
- ldrb r0, [r4]
- bl RunTextPrinters_CheckActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08120E0E
- ldrb r0, [r4]
- bl sub_8122110
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _08120E18 @ =sub_8120E1C
- str r1, [r0]
-_08120E0E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120E14: .4byte gTasks+0x8
-_08120E18: .4byte sub_8120E1C
- thumb_func_end sub_8120DE0
-
- thumb_func_start sub_8120E1C
-sub_8120E1C: @ 8120E1C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08120E4C @ =0x0000fff7
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x6
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08120E50 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08120E54 @ =sub_8120E58
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120E4C: .4byte 0x0000fff7
-_08120E50: .4byte gTasks
-_08120E54: .4byte sub_8120E58
- thumb_func_end sub_8120E1C
-
- thumb_func_start sub_8120E58
-sub_8120E58: @ 8120E58
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08120E90 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08120EAC
- 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
- ldr r0, _08120E94 @ =gPartyMenu
- ldrb r0, [r0, 0xB]
- cmp r0, 0x3
- bne _08120E98
- movs r0, 0x5
- bl DisplayPartyMenuStdMessage
- b _08120E9E
- .align 2, 0
-_08120E90: .4byte gPaletteFade
-_08120E94: .4byte gPartyMenu
-_08120E98:
- movs r0, 0
- bl DisplayPartyMenuStdMessage
-_08120E9E:
- ldr r0, _08120EB4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08120EB8 @ =Task_HandleChooseMonInput
- str r0, [r1]
-_08120EAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120EB4: .4byte gTasks
-_08120EB8: .4byte Task_HandleChooseMonInput
- thumb_func_end sub_8120E58
-
- thumb_func_start sub_8120EBC
-sub_8120EBC: @ 8120EBC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08120ED8 @ =gTasks+0x8
- adds r3, r1, r0
- movs r2, 0
- strh r2, [r3]
- subs r0, 0x8
- adds r1, r0
- ldr r0, _08120EDC @ =sub_8120EE0
- str r0, [r1]
- bx lr
- .align 2, 0
-_08120ED8: .4byte gTasks+0x8
-_08120EDC: .4byte sub_8120EE0
- thumb_func_end sub_8120EBC
-
- thumb_func_start sub_8120EE0
-sub_8120EE0: @ 8120EE0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08120F1C @ =gTasks+0x8
- adds r6, r0, r1
- ldr r0, _08120F20 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08120F68
- adds r0, r5, 0
- bl sub_8120F78
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08120F68
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0xA0
- beq _08120F38
- cmp r0, 0xA0
- bgt _08120F24
- cmp r0, 0x50
- beq _08120F2A
- b _08120F62
- .align 2, 0
-_08120F1C: .4byte gTasks+0x8
-_08120F20: .4byte gPaletteFade
-_08120F24:
- cmp r0, 0xF0
- beq _08120F44
- b _08120F62
-_08120F2A:
- ldr r0, _08120F34 @ =gPartyMenu + 9
- movs r1, 0x2
- bl UpdateCurrentPartySelection
- b _08120F62
- .align 2, 0
-_08120F34: .4byte gPartyMenu + 9
-_08120F38:
- movs r0, 0x5
- bl PlaySE
- bl CreateSelectionWindow
- b _08120F62
-_08120F44:
- ldr r4, _08120F70 @ =sPartyMenuInternal
- ldr r0, [r4]
- adds r0, 0xE
- bl PartyMenuRemoveWindow
- ldr r1, _08120F74 @ =sCursorOptions
- ldr r0, [r4]
- ldrb r0, [r0, 0xF]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_08120F62:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_08120F68:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120F70: .4byte sPartyMenuInternal
-_08120F74: .4byte sCursorOptions
- thumb_func_end sub_8120EE0
-
thumb_func_start sub_8120F78
sub_8120F78: @ 8120F78
push {lr}
@@ -12644,7 +7807,7 @@ sub_8124DE0: @ 8124DE0
push {r4,lr}
ldr r4, _08124E0C @ =gSpecialVar_ItemId
ldrh r0, [r4]
- bl GetItemCompatibilityRule
+ bl CheckIfItemIsTMHMOrEvolutionStone
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
index 44598a330..8ae94ce5e 100644
--- a/asm/pokemon_jump_2.s
+++ b/asm/pokemon_jump_2.s
@@ -4230,8 +4230,8 @@ sub_81499E0: @ 81499E0
_081499FC: .4byte gUnknown_203F3D4
thumb_func_end sub_81499E0
- thumb_func_start sub_8149A00
-sub_8149A00: @ 8149A00
+ thumb_func_start IsSpeciesAllowedInPokemonJump
+IsSpeciesAllowedInPokemonJump: @ 8149A00
push {lr}
lsls r0, 16
lsrs r0, 16
@@ -4242,7 +4242,7 @@ sub_8149A00: @ 8149A00
lsrs r0, 31
pop {r1}
bx r1
- thumb_func_end sub_8149A00
+ thumb_func_end IsSpeciesAllowedInPokemonJump
thumb_func_start sub_8149A18
sub_8149A18: @ 8149A18
@@ -4264,7 +4264,7 @@ _08149A1C:
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl sub_8149A00
+ bl IsSpeciesAllowedInPokemonJump
cmp r0, 0
beq _08149A54
ldr r1, _08149A50 @ =gSpecialVar_Result
diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s
index 9092a38aa..c757216fd 100644
--- a/asm/pokemon_special_anim.s
+++ b/asm/pokemon_special_anim.s
@@ -558,7 +558,7 @@ _0811C9AA:
adds r0, r4, 0
adds r0, 0x96
ldrh r0, [r0]
- bl GetItemCompatibilityRule
+ bl CheckIfItemIsTMHMOrEvolutionStone
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
diff --git a/asm/shop.s b/asm/shop.s
index 7df8f037a..ca92ff4b7 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -793,7 +793,7 @@ _0809B118:
movs r1, 0
movs r2, 0xE
movs r3, 0x1E
- bl SetBgRectPal
+ bl SetBgTilemapPalette
b _0809B14E
.align 2, 0
_0809B138: .4byte gUnknown_2039934
@@ -805,7 +805,7 @@ _0809B13C:
movs r1, 0
movs r2, 0xC
movs r3, 0x1E
- bl SetBgRectPal
+ bl SetBgTilemapPalette
_0809B14E:
movs r0, 0x1
bl ScheduleBgCopyTilemapToVram