diff options
Diffstat (limited to 'asm/battle_gfx_sfx_util.s')
-rw-r--r-- | asm/battle_gfx_sfx_util.s | 3606 |
1 files changed, 0 insertions, 3606 deletions
diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s deleted file mode 100644 index ba54bafbb..000000000 --- a/asm/battle_gfx_sfx_util.s +++ /dev/null @@ -1,3606 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AllocateBattleSpritesData -AllocateBattleSpritesData: @ 8033DB8 - push {r4,lr} - ldr r4, _08033DF4 @ =gUnknown_2024018 - movs r0, 0x10 - bl AllocZeroed - str r0, [r4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] - movs r0, 0x30 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x4] - movs r0, 0x10 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0x8] - movs r0, 0x50 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1, 0xC] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033DF4: .4byte gUnknown_2024018 - thumb_func_end AllocateBattleSpritesData - - thumb_func_start FreeBattleSpritesData -FreeBattleSpritesData: @ 8033DF8 - push {r4,r5,lr} - ldr r5, _08033E38 @ =gUnknown_2024018 - ldr r0, [r5] - cmp r0, 0 - beq _08033E32 - ldr r0, [r0, 0xC] - bl Free - ldr r0, [r5] - movs r4, 0 - str r4, [r0, 0xC] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r5] - str r4, [r0, 0x8] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r5] - str r4, [r0, 0x4] - ldr r0, [r0] - bl Free - ldr r0, [r5] - str r4, [r0] - bl Free - str r4, [r5] -_08033E32: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08033E38: .4byte gUnknown_2024018 - thumb_func_end FreeBattleSpritesData - - thumb_func_start sub_8033E3C -sub_8033E3C: @ 8033E3C - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldr r7, _08033E80 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - adds r3, r5, r7 - adds r0, r3, 0 - adds r0, 0x3F - ldrb r4, [r0] - lsls r0, r4, 26 - cmp r0, 0 - bge _08033EA0 - adds r0, r3, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _08033EA0 - adds r1, r3, 0 - adds r1, 0x2C - ldrb r2, [r1] - lsls r0, r2, 25 - cmp r0, 0 - bge _08033E84 - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - b _08033EA0 - .align 2, 0 -_08033E80: .4byte gSprites -_08033E84: - lsls r0, r4, 27 - cmp r0, 0 - bge _08033EA0 - adds r0, r7, 0 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, _08033EA8 @ =sub_8012100 - str r1, [r0] - adds r0, r3, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _08033EAC @ =SpriteCallbackDummy - str r0, [r6, 0x1C] -_08033EA0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08033EA8: .4byte sub_8012100 -_08033EAC: .4byte SpriteCallbackDummy - thumb_func_end sub_8033E3C - - thumb_func_start sub_8033EB0 -sub_8033EB0: @ 8033EB0 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - adds r3, r4, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r2, 0x40 - orrs r0, r2 - strb r0, [r3] - ldr r0, _08033ED4 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] - cmp r1, 0 - bne _08033ED8 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08033EE0 - .align 2, 0 -_08033ED4: .4byte SpriteCallbackDummy -_08033ED8: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08033EE0: - adds r0, r4, 0 - bl AnimateSprite - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8033EB0 - - thumb_func_start sub_8033EEC -sub_8033EEC: @ 8033EEC - push {lr} - adds r2, r0, 0 - ldr r0, _08033F14 @ =gUnknown_2023F4C - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08033F0E - ldrh r0, [r2, 0x2E] - ldrh r1, [r2, 0x24] - adds r0, r1 - strh r0, [r2, 0x24] - lsls r0, 16 - cmp r0, 0 - bne _08033F0E - ldr r0, _08033F18 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08033F0E: - pop {r0} - bx r0 - .align 2, 0 -_08033F14: .4byte gUnknown_2023F4C -_08033F18: .4byte SpriteCallbackDummy - thumb_func_end sub_8033EEC - - thumb_func_start InitAndLaunchChosenStatusAnimation -InitAndLaunchChosenStatusAnimation: @ 8033F1C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - ldr r6, _08033F50 @ =gUnknown_2024018 - ldr r1, [r6] - ldr r5, _08033F54 @ =gActiveBattler - ldrb r2, [r5] - ldr r3, [r1, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r2, [r1] - movs r3, 0x10 - orrs r2, r3 - strb r2, [r1] - cmp r0, 0 - bne _08033F9C - cmp r4, 0x20 - bne _08033F58 - ldrb r0, [r5] - movs r1, 0x6 - bl LaunchStatusAnimation - b _08034016 - .align 2, 0 -_08033F50: .4byte gUnknown_2024018 -_08033F54: .4byte gActiveBattler -_08033F58: - cmp r4, 0x8 - beq _08033F64 - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _08033F6E -_08033F64: - ldrb r0, [r5] - movs r1, 0 - bl LaunchStatusAnimation - b _08034016 -_08033F6E: - cmp r4, 0x10 - bne _08033F7C - ldrb r0, [r5] - movs r1, 0x2 - bl LaunchStatusAnimation - b _08034016 -_08033F7C: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _08033F8E - ldrb r0, [r5] - movs r1, 0x4 - bl LaunchStatusAnimation - b _08034016 -_08033F8E: - cmp r4, 0x40 - bne _08033FFE - ldrb r0, [r5] - movs r1, 0x5 - bl LaunchStatusAnimation - b _08034016 -_08033F9C: - movs r0, 0xF0 - lsls r0, 12 - ands r0, r4 - cmp r0, 0 - beq _08033FB0 - ldrb r0, [r5] - movs r1, 0x3 - bl LaunchStatusAnimation - b _08034016 -_08033FB0: - movs r0, 0x7 - ands r0, r4 - cmp r0, 0 - beq _08033FC2 - ldrb r0, [r5] - movs r1, 0x1 - bl LaunchStatusAnimation - b _08034016 -_08033FC2: - movs r0, 0x80 - lsls r0, 21 - ands r0, r4 - cmp r0, 0 - beq _08033FD6 - ldrb r0, [r5] - movs r1, 0x7 - bl LaunchStatusAnimation - b _08034016 -_08033FD6: - movs r0, 0x80 - lsls r0, 20 - ands r0, r4 - cmp r0, 0 - beq _08033FEA - ldrb r0, [r5] - movs r1, 0x8 - bl LaunchStatusAnimation - b _08034016 -_08033FEA: - movs r0, 0xE0 - lsls r0, 8 - ands r0, r4 - cmp r0, 0 - beq _08033FFE - ldrb r0, [r5] - movs r1, 0x9 - bl LaunchStatusAnimation - b _08034016 -_08033FFE: - ldr r0, [r6] - ldrb r2, [r5] - ldr r0, [r0, 0x4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x11 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08034016: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end InitAndLaunchChosenStatusAnimation - - thumb_func_start TryHandleLaunchBattleTableAnimation -TryHandleLaunchBattleTableAnimation: @ 803401C - 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 r6, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - lsls r3, 24 - lsrs r5, r3, 24 - lsls r4, 16 - lsrs r7, r4, 16 - cmp r5, 0 - bne _08034064 - movs r0, 0x80 - ands r0, r7 - cmp r0, 0 - beq _08034064 - ldr r0, _08034060 @ =gBattleMonForms - adds r0, r6, r0 - movs r2, 0x7F - adds r1, r7, 0 - ands r1, r2 - strb r1, [r0] - movs r0, 0x1 - b _08034132 - .align 2, 0 -_08034060: .4byte gBattleMonForms -_08034064: - ldr r0, _08034090 @ =gUnknown_2024018 - mov r9, r0 - ldr r0, [r0] - ldr r0, [r0] - lsls r4, r6, 2 - adds r0, r4, r0 - ldrb r1, [r0] - movs r2, 0x4 - mov r8, r2 - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _080340E0 - adds r0, r5, 0 - bl ShouldAnimBeDoneRegardlessOfSubsitute - lsls r0, 24 - cmp r0, 0 - bne _08034094 - movs r0, 0x1 - b _08034132 - .align 2, 0 -_08034090: .4byte gUnknown_2024018 -_08034094: - mov r1, r9 - ldr r0, [r1] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - ands r0, r1 - cmp r0, 0 - beq _080340E0 - cmp r5, 0x2 - bne _080340E0 - ldr r1, _080340D8 @ =gSprites - ldr r0, _080340DC @ =gBattlerSpriteIds - adds r0, r6, r0 - ldrb r2, [r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - bge _080340E0 - adds r0, r6, 0 - movs r1, 0x1 - bl LoadBattleMonGfxAndAnimate - adds r0, r6, 0 - bl ClearBehindSubstituteBit - movs r0, 0x1 - b _08034132 - .align 2, 0 -_080340D8: .4byte gSprites -_080340DC: .4byte gBattlerSpriteIds -_080340E0: - ldr r0, _08034144 @ =gBattleAnimAttacker - mov r2, r10 - strb r2, [r0] - ldr r0, _08034148 @ =gBattleAnimTarget - mov r1, sp - ldrb r1, [r1] - strb r1, [r0] - ldr r4, _0803414C @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0, 0x8] - strh r7, [r0] - ldr r0, _08034150 @ =gUnknown_81C6EA8 - adds r1, r5, 0 - movs r2, 0 - bl sub_80725D4 - ldr r0, _08034154 @ =Task_ClearBitWhenBattleTableAnimDone - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08034158 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0x8] - ldr r0, [r4] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 -_08034132: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08034144: .4byte gBattleAnimAttacker -_08034148: .4byte gBattleAnimTarget -_0803414C: .4byte gUnknown_2024018 -_08034150: .4byte gUnknown_81C6EA8 -_08034154: .4byte Task_ClearBitWhenBattleTableAnimDone -_08034158: .4byte gTasks - thumb_func_end TryHandleLaunchBattleTableAnimation - - thumb_func_start Task_ClearBitWhenBattleTableAnimDone -Task_ClearBitWhenBattleTableAnimDone: @ 803415C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080341A4 @ =gUnknown_2037EDC - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _080341A8 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _0803419E - ldr r0, _080341AC @ =gUnknown_2024018 - ldr r2, [r0] - ldr r1, _080341B0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x21 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0803419E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080341A4: .4byte gUnknown_2037EDC -_080341A8: .4byte gUnknown_2037EE1 -_080341AC: .4byte gUnknown_2024018 -_080341B0: .4byte gTasks - thumb_func_end Task_ClearBitWhenBattleTableAnimDone - - thumb_func_start ShouldAnimBeDoneRegardlessOfSubsitute -ShouldAnimBeDoneRegardlessOfSubsitute: @ 80341B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD - bgt _080341C8 - cmp r0, 0xA - bge _080341CC - cmp r0, 0x2 - beq _080341CC - b _080341D0 -_080341C8: - cmp r0, 0x11 - bne _080341D0 -_080341CC: - movs r0, 0x1 - b _080341D2 -_080341D0: - movs r0, 0 -_080341D2: - pop {r1} - bx r1 - thumb_func_end ShouldAnimBeDoneRegardlessOfSubsitute - - thumb_func_start InitAndLaunchSpecialAnimation -InitAndLaunchSpecialAnimation: @ 80341D8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _08034230 @ =gBattleAnimAttacker - strb r1, [r0] - ldr r0, _08034234 @ =gBattleAnimTarget - strb r2, [r0] - ldr r0, _08034238 @ =gUnknown_81C6F18 - adds r1, r3, 0 - movs r2, 0 - bl sub_80725D4 - ldr r0, _0803423C @ =Task_ClearBitWhenSpecialAnimDone - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08034240 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r0, _08034244 @ =gUnknown_2024018 - ldr r0, [r0] - movs r2, 0x8 - ldrsh r1, [r1, r2] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034230: .4byte gBattleAnimAttacker -_08034234: .4byte gBattleAnimTarget -_08034238: .4byte gUnknown_81C6F18 -_0803423C: .4byte Task_ClearBitWhenSpecialAnimDone -_08034240: .4byte gTasks -_08034244: .4byte gUnknown_2024018 - thumb_func_end InitAndLaunchSpecialAnimation - - thumb_func_start Task_ClearBitWhenSpecialAnimDone -Task_ClearBitWhenSpecialAnimDone: @ 8034248 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08034290 @ =gUnknown_2037EDC - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08034294 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _0803428A - ldr r0, _08034298 @ =gUnknown_2024018 - ldr r2, [r0] - ldr r1, _0803429C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - ldr r2, [r2, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0803428A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034290: .4byte gUnknown_2037EDC -_08034294: .4byte gUnknown_2037EE1 -_08034298: .4byte gUnknown_2024018 -_0803429C: .4byte gTasks - thumb_func_end Task_ClearBitWhenSpecialAnimDone - - thumb_func_start IsMoveWithoutAnimation -IsMoveWithoutAnimation: @ 80342A0 - movs r0, 0 - bx lr - thumb_func_end IsMoveWithoutAnimation - - thumb_func_start mplay_80342A4 -mplay_80342A4: @ 80342A4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _080342EC - ldr r2, _080342F4 @ =gUnknown_2024018 - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x8] - adds r1, 0x1 - strb r1, [r0, 0x8] - ldr r2, [r2] - ldr r0, _080342F8 @ =gActiveBattler - ldrb r1, [r0] - ldr r2, [r2, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x8] - cmp r0, 0x1D - bls _080342F0 - ldr r0, _080342FC @ =gMPlayInfo_SE1 - bl m4aMPlayStop - ldr r0, _08034300 @ =gMPlayInfo_SE2 - bl m4aMPlayStop -_080342EC: - cmp r5, 0 - beq _08034304 -_080342F0: - movs r0, 0x1 - b _08034316 - .align 2, 0 -_080342F4: .4byte gUnknown_2024018 -_080342F8: .4byte gActiveBattler -_080342FC: .4byte gMPlayInfo_SE1 -_08034300: .4byte gMPlayInfo_SE2 -_08034304: - ldr r0, _0803431C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - strb r5, [r0, 0x8] - movs r0, 0 -_08034316: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803431C: .4byte gUnknown_2024018 - thumb_func_end mplay_80342A4 - - thumb_func_start BattleLoadOpponentMonSpriteGfx -BattleLoadOpponentMonSpriteGfx: @ 8034320 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, _08034360 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _08034364 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r6, [sp] - b _0803436C - .align 2, 0 -_08034360: .4byte gUnknown_2024018 -_08034364: - ldrh r5, [r2, 0x2] - ldr r0, _080343C0 @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r6, [r0] -_0803436C: - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - mov r10, r0 - mov r0, r8 - bl GetBattlerPosition - lsls r0, 24 - lsls r2, r5, 3 - ldr r1, _080343C4 @ =gMonFrontPicTable - adds r2, r1 - ldr r1, _080343C8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - adds r2, r5, 0 - adds r3, r6, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - mov r3, r8 - lsls r2, r3, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r2, r0 - ldr r0, _080343CC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r3, 2 - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - str r1, [sp, 0x4] - mov r9, r2 - cmp r0, 0 - bne _080343D0 - adds r0, r4, 0 - bl GetMonFrontSpritePal - b _080343DA - .align 2, 0 -_080343C0: .4byte gUnknown_2024008 -_080343C4: .4byte gMonFrontPicTable -_080343C8: .4byte gMonSpritesGfxPtr -_080343CC: .4byte gUnknown_2024018 -_080343D0: - adds r0, r5, 0 - mov r1, r10 - ldr r2, [sp] - bl GetFrontSpritePalFromSpeciesAndPersonality -_080343DA: - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r4, r0, 0 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - ldr r0, _08034478 @ =0x00000181 - cmp r5, r0 - bne _0803443C - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, _0803447C @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _08034480 @ =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_0803443C: - ldr r0, _08034484 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - ldr r1, [sp, 0x4] - adds r0, r1, r0 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034468 - ldr r3, _08034488 @ =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, _0803448C @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034490 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034494 @ =0x04000008 - bl CpuSet -_08034468: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034478: .4byte 0x00000181 -_0803447C: .4byte gBattleStruct -_08034480: .4byte gBattleMonForms -_08034484: .4byte gUnknown_2024018 -_08034488: .4byte 0x00007fff -_0803448C: .4byte gPlttBufferFaded -_08034490: .4byte gPlttBufferUnfaded -_08034494: .4byte 0x04000008 - thumb_func_end BattleLoadOpponentMonSpriteGfx - - thumb_func_start sub_8034498 -sub_8034498: @ 8034498 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - movs r1, 0 - bl GetMonData - str r0, [sp] - ldr r0, _080344D8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - mov r2, r8 - lsls r1, r2, 2 - adds r2, r1, r0 - ldrh r0, [r2, 0x2] - cmp r0, 0 - bne _080344DC - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, [sp] - b _080344E4 - .align 2, 0 -_080344D8: .4byte gUnknown_2024018 -_080344DC: - ldrh r5, [r2, 0x2] - ldr r0, _08034538 @ =gUnknown_2024008 - adds r0, r1, r0 - ldr r4, [r0] -_080344E4: - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - str r0, [sp, 0x4] - mov r0, r8 - bl GetBattlerPosition - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x1 - mov r1, r8 - bl sub_804455C - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - lsls r1, 2 - mov r10, r1 - cmp r0, 0x1 - beq _0803451C - ldr r0, _0803453C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034548 -_0803451C: - lsls r0, r5, 3 - ldr r1, _08034540 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034544 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _08034562 - .align 2, 0 -_08034538: .4byte gUnknown_2024008 -_0803453C: .4byte gUnknown_2024018 -_08034540: .4byte gMonBackPicTable -_08034544: .4byte gMonSpritesGfxPtr -_08034548: - lsls r0, r5, 3 - ldr r1, _08034584 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034588 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r2, r7, 2 - adds r1, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl HandleLoadSpecialPokePic -_08034562: - mov r2, r8 - lsls r1, r2, 4 - movs r0, 0x80 - lsls r0, 1 - adds r7, r1, r0 - ldr r0, _0803458C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - mov r9, r1 - cmp r0, 0 - bne _08034590 - adds r0, r6, 0 - bl GetMonFrontSpritePal - b _0803459A - .align 2, 0 -_08034584: .4byte gMonBackPicTable -_08034588: .4byte gMonSpritesGfxPtr -_0803458C: .4byte gUnknown_2024018 -_08034590: - adds r0, r5, 0 - ldr r1, [sp, 0x4] - ldr r2, [sp] - bl GetFrontSpritePalFromSpeciesAndPersonality -_0803459A: - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r4, r0, 0 - adds r0, r6, 0 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette - mov r1, r9 - adds r1, 0x80 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - ldr r0, _08034638 @ =0x00000181 - cmp r5, r0 - bne _080345FC - movs r7, 0x80 - lsls r7, 1 - add r7, r9 - ldr r5, _0803463C @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _08034640 @ =gBattleMonForms - add r0, r8 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - adds r1, r7, 0 - movs r2, 0x20 - bl LoadPalette -_080345FC: - ldr r0, _08034644 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - add r0, r10 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034626 - ldr r3, _08034648 @ =0x00007fff - adds r0, r7, 0 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - lsls r1, r7, 1 - ldr r0, _0803464C @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034650 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034654 @ =0x04000008 - bl CpuSet -_08034626: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034638: .4byte 0x00000181 -_0803463C: .4byte gBattleStruct -_08034640: .4byte gBattleMonForms -_08034644: .4byte gUnknown_2024018 -_08034648: .4byte 0x00007fff -_0803464C: .4byte gPlttBufferFaded -_08034650: .4byte gPlttBufferUnfaded -_08034654: .4byte 0x04000008 - thumb_func_end sub_8034498 - - thumb_func_start sub_8034658 -sub_8034658: @ 8034658 - push {r4-r6,lr} - lsls r4, r1, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - ldr r2, _080346B8 @ =gUnknown_8E93B38 - ldr r1, _080346BC @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsrs r0, 22 - adds r1, 0x4 - adds r1, r0 - ldr r1, [r1] - adds r0, r2, 0 - bl LZ77UnCompWram - lsls r4, 4 - movs r0, 0x80 - lsls r0, 1 - adds r6, r4, r0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r5, r0, 0 - ldr r0, _080346C0 @ =gUnknown_8E93B14 - adds r1, r5, 0 - bl LZDecompressWram - adds r0, r5, 0 - adds r1, r6, 0 - movs r2, 0x20 - bl LoadPalette - adds r4, 0x80 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x20 - bl LoadPalette - adds r0, r5, 0 - bl Free - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080346B8: .4byte gUnknown_8E93B38 -_080346BC: .4byte gMonSpritesGfxPtr -_080346C0: .4byte gUnknown_8E93B14 - thumb_func_end sub_8034658 - - thumb_func_start sub_80346C4 -sub_80346C4: @ 80346C4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - adds r0, r1, 0 - lsls r5, 16 - lsrs r5, 16 - lsls r0, 24 - lsrs r0, 24 - bl GetBattlerPosition - adds r4, r0, 0 - lsls r4, 24 - lsls r5, 3 - ldr r6, _0803473C @ =gTrainerFrontPicTable - adds r6, r5, r6 - ldr r0, _08034740 @ =gMonSpritesGfxPtr - mov r8, r0 - ldr r0, [r0] - lsrs r4, 22 - adds r0, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r6, 0 - movs r2, 0 - bl DecompressPicFromTable - mov r1, r8 - ldr r0, [r1] - adds r0, 0x4 - adds r0, r4 - ldr r0, [r0] - str r0, [sp] - ldrh r2, [r6, 0x4] - ldr r0, _08034744 @ =0xffff0000 - ldr r1, [sp, 0x4] - ands r1, r0 - orrs r1, r2 - str r1, [sp, 0x4] - ldrh r2, [r6, 0x6] - lsls r2, 16 - ldr r0, _08034748 @ =0x0000ffff - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpriteSheet - ldr r0, _0803474C @ =gTrainerFrontPicPaletteTable - adds r5, r0 - adds r0, r5, 0 - bl LoadCompressedSpritePaletteUsingHeap - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803473C: .4byte gTrainerFrontPicTable -_08034740: .4byte gMonSpritesGfxPtr -_08034744: .4byte 0xffff0000 -_08034748: .4byte 0x0000ffff -_0803474C: .4byte gTrainerFrontPicPaletteTable - thumb_func_end sub_80346C4 - - thumb_func_start sub_8034750 -sub_8034750: @ 8034750 - push {lr} - lsls r0, 16 - lsls r1, 24 - ldr r2, _08034774 @ =gUnknown_8239FD4 - lsrs r0, 13 - adds r0, r2 - ldr r0, [r0] - lsrs r1, 4 - movs r2, 0x80 - lsls r2, 17 - adds r1, r2 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - pop {r0} - bx r0 - .align 2, 0 -_08034774: .4byte gUnknown_8239FD4 - thumb_func_end sub_8034750 - - thumb_func_start nullsub_16 -nullsub_16: @ 8034778 - bx lr - thumb_func_end nullsub_16 - - thumb_func_start sub_803477C -sub_803477C: @ 803477C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 16 - ldr r0, _080347A0 @ =gTrainerFrontPicPaletteTable - lsrs r4, 13 - adds r0, r4, r0 - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - ldr r0, _080347A4 @ =gTrainerFrontPicTable - adds r4, r0 - ldrh r0, [r4, 0x6] - bl FreeSpriteTilesByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080347A0: .4byte gTrainerFrontPicPaletteTable -_080347A4: .4byte gTrainerFrontPicTable - thumb_func_end sub_803477C - - thumb_func_start sub_80347A8 -sub_80347A8: @ 80347A8 - push {r4-r7,lr} - ldr r4, _080347D4 @ =gUnknown_8260260 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080347E0 - ldr r0, _080347D8 @ =gUnknown_8260208 - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _080347DC @ =gUnknown_8260210 - bl LoadCompressedSpriteSheetUsingHeap - movs r5, 0x2 - b _08034802 - .align 2, 0 -_080347D4: .4byte gUnknown_8260260 -_080347D8: .4byte gUnknown_8260208 -_080347DC: .4byte gUnknown_8260210 -_080347E0: - ldr r4, _08034828 @ =gUnknown_8260218 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - ldr r4, _0803482C @ =gUnknown_8260228 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - adds r4, 0x8 - adds r0, r4, 0 - bl LoadCompressedSpriteSheetUsingHeap - movs r5, 0x4 -_08034802: - movs r4, 0 - cmp r4, r5 - bcs _08034822 - ldr r7, _08034830 @ =gUnknown_2023BD6 - ldr r6, _08034834 @ =gUnknown_8260240 -_0803480C: - adds r0, r4, r7 - ldrb r0, [r0] - lsls r0, 3 - adds r0, r6 - bl LoadCompressedSpriteSheetUsingHeap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0803480C -_08034822: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034828: .4byte gUnknown_8260218 -_0803482C: .4byte gUnknown_8260228 -_08034830: .4byte gUnknown_2023BD6 -_08034834: .4byte gUnknown_8260240 - thumb_func_end sub_80347A8 - - thumb_func_start BattleLoadAllHealthBoxesGfx -BattleLoadAllHealthBoxesGfx: @ 8034838 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - movs r6, 0 - cmp r4, 0 - bne _08034848 - b _0803495A -_08034848: - cmp r4, 0x1 - bne _08034864 - ldr r4, _08034860 @ =gUnknown_8260260 - adds r0, r4, 0 - bl LoadSpritePalette - adds r4, 0x8 - adds r0, r4, 0 - bl LoadSpritePalette - b _0803495A - .align 2, 0 -_08034860: .4byte gUnknown_8260260 -_08034864: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080348CC - cmp r4, 0x2 - bne _0803489C - ldr r0, _08034888 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08034890 - ldr r0, _0803488C @ =gUnknown_8260238 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034888: .4byte gBattleTypeFlags -_0803488C: .4byte gUnknown_8260238 -_08034890: - ldr r0, _08034898 @ =gUnknown_8260208 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034898: .4byte gUnknown_8260208 -_0803489C: - cmp r4, 0x3 - bne _080348AC - ldr r0, _080348A8 @ =gUnknown_8260210 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348A8: .4byte gUnknown_8260210 -_080348AC: - cmp r4, 0x4 - bne _080348BC - ldr r0, _080348B8 @ =gUnknown_2023BD6 - ldrb r0, [r0] - b _08034944 - .align 2, 0 -_080348B8: .4byte gUnknown_2023BD6 -_080348BC: - cmp r4, 0x5 - bne _08034958 - ldr r0, _080348C8 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x1] - b _08034944 - .align 2, 0 -_080348C8: .4byte gUnknown_2023BD6 -_080348CC: - cmp r4, 0x2 - bne _080348DC - ldr r0, _080348D8 @ =gUnknown_8260218 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348D8: .4byte gUnknown_8260218 -_080348DC: - cmp r4, 0x3 - bne _080348EC - ldr r0, _080348E8 @ =gUnknown_8260220 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348E8: .4byte gUnknown_8260220 -_080348EC: - cmp r4, 0x4 - bne _080348FC - ldr r0, _080348F8 @ =gUnknown_8260228 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_080348F8: .4byte gUnknown_8260228 -_080348FC: - cmp r4, 0x5 - bne _0803490C - ldr r0, _08034908 @ =gUnknown_8260230 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034908: .4byte gUnknown_8260230 -_0803490C: - cmp r4, 0x6 - bne _0803491C - ldr r0, _08034918 @ =gUnknown_2023BD6 - ldrb r0, [r0] - b _08034944 - .align 2, 0 -_08034918: .4byte gUnknown_2023BD6 -_0803491C: - cmp r4, 0x7 - bne _0803492C - ldr r0, _08034928 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x1] - b _08034944 - .align 2, 0 -_08034928: .4byte gUnknown_2023BD6 -_0803492C: - cmp r4, 0x8 - bne _0803493C - ldr r0, _08034938 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x2] - b _08034944 - .align 2, 0 -_08034938: .4byte gUnknown_2023BD6 -_0803493C: - cmp r5, 0x9 - bne _08034958 - ldr r0, _08034950 @ =gUnknown_2023BD6 - ldrb r0, [r0, 0x3] -_08034944: - lsls r0, 3 - ldr r1, _08034954 @ =gUnknown_8260240 - adds r0, r1 - bl LoadCompressedSpriteSheetUsingHeap - b _0803495A - .align 2, 0 -_08034950: .4byte gUnknown_2023BD6 -_08034954: .4byte gUnknown_8260240 -_08034958: - movs r6, 0x1 -_0803495A: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleLoadAllHealthBoxesGfx - - thumb_func_start LoadBattleBarGfx -LoadBattleBarGfx: @ 8034964 - push {lr} - ldr r0, _0803497C @ =gFile_graphics_interface_hp_numbers - ldr r1, _08034980 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - ldr r1, [r1] - bl LZDecompressWram - pop {r0} - bx r0 - .align 2, 0 -_0803497C: .4byte gFile_graphics_interface_hp_numbers -_08034980: .4byte gMonSpritesGfxPtr - thumb_func_end LoadBattleBarGfx - - thumb_func_start BattleInitAllSprites -BattleInitAllSprites: @ 8034984 - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r6, 0 - ldrb r0, [r5] - cmp r0, 0x6 - bls _08034994 - b _08034AF2 -_08034994: - lsls r0, 2 - ldr r1, _080349A0 @ =_080349A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080349A0: .4byte _080349A4 - .align 2, 0 -_080349A4: - .4byte _080349C0 - .4byte _080349C6 - .4byte _08034AD0 - .4byte _080349DC - .4byte _08034A0C - .4byte _08034A48 - .4byte _08034AE8 -_080349C0: - bl ClearSpritesBankHealthboxAnimData - b _08034AD0 -_080349C6: - ldrb r0, [r4] - bl BattleLoadAllHealthBoxesGfx - lsls r0, 24 - cmp r0, 0 - beq _080349D4 - b _08034ACC -_080349D4: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08034AF2 -_080349DC: - ldr r0, _080349F4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - beq _080349F8 - ldrb r0, [r4] - cmp r0, 0 - bne _080349F8 - bl CreateSafariPlayerHealthboxSprites - b _080349FE - .align 2, 0 -_080349F4: .4byte gBattleTypeFlags -_080349F8: - ldrb r0, [r4] - bl CreateBankHealthboxSprites -_080349FE: - ldr r2, _08034A08 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r1, r2 - strb r0, [r1] - b _08034ABA - .align 2, 0 -_08034A08: .4byte gUnknown_3004FF0 -_08034A0C: - ldrb r0, [r4] - bl SetBankHealthboxSpritePos - ldr r0, _08034A2C @ =gUnknown_2023BD6 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x1 - bhi _08034A34 - ldr r0, _08034A30 @ =gUnknown_3004FF0 - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0 - bl nullsub_21 - b _08034ABA - .align 2, 0 -_08034A2C: .4byte gUnknown_2023BD6 -_08034A30: .4byte gUnknown_3004FF0 -_08034A34: - ldr r0, _08034A44 @ =gUnknown_3004FF0 - adds r0, r1, r0 - ldrb r0, [r0] - movs r1, 0x1 - bl nullsub_21 - b _08034ABA - .align 2, 0 -_08034A44: .4byte gUnknown_3004FF0 -_08034A48: - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08034A90 - ldr r0, _08034A80 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08034AAE - ldr r0, _08034A84 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08034A88 @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08034A8C @ =gPlayerParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute - b _08034AAE - .align 2, 0 -_08034A80: .4byte gBattleTypeFlags -_08034A84: .4byte gUnknown_3004FF0 -_08034A88: .4byte gBattlerPartyIndexes -_08034A8C: .4byte gPlayerParty -_08034A90: - ldr r0, _08034AD8 @ =gUnknown_3004FF0 - ldrb r1, [r4] - adds r0, r1, r0 - ldrb r0, [r0] - ldr r2, _08034ADC @ =gBattlerPartyIndexes - lsls r1, 1 - adds r1, r2 - ldrh r2, [r1] - movs r1, 0x64 - muls r1, r2 - ldr r2, _08034AE0 @ =gEnemyParty - adds r1, r2 - movs r2, 0 - bl UpdateHealthboxAttribute -_08034AAE: - ldr r1, _08034AD8 @ =gUnknown_3004FF0 - ldrb r0, [r4] - adds r0, r1 - ldrb r0, [r0] - bl SetHealthboxSpriteInvisible -_08034ABA: - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - ldr r1, _08034AE4 @ =gBattlersCount - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r1] - cmp r0, r1 - bne _08034AF2 -_08034ACC: - movs r0, 0 - strb r0, [r4] -_08034AD0: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _08034AF2 - .align 2, 0 -_08034AD8: .4byte gUnknown_3004FF0 -_08034ADC: .4byte gBattlerPartyIndexes -_08034AE0: .4byte gEnemyParty -_08034AE4: .4byte gBattlersCount -_08034AE8: - bl LoadAndCreateEnemyShadowSprites - bl sub_8127CAC - movs r6, 0x1 -_08034AF2: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end BattleInitAllSprites - - thumb_func_start ClearSpritesHealthboxAnimData -ClearSpritesHealthboxAnimData: @ 8034AFC - push {r4,lr} - ldr r4, _08034B20 @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0, 0x4] - movs r1, 0 - movs r2, 0x30 - bl memset - ldr r0, [r4] - ldr r0, [r0, 0x8] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034B20: .4byte gUnknown_2024018 - thumb_func_end ClearSpritesHealthboxAnimData - - thumb_func_start ClearSpritesBankHealthboxAnimData -ClearSpritesBankHealthboxAnimData: @ 8034B24 - push {lr} - bl ClearSpritesHealthboxAnimData - ldr r0, _08034B3C @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - movs r1, 0 - movs r2, 0x10 - bl memset - pop {r0} - bx r0 - .align 2, 0 -_08034B3C: .4byte gUnknown_2024018 - thumb_func_end ClearSpritesBankHealthboxAnimData - - thumb_func_start CopyAllBattleSpritesInvisibilities -CopyAllBattleSpritesInvisibilities: @ 8034B40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r4, 0 - ldr r5, _08034BA4 @ =gBattlersCount - ldrb r0, [r5] - cmp r4, r0 - bge _08034B96 - ldr r0, _08034BA8 @ =gSprites - mov r9, r0 - movs r0, 0x1 - mov r12, r0 - movs r0, 0x2 - negs r0, r0 - mov r8, r0 - ldr r7, _08034BAC @ =gUnknown_2024018 - ldr r6, _08034BB0 @ =gBattlerSpriteIds -_08034B64: - ldr r0, [r7] - ldr r0, [r0] - lsls r3, r4, 2 - adds r3, r0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - mov r0, r12 - ands r1, r0 - ldrb r2, [r3] - mov r0, r8 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - adds r4, 0x1 - ldrb r0, [r5] - cmp r4, r0 - blt _08034B64 -_08034B96: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08034BA4: .4byte gBattlersCount -_08034BA8: .4byte gSprites -_08034BAC: .4byte gUnknown_2024018 -_08034BB0: .4byte gBattlerSpriteIds - thumb_func_end CopyAllBattleSpritesInvisibilities - - thumb_func_start CopyBattleSpriteInvisibility -CopyBattleSpriteInvisibility: @ 8034BB4 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08034BE8 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r1, [r1] - lsls r3, r0, 2 - adds r3, r1 - ldr r2, _08034BEC @ =gSprites - ldr r1, _08034BF0 @ =gBattlerSpriteIds - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - ldrb r2, [r3] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - bx lr - .align 2, 0 -_08034BE8: .4byte gUnknown_2024018 -_08034BEC: .4byte gSprites -_08034BF0: .4byte gBattlerSpriteIds - thumb_func_end CopyBattleSpriteInvisibility - - thumb_func_start sub_8034BF4 -sub_8034BF4: @ 8034BF4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - lsls r2, 24 - lsrs r2, 24 - cmp r2, 0xFF - beq _08034C16 - b _08034D88 -_08034C16: - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _08034D58 @ =gBattlerPartyIndexes - mov r1, r9 - lsls r1, 1 - adds r0, r1, r0 - str r0, [sp, 0xC] - ldrh r0, [r0] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0xC] - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldr r1, [sp, 0xC] - ldrh r0, [r1] - movs r2, 0x64 - muls r0, r2 - ldr r3, _08034D5C @ =gEnemyParty - adds r0, r3 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r1, r8 - lsls r0, r1, 3 - ldr r1, _08034D60 @ =gMonFrontPicTable - adds r0, r1 - ldr r4, _08034D64 @ =gMonSpritesGfxPtr - ldr r1, [r4] - mov r2, r10 - lsls r5, r2, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - mov r2, r8 - ldr r3, [sp, 0x4] - bl HandleLoadSpecialPokePic_DontHandleDeoxys - ldr r0, [r4] - adds r0, 0x4 - adds r0, r5 - ldr r2, [r0] - ldr r5, _08034D68 @ =gSprites - ldr r4, _08034D6C @ =gBattlerSpriteIds - add r4, r9 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _08034D70 @ =0x06010000 - adds r0, r1 - ldr r1, _08034D74 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08034D78 @ =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r3, r9 - lsls r0, r3, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r1, r7, 0 - ldr r2, [sp, 0x4] - bl GetFrontSpritePalFromSpeciesAndPersonality - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r7, r0, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl LZDecompressWram - adds r0, r7, 0 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - adds r0, r7, 0 - bl Free - mov r0, r9 - bl GetBankSpriteDefault_Y - ldrb r2, [r4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08034D7C @ =gBattleMonForms - add r1, r9 - ldrb r1, [r1] - bl StartSpriteAnim - ldr r2, [sp, 0xC] - ldrh r0, [r2] - movs r3, 0x64 - muls r0, r3 - ldr r1, _08034D5C @ =gEnemyParty - adds r0, r1 - movs r1, 0xB - mov r2, r8 - muls r2, r1 - ldr r1, _08034D80 @ =gSpeciesNames - adds r2, r1 - movs r1, 0x2 - bl SetMonData - ldr r4, _08034D84 @ =gUnknown_3004FF0 - add r4, r9 - ldrb r0, [r4] - ldr r2, [sp, 0xC] - ldrh r1, [r2] - movs r3, 0x64 - muls r1, r3 - ldr r2, _08034D5C @ =gEnemyParty - adds r1, r2 - bl sub_80496C0 - ldrb r0, [r4] - movs r1, 0x1 - bl sub_804981C - b _08035062 - .align 2, 0 -_08034D58: .4byte gBattlerPartyIndexes -_08034D5C: .4byte gEnemyParty -_08034D60: .4byte gMonFrontPicTable -_08034D64: .4byte gMonSpritesGfxPtr -_08034D68: .4byte gSprites -_08034D6C: .4byte gBattlerSpriteIds -_08034D70: .4byte 0x06010000 -_08034D74: .4byte 0x040000d4 -_08034D78: .4byte 0x84000200 -_08034D7C: .4byte gBattleMonForms -_08034D80: .4byte gSpeciesNames -_08034D84: .4byte gUnknown_3004FF0 -_08034D88: - cmp r2, 0 - beq _08034E4C - ldr r0, _08034E28 @ =gBattlerSpriteIds - mov r3, r9 - adds r5, r3, r0 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08034E2C @ =gSprites - adds r0, r6 - ldr r4, _08034E30 @ =gUnknown_2024018 - ldr r1, [r4] - ldr r1, [r1, 0x8] - ldrb r1, [r1] - bl StartSpriteAnim - mov r1, r9 - lsls r0, r1, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - mov r10, r0 - ldr r2, _08034E34 @ =gBattleStruct - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r1, [r0] - lsls r1, 5 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3 - ldr r0, [r2] - adds r0, r1 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - ldr r1, _08034E38 @ =gBattleMonForms - add r1, r9 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrh r0, [r0] - strb r0, [r1] - ldr r0, [r4] - ldr r1, [r0] - mov r2, r9 - lsls r0, r2, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _08034E0E - ldr r3, _08034E3C @ =0x00007fff - mov r0, r10 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - mov r3, r10 - lsls r1, r3, 1 - ldr r0, _08034E40 @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _08034E44 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _08034E48 @ =0x04000008 - bl CpuSet -_08034E0E: - mov r0, r9 - bl GetBankSpriteDefault_Y - ldrb r2, [r5] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r6 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - b _08035062 - .align 2, 0 -_08034E28: .4byte gBattlerSpriteIds -_08034E2C: .4byte gSprites -_08034E30: .4byte gUnknown_2024018 -_08034E34: .4byte gBattleStruct -_08034E38: .4byte gBattleMonForms -_08034E3C: .4byte 0x00007fff -_08034E40: .4byte gPlttBufferFaded -_08034E44: .4byte gPlttBufferUnfaded -_08034E48: .4byte 0x04000008 -_08034E4C: - mov r0, r9 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, [sp] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08034E80 - ldr r1, _08034E78 @ =gBattlerPartyIndexes - ldr r2, [sp] - lsls r0, r2, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08034E7C @ =gEnemyParty - b _08034E90 - .align 2, 0 -_08034E78: .4byte gBattlerPartyIndexes -_08034E7C: .4byte gEnemyParty -_08034E80: - ldr r1, _08034EFC @ =gBattlerPartyIndexes - ldr r3, [sp] - lsls r0, r3, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08034F00 @ =gPlayerParty -_08034E90: - adds r0, r1 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r0, r9 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _08034F10 - ldr r0, _08034EFC @ =gBattlerPartyIndexes - mov r1, r9 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r7, 0x64 - muls r0, r7 - ldr r5, _08034F00 @ =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r4] - muls r0, r7 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r2, r8 - lsls r0, r2, 3 - ldr r1, _08034F04 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _08034F08 @ =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r5, r3, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - ldr r2, _08034F0C @ =gUnknown_2024008 - mov r3, r9 - lsls r4, r3, 2 - adds r2, r4, r2 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _08034F5E - .align 2, 0 -_08034EFC: .4byte gBattlerPartyIndexes -_08034F00: .4byte gPlayerParty -_08034F04: .4byte gMonBackPicTable -_08034F08: .4byte gMonSpritesGfxPtr -_08034F0C: .4byte gUnknown_2024008 -_08034F10: - ldr r0, _08035074 @ =gBattlerPartyIndexes - mov r1, r9 - lsls r4, r1, 1 - adds r4, r0 - ldrh r0, [r4] - movs r7, 0x64 - muls r0, r7 - ldr r5, _08035078 @ =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - str r0, [sp, 0x4] - ldrh r0, [r4] - muls r0, r7 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - adds r7, r0, 0 - mov r2, r8 - lsls r0, r2, 3 - ldr r1, _0803507C @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08035080 @ =gMonSpritesGfxPtr - ldr r1, [r1] - mov r3, r10 - lsls r5, r3, 2 - adds r1, 0x4 - adds r1, r5 - ldr r1, [r1] - ldr r2, _08035084 @ =gUnknown_2024008 - mov r3, r9 - lsls r4, r3, 2 - adds r2, r4, r2 - ldr r3, [r2] - mov r2, r8 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_08034F5E: - str r4, [sp, 0x14] - ldr r0, _08035080 @ =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r0, r5 - ldr r2, [r0] - ldr r0, _08035088 @ =gBattlerSpriteIds - add r0, r9 - str r0, [sp, 0x10] - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803508C @ =gSprites - adds r0, r1 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _08035090 @ =0x06010000 - adds r0, r1 - ldr r1, _08035094 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08035098 @ =0x84000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r2, r9 - lsls r0, r2, 20 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 16 - mov r10, r0 - mov r0, r8 - adds r1, r7, 0 - ldr r2, [sp, 0x4] - bl GetFrontSpritePalFromSpeciesAndPersonality - adds r6, r0, 0 - movs r0, 0x80 - lsls r0, 3 - bl AllocZeroed - adds r7, r0, 0 - adds r0, r6, 0 - adds r1, r7, 0 - bl LZDecompressWram - adds r0, r7, 0 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette - adds r0, r7, 0 - bl Free - ldr r0, _0803509C @ =0x00000181 - cmp r8, r0 - bne _08034FFC - ldr r5, _080350A0 @ =gBattleStruct - ldr r1, [r5] - movs r4, 0x80 - lsls r4, 1 - adds r1, r4 - adds r0, r6, 0 - bl LZDecompressWram - ldr r0, _080350A4 @ =gBattleMonForms - ldr r1, [sp] - adds r0, r1, r0 - ldrb r1, [r0] - lsls r1, 5 - adds r1, r4 - ldr r0, [r5] - adds r0, r1 - mov r1, r10 - movs r2, 0x20 - bl LoadPalette -_08034FFC: - ldr r3, _080350A8 @ =0x00007fff - mov r0, r10 - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette - mov r2, r10 - lsls r1, r2, 1 - ldr r0, _080350AC @ =gPlttBufferFaded - adds r0, r1, r0 - ldr r2, _080350B0 @ =gPlttBufferUnfaded - adds r1, r2 - ldr r2, _080350B4 @ =0x04000008 - bl CpuSet - ldr r0, _080350B8 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - ldr r3, [sp, 0x14] - adds r0, r3, r0 - mov r1, r8 - strh r1, [r0, 0x2] - ldr r0, _080350A4 @ =gBattleMonForms - mov r2, r9 - adds r4, r2, r0 - ldr r3, [sp] - adds r0, r3, r0 - ldrb r0, [r0] - strb r0, [r4] - mov r0, r9 - bl GetBankSpriteDefault_Y - ldr r1, [sp, 0x10] - ldrb r2, [r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - ldr r2, _0803508C @ =gSprites - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x22] - ldr r3, [sp, 0x10] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r4] - bl StartSpriteAnim -_08035062: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035074: .4byte gBattlerPartyIndexes -_08035078: .4byte gEnemyParty -_0803507C: .4byte gMonFrontPicTable -_08035080: .4byte gMonSpritesGfxPtr -_08035084: .4byte gUnknown_2024008 -_08035088: .4byte gBattlerSpriteIds -_0803508C: .4byte gSprites -_08035090: .4byte 0x06010000 -_08035094: .4byte 0x040000d4 -_08035098: .4byte 0x84000200 -_0803509C: .4byte 0x00000181 -_080350A0: .4byte gBattleStruct -_080350A4: .4byte gBattleMonForms -_080350A8: .4byte 0x00007fff -_080350AC: .4byte gPlttBufferFaded -_080350B0: .4byte gPlttBufferUnfaded -_080350B4: .4byte 0x04000008 -_080350B8: .4byte gUnknown_2024018 - thumb_func_end sub_8034BF4 - - thumb_func_start sub_80350BC -sub_80350BC: @ 80350BC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 24 - cmp r1, 0 - bne _08035158 - adds r0, r4, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _080350FC - ldr r0, _080350F4 @ =gFile_graphics_battle_anims_sprites_substitute_sheet - ldr r1, _080350F8 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, r5, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram - b _0803510E - .align 2, 0 -_080350F4: .4byte gFile_graphics_battle_anims_sprites_substitute_sheet -_080350F8: .4byte gMonSpritesGfxPtr -_080350FC: - ldr r0, _08035144 @ =gFile_graphics_battle_anims_sprites_substitute_tilemap - ldr r1, _08035148 @ =gMonSpritesGfxPtr - ldr r1, [r1] - lsls r4, r5, 2 - adds r1, 0x4 - adds r1, r4 - ldr r1, [r1] - bl LZDecompressVram -_0803510E: - movs r3, 0x1 - lsls r6, 4 - ldr r7, _0803514C @ =gFile_graphics_battle_anims_sprites_substitute_palette - ldr r0, _08035148 @ =gMonSpritesGfxPtr - ldr r0, [r0] - adds r0, 0x4 - adds r4, r0, r4 - ldr r2, _08035150 @ =0x040000d4 - ldr r5, _08035154 @ =0x84000200 -_08035120: - ldr r0, [r4] - lsls r1, r3, 11 - adds r1, r0, r1 - str r0, [r2] - str r1, [r2, 0x4] - str r5, [r2, 0x8] - ldr r0, [r2, 0x8] - adds r3, 0x1 - cmp r3, 0x3 - ble _08035120 - movs r0, 0x80 - lsls r0, 1 - adds r1, r6, r0 - adds r0, r7, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _0803519A - .align 2, 0 -_08035144: .4byte gFile_graphics_battle_anims_sprites_substitute_tilemap -_08035148: .4byte gMonSpritesGfxPtr -_0803514C: .4byte gFile_graphics_battle_anims_sprites_substitute_palette -_08035150: .4byte 0x040000d4 -_08035154: .4byte 0x84000200 -_08035158: - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08035184 - ldr r1, _0803517C @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08035180 @ =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - bl BattleLoadOpponentMonSpriteGfx - b _0803519A - .align 2, 0 -_0803517C: .4byte gBattlerPartyIndexes -_08035180: .4byte gEnemyParty -_08035184: - ldr r1, _080351A0 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080351A4 @ =gPlayerParty - adds r0, r1 - adds r1, r6, 0 - bl sub_8034498 -_0803519A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080351A0: .4byte gBattlerPartyIndexes -_080351A4: .4byte gPlayerParty - thumb_func_end sub_80350BC - - thumb_func_start LoadBattleMonGfxAndAnimate -LoadBattleMonGfxAndAnimate: @ 80351A8 - push {r4-r6,lr} - adds r5, r1, 0 - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_80350BC - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - ldr r1, _080351E4 @ =gSprites - adds r4, r0, r1 - ldr r0, _080351E8 @ =gBattleMonForms - adds r0, r6, r0 - ldrb r1, [r0] - adds r0, r4, 0 - bl StartSpriteAnim - cmp r5, 0 - bne _080351EC - adds r0, r6, 0 - bl GetSubstituteSpriteDefault_Y - b _080351F2 - .align 2, 0 -_080351E4: .4byte gSprites -_080351E8: .4byte gBattleMonForms -_080351EC: - adds r0, r6, 0 - bl GetBankSpriteDefault_Y -_080351F2: - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end LoadBattleMonGfxAndAnimate - - thumb_func_start TrySetBehindSubstituteSpriteBit -TrySetBehindSubstituteSpriteBit: @ 8035200 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xA4 - bne _08035220 - ldr r0, _08035224 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0] - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] -_08035220: - pop {r0} - bx r0 - .align 2, 0 -_08035224: .4byte gUnknown_2024018 - thumb_func_end TrySetBehindSubstituteSpriteBit - - thumb_func_start ClearBehindSubstituteBit -ClearBehindSubstituteBit: @ 8035228 - lsls r0, 24 - ldr r1, _08035240 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r1, [r1] - lsrs r0, 22 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_08035240: .4byte gUnknown_2024018 - thumb_func_end ClearBehindSubstituteBit - - thumb_func_start HandleLowHpMusicChange -HandleLowHpMusicChange: @ 8035244 - push {r4-r7,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - adds r7, r6, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080352BC - ldr r7, _080352B8 @ =gUnknown_2024018 - ldr r0, [r7] - ldr r2, [r0] - lsls r4, r6, 2 - adds r0, r4, r2 - ldrb r1, [r0] - movs r5, 0x2 - movs r3, 0x2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0803530E - adds r0, r6, 0 - eors r0, r5 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _080352AA - movs r0, 0x53 - bl PlaySE -_080352AA: - ldr r0, [r7] - ldr r1, [r0] - adds r1, r4, r1 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - b _0803530E - .align 2, 0 -_080352B8: .4byte gUnknown_2024018 -_080352BC: - ldr r4, _080352E4 @ =gUnknown_2024018 - ldr r0, [r4] - ldr r0, [r0] - lsls r1, r6, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - bne _080352E8 - movs r0, 0x53 - bl m4aSongNumStop - b _0803530E - .align 2, 0 -_080352E4: .4byte gUnknown_2024018 -_080352E8: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _0803530E - ldr r1, [r4] - movs r0, 0x2 - eors r7, r0 - ldr r1, [r1] - lsls r0, r7, 2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0803530E - movs r0, 0x53 - bl m4aSongNumStop -_0803530E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end HandleLowHpMusicChange - - thumb_func_start BattleStopLowHpSound -BattleStopLowHpSound: @ 8035314 - push {r4-r6,lr} - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _08035364 @ =gUnknown_2024018 - ldr r0, [r5] - ldr r0, [r0] - lsls r1, r4, 2 - adds r1, r0 - ldrb r2, [r1] - movs r6, 0x3 - negs r6, r6 - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08035356 - ldr r2, [r5] - movs r0, 0x2 - adds r1, r4, 0 - eors r1, r0 - ldr r0, [r2] - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - adds r0, r6, 0 - ands r0, r2 - strb r0, [r1] -_08035356: - movs r0, 0x53 - bl m4aSongNumStop - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035364: .4byte gUnknown_2024018 - thumb_func_end BattleStopLowHpSound - - thumb_func_start GetMonHPBarLevel -GetMonHPBarLevel: @ 8035368 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GetMonHPBarLevel - - thumb_func_start sub_803539C -sub_803539C: @ 803539C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08035440 @ =gMain - ldr r1, _08035444 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08035432 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r5, _08035448 @ =gBattlerPartyIndexes - mov r1, r8 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r1, r9 - lsls r0, r1, 1 - adds r0, r5 - ldrb r0, [r0] - bl pokemon_order_func - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0x64 - adds r0, r4, 0 - muls r0, r7 - ldr r6, _0803544C @ =gPlayerParty - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0803540E - adds r0, r4, 0 - mov r1, r8 - bl HandleLowHpMusicChange -_0803540E: - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _08035432 - adds r0, r5, 0 - muls r0, r7 - adds r4, r0, r6 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08035432 - adds r0, r4, 0 - mov r1, r9 - bl HandleLowHpMusicChange -_08035432: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035440: .4byte gMain -_08035444: .4byte 0x00000439 -_08035448: .4byte gBattlerPartyIndexes -_0803544C: .4byte gPlayerParty - thumb_func_end sub_803539C - - thumb_func_start sub_8035450 -sub_8035450: @ 8035450 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r5, 0 - ldr r0, _080354E0 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - bge _08035520 - movs r0, 0x3 - mov r10, r8 - mov r1, r10 - ands r1, r0 - mov r10, r1 - movs r6, 0 - movs r2, 0x3F - negs r2, r2 - mov r9, r2 -_0803547C: - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - beq _08035514 - ldr r4, _080354E4 @ =gSprites - ldr r0, _080354E8 @ =gBattlerSpriteIds - adds r3, r5, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r7, 0x4 - negs r7, r7 - adds r2, r7, 0 - ands r1, r2 - mov r2, r10 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r7, r8 - cmp r7, 0 - bne _080354F0 - ldr r0, _080354EC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r2, [r0, 0x4] - adds r2, r6, r2 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - strb r0, [r2, 0x6] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x3] - mov r2, r9 - ands r1, r2 - strb r1, [r0, 0x3] - b _08035514 - .align 2, 0 -_080354E0: .4byte gBattlersCount -_080354E4: .4byte gSprites -_080354E8: .4byte gBattlerSpriteIds -_080354EC: .4byte gUnknown_2024018 -_080354F0: - ldrb r0, [r3] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _08035530 @ =gUnknown_2024018 - ldr r0, [r0] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x6] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r0, [r2, 0x3] - mov r3, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x3] -_08035514: - adds r6, 0xC - adds r5, 0x1 - ldr r0, _08035534 @ =gBattlersCount - ldrb r0, [r0] - cmp r5, r0 - blt _0803547C -_08035520: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035530: .4byte gUnknown_2024018 -_08035534: .4byte gBattlersCount - thumb_func_end sub_8035450 - - thumb_func_start LoadAndCreateEnemyShadowSprites -LoadAndCreateEnemyShadowSprites: @ 8035538 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08035614 @ =gUnknown_8250A0C - bl LoadCompressedSpriteSheetUsingHeap - movs r0, 0x1 - bl GetBattlerAtPosition - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08035618 @ =gUnknown_8250A1C - mov r8, r0 - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r6, _0803561C @ =gUnknown_2024018 - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r7, _08035620 @ =gSprites - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] - bl sub_8075290 - lsls r0, 24 - cmp r0, 0 - beq _0803560A - movs r0, 0x3 - bl GetBattlerAtPosition - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - movs r1, 0 - bl sub_8074480 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8074480 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 8 - movs r0, 0xE8 - lsls r0, 13 - adds r2, r0 - asrs r2, 16 - mov r0, r8 - adds r1, r4, 0 - movs r3, 0xC8 - bl CreateSprite - ldr r1, [r6] - ldr r2, [r1, 0x4] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 2 - adds r2, r1, r2 - strb r0, [r2, 0x7] - ldr r0, [r6] - ldr r0, [r0, 0x4] - adds r1, r0 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r5, [r0, 0x2E] -_0803560A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035614: .4byte gUnknown_8250A0C -_08035618: .4byte gUnknown_8250A1C -_0803561C: .4byte gUnknown_2024018 -_08035620: .4byte gSprites - thumb_func_end LoadAndCreateEnemyShadowSprites - - thumb_func_start SpriteCB_EnemyShadow -SpriteCB_EnemyShadow: @ 8035624 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - movs r0, 0 - mov r8, r0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08035668 @ =gBattlerSpriteIds - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0803566C @ =gSprites - adds r7, r0, r1 - adds r6, r7, 0 - adds r6, 0x3E - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08035660 - adds r0, r4, 0 - bl sub_8075224 - lsls r0, 24 - cmp r0, 0 - bne _08035674 -_08035660: - ldr r0, _08035670 @ =SpriteCB_SetInvisible - str r0, [r5, 0x1C] - b _080356EA - .align 2, 0 -_08035668: .4byte gBattlerSpriteIds -_0803566C: .4byte gSprites -_08035670: .4byte SpriteCB_SetInvisible -_08035674: - ldr r0, _08035690 @ =gUnknown_2037EE1 - ldrb r0, [r0] - cmp r0, 0 - bne _08035686 - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08035698 -_08035686: - movs r0, 0x1 - mov r8, r0 - ldr r2, _08035694 @ =gUnknown_2024018 - lsls r4, 2 - b _080356BA - .align 2, 0 -_08035690: .4byte gUnknown_2037EE1 -_08035694: .4byte gUnknown_2024018 -_08035698: - ldr r2, _080356F4 @ =gUnknown_2024018 - ldr r0, [r2] - ldr r0, [r0] - lsls r1, r4, 2 - adds r3, r1, r0 - ldrh r0, [r3, 0x2] - adds r4, r1, 0 - cmp r0, 0 - beq _080356BA - ldr r0, _080356F8 @ =gUnknown_823A004 - ldrh r1, [r3, 0x2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _080356BA - movs r0, 0x1 - mov r8, r0 -_080356BA: - ldr r0, [r2] - ldr r0, [r0] - adds r0, r4, r0 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080356CE - movs r0, 0x1 - mov r8, r0 -_080356CE: - ldrh r0, [r7, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r7, 0x24] - strh r0, [r5, 0x24] - adds r2, r5, 0 - adds r2, 0x3E - mov r0, r8 - lsls r3, r0, 2 - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] -_080356EA: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080356F4: .4byte gUnknown_2024018 -_080356F8: .4byte gUnknown_823A004 - thumb_func_end SpriteCB_EnemyShadow - - thumb_func_start SpriteCB_SetInvisible -SpriteCB_SetInvisible: @ 80356FC - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - bx lr - thumb_func_end SpriteCB_SetInvisible - - thumb_func_start SetBankEnemyShadowSpriteCallback -SetBankEnemyShadowSpriteCallback: @ 8035708 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _08035784 - ldr r0, _08035758 @ =gUnknown_2024018 - ldr r3, [r0] - ldr r1, [r3] - lsls r0, r4, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _08035732 - adds r5, r0, 0 -_08035732: - ldr r0, _0803575C @ =gUnknown_823A004 - adds r0, r5, r0 - ldrb r0, [r0] - cmp r0, 0 - beq _08035768 - ldr r2, _08035760 @ =gSprites - ldr r1, [r3, 0x4] - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08035764 @ =SpriteCB_EnemyShadow - b _08035782 - .align 2, 0 -_08035758: .4byte gUnknown_2024018 -_0803575C: .4byte gUnknown_823A004 -_08035760: .4byte gSprites -_08035764: .4byte SpriteCB_EnemyShadow -_08035768: - ldr r2, _0803578C @ =gSprites - ldr r1, [r3, 0x4] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _08035790 @ =SpriteCB_SetInvisible -_08035782: - str r1, [r0] -_08035784: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0803578C: .4byte gSprites -_08035790: .4byte SpriteCB_SetInvisible - thumb_func_end SetBankEnemyShadowSpriteCallback - - thumb_func_start EnemyShadowCallbackToSetInvisible -EnemyShadowCallbackToSetInvisible: @ 8035794 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080357BC @ =gSprites - ldr r1, _080357C0 @ =gUnknown_2024018 - ldr r1, [r1] - ldr r3, [r1, 0x4] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _080357C4 @ =SpriteCB_SetInvisible - str r1, [r0] - bx lr - .align 2, 0 -_080357BC: .4byte gSprites -_080357C0: .4byte gUnknown_2024018 -_080357C4: .4byte SpriteCB_SetInvisible - thumb_func_end EnemyShadowCallbackToSetInvisible - - thumb_func_start sub_80357C8 -sub_80357C8: @ 80357C8 - push {r4-r7,lr} - ldr r2, _08035894 @ =0x06000240 - movs r7, 0xF0 - lsls r7, 8 - movs r5, 0x8 -_080357D2: - movs r4, 0xF -_080357D4: - ldrh r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _080357E4 - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r2] -_080357E4: - ldrh r1, [r2] - movs r6, 0xF0 - lsls r6, 4 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _080357F8 - adds r0, r6, 0 - orrs r0, r1 - strh r0, [r2] -_080357F8: - ldrh r1, [r2] - movs r3, 0xF0 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0803580A - adds r0, r1, 0 - orrs r0, r3 - strh r0, [r2] -_0803580A: - ldrh r1, [r2] - movs r3, 0xF - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0803581C - adds r0, r1, 0 - orrs r0, r3 - strh r0, [r2] -_0803581C: - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080357D4 - subs r5, 0x1 - cmp r5, 0 - bge _080357D2 - ldr r2, _08035898 @ =0x06000600 - movs r5, 0 - movs r7, 0xF0 - lsls r7, 8 -_08035832: - adds r3, r5, 0x1 - movs r4, 0xF -_08035836: - ldrh r1, [r2] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - bne _0803584A - movs r5, 0xC0 - lsls r5, 7 - adds r0, r5, 0 - orrs r0, r1 - strh r0, [r2] -_0803584A: - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0803585E - movs r5, 0xC0 - lsls r5, 3 - adds r0, r5, 0 - orrs r0, r1 - strh r0, [r2] -_0803585E: - ldrh r1, [r2] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _0803586E - movs r0, 0x60 - orrs r0, r1 - strh r0, [r2] -_0803586E: - ldrh r1, [r2] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0803587E - movs r0, 0x6 - orrs r0, r1 - strh r0, [r2] -_0803587E: - adds r2, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08035836 - adds r5, r3, 0 - cmp r5, 0x11 - ble _08035832 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035894: .4byte 0x06000240 -_08035898: .4byte 0x06000600 - thumb_func_end sub_80357C8 - - thumb_func_start ClearTemporarySpeciesSpriteData -ClearTemporarySpeciesSpriteData: @ 803589C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - ldr r0, _080358CC @ =gUnknown_2024018 - ldr r0, [r0] - ldr r2, [r0] - lsls r0, r4, 2 - adds r0, r2 - movs r3, 0 - movs r2, 0 - strh r2, [r0, 0x2] - ldr r0, _080358D0 @ =gBattleMonForms - adds r0, r4, r0 - strb r3, [r0] - cmp r1, 0 - bne _080358C4 - adds r0, r4, 0 - bl ClearBehindSubstituteBit -_080358C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080358CC: .4byte gUnknown_2024018 -_080358D0: .4byte gBattleMonForms - thumb_func_end ClearTemporarySpeciesSpriteData - - thumb_func_start AllocateMonSpritesGfx -AllocateMonSpritesGfx: @ 80358D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r6, 0 - ldr r4, _080359A4 @ =gMonSpritesGfxPtr - str r6, [r4] - movs r0, 0xC0 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - movs r0, 0x80 - lsls r0, 8 - bl AllocZeroed - ldr r1, [r4] - str r0, [r1] -_080358FA: - ldr r0, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r0] - lsls r4, r6, 2 - adds r2, r1, 0x4 - adds r2, r4 - lsls r3, r6, 13 - ldr r0, [r1] - adds r0, r3 - str r0, [r2] - lsls r3, r6, 1 - adds r0, r3, r6 - lsls r0, 3 - adds r1, r0, r1 - ldr r2, _080359A8 @ =gUnknown_825DEF0 - adds r1, 0x14 - adds r0, r2 - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - movs r5, 0 - mov r9, r3 - lsls r0, r6, 5 - mov r8, r0 - adds r1, r6, 0x1 - mov r10, r1 - mov r12, r8 - adds r7, r4, 0 -_08035932: - ldr r2, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r2] - lsls r4, r5, 3 - add r4, r12 - adds r3, r1, 0 - adds r3, 0x74 - adds r3, r4 - adds r0, r1, 0x4 - adds r0, r7 - lsls r2, r5, 11 - ldr r0, [r0] - adds r0, r2 - str r0, [r3] - adds r1, r4 - adds r1, 0x78 - movs r0, 0x80 - lsls r0, 4 - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _08035932 - ldr r1, _080359A4 @ =gMonSpritesGfxPtr - ldr r2, [r1] - mov r5, r9 - adds r0, r5, r6 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x20 - adds r1, r0 - mov r0, r8 - adds r0, 0x74 - adds r2, r0 - str r2, [r1] - mov r7, r10 - lsls r0, r7, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bls _080358FA - movs r0, 0x80 - lsls r0, 5 - bl AllocZeroed - ldr r1, _080359A4 @ =gMonSpritesGfxPtr - ldr r1, [r1] - movs r2, 0xBA - lsls r2, 1 - adds r1, r2 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080359A4: .4byte gMonSpritesGfxPtr -_080359A8: .4byte gUnknown_825DEF0 - thumb_func_end AllocateMonSpritesGfx - - thumb_func_start FreeMonSpritesGfx -FreeMonSpritesGfx: @ 80359AC - push {r4-r6,lr} - ldr r6, _08035A24 @ =gMonSpritesGfxPtr - ldr r0, [r6] - cmp r0, 0 - beq _08035A1E - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080359D2 - bl Free - ldr r0, [r6] - movs r1, 0xBE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080359D2: - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080359F0 - bl Free - ldr r0, [r6] - movs r1, 0xBC - lsls r1, 1 - adds r0, r1 - movs r1, 0 - str r1, [r0] -_080359F0: - ldr r0, [r6] - movs r5, 0xBA - lsls r5, 1 - adds r0, r5 - ldr r0, [r0] - bl Free - ldr r0, [r6] - adds r5, r0, r5 - movs r4, 0 - str r4, [r5] - ldr r0, [r0] - bl Free - ldr r0, [r6] - str r4, [r0] - str r4, [r0, 0x4] - str r4, [r0, 0x8] - str r4, [r0, 0xC] - str r4, [r0, 0x10] - bl Free - str r4, [r6] -_08035A1E: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08035A24: .4byte gMonSpritesGfxPtr - thumb_func_end FreeMonSpritesGfx - - thumb_func_start ShouldPlayNormalPokeCry -ShouldPlayNormalPokeCry: @ 8035A28 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, _08035A6C @ =0x00000fff - ands r1, r0 - cmp r1, 0 - bne _08035A70 - adds r0, r5, 0 - movs r1, 0x39 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r4, 16 - asrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl GetHPBarLevel - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - ble _08035A70 - movs r0, 0x1 - b _08035A72 - .align 2, 0 -_08035A6C: .4byte 0x00000fff -_08035A70: - movs r0, 0 -_08035A72: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end ShouldPlayNormalPokeCry - - .align 2, 0 @ Don't pad with nop. |