diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-11-22 06:46:04 +0800 |
---|---|---|
committer | Evan <eroelke@gmail.com> | 2019-12-04 14:54:50 -0700 |
commit | 069eb2baed314133a9d72658c07126e73b3b3db1 (patch) | |
tree | 1cf7ea7b4ef581d91324412cfcbc2513a97a6abf /asm | |
parent | d89a2d791edaf9bc892bd00dbf2ffcd35f84435a (diff) |
party_menu first quarter
Diffstat (limited to 'asm')
-rw-r--r-- | asm/item_menu.s | 2 | ||||
-rw-r--r-- | asm/party_menu.s | 4839 | ||||
-rw-r--r-- | asm/pokemon_jump_2.s | 8 | ||||
-rw-r--r-- | asm/pokemon_special_anim.s | 2 | ||||
-rw-r--r-- | asm/shop.s | 4 |
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 |